PLC数据采集的方法小结
在工业的信息化、智能化,甚至工业4.0的大潮中,很多高级算法都是由上位机、云来实现,那么PLC数据采集是最基本的前提条件之一。
面对这种需求,新的PLC大都开始支持以太网(以前的串口局限性太大了),有的甚至在CPU上直接设置以太网接口,编程,数据传输,都可以通过这个端口来搞定,不再需要增加一个以太网接口卡。
硬件有了,要实现数据的采集,还需要软件,从软件上来说,实现方式大概有以下几种:
1、PLC编程,与外部建立以太网连接,通过收发指令进行数据交换:
为了实现这种方式,可能需要通过硬件配置来建立连接通道,然后再由用户自己编程进行收发。要想顺利完成这种通讯和调试,需要一位既懂计算机编程,又懂PLC编程调试的人员,否则,经常鸡同鸭讲,困难重重。
在调试完毕后,如果想再增加一个变量,从上到下全部需要修改,那个酸爽呀!
2、PLC提供不需要编程的外部访问协议,比如,OPC-UA、MODBUS TCP等:
OPC-UA是目前比较火的开放协议,被工控界宣传得神乎其神,实际情况却是:困难重重。首先,PLC的OPC-UA协议不是随便用的,要购买授权。啊!不免费?不免费!其次,OPC-UA客户端那么容易实现吗?OPC-UA协议号称免费,但是,你如果真的从底层开始开发,如果能真的搞定了,那绝对就是通讯大佬,不需要在苦逼的工控圈混了。如果没有这个实力,就要再次掏银子去购买别人的SDK进行二次开发,貌似也不便宜。OPC-UA控制得比较严,目前还没有哪家敢用和谐版的SDK来公开做项目,做产品。
那么,就用MODBUS TCP吧!这个是免费的。不错,免费,但是也需要在PLC里进行编程、配置(那些原生支持的除外,比如施耐德PLC),并且对下兼容不一定好(我的一个项目里就遇到过,西家1500PLC,通过CP网卡就是无法和老的INTOUCH进行通讯,通过CPU上的网口就没有问题。由于CPU上的网口还需要做环网,后来只好更换了多网口的CPU,解决了问题,这不需要成本吗?)。现场的技术专家、西家的技术支持都不相信这个事实“MODBUS TCP就是加载在标准以太网协议之上而已,CP没有理由转不过去呀!”
3、通过通讯中间件或者中间软件进行中转
如果以上都不能搞定,就只好用通讯的中转软件了。最典型的就是OPC软件,一端访问PLC,另外一端对外提供数据。OPC软件有的是厂家提供,有的是第三方,曾经大行其道,可惜,从效率、安全性、系统兼容性上看,OPC软件逐步过时了。另外,某些厂家的OPC软件可不便宜了。
除了OPC,还有专业的中间软件,比如KEP某某,那是真专业,可同时访问的PLC和协议非常多,对外提供数据的途径也很多,OPC、OPC-UA等等。但是,一套配置下来,1万RMB能搞定吗?另外,对外的协议,依然是个问题。
国内出来一个小软件PLC-Recorder,用于专业录波(支持大部分主流PLC,自带驱动库,体积极小,可在很多场合替代PLC-Analyzer或iba软件),最近顺手增加了数据转发功能,并且用了兼容性极强的WebScoket协议和Json数据通讯格式。客户端开发非常简单,用一个web页面就能搞定用户验证、订阅、实时数据刷新等功能。如果用高级语言(比如C#、Java等)开发,能实现更加丰富的功能。官网上有转发协议文本及客户端源代码可以参考。
2020年7月9日
西门子PLC状态机编程—负载均衡(LAD和SCL语言描述)
控制任务
大家好,今天我们用状态机描述稍复杂的实例,同时用LAD和ST语言写状态机.我们的控制任务如下:
真空泵A和真空泵B, 按下启动按钮后, 泵A启动, 3秒后泵B也启动, 此时泵A仍运行, 当容器真空达到后, 泵B停止, 泵A继续运行, 维持容器真空. 当按下停止按钮后, 泵A停止. 再次按启动按钮, 泵B启动, 3秒后泵A也启动, 此时泵B仍运行, 当容器真空达到后, 泵A停止, 泵B继续运行, 维持容器真空. 当按钮停止按钮后, 泵B停止.注意: 任何状态按下停止按钮, 都停止, 在按启动后, 切换泵的顺序.
首先,我们写画状态机.
注意其中两个中间变量:isActivatedPumpAB和lastPumpA. lastPumpA 是记录泵的启动顺序,而isActivatedPumpAB保证每次任务,PumpAB只激活一次.另外Idle状态到PumpA和PumpB少了一个条件,这里我不想修改图片,直接文字说明一下,应改为
[start && ~stop && ~lastPumpA] 和 [start && ~stop && lastPumpA].
用LAD表达状态机
程序段1到程序段5代表每个状态, 每个状态用一个SR指令表示,S管脚是转移到此状态的条件,R管脚代表当有其它状态激活时,就把当前状态复位掉,一面有状态同时激活.
状态机就这么简单.
LAD的表达上,有两点需要注意,每个状态机需要一个默认的激活步,我们选Idle,那么stateIdle默认是true状态. 每个步的复位条件,必需RLO上升严,否则不会转移..
用SCL表达状态机
用SCL表达的状态机中,用case语句表达状态的转移.这里我们还是看stateIdle状态,其中的两个IF,是两个转移条件.#mainState中的值代表当前激活状态,它一共可以取4个值,代表4个状态,这里我用常量表示..另外注意初始状态,我们给#mainState的值初始化为0,代表stateIdel为初始状态.其它的比较简单.
相关问答
中核中原建设有限公司招聘?
公司目前在BOSS直聘上发布招聘信息,最新招聘岗位如下:解决方案专家(J15165)、银行单位正式编制Java开发、plc软件测试等。中国核工业中原建设公司是一个充...
三菱变频器恒压供水PID控制都需要设置哪些参数?
就设下128参数就行了,把这个设为20把133设为30试试还有你表的量程其它参数基本上不用动的严工免费提供工控产品技术解答变频器PLC伺服产品销售与维修就...
sis系统和DCS系统有什么区别-173****0901的回答-懂得
DCS集散控制系统是以微处理器为基础,采用控制功能分散、显示操作集中、兼顾分而自治和综合协调的设计原则的新一代仪表控制系统。集散控制系统简称D...
交流接触器的实物接线图在哪里可以买到?
交流接触器的实物接线图在哪里可以买到?答:需要这方面书籍的,可以电话010-64518888(传真010-64519686),网上查询http://w.w.w.cip.com.cn书的价格99.0...
sis系统和DCS系统有什么区别-180****9262的回答-懂得
DCS集散控制系统是以微处理器为基础,采用控制功能分散、显示操作集中、兼顾分而自治和综合协调的设计原则的新一代仪表控制系统。集散控制系统简称D...
如何选择制造流程
我们选择流程制造行业信息系统重要的考核。首先你是生产药品的,还是做电脑的,还是生产机械的,无论是流程还是什么,你最终的目的是使企业不断发...
牛肉酱多爪多头搅拌炒锅使用中注意的事项?
[回答]注意事项3工作前一定要检查锅是否与锅盖平贴,锅口、料口盖等是否盖严,密封可靠,螺丝是否锁死。。本设备内外锅体及表面接触部分均采用优质304不锈...
煤改气蒸汽发生器具有哪些优势?还请不吝赐
[回答]热效率高达98.3%经权威部门检测,本蒸汽发生系统热效率到98.3%,综合使用成本远远低于传统加热。一键启动采用的PLC控制系统,触屏界面,指尖轻触,即可...
焦化脱硫废液提盐技术了解多少?
[回答]废气处理采用文氏管抽气洗净工艺,利用清液泵向文氏管喷洒,在文氏管出口形成负压,放硫过程中产生的少量废气被吸入,在文氏管出口与清液充分接触,废气...
你们给孩子买绘本,会注意到出版社吗?
当然啦,根据出版社选绘本,也是挑选绘本的一个方向呢!作为一个妈妈,我挑绘本就按照出版社选过,我把国内主流的出版社总结如下,你可以参考参考。乐乐趣专...DK,...