跳转至

通讯总览

软件不是孤立跑的:它要知道产品什么时候到位,也要把 OK / NG 的结论交给 PLC、机械手或上位机。 这一章讲三条对外的线各是干什么的、参数在哪配、以及联调时怎么一步步验证。

三条互不相干的线

线 干什么 配在哪
通讯设备 主线。接收"产品到位"的触发信号,检测完把结果发出去 运行端"设备"菜单 →"设备设置"→"通讯设备"页;时机和内容在调试端"编辑运行顺序"
MES 把每件产品的结果上报给工厂 MES 系统 不在本软件里配,由一个独立的 MES 上传程序负责,见 MES 对接
串口收发数据 从另一个串口设备读一段文本(例如仪表读数、外部条码),或者往它发一条固定指令 运行端"设备设置"→"串口收发数据"页;时机在"编辑运行顺序"里插一行

三条线用的是各自独立的端口,互不影响。通讯设备和串口收发数据如果都用串口,不能是同一个 COM 口。

通讯设备六选一

在"设备设置 →通讯设备"页的"设备类型:"下拉里选一种。选什么,取决于对面那台设备是什么、由谁主动发起连接。

设备类型 是什么 什么场景选它
NODEVICE 不接任何通讯设备 单机试机、只看界面结果、不对外发信号时
TCPSERVER 软件当网络服务端,在本机某个端口上等别人连进来 上位机 / MES 中间件 / 机器人主动来连检测软件
TCPCLIENT 软件当网络客户端,主动去连对方的 IP 和端口 PLC 或上位机已经开好了一个 TCP 服务端,让检测软件去连
SERIALCOM 普通串口收发字符串 对方是串口设备,协议是自定义的文本命令(例如收到 TRG 就拍照,发 PASS / FAIL 回去)
MODBUSRTU 串口上的 Modbus 协议 PLC、串口 IO 控制器、串口扩展模块,读写的是线圈和寄存器
MODBUSTCP 网口上的 Modbus 协议 带网口的 PLC(汇川、台达、西门子经网关等),读写线圈和寄存器

选完之后:

  • 选了 SERIALCOM / TCPSERVER / TCPCLIENT 的,触发和输出用字符串约定,见字符串协议(TCP / 串口)。
  • 选了 MODBUSRTU / MODBUSTCP 的,触发和输出用寄存器 / 线圈约定,见Modbus RTU / TCP 触发与输出。软件会自动把运行顺序编辑器里用不上的那一半参数灰掉。

换了设备类型,运行顺序里的参数要重填

字符串那套(查询指令、触发指令、PASS/FAIL 指令)和 Modbus 那套(从站 ID、寄存器类型、地址、触发条件值)是两套独立的参数,存在同一条指令里。从字符串切到 Modbus,要重新进"编辑运行顺序"把 Modbus 那半边填上。

配置顺序

  1. 先通链路:在运行端"设备设置"里选设备类型、填 IP / 端口 / 串口参数,点"确认"。运行界面下方出现绿色的"通讯(设备类型) 已就绪"才算这一步过了。见设备设置:选通讯设备。
  2. 再编排时机:回调试端点"编辑运行顺序",决定先等触发、再拍哪几台相机、最后什么时候输出结果。见编辑运行顺序:通讯触发与输出。
  3. 最后定内容:在阶段里添加了通讯触发 / 输出之后,选中这一行填具体的指令字符串或寄存器地址。见字符串协议或 Modbus。
  4. 联调:先用串口 / 网络调试助手冒充 PLC 打通,再换真 PLC。

联调时要看的两处

  • 运行过程日志区(运行端右侧):会逐条打出"等待通讯触发(trigger#1)""通讯触发(trigger#1)完成""通讯输出(output#1)完成"。卡在哪一条,问题就在哪一步。
  • "打开通讯服务端界面"(运行端"设置"菜单里,内控 / 外控都有):一个手动发指令的测试工具,能看到"支持指令集"、往里"发送指令"、并在"发送指令 / 接收指令"两栏看到往来的报文。内控模式下指令直接投给检测引擎,窗口里没有主机 / 端口输入框和"连接""清空连接"按钮,只显示"总线就绪(进程内)";外控模式下它在本机起一个假服务端供调试,窗口里的主机 / 端口只是这个假服务端的。它配合"调试运行"模式用,现场通讯设备的 IP / 端口等参数全部在"设备设置"里。

本章页面

相关页面