通讯总览¶
软件不是孤立跑的:它要知道产品什么时候到位,也要把 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 那半边填上。
配置顺序¶
- 先通链路:在运行端"设备设置"里选设备类型、填 IP / 端口 / 串口参数,点"确认"。运行界面下方出现绿色的"通讯(设备类型) 已就绪"才算这一步过了。见设备设置:选通讯设备。
- 再编排时机:回调试端点"编辑运行顺序",决定先等触发、再拍哪几台相机、最后什么时候输出结果。见编辑运行顺序:通讯触发与输出。
- 最后定内容:在阶段里添加了通讯触发 / 输出之后,选中这一行填具体的指令字符串或寄存器地址。见字符串协议或 Modbus。
- 联调:先用串口 / 网络调试助手冒充 PLC 打通,再换真 PLC。
联调时要看的两处¶
- 运行过程日志区(运行端右侧):会逐条打出"等待通讯触发(trigger#1)""通讯触发(trigger#1)完成""通讯输出(output#1)完成"。卡在哪一条,问题就在哪一步。
- "打开通讯服务端界面"(运行端"设置"菜单里,内控 / 外控都有):一个手动发指令的测试工具,能看到"支持指令集"、往里"发送指令"、并在"发送指令 / 接收指令"两栏看到往来的报文。内控模式下指令直接投给检测引擎,窗口里没有主机 / 端口输入框和"连接""清空连接"按钮,只显示"总线就绪(进程内)";外控模式下它在本机起一个假服务端供调试,窗口里的主机 / 端口只是这个假服务端的。它配合"调试运行"模式用,现场通讯设备的 IP / 端口等参数全部在"设备设置"里。