UC3DStudio 通讯输出(Modbus / TCP Client)

版本 1.0 · 更新于 2026-10-21 · 阅读 0

三通道并行配置、Raw 行输出编排、帧界定、命令集与无效数据帧策略(说明书 V1.38 §12,授权功能)。

数据来源:《UC3DStudio 用户说明书》V1.38 §12「通讯输出」。
⚠️ 授权功能:功能键含 comm;未授权时右侧「通讯输出」页签不显示。

将测量结果实时外发至产线 PLC / 上位机,并提供命令反向控制(由外部触发采集、启停检测、复位、切换配方)。

面板(右侧 dock,视图菜单「通讯输出 Ctrl+7」/ 工具栏相应按钮;配置存于 comm_config.json)按 5 个分组组织。

12.1 通道配置(三通道并行)

通道 协议 默认参数 用途
Modbus 从站(PLC 轮询) Modbus TCP(从站) 127.0.0.1:15020,从站号 1 PLC 轮询读取测量值 / 判定 / 统计,写命令寄存器触发动作
TCP Client(Raw 无协议) 纯文本行协议(对齐基恩士 LJ-X 风格) 127.0.0.1:8080,CRLF 帧 本机主动连接上位机,每帧推送一行测量结果 + 接收命令
串口(RS-232C) RS-232C 串口(Raw 行协议) 串口号 / 波特率 / 数据位 / 停止位 / 校验 / 流控 本机串口直连 PLC / 上位机,按 Raw 行协议收发
  • 每通道独立 启用 / IP / 端口;面板顶部连接状态条实时显示在线 / 离线。
  • 「启动」建立通道(写入 comm_config.json,下次启动自动加载),「停止」关闭。
  • 安全提示:Modbus 从站默认绑定回环地址(2026-09-25 加固,原 0.0.0.0 会把无认证从站暴露给整个局域网)。

12.2 输出格式(可编排)

Raw 行输出可由「输出格式」页编排有序输出项:检测值 / 判定 / 系统变量 / 分隔符 / 固定文本,并可自定义字段分隔符与数值精度。「恢复默认」按钮还原默认序列。

默认序列:

帧号,OK次数,NG次数,综合判定,工具值,判定[,日期时间]

例:12,10,2,0,3.5080,0,260817143001(CRLF 结尾)。

12.3 帧界定

提供多种帧界定模式(默认 CRLF 行协议),适配不同上位机解析习惯;默认即基恩士 LJ-X 风格行协议,一般无需改动。

12.4 命令集(外部 → 软件)

命令 动作 Modbus 命令码 应答
CS / CAPSTART 开始采集(传感器) 6 0
CE / CAPSTOP 停止采集(传感器) 7 0
T1 / TRIG 单次测量 1 0
STR / START 开始连续测量 2 0
STP / STOP 停止连续测量 3 0
RS / RESET 复位统计计数 4 0
SW:n 切换配方(参数非法回 22) 1001 传参 0
ST? / STAT 状态查询(位掩码) — 0=全停 1=采集中 2=测量中 3=采集+测量中
  • 应答码:0 = 成功、03 = 时机不接受(无检测项 / 设备未就绪 / 连续测量中发 T1 时守卫拒绝,避免弹窗阻塞)、22 = 未知命令 / 多余参数。
  • 采集与测量互不联动:CS/CE 只控制传感器采集,STR/STP 只控制检测流程。需两者同时运行,依次下发 CS → STR;CE 不会停止检测流程,STP 也不会停止采集。
  • ST? 返回值按位编码:bit0(1) = 采集中,bit1(2) = 测量中。

12.5 状态监视

  • 寄存器映射表(只读展示):Modbus 地址 0 帧号、1-2 工具1 测量值(Float32)、3 工具1 判定、900 OK 次数、901 NG 次数、902 综合判定、1000 命令码、903 数据有效位、904 帧序号。
  • 收发日志:实时显示通讯模块收发追踪(命令 / 数据),便于对接排障。
  • 判定极性统一:综合判定寄存器与命令判定字段均为 1 = OK(寄存器 902 字段「0=OK 1=NG」为历史命名,实际由输出项 OK/NG 判定驱动)。

12.6 无效数据帧(无料 / 测量失败)

为什么必须发:无料或本项测不出值时,若什么都不发,PLC 的判定寄存器会停留在上一件合格件的 OK —— 现场会把它当成「这一件也合格」。

情形 903 数据有效位 902 综合判定 逐输出项判定 值字段 检测次数
合格 1 1 (OK) 1 (OK) 实测值 +1 / OK+1
超差 1 0 (NG) 0 (NG) 实测值 +1 / NG+1
参数条件不满足(弧覆盖角 / 凸凹过滤) 0 0 (NG) 0 (NG) ---- +1 / NG+1
测量失败(有工件,未测出值) 0 0 (NG) 0 (NG) ---- +1 / NG+1
无料(整帧无有效点) 0 0 (NG) 0 (NG) ---- 不变(无料不是不良)

PLC 建议逻辑:先看 904 是否变化(判断有新帧)→ 再看 903 是否为 1,为 0 则丢弃本帧,不要只依赖数值寄存器或 902。

  • 每个输出项 3 个寄存器的布局不变:无效时判定位写 0(NG)、值寄存器保持不动(不写 0,避免被读成「测量值 = 0mm」)。
  • Raw 行:无效帧照发一行,值字段输出 ----、判定字段输出 0(NG)。
  • 「数据有效」可作为可选系统变量加入输出项(默认序列不变,老下游解析不受影响)。
  • 开关:系统 → 系统设置 → 无效数据通讯策略(默认开启;关闭即回到「无效帧完全不发」的旧行为,此时 PLC 会沿用上一件结论,请确认下游另有判断手段再关闭)。