康耐视In-Sight视觉系统与PLC的集成是自动化项目中的常见需求。通过TCP/IP以太网通信是一种灵活、高效的连接方式。本指南将详细讲解如何一步步完成通信配置。
系统架构与原理
在这种通信模式下,In-Sight相机作为TCP服务器,PLC作为TCP客户端。相机在网络上“监听”一个特定的端口,等待PLC主动发起连接并进行数据交换。
配置步骤(相机端)
设置网络参数:
使用In-Sight Explorer软件连接到相机。
进入 系统 -> 网络设置。
为相机分配一个固定的IP地址、子网掩码和网关,确保其与PLC在同一个网段内。例如,相机IP:
192.168.1.10, PLC IP:192.168.1.20。
配置TCP/IP通信功能:
在电子表格中,添加 “TCP/IP Socket通信” 功能块。
操作模式:选择
Server(服务器)。端口号:设置一个未被占用的端口号,例如
5001。此端口号需要告知PLC编程人员。连接超时:根据需要设置。
定义要发送的数据:
视觉系统的检测结果(如OK/NG、尺寸、坐标值等)通常存储在用户自定义的字符串变量中(例如,
sResult)。在“TCP/IP Socket通信”功能块的 “发送数据” 或 “发送消息” 字段中,填入这个字符串变量名(例如,
sResult)。你可以在视觉作业的最终,通过 “格式化字符串” 功能块,将多个结果(如
"OK, 25.36, 10.5")组合并写入sResult,以便一次性发送给PLC。
配置步骤(PLC端 – 以西门子S7-1200/1500为例)
PLC端的配置是通过编程实现的,主要使用TCON、TSEND、TRCV等指令。
建立连接(TCON指令):
在PLC中调用
TCON(建立连接)指令。配置其连接参数(Connection Parameters):
InterfaceId: 物理网口。
ConnectionType: 选择
B#16#11(代表TCP)。ActiveEstablished: 设置为
True(因为PLC是客户端,需要主动连接)。Address: 填写相机的IP地址
192.168.1.10和端口号5001。
发送请求与接收数据:
方案A:相机被动发送。PLC在连接建立后,先向相机发送一个简单的触发命令(例如,字符串
"TRIG"),使用TSEND指令。相机收到此命令后,执行一次视觉检测,并将结果字符串sResult发回。PLC使用TRCV指令接收此结果。方案B:相机主动发送。如果相机设置为检测完成后自动发送结果,则PLC只需在连接建立后,始终在后台运行
TRCV指令,等待接收相机发来的数据即可。
数据处理:
PLC接收到的是一个完整的字符串(例如,
"OK,25.36,10.5")。需要在PLC程序中使用字符串处理指令(如
SScanf,Mid,Find等)对该字符串进行解析,将其拆分成多个独立的、有意义的变量,如:Bool 检测结果,Real 尺寸1,Real 尺寸2。
通信测试与故障排查
测试工具:在配置初期,可以使用电脑上的网络调试助手软件模拟PLC或相机,进行通信测试,排除基本连接和数据格式问题。
常见故障:
连接失败:检查IP地址、端口号、防火墙设置。
接收不到数据:检查PLC的
TRCV指令的触发条件和缓冲区设置;检查相机端的发送触发条件是否正确。数据乱码:检查双方约定的字符编码格式(通常为UTF-8或ASCII)是否一致。
通过以上步骤,你可以建立起一个稳定可靠的In-Sight相机与PLC的TCP/IP通信链路,实现视觉系统与控制系统的无缝集成。
RAYBET雷竞技首页官网