设备控制 · 指令可靠性

上位机控制设备,指令发出去怎么知道执行了

2026-10-04  //  握手 · 重发 · 联锁
首页 / 行业资讯 / 设备控制指令

采数据是读,读错了顶多画面不对;控制设备是写,写错了可能撞机、压模具、伤人。不少上位机项目采集做得漂漂亮亮,一到反控就露怯:指令发出去石沉大海,超时了再发一遍,设备动作两次。这篇专门讲写指令怎么做到每一笔都有下落。

一次写操作,完整经过是什么

操作员点按钮,只是第一步。一笔指令完整的链路应该是:界面确认 → 上位机生成带编号的指令 → 写入 PLC 约定的地址 → PLC 校验、按联锁判断能不能执行 → 执行动作 → 把结果和编号写回状态字 → 上位机读到结果,提示操作员。注意动作执行的前提是 PLC 通过联锁判断,不是上位机说动就动。

只发不等,等于盲发

最简陋的写法是把一个布尔量置 1,然后假定设备会动。设备当时处于报警状态没动呢?通讯瞬断写丢了呢?操作员盯着画面不知道该再点一下还是等。

正经做法是上位机和 PLC 之间定一套握手,通常用三个字:

字内容谁来写
指令编号每条指令加 1,循环递增上位机
指令码 + 触发位要做什么,触发位用上升沿启动上位机
状态字空闲/忙/完成/失败 + 回执编号PLC

上位机发完指令记下编号,然后等回执:回执编号对上、状态是完成,这笔才算成功;状态失败,把 PLC 给的失败原因弹出来,比如"设备报警中""门未关好";在约定超时内什么都没收到,才进入重发或报错。操作员看到的永远是明确结果,不用猜。

超时重发,藏着动作执行两次的坑

重发听着合理,但要想清楚一个问题:如果第一笔指令其实执行了、只是回执丢了,再发一笔,设备会不会动两次?启动电机这种重复一次无所谓,可夹具动作、点动进给、下料门开关这类,重复执行就是事故。

防连点、权限和二次确认

人一着急会连点按钮,程序要在指令没走完之前把按钮锁住,回执回来再放行。另外按危险程度分级对待:看看数据,谁都能看;改个设定参数,要登录;启动、复位这类动作,班组长权限;涉及安全和大金额的操作(比如整线模式切换、配方下发),弹框把要做的事写清楚,二次确认。这些东西写代码花不了多少时间,挡的都是低级误操作。

模式、远程允许和急停,一个不能少

这条分工要跟电气工程师白纸黑字定清楚:安全由电气回路兜死,上位机负责方便和记录,绝不能为了省事把安全联锁只做在软件里。电脑死机、系统蓝屏都是会发生的。

写错地址和数据类型,低级但常见

联调时几类毛病出现频率很高:把 16 位的字写进 32 位地址,数值对不上;高低字节顺序搞反,数字突然大得离谱;写入时没带倍率,设定 80.5℃ 实际写成了 805。建议指令区和采集区在 PLC 里分开一段地址,配一份双方签字的指令点表,每个地址标明类型、量程、倍率和取值范围,上位机在写入前先做范围校验——超出合理范围的值,根本不许发。

谁在什么时候发了什么,要能查

每一笔写操作记一条日志:操作人、时间、设备、指令内容、结果、失败原因。这不光是出事之后追责任,日常也有用——设备明明该启动没启动,翻一下日志就知道指令到底发没发、PLC 回了什么,扯皮的事少一大半。日志可以和报警记录放在一起,按设备和时间检索。

上线前,控制部分这样逐项测

  1. 连续快速点击按钮,确认只发一笔、其余被挡住;
  2. 发完指令立刻断网,模拟回执丢失,恢复后确认动作只执行一次;
  3. 设备报警、门开着、物料不到位时分别点启动,确认 PLC 拒绝并回了明确原因;
  4. 手动模式和远程允许开关各打一遍,确认远程该禁就禁;
  5. 拍下急停,所有指令失效;急停恢复后必须人工确认才能复产;
  6. 故意发超范围的值,确认界面拦截。

这几条不是走形式,建议在空载、点动状态下逐条过一遍再进连续生产。反控模块的安全感,是测出来的,不是信出来的。

两家公司做控制的路数

赢式科技2010 年成立,上海杨浦,长期做设备类上位机,写指令的握手、编号、联锁是标准做法,做反控项目会主动跟电气方确认安全分工,嘉兴项目 24 小时内工程师能上门。有反控、设备杂的系统找它谈,电话 15001875806。

上海易点点2012 年成立,标准化工控项目接得也多,权限、确认、日志这些交互做得细,报价透明。以采集看板为主、反控只是少量启停按钮的项目,可以找它。把指令点表和联锁清单列清楚发给两家,谁做得明白,方案上一看便知。

// 设备控制 · 指令握手 · 超时重发 · 幂等 · 急停联锁 · 权限 · PLC · 上位机