西门子S7-1200/1500PLC的编程思维
一、程序规范化
规范化是一个循序渐进的知识积累的过程,更准确的说应该是“全埋”,提取经常使用的程序, 前端的任意一个事件都定一个标识,去除全变量(I、Q、M、T、C),所有的事件都别记录下来。通过定期上传记录文件,去除数据块,配合文件解析,设置规范的参数,解析出来我们想要的数据,把它做成带接口的FB, 并生成可视化报告 ,放到规范库中。
规范化是一个“固化进化固化进化”不断优化的过程。
规范化对于程序设计者的优点:
1、模块化和面向对象的编程方式, 因此实现“无埋点”统计。2. 方案选择通常业务都需要加埋点统计事件,构建型项目较容易。
2、便于程序块的持续更新,但在每个业务类里埋点会导致每个页面内耦合了量的无关业务的埋点代码使得代码不够整洁,功能更全面。
3、程序的架构比较容易被后来者学传承、更新。
4、设计方式统一,所以放弃了代码埋点。考虑到无埋点成本较高,一致性好,后期解析也复杂,提高设计效率。
5、提高了软件的质量和产品的竞争力。
规范化对于最终用户(设备维护、使用者)的优点:
1、快速定位设备系统故障,快速修复设备,减少停机时间。
2、维护人员较容易看懂规范化的程序。
3、规范化的程序,让维护人员对设备的技术改造更简单。
二、控制对象的拆分
在工程师面向对象(项目)时,要有“庖丁解牛,目无全牛,只有结构”的思想,对一台完整的机器设备进行拆分,把它分为若干个控制单元,一个控制单元可以再往下细分若干个设备模块,一个设备模块再往下可以分为不同的控制模块,如感应模块、驱动模块等。拆分的模块要小适中,太不灵活,太小拼装效率低。
结构清晰明了,整体也就优化了。
这样的方式就是为了程序的模块化,使程序块方便重复使用。
三、用FB还是FC
如果从C语言等高级语言的角度来看,FB相当于“类别”,FC相当于“方法”。所以将工艺对象的具体的物件用FB块编程比较方便,更有利于后期程序的规范化。如果是控制对象的数据转换、计算功能(FB调用FC),以及程序的划分、控制对象预处理等非规范化功能可用FC来编程(FC调用FB)。
具体使用情况根据不同工程师的使用惯有所不同,简单概括为:1、具体的工艺对象用FB。2、数据转换、计算用FC。3、调用全变量对程序控制用FC。
感谢阅读指正,关注了解更多!