Page 263 - 可编程控制器设计原理
P. 263

第八章  S7-200 PLC 子程序的应用


               等方面的经验,共同提升行业的整体水平。



                                   第二节  子程序设计与调用


                   一、子程序设计原则

                   (一)模块化设计原则

                   1. 功能单一性
                   (1) 明确功能边界
                   子程序的功能边界必须清晰界定,如同一个工厂里每个车间都有明确的生产
               任务。以自动化生产线中的一个分拣环节为例,设计一个 “物品分拣子程序”。

               该子程序的唯一功能就是根据物品的特征(如颜色、形状、重量等)将其分拣到
               不同的区域。它不应该包含物品输送、包装等其他环节的功能。这样一来,当需
               要对分拣算法进行优化时,只需要专注于这个子程序内部的逻辑修改,而不会影
               响到生产线的其他部分。

                   (2) 避免功能混杂
                   如果将多个不同功能混杂在一个子程序中,会使程序逻辑变得混乱不堪。比
               如,在一个控制机器人运动的子程序中,既包含机器人的路径规划功能,又包含
               与外界设备的数据通信功能,以及机器人的故障诊断功能。当需要修改路径规划

               算法时,可能会因为与其他功能的代码相互交织,而不小心影响到数据通信或故
               障诊断功能,增加了程序出错的风险,也降低了代码的可维护性。
                   2. 独立性
                   (1) 数据独立

                   子程序应尽量使用局部变量来处理内部数据,减少对全局变量的依赖。局部
               变量的作用范围仅限于子程序内部,这样不同子程序之间的数据不会相互干扰。
               例如,在一个计算物料库存的子程序和一个控制物料出入库的子程序中,它们分
               别使用自己的局部变量来存储相关数据。即使两个子程序都涉及到物料数量的计

               算,但由于使用的是局部变量,彼此之间不会产生数据冲突。如果过多使用全局
               变量,一旦全局变量的值在某个子程序中被意外修改,可能会影响到其他依赖该
               全局变量的子程序的正常运行。




                                                                                      255
   258   259   260   261   262   263   264   265   266   267   268