6ES7234-4HE32-0XB0
两端程序的中间,建立一个多重背景调用L1,并将输入输出管脚原名字填入。
即完成了原程序块的简单解耦。这一点技巧,在本人专著《PLC标准化编程原理与方法》中,有重点讲述。虽然技能很简单,门槛不高,然而却是标准化方法中经常用到的非常重要的技能。
当然,程序块解耦分别建立完成后,还可以对各自的变量表中未用到的变量分别删除。这一点, TIA PORTAL的功能还不够强大,不能自动显示或者用一个指令就查找出来。需要右键指向每一个变量,列表中可以选择“转至下一个使用点”。而如果这个变量程序中未用到,则命令显示为灰色。则可以删除。
我们现在来看L1程序,如果没有触摸屏,而只有WINCC,那么功能完全可以直接应用,WINCC数据接口直接访问statDataMtr,这是一个UDT数据结构,包含了一个设备的所有控制命令和状态字。
而来看L2程序,逻辑只是几个循环调用,进行数据比较和传送,和MTR类型几乎完全没有关系。未来解耦更多设备功能块之后,会发现这个部分的程序几乎完全相同。不同的是与statDataMtr名字相关的部分,需要更改为另外的设备符号对应的名字。 即仅仅数据结构有不同导致。如果语言,这里肯定可以做成一个通用的程序功能块实现。而在PLC系统中,要做到通用就没那么容易了。暂时情况下,只能每个L2,都复制一遍,并做细节修改。