欧姆龙FH相机与三菱Q03UDE PLC通过以太网连接时,若Q03UDE仅支持无协议TCP通信(仅接收ASCII码),需采用以下方法实现数据交互:
一、硬件连接与基础配置
物理连接
使用网线将欧姆龙FH相机的以太网接口与三菱Q03UDE PLC的以太网模块(内置或外置)直接连接,或通过交换机组成局域网。
确保相机与PLC的IP地址在同一网段(如相机IP:
192.168.1.10
,PLC IP:192.168.1.20
),子网掩码均为255.255.255.0
。PLC以太网参数设置
协议选择:在GX Works2软件中,设置PLC参数为TCP协议,打开方式选择MC协议(三菱专用通信协议)。
端口配置:默认端口为
5002
(MC协议端口),需与相机侧配置一致。权限设置:勾选允许RUN中写入(FTP与MC协议),确保上位机可实时修改PLC数据。
二、欧姆龙FH相机侧配置
通信协议选择
方案1:在相机中编写脚本,将检测结果(如尺寸、位置)转换为ASCII码字符串,通过TCP发送至PLC。
方案2:使用中间件(如PC或工业网关)作为协议转换器,接收相机的ASCII数据后,通过MC协议写入PLC。
若相机支持MC协议,直接配置为TCP客户端模式,目标IP为PLC的IP地址,端口为
5002
。若相机仅支持无协议TCP(如ASCII通信),需通过以下步骤实现数据转换:
数据格式定义
例如,相机发送字符串
"D100=1234\r\n"
,表示将值1234
写入PLC的D100
寄存器。PLC需通过MC协议解析ASCII码,并转换为可执行的寄存器写入指令。
三、PLC程序示例(MC协议通信)
初始化通信参数
melsec// 设置MC协议通信参数(GX Works2梯形图)MOV H'0000' D8120 // 清除通信错误标志MOV H'0C86' D8121 // 设置MC协议:TCP模式,端口5002
数据接收与处理
若相机通过ASCII发送数据,PLC需使用字符串解析指令(如
STR_TO_INT
)将ASCII码转换为数值,再写入目标寄存器。示例:接收相机发送的
"D100=1234"
,解析后写入D100
:melsec// 假设相机数据存储在D1000开始的缓冲区STR_TO_INT D1000 D100 // 将ASCII码转换为整数并写入D100
数据发送至相机(可选)
若需PLC控制相机参数(如触发拍照),可通过MC协议发送ASCII指令:
melsec// 发送字符串"TRIGGER\r\n"至相机端口5003MOV H'5452' D200 // 'T','R'MOV H'4947' D201 // 'I','G'MOV H'4745' D202 // 'G','E'MOV H'520D' D203 // 'R',CRMOV H'000A' D204 // LFMC_TCP_WRITE D200 6 5003 // 发送6字节数据至端口5003
四、常见问题与解决
通信失败排查
IP冲突:使用
PING
命令测试网络连通性,确保无IP重复。协议不匹配:确认相机与PLC均使用MC协议或通过中间件转换。
防火墙阻止:关闭PLC或相机的防火墙,或添加端口例外。
性能优化
减少数据量:仅传输必要数据(如检测结果而非原始图像)。
固定寄存器地址:避免动态分配地址导致解析错误。
使用UDP协议(可选):若对实时性要求极高,可配置UDP通信(需相机支持)。
五、替代方案(推荐)
若直接通信复杂,可采用以下简化方案:
使用欧姆龙NJ控制器:支持OPC UA协议,可直接与三菱PLC通信。
工业网关:如MOXA EDS-408A,支持多协议转换(如Modbus TCP转MC协议)。
上位机软件:如LabVIEW或C#,通过MC协议同时控制相机和PLC。