博图标准化编程技巧(七)谈谈程序结构
很多人觉得PLC这种循环扫描的程序运行模式,有没有程序结构无所谓。曾遇到一个人把300PLC当200使用,全部程序都写在OB1里面,并且只使用M地址做中间变量,那程序调试起来真是惨不忍睹。个人对标准化编程的理解也不深刻,但是感觉并不是把程序封装成块多次调用就算标准化了,标准化程序还要有一定的程序结构,这样即使不是自己编的程序,调试起来也非常方便。
下图是我总结的一种程序结构,这种程序结构有几个规则需要遵守:
1、整个结构由程序块——子程序——主程序三层,程序块就是我们封装的各种FB或FC功能块,子程序就是按照统一的类别调用程序块的FC程序,主程序就是调用各FC子程序的OB。
2、只有在调用数据通讯、仪表计算和手动控制程序块时可以连接外部物理IO地址,其他程序间的互锁和调用全部使用内部接口数据,这样方便查找和更换外部IO地址。
3、每个程序块都根据需要具有IO接口,IO接口实例化以后就形成了IO数据,IO数据统一存放在几个DB中集中使用和管理,这一点在(一)里面讲UDT的时候介绍过好处。
当然这种程序结构是基于我从事的水处理行业总结的,不一定适合其他行业,大家可以根据自己的行业特点设计适合的程序结构。
