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

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


               程序 Average_Calculation 中,可以定义一个输出参数 Avg_Result,其类型为实数
               型。在子程序内部,通过相应的计算将平均值赋值给 Avg_Result。
                   // 子程序 Average_Calculation

                   LDI IN1  // 输入参数 1
                   LDI IN2  // 输入参数 2
                   +I       // 两数相加
                   DTR      // 转换为实数

                   / R 2.0  // 除以 2 得到平均值
                   = OUT    // 将结果赋值给输出参数 Avg_Result
                   (2) 数据类型的匹配
                   在传递返回值时,要确保输出参数和接收返回值的变量的数据类型匹配。如

               果类型不匹配,可能会导致数据丢失或计算结果错误。例如,如果子程序的输出
               参数是整数型,而主程序中接收该返回值的变量是实数型,虽然可以进行赋值操
               作,但可能会损失小数部分的精度。
                   (3) 多返回值的处理

                   当子程序需要返回多个值时,可以定义多个输出参数。例如,在一个处理传
               感器数据的子程序中,可能需要同时返回传感器的测量值、测量状态(如正常、
               故障)等信息。可以定义多个输出参数,分别存储不同的信息。

                   2. 错误处理与返回值
                   (1) 返回错误代码的设计
                   为了便于程序的错误处理,子程序可以通过返回值传递错误代码。错误代码
               可以是一个整数或一个特定的字符组合,每个代码对应一种特定的错误类型。例
               如,在一个读取温度传感器数据的子程序中,当传感器正常工作时,返回实际的

               温度值;当传感器故障时,返回错误代码 -1;当数据传输出现问题时,返回错误
               代码 -2。调用程序在获取返回值后,通过判断返回值是否为错误代码来采取相应
               的处理措施。
                   // 主程序中调用读取温度传感器子程序

                   CALL Read_Temperature
                   LD OUT  // 获取返回值
                   LDI -1  // 错误代码 -1



                                                                                      263
   266   267   268   269   270   271   272   273   274   275   276