4. PLC硬件与编程环境准备
在MVTec MERLIC与PLC集成的工程链路中,PLC侧的准备质量直接决定了后续通信能否稳定建立。MERLIC通过标准工业协议(如OPC UA、Modbus TCP或Socket通信)与PLC交换数据,而PLC必须先具备可被访问的IP地址、正确的硬件组态和可下载运行的编程环境。本节以西门子S7-1200/1500和三菱FX/Q系列为例,说明从硬件组态到编程软件环境搭建的完整过程。
一、硬件组态的基本任务
硬件组态的核心目标是让编程软件准确知道实际机架上装了什么模块、模块安装在哪个槽位、各模块的地址范围是什么。对于S7-1200/1500,这一过程在TIA Portal的“设备与网络”视图中完成;对于三菱FX/Q系列,则在GX Works2或GX Works3的“参数”与“PLC参数”中设置。
以S7-1500为例,典型组态内容包括:选择CPU型号(如CPU 1515-2 PN)、确认机架与槽位、添加信号模块(DI/DQ/AI/AQ)、添加通信模块(如CM 1542-1用于Profibus,或CP 1543-1用于以太网)、设置模块的I/O起始地址。若使用分布式I/O,还需在“设备与网络”中添加ET200SP等从站并分配设备名称。三菱Q系列则需在GX Works3中设置基板型号、电源模块、CPU型号、输入输出模块及智能功能模块的起始XY地址。
二、IP地址分配与网络规划
MERLIC与PLC通信的前提是两者处于同一网段且IP可达。建议在项目初期就规划好IP地址,避免后期冲突。以下是一个教学示例的地址规划(属于合理假设,非实测结果):
| 设备 | IP地址 | 子网掩码 | 说明 |
|---|---|---|---|
| MERLIC工控机 | 192.168.0.10 | 255.255.255.0 | 运行MERLIC Runtime |
| S7-1500 CPU | 192.168.0.20 | 255.255.255.0 | PROFINET接口 |
| 三菱Q系列CPU | 192.168.0.30 | 255.255.255.0 | 内置以太网口 |
| 交换机 | — | — | 非管理型工业交换机 |
西门子S7-1200/1500的IP地址在TIA Portal中设置:打开CPU属性→“PROFINET接口”→“以太网地址”,填写IP地址和子网掩码。若网络中有路由器,还需设置网关。三菱Q系列在GX Works3中通过“参数”→“PLC参数”→“内置以太网端口设置”来分配IP地址,FX系列则通过“以太网适配器参数”设置。
设置完成后,用网线将编程电脑与PLC连接,在命令行执行 ping 192.168.0.20 验证连通性。若ping不通,依次检查网线、电脑IP是否同网段、PLC是否已上电、防火墙是否拦截ICMP。
三、编程软件环境搭建
西门子侧需要安装TIA Portal(建议V16及以上),并安装对应的PLC固件支持包(HSP)。安装完成后,在“在线访问”中设置电脑网卡,选择与PLC连接的以太网接口。首次下载时,若PLC为全新状态,需通过“在线”→“扩展下载到设备”搜索可访问设备,选中目标CPU后下载硬件组态和程序。
三菱侧需要安装GX Works3(Q系列)或GX Works2(FX系列),并安装USB或以太网驱动。连接方式可选择USB直连或以太网连接。以以太网为例,在“在线”→“当前连接目标”中指定IP地址和端口(默认5007),然后执行“PLC读取”确认通信正常。
# 西门子S7-1500下载后验证(TIA Portal在线视图)
在线访问 → 网卡 → 更新可访问设备
目标设备:PLC_1 [192.168.0.20]
状态:已连接,运行模式:RUN
# 三菱Q系列以太网连接验证(GX Works3)
在线 → 当前连接目标 → 以太网 → 192.168.0.30:5007
结果:连接成功,CPU型号:Q03UDECPU
四、通信相关参数预留
为了让MERLIC后续能读写PLC数据,需要在PLC侧预留通信区域。对于S7-1200/1500,若使用OPC UA,需在CPU属性中启用“OPC UA服务器”,并设置端口(默认4840)、安全策略和用户认证。若使用Modbus TCP,则需调用MB_SERVER指令并指定保持寄存器区域。三菱Q系列若使用MC协议,需在“内置以太网端口设置”中启用“MC协议”,并设置TCP/UDP端口号(如5000)。
建议在PLC中建立独立的通信数据块(DB),例如DB100用于MERLIC写入结果,DB101用于MERLIC读取触发信号。数据块中变量的数据类型应与MERLIC中配置的变量类型一致,如Bool、Int、Real、String。以下为S7-1500中DB100的示例定义:
DATA_BLOCK "DB_MERLIC"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR
Trigger : Bool; // MERLIC触发拍照
Result_OK : Bool; // 检测结果OK
Result_NG : Bool; // 检测结果NG
X_Position : Real; // X坐标
Y_Position : Real; // Y坐标
Angle : Real; // 角度
Barcode : String[32]; // 条码内容
END_VAR
BEGIN
END_DATA_BLOCK
三菱Q系列中,可使用D寄存器或M继电器作为通信区域。例如,D1000~D1009存放MERLIC写入的坐标数据,M100为触发位,M101为OK标志,M102为NG标志。注意三菱的D寄存器为16位,存放Real类型需占用两个连续寄存器(如D1000和D1001组成一个32位浮点数)。
五、环境验证与常见问题
完成上述配置后,应进行三项验证:第一,编程软件能在线访问PLC并读取CPU信息;第二,电脑能ping通PLC的IP地址;第三,PLC处于RUN模式且无硬件组态错误。若下载时提示“模块不一致”,通常是实际机架与组态不符,需检查模块型号和槽位。若以太网连接失败,检查网卡是否被其他软件占用、IP是否冲突、交换机是否正常工作。
完成以上准备后,PLC侧已具备与MERLIC通信的硬件和软件条件。下一阶段的工作是在MERLIC中建立与PLC的通信连接,并将视觉检测结果映射到PLC的通信数据区。在此之前,建议保存一份完整的硬件组态和IP规划文档,作为后续调试和故障排查的基线。