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

