Page 264 - 可编程控制器设计原理
P. 264
Principles of Programmable Logic Controller Design
可编程控制器设计原理
(2) 逻辑独立
每个子程序的逻辑应该自成体系,不依赖于其他子程序的内部实现细节。例
如,在一个自动化仓储系统中,有一个 “货物入库子程序” 和一个 “库存更新
子程序”。“货物入库子程序” 负责将货物搬运到指定的仓库位置,而 “库存
更新子程序” 负责根据入库信息更新库存数据。“货物入库子程序” 不需要了
解 “库存更新子程序” 是如何更新数据库的,只需要在完成入库操作后调用 “库
存更新子程序” 并传递必要的参数即可。这样,当 “库存更新子程序” 的逻辑
发生变化时,只要其接口(输入输出参数)不变,“货物入库子程序” 就可以
正常运行。
3. 可复用性
(1) 通用功能封装
对于一些在不同项目或同一项目的多个地方都会用到的通用功能,应将其封
装成子程序。比如,数据的滤波处理、数字信号的转换等功能。以数据滤波为例,
在工业自动化中,很多传感器采集到的数据都需要进行滤波处理以去除噪声。将
滤波算法编写成一个通用的子程序后,无论是在温度传感器、压力传感器还是流
量传感器的数据处理中,都可以直接调用这个子程序,提高了代码的复用率。
(2) 参数化设计
为了使子程序能够在不同的场景下复用,应采用参数化设计。通过传入不同
的参数,子程序可以实现不同的功能或适应不同的条件。例如,一个控制电机转
速的子程序,可以通过输入参数设置电机的目标转速、加速时间、减速时间等。
在不同的设备中,只要电机的控制原理相同,就可以通过调整输入参数来复用这
个子程序,实现对不同电机的控制。
(二)参数传递原则
1. 明确参数类型和用途
(1) 类型定义清晰
在子程序中,要准确地定义每个参数的类型,如整数型、浮点型、布尔型等。
不同类型的参数在内存中的存储方式和处理方法不同,明确的类型定义可以避免
数据类型不匹配导致的错误。例如,在一个计算两个数之和的子程序中,输入参
数 “Num1” 和 “Num2” 应定义为整数型或浮点型,输出参数 “Sum” 也应
与输入参数类型一致。如果类型定义不清晰,可能会导致计算结果不准确或程序
256

