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

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


               自动化生产系统中,全局变量 Total_Product_Num 用于记录总的产品数量,在不
               同的子程序中可以对其进行读取和修改;而每个子程序中的局部变量则用于完成
               各自的特定任务,如某个子程序中的局部变量 Current_Product_Num 用于记录当

               前生产线上的产品数量。
                   2. 子程序的初始化与清理
                   (1) 初始化操作的必要性
                   在子程序开始执行时,进行初始化操作是非常必要的。初始化操作可以确保

               子程序在每次调用时都能以正确的状态开始执行。例如,在一个控制步进电机的
               子程序中,需要将步进电机的控制参数(如步数、速度等)初始化为默认值,同
               时将一些标志位(如运行标志、停止标志等)复位。这样可以避免上次调用子程
               序时残留的数据对本次调用产生影响。

                   // 步进电机控制子程序初始化部分
                   MOVW 0, Steps  // 将步数初始化为 0
                   MOVW 1000, Speed  // 将速度初始化为 1000
                   R Run_Flag  // 复位运行标志

                   (2) 清理操作的重要性
                   在子程序执行完毕后,进行清理操作可以释放占用的资源,恢复一些状态,
               避免对后续操作产生影响。例如,在一个使用定时器的子程序中,当子程序执行
               完毕后,需要停止定时器并将定时器的计数值复位。在一个控制气缸伸缩的子程

               序中,当气缸完成动作后,需要将控制气缸的输出信号复位,防止气缸误动作。
                   (3) 异常情况下的清理处理
                   除了正常执行完毕后的清理操作,还需要考虑在异常情况下的清理处理。例
               如,当子程序在执行过程中遇到错误或中断时,也需要进行相应的清理操作。可

               以在子程序中设置错误处理程序,当检测到错误时,先进行清理操作,然后再进
               行错误处理。这样可以保证系统的稳定性和可靠性。














                                                                                      265
   268   269   270   271   272   273   274   275   276   277   278