在 iFIX 与西门子 S7-300 通过 OPC 以太网通讯的实现过程中,核心是借助 OPC 服务器作为中间桥梁,实现两者的数据交互。以下是详细的实现步骤:
一、前期准备
硬件与软件要求
西门子 S7-300 PLC(需配备以太网模块,如 CP343-1),确保已通过 Step7 或 TIA Portal 完成硬件组态和程序下载,且 PLC 与上位机(安装 iFIX 的电脑)在同一局域网,IP 地址可互通(如 PLC 的 IP:192.168.0.1,上位机 IP:192.168.0.2,子网掩码一致)。
上位机安装:iFIX 软件、OPC 服务器(推荐使用西门子官方的SIMATIC NET OPC Server,或第三方 OPC 服务器如 Kepware、MatrikonOPC)。
确保 PLC 的 DB 块、输入输出点(I/Q)等需要通讯的数据已在程序中定义,且属性设置为 “可访问”(避免因权限问题无法读取)。
二、OPC 服务器配置(以 SIMATIC NET 为例)
安装 SIMATIC NET安装时勾选 “OPC Server” 组件,安装完成后启动 “SIMATIC NET OPC Scout”(用于测试 OPC 连接)。
创建 OPC 通道与连接
打开 “SIMATIC NET Configuration Console”,添加 “Industrial Ethernet” 驱动,配置以太网适配器(选择上位机连接 PLC 的网卡)。
新建 “S7 Connection”,设置连接类型为 “Client”,PLC 的 IP 地址、机架号(通常为 0)、槽号(S7-300 的 CPU 槽号一般为 2,可在 Step7 硬件组态中查看)。
测试 OPC 数据点打开 “OPC Scout”,连接本地的 “OPC.SimaticNET” 服务器,浏览 PLC 的数据地址(如 DB1.DBW2、I0.0、Q4.2 等),添加测试项并启动监控,确认能正常读取 / 写入数据(若失败,检查 IP 连通性、PLC 槽号、数据地址是否正确)。
三、iFIX 配置
配置 OPC 驱动
打开 iFIX 的 “System Configuration Utility”,在 “Drivers” 中添加 “OPC Client” 驱动(路径通常为
C:\Program Files (x86)\GE\iFIX\Drivers\OPC\opcclient.dll)。启动 iFIX 的 “OPC Client Configuration”,新建 OPC 服务器连接,选择已配置好的 OPC 服务器(如 “OPC.SimaticNET”),测试连接是否成功。
定义数据点(Tag)
“Item ID”:填写 OPC 服务器中对应的地址(如从 OPC Scout 中复制,格式可能为
S7:[S7 connection_1]DB1,X2.0或DB1.DBW2,需与 OPC 服务器的地址格式一致)。数据类型(如 Int、Bool、Real 等)需与 PLC 中定义的一致。
扫描速率(根据需求设置数据刷新频率)。
在 iFIX 的 “Database Manager” 中,新建 I/O 点(I/O Tag),选择驱动为 “OPC Client”。
配置数据点属性:
测试数据通讯在 iFIX 的 “Database Manager” 中手动刷新数据点,或通过画面组态(使用 “Animation” 关联数据点),确认能实时读取 PLC 数据,且可正常写入(若写入失败,检查 PLC 程序中数据是否允许写入,如 DB 块是否设置为 “可写”)。
四、常见问题与排查
通讯失败
检查 IP 地址是否互通:上位机 ping PLC 的 IP,确认网络连通。
检查 OPC 服务器配置:重新测试 OPC Scout 中的数据点,确保 OPC 层面能正常通讯。
检查 iFIX 的 OPC 驱动配置:确认服务器名称、Item ID 格式是否正确。
数据读写异常
数据类型不匹配:iFIX 数据点的类型需与 PLC 中一致(如 PLC 的 DB1.DBW2 为 Int16,iFIX 需设为 Integer)。
PLC 数据权限:DB 块需在 Step7 中设置为 “Optimized Block Access” 禁用(或勾选 “可访问”),否则 OPC 可能无法识别地址。
OPC 服务器未找到
确保 OPC 服务器服务已启动(如 SIMATIC NET 的 “SIMATIC NET OPC Server” 服务)。
防火墙设置:关闭上位机防火墙,或开放 OPC 相关端口(如 135、4840 等)。
通过以上步骤,可实现 iFIX 与西门子 S7-300 的 OPC 以太网通讯。若使用第三方 OPC 服务器(如 Kepware),配置逻辑类似,核心是确保 OPC 服务器能正确连接 PLC,再通过 iFIX 的 OPC 客户端驱动关联数据点。

