上一篇关于良好自动化系统设计概念的文章考虑了控制器和通信层次强健设计问题。这一次我们把焦点转向软件最佳编程实践,控制器和运算器界面层次上都可帮助产生固自动化系统
估计号程序设计推荐法使用前验证所有信息控制系统平台内验证进程信号数据-经典或网络化-确认质量良好这一点特别适用于确保模拟输入值在允许范围内适当缩放内含离散输入反弹逻辑,因此短时延迟将确保收到正域信号
验证运算符输入
多类数据由运算符通过HMI/OIT或其他设备输入,以便命令控制系统操作总是验证运算符输入这主要适用于检验运算符定点值在法律范围以内但它甚至可应用到离散推键按举例说 嵌入快捷按键延迟可防意外推送多模式推键应互容并配置,以便最安全选择(如有可能)支配stop函数优于Start函数
指验证运算符输入数据时,HMI/OIT多包提供这种能力更严格的方法就是在接受数据前限制控制逻辑内测试数据单个项目需求将决定不适当数据是否受限或以警告运算符的方式拒绝逻辑计算运行时衍生值,如果这些值用于后续操作,则需要验证,仿佛这些值面向运算符最常见的验证假想确保值不超值或低值或确定值不负值
不良数据后果
不良数据的后果是什么误差或负值可导致控制循环结束出乎意料的零可触发处理器逐零误差计算错误集值或增量值间接数组地址实际上指向有效范围外的非法位置,导致处理器停止运行
高层次功能系统应编程输入安全状态(通常是关闭状态)可创建启动程序以初始化数据值并驱动控制逻辑安全状态极难在取消报警条件后自动重开序列反之,考虑分两步程序运算符清除错误后触发重开
详细设计期间,考虑添加点增强警讯帮助操作符识别异常故障系统装满水槽 可能有高压低压泵故障报警已知槽只需5分钟填充时,可安装慢填警钟提醒不具体定义缓填的原因,但可提示运算符去寻找破水管或装配水流到地上
配置软件自恢复
除禁止无效操作模式外,软件应自恢复安全模式有时给运算符重置或重置控件 以停止重创问题序列记住有些人会把这种逻辑看成创可贴,
HMI/OIT台站故障信号必须清晰易懂加密消息或代码无法可靠地执行系统对运算符输入的反应必须足够响应性,以防止运算符多选可触发不理想操作和手机DVRs等消费者设备一样,延时响应会令受挫用户无果地按按钮
开发测试计划
如何知道良好的工程努力 是否足以防患于未然测试测试测试开发测试计划,最好环游系统设计,以便测试所有键特征试图触发或模拟各种故障和潜在非法操作者行为执行测试计划 并不怕用它做跳板 开发更多特殊测试案例令测试动作比典型速度慢 查找不良交互
开始博客数列比较自动化工程师任务与富于挑战性路程驱动任务在上述两种情况中,培训、规划、实践和经验显然将产生最成功的结果。并非每一种坏境遇都可避免,常少有反对建设弹性自动化系统的论点,可安全防御非正常条件总是留意改善设计的机会,用各种条件挑战这些机会,消除潜在的缺陷。