恭喜,你发布的帖子
发布于 2018-05-11 17:22:19
75楼
简单说一下自己从业6年来的变化,
自己所负责的设备,第一版的程序大都是用的m,然后在整个程序段内跳转,程序块大多是fc;而且符号名都是中文的,定时器也都是用的s5定时器;
当时基于两点考虑:
m区,从读写速度来说,有一定优势,而且cpu定了,m区大小就在那摆着,不用也是存在的;
自己所负责的设备是比较接近单机设备,程序的复制都系统性的,感觉不怎么需要考虑程序块的跨项目移植便利性。
后期,虽然还是那种设备,但是种类和功能有些变化,随着plc的升级换代,型号也变了,甚至编程软件都换了,有的客户还要求ab,三菱啥的,才发现这种思路还是有极大局限性的。
如今改了,写程序先考虑独立的程序块,设计阶段最基本的原则是程序块内尽量无全局变量,而且接口大都是udt,边沿触发使用内部静态变量,定时器使用iec,多重背景数据块,必要的话只把定时时间放到接口上,块与块之间的交互,建立db,中转,偶尔几个会用m的还是。
拿到一个新的设备,驱动器、编码器,首先是查资料找报文,写成独立的程序块,如此下来,程序的独立性和可移植性的确提高了。打开ob1,就是一堆的fb、fc调用。需要增加什么,首先考虑的是增加程序块的接口。无论之后的外设是啥,接口留好了,随便怎么外面是啥东西啥地址。
要说带来的变化,同一型号cpu,功能上增加不多的情况下,原来的扫描周期是5ms,现在大概加了1倍,原来128k的卡够用,现在得用512的,好像西门子也不卖256的,现在换1200/1500了,选型就另说了。
精华帖版主置评:真实的表达。就是这样通过学习,一点一点进步,然后就有飞跃了。 -yming
请填写推广理由:
分享
只看
楼主