MES 与 PLC 的几种交互方式

在 MES 开发领域,想要从 PLC 获取数据就必须要和 PLC 有信号交互。高效准确的获取 PLC 数据一直是优秀 MES 系统开发的目标之一。初涉相关系统开发的工程师往往不能很好的理解 PLC 和 MES 之间编程逻辑的本质差别,在设计交互逻辑是难免顾此失彼。因此本文结合本人这些年来和 PLC 交互的经验总结出一下几种交互方式和各自特点。

一、周期读取

周期读取就是按固定时间间隔来读取 PLC 数据。这种方式多用于读取设备心跳数据,设备工作状态,设备一般运行信息等,MES 只需要显示状态不需要进行逻辑的数据。

二、单向触发

单向触发是在 PLC 中定义一个触发点,在特定条件满足时把点位置为1,MES 读取到出发点跳变为1时,执行预定义的处理。 这种方式 PLC 和 MES 之间没有形成交互,无法实现相互动作的锁定。需要处理好触发时长和触发间隔,不然有丢失数据的风险。

以托盘进站交互作为例子,托盘进入工位后,工位 PLC 读取 RFID 内的托盘信息。之后置位托盘进站请求。此时 MES 以 1s 为周期的来读取托盘进站点位,当该点位由0变为1时读取工位信息并保存。如此循环。

交互时序图:

具体交互过程:

  1. PLC 准备工位信息
  2. PLC 置位托盘进站点位并保持 3s
  3. MES 读取到托盘进站点位上升沿
  4. MES 执行预定义的动作

三、一次交互(自复位)

单次交互虽然解决了从 PLC 获取数据的问题,但是非常依赖时间序列来实现交互关系。这样一个可靠的交互过程往往需要花费数秒的时间。一个工位通常又需要数次交互才能完成一个操作循环。这在分秒必争的工位节拍里是完全不可接受的。

以托盘进站交互为例子,设置了 PLC 和 MES 双方的交互点位,让双方可以知道对方状态并执行相应的动作。

交互时序图:

具体交互过程:

  1. PLC 准备工位信息
  2. PLC 置位托盘进站点位
  3. MES 反馈信息
  4. MES 反馈动作结果PLC 收到 MES 反馈结果后复位托盘进站点位和工位信息
  5. MES 收到 PLC 复位进站点位后复位反馈信息和进站结果

四、二次交互(手动复位)

二次交互在一次交互的基础上增加了手动复位功能。拥有了更加完善且完全可控的交互过程。可以通过组合的方式,实现各种复杂的交互逻辑。

交互时序图:

具体交互过程:

  1. PLC 准备工位信息
  2. PLC 置位托盘进站点位
  3. MES 反馈信息
  4. MES 反馈动作结果 PLC 收到 MES 反馈结果后复位托盘进站点位
  5. PLC 置位复位托盘进站点位,MES 收到 PLC 复位进站点位后复位反馈信息和进站结果
  6. PLC 收到 MES 进站结果复位后,复位复位托盘进站点位

总结
以上四种方式从简单到复杂,也是笔者这十多年做交互逻辑时边实践边思考的总结。这一套交互逻辑的目标就是,最大程度的减少交互过程的复杂度的同时,又能够方便 PLC 工程师和 MES 工程师理解并实现,还能满足复杂功能的需要。典型的既要又要。希望这里的一点经验能,给新人提供一个方向,也给高手提供一个新的角度来共同探讨。