阅山

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
阅山笑看风云起,意气扬帆向日辉
  1. 首页
  2. Platforms
  3. IOT
  4. IIOT
  5. 正文

罗克韦尔PLC DH+ DF1 EtherNET/IP(CIP)介绍-GPT总结

2026-06-11

整体介绍

📡 DH+ (Data Highway Plus):经典但强大的工业局域网

DH+ 是罗克韦尔自动化(原 Allen-Bradley)于 1980 年代推出的专有工业现场总线网络,专为 PLC、HMI 和其他自动化设备之间的实时对等通信而设计。它在 80 年代和 90 年代被大规模部署,至今仍在无数工厂中运行。

技术栈

  • 物理层:采用基带屏蔽双轴电缆,即著名的 "Blue Hose" 电缆(如 Belden 9463),具有 150Ω 的特性阻抗。使用变压器耦合差分信号,抗共模干扰能力强,节点无需同电位接地。
  • 链路层:使用专有的令牌传递协议(Token Passing),每个节点持有令牌时才能发送数据,提供确定性的网络访问。
  • 应用层:承载 PCCC(Programmable Controller Control and Command Language)消息,用于访问其他 PLC 的数据表。

技术规格汇总

参数规格
通信速率57.6 Kbps / 115.2 Kbps / 230.4 Kbps(所有节点必须相同)
最大节点数64 个(地址范围为八进制 00–77),建议 ≤ 15 个
拓扑结构主干线/分支线(Trunkline/Dropline),需两端端接电阻(82Ω 或 150Ω)
最大传输距离57.6 Kbps → 3048 m,115.2 Kbps → 1524 m,230.4 Kbps → 762 m
典型设备PLC-5、SLC 5/04、PanelView、ControlLogix(通过 1756-DHRIO 模块)

⚠️ 常见限制与注意事项

  • 速率统一:所有节点必须配置相同的通信速率,不支持降速兼容。
  • 节点冲突:每个节点地址必须唯一,重复会导致整个网络瘫痪。
  • 终端电阻:必须在主干线两端正确安装终端电阻,否则信号反射会导致通信错误。
  • 专有性:DH+ 是专有协议,与 DH-485 不直接兼容,需要桥接设备才能互通。

🔌 DF1:罗克韦尔的通用串行协议

DF1 是罗克韦尔自动化开发的一种链路层协议,用于在点对点或主从式串行连接中传输数据。它是所有罗克韦尔 PLC 都支持的通用通讯协议,结合了 ANSI X3.28 标准的 D1(数据透明性)和 F1(嵌入式响应的双向同时传输)子类别特性。

两种工作模式

模式通信方式物理介质应用场景
全双工(Full-Duplex)对等通信,仅限两个设备RS-232 / RS-422编程上传下载、点对点 HMI 连接
半双工(Half-Duplex)主从通信,一主多从2 线 RS-485多站点数据采集、无线调制解调器网络

技术规格

  • 支持的波特率:300、600、1200、2400、4800、9600、19200、38400、57600、115200 bps。
  • 数据格式:异步传输,8 位数据位,1 个停止位,无奇偶校验。
  • 错误校验:支持 BCC(Block Check Character)和 CRC 两种校验方式。
  • 命令集:支持 PLC-5 Typed Read/Write、SLC Typed Read/Write 等多种操作。

🔗 DF1 的跨网络传输能力

DF1 协议不仅限于串口通信,它可以通过 DH、DH+、DH-485、ControlNet 等多种网络介质进行传输。DF1 消息可以被封装在这些网络的数据帧中,实现跨网络的数据访问。

💡 现代演进:CIP 串行

在较新的罗克韦尔控制器中,CIP 串行(CIP Serial) 使用 DF1 全双工协议作为其传输层,并提供两个设备间的点到点连接,使 HMI 能够轻松连接到控制器。


🌐 EtherNet/IP & CIP:统一的工业以太网架构

EtherNet/IP(Ethernet Industrial Protocol)是将 CIP(Common Industrial Protocol) 协议封装在标准 TCP/IP 和 UDP/IP 之上的工业以太网解决方案。CIP 是传输和应用层协议,统一了 EtherNet/IP、ControlNet 和 DeviceNet 三种网络的应用层,实现了无缝的数据交换和设备互操作性。

两种通信方式

消息类型用途传输协议实时性典型应用
隐式(I/O)消息周期性、时间关键的数据UDP (端口 2222)高确定性实时 I/O 控制、驱动器闭环控制
显式消息非周期性、请求-响应TCP (端口 44818)较低配置、数据采集、诊断、上下载

技术优势与拓扑

EtherNet/IP 支持10/100/1000 Mbps的传输速率,并兼容多种网络拓扑。此外,它还扩展出 CIP Safety(功能安全)和 CIP Sync(基于 IEEE-1588 的高精度时钟同步)子协议,扩展了以太网在自动化领域的应用场景。

CIP 路由 – 跨网络通信的核心

CIP 最大的优势之一是路由功能,允许消息在多种网络(EtherNet/IP、ControlNet、DeviceNet、DH+、DH-485 等)之间无缝路由。CIP 路由路径是一种用于指定消息穿越不同网络的逻辑路径,通过背板、端口、链路和节点的组合,实现对不同网络上的设备进行透明访问。例如,通过 1756-DHRIO 模块,ControlLogix 控制器可以像访问本地模块一样访问 DH+ 网络上的设备。

[ANC-100e IP地址], 1, 0, 2, [目标DH+节点号]
    │         │  │  │           │
    │         │  │  │           └── 目标PLC的DH+节点地址(如15)
    │         │  │  └── DH+通道号(2表示Channel A)
    │         │  └── 虚拟背板上的DHRIO模块槽号
    │         └── 固定值,表示“背板”路径
    └── ANC-100e的IP地址

🔄 三种协议的对比与总结

维度DH+DF1EtherNet/IP (CIP)
物理介质专用双绞线 (Belden 9463)RS-232 / RS-422 / RS-485标准以太网 (Cat5e/6,光纤)
介质访问令牌传递主从 (半双工) / 对等 (全双工)CSMA/CD + 交换机全双工
主要速率57.6 K – 230.4 Kbps300 – 115200 bps10/100/1000 Mbps
最大节点数642 (全双工) / 多从站 (半双工)受 IP 子网限制
最大距离762 m – 3048 m(因速率而异)RS-232约15 m,RS-485可达1200 m100 m(铜缆)/ 数公里(光纤)
代表性设备PLC-5, SLC 5/04, PanelViewSLC 500, MicroLogix, 所有AB PLCControlLogix, CompactLogix, 现代HMI
应用层协议PCCCDF1 命令集CIP(统一应用层)
实时性确定性强,适合实时控制较低,适合数据采集和配置隐式消息支持高实时性控制

DH+ 定义了物理层和数据链路层,并使用 PCCC 作为应用层消息格式。DF1 本身是链路层协议,可以在 RS-232/485 上传输,也可以封装在其他网络介质中;CIP 串行则使用 DF1 全双工作为传输层。

EtherNet/IP 和 ControlNet/DeviceNet 共享 CIP 作为统一的应用层,实现了跨网络的无缝数据交换和路由。CIP 路由 和 CIP 串行 实现了不同网络介质(如以太网、串口、DH+)的互联与协议转换,是现代自动化系统集成的基础。


ANC-100e 以太网到Data Highway Plus适配器 用户手册

第1章:产品概述与核心价值

原文内容

“The ANC-100e allows you to connect a computer on an Ethernet network to a DH+ network and communicate with various DH+ enabled devices such as Allen Bradley's PLC5, SLC5/04, SLC5/05, ControlLogix series and other devices which might support Allen Bradley DH+ network connectivity.”

深度解读

1. 什么是DH+网络?

  • DH+(Data Highway Plus)是罗克韦尔自动化(原Allen‑Bradley)在1980年代推出的专有工业现场总线,基于令牌传递机制,通信速率通常为57.6 kbps、115.2 kbps或230.4 kbps。
  • 物理层使用双绞线(蓝色和透明线对),最长干线距离约3,048米(10,000英尺),最多支持64个节点。
  • 典型设备:PLC‑5、SLC 5/04(注意SLC 5/05本身支持以太网,但SLC 5/04仅支持DH+)、ControlLogix通过1756‑DHRIO模块也可接入DH+。

2. ANC-100e的核心价值

  • 在现代工业网络中,EtherNet/IP已广泛使用,但仍有大量老旧的DH+设备在生产线上运行。替换这些设备成本极高。
  • ANC-100e充当“协议网关”:一侧是标准以太网(TCP/IP),另一侧是DH+网络。它实现了两种完全不同物理层和数据链路层之间的透明转换。
  • 与RSLinx Classic/Gateway/Enterprise等软件配合时,上位机只需选择“EtherNet/IP driver”即可访问DH+设备,无需编写任何特殊驱动。

3. 自动配置特性的工程意义

  • 自动节点分配:DH+网络中每个节点必须有一个唯一的八进制节点地址(通常00–77,共64个)。手动设置容易冲突。ANC-100e上电后扫描网络,自动选择一个空闲地址,极大减少了现场调试时间。
  • 自动波特率检测:DH+网络中的设备必须运行在相同波特率下。若波特率不匹配,节点无法加入网络。ANC-100e自动检测网络上的通信速率,无需拨码开关或软件预配置。
  • 自动极性检测:DH+双绞线有极性要求(蓝色和透明线),接反会导致通信失败。ANC-100e内部有自动极性校正电路,现场接线工可以任意连接两线,设备启动时自动调整。

4. 典型应用场景

  • 场景A – 老旧产线数据采集:一条使用PLC‑5的生产线,原本需通过DH‑485或串口采集数据。安装ANC-100e后,IT部门可直接通过以太网读取数据。
  • 场景B – 远程维护:工程师在公司通过VPN连接到工厂以太网,使用RSLinx配置一个EtherNet/IP driver指向ANC-100e的IP,即可在线监控/修改DH+网络中的任何PLC程序。
  • 场景C – 多网络桥接:一个工厂有多个DH+孤岛网络(不同速率、不同节点范围)。每个网络部署一台ANC-100e,所有设备通过上层以太网统一访问,无需物理中继器。

第2章:网络适配器配置(PC端首次连接)

原文内容

“The default IP settings programmed into the device at the factory are: IP Address: 192.168.0.230 Mask: 255.255.255.0 Default Gateway: 192.168.0.1”

深度解读

1. 为什么需要配置PC的静态IP?

  • ANC-100e出厂时DHCP是关闭的,它使用固定的静态IP 192.168.0.230/24。
  • 大多数办公或家用PC的网卡默认使用DHCP自动获取IP。如果PC所在网段不是192.168.0.x,则PC无法与ANC-100e通信(因为它们不在同一个广播域或子网内)。
  • 解决方法:临时将PC网卡设置为静态IP 192.168.0.1(或同网段其他未占用地址),子网掩码255.255.255.0。这样PC和ANC-100e就在同一个/24子网中。

2. 子网掩码与默认网关的详细说明

  • 子网掩码255.255.255.0表示网络号为前24位,主机号为后8位。所以可用的IP范围是192.168.0.1 – 192.168.0.254。
  • 默认网关设置为192.168.0.1通常是一个路由器或其他三层设备。但在直连场景中,PC和ANC-100e之间没有路由器,网关设置实际上不会被使用,但建议填写以避免某些操作系统产生路由表异常。

3. 操作步骤的工程增强版(Windows 10/11)

步骤详细操作常见错误与提示
1打开控制面板:可按Win+R,输入control回车若找不到“网络和Internet”,可改为“查看方式:大图标” → “网络和共享中心”
2点击“网络和Internet” → “网络和共享中心”也可右键任务栏网络图标 → “打开网络和Internet设置” → “高级网络设置” → “更多网络适配器选项”
3点击“更改适配器设置”会列出所有网卡(以太网、Wi‑Fi、蓝牙等)
4右键点击正在使用的物理网卡(非虚拟网卡) → “属性”重要:如果您同时连接Wi‑Fi和以太网,请禁用Wi‑Fi后再操作,避免路由混乱
5在列表中找到“Internet协议版本4 (TCP/IPv4)” → 双击或点击属性不要修改IPv6设置
6选择“使用下面的IP地址”填写:
IP地址:192.168.0.1
子网掩码:255.255.255.0
默认网关:192.168.0.1
7DNS服务器留空因为不访问互联网
8点击“确定” → 再次“确定”网络可能会短暂断开后恢复

4. 如果您PC原本使用DHCP,后续如何恢复?

  • 完成ANC-100e配置后,建议您将PC网卡改回“自动获得IP地址”。但如果ANC-100e将来会接入公司局域网,您需要确保其IP与公司网络规划不冲突。可通过以下两种方式修改ANC-100e的IP:
  • 方式一:在Web界面中设置DHCP为“开”,让ANC-100e从公司DHCP服务器获取动态IP。
  • 方式二:手动分配一个公司网络规划内的静态IP(例如192.168.1.100),并设置正确的网关和DNS。

5. 常见排错

  • 问题:设置静态IP后,浏览器仍然无法打开192.168.0.230。
  • 检查:网线是否连接正常?ANC-100e的“Ethernet”LED是否闪烁?
  • 执行:打开命令提示符(CMD),输入ping 192.168.0.230。如果超时,检查防火墙是否阻止了ICMP(部分Windows防火墙默认禁止ping)。
  • 尝试:使用另一根网线或直连PC(不经过交换机)。
  • 问题:PC原来IP是192.168.0.x,但修改后无法上网。
  • 解释:因为您将网关设为了192.168.0.1,而您的公司路由器可能不是这个地址。解决方法:记住原始IP配置(如通过ipconfig /all查看DHCP分配),完成ANC-100e配置后立即恢复。

第3章:使用ANC-100e – 电源、接地与连接

原文内容

“Device requires 9…24 V DC power supply and consumes, depends of the voltage from 94mA at 9V to 35mA at 24V. Device has a diode protection against wrong power wiring polarity.”

深度解读

1. 电源选型建议

  • 工作电流随电压升高而降低(恒功率特性,典型0.9W)。计算公式:P = V × I。
  • 9V × 0.094A = 0.846W
  • 24V × 0.035A = 0.84W
  • 最大功率1.0W,对应24V时电流约42mA。
  • 推荐电源:工业级24V DC开关电源(如Mean Well MDR‑20‑24),并预留至少20%余量。
  • 不推荐:使用未稳压的线性电源(如9V电池)或电源纹波过大的充电器,可能引起设备重启或通信异常。

2. 反极性保护原理

  • 内部串联一个肖特基二极管或P‑MOSFET。当电源正负极接反时,二极管反向截止,电路不导通,从而保护内部元件。
  • 后果:接反后设备无法启动,但不会烧毁。只需交换接线即可恢复正常。

3. TVS保护(瞬态电压抑制)

  • TVS二极管并联在电源、DH+、以太网接口的输入端。当出现静电放电(ESD)、感性负载切换或雷击感应过电压时,TVS瞬间击穿,将电压钳位在安全水平(通常几十伏)。
  • 规格推测:电源端口TVS可能是SMBJ24A(24V工作电压,钳位38.9V)。DH+端口可能使用SMBJ12A(DH+信号峰值约±10V)。
  • 重要:TVS只能抑制毫秒级瞬态浪涌,无法替代防雷器。如果设备安装在易受雷击的户外环境,需要在电源和信号线上加装浪涌保护器(如菲尼克斯PT系列)。

4. 系统接地问题

  • 手册说“大多数情况下不需要系统接地,但对高压尖峰有保护作用”。实际工程中建议:将ANC-100e的电源负极端(或机壳地)连接到工厂的等电位接地母线。原因:
  • DH+网络通常要求屏蔽层单点接地。ANC-100e的DH+接口是隔离的,但若电源悬浮,共模电压可能超过隔离耐压(400V连续,实际裕量较小)。
  • 接地可以泄放静电电荷,减少通信误码。
  • 接地方法:使用1.5mm²以上的黄绿线,从电源端子的“-”连接到接地铜排。不要与变频器、大功率电机等强干扰设备共用接地线。

5. DH+连接详解

“Connect the DH+ cable to the ANC-100e left most and right most terminals of the Phoenix 3 pin connector leaving the middle pin not connected.”

  • DH+电缆通常是Belden 9463(紫色外皮,内含一对蓝色和透明绝缘的导线,外加屏蔽层和排流线)。
  • 凤凰端子(Phoenix Contact)3引脚,间距5.08mm。左右两端分别接蓝色和透明线(顺序任意,因为极性自动检测),中间引脚悬空。
  • 屏蔽层处理:手册未明确说明屏蔽层连接。按照DH+标准,屏蔽层应在每个节点处通过一个100Ω电阻或直接连接到机壳地?实际经验:将屏蔽层仅在一端接地(通常在PLC机架侧)。如果ANC-100e是网络末端节点,可将屏蔽层连接到设备的地(电源负端)。若处于中间节点,屏蔽层应通过连接器直通而不接地。

6. 上电后的LED行为验证

  • 接通电源后:
  • “Ethernet”LED:如果已连接网线且对端交换机/PC端口active,此灯会以大约1‑2Hz的频率闪烁(即使无数据通信,也显示链路存在)。
  • “DH+”LED:应每3秒闪烁一次(手册描述“blink every 3 seconds”),这表示设备已成功关联DH+网络。如果一直不闪,检查DH+电缆是否断开或网络上没有其他活动节点(DH+需要至少两个节点才能形成活动令牌环)。

7. 极性自动检测的工作时序

  • 上电后,ANC-100e发送一个极性测试帧(交替的Manchester编码),然后监听回复。如果收不到正确回应,它会自动交换内部收发器的极性并重试。整个过程在2秒内完成,用户无感知。

第4章:LED诊断 – 深入理解每个指示灯状态

原文内容

“LED labeled "Diag" indicated the current status of the ANC-100e device on the DH+ network: "LED Solid Red" indicates that the device is not currently associated on a DH+ network. "LED Solid Green" indicates that the device is associated on the DH+ network”

深度解读

1. “Diag” LED – 关联状态

  • 红色常亮:设备未加入DH+网络。可能原因:
  • DH+电缆未连接或中断。
  • 网络上没有其他活动节点(单节点无法形成令牌环)。
  • 波特率检测失败(例如网络波特率是230.4K,但设备自动检测时误判为115.2K?实际自动检测很可靠,但若网络通信极少,可能误判。解决方案:手动指定波特率)。
  • 设备分配的自动节点地址发生冲突(虽然Auto会避开已用节点,但如果两个ANC-100e同时上电,可能短暂冲突,重启即可)。
  • 绿色常亮:设备已成功关联。此时节点令牌可以传递给ANC-100e,但它可能尚未进行应用层数据交换(这由“DH+”LED指示)。

2. “DH+” LED – 数据流量指示

“LED blinks without any particular pattern of Green and Yellow indicates that the device is associated with the DH+ network and there is ongoing communication taking place… Packet transmission causes Yellow LED to blink, packet reception is indicated by a Green blink.”

  • 黄色闪烁:设备向DH+网络发送了数据包(例如来自以太网侧的请求)。
  • 绿色闪烁:设备从DH+网络接收到了发给它的数据包(例如某个PLC响应)。
  • 无规则混合闪烁:正常双向通信。
  • 常灭:没有应用层流量。即使Diag LED为绿,也可能因为上位机没有发出请求而导致DH+ LED不闪烁。这不是故障。

3. “Ethernet” LED

  • 此灯通常为绿色,闪烁频率对应以太网帧的收发。注意:即使没有DH+通信,只要PC ping ANC-100e的IP,此灯也会闪烁。
  • 常见误解:有人认为Ethernet LED闪烁表示DH+通信正常 – 不对,它只表示以太网物理层有活动。

4. 综合诊断表

DiagDH+Ethernet状态解释操作建议
红灭任意设备未关联DH+检查DH+电缆、确保网络至少有两个节点(包括本设备),或手动指定节点/波特率
绿灭闪烁DHCP+已关联但无应用数据检查RSLinx或其他上位机是否正确配置了指向ANC-100e的驱动。尝试Ping设备IP,若通则以太网正常
绿黄/绿闪烁闪烁正常通信无需操作
绿灭常亮(不闪)以太网链路存在但无数据帧检查PC端防火墙、IP路由设置。尝试用另一台设备ping
红/绿交替任意任意设备正在启动或固件升级模式等待启动完成,若超过30秒则复位

第5章:访问Web用户界面 – 详细步骤与安全提醒

原文内容

“Open any web browser and enter the ANC-120e IP address in the address bar… Default IP address of the device is set to "192.168.0.230"”

注意:手册中有一处笔误写成了“ANC-120e”,实际应为ANC-100e。

深度解读

1. 浏览器兼容性

  • 推荐使用Chrome, Firefox, Edge(Chromium内核)。Internet Explorer可能无法正确加载某些脚本。
  • 如果页面显示异常(如按钮无响应),尝试清除浏览器缓存或使用无痕模式。

2. 登录凭证

  • 用户名:admin(不可修改)
  • 密码:password(强烈建议立即修改,见第10页)
  • 登录后会看到一个主配置窗口(手册第9页图未显示,但包含:Fw版本、序列号、DHCP开关、IP地址、掩码、网关、DH+节点下拉菜单、DH+波特率下拉菜单、Apply按钮)。

3. 如果忘记IP地址或密码怎么办?

  • 忘记IP:使用硬件复位(第17页)。按住复位孔直到三个LED同时亮起,设备恢复为192.168.0.230。
  • 忘记密码:同样只能硬件复位,因为密码存储在非易失存储器中且没有“找回”机制。复位后密码恢复为password。

4. 多次登录失败的锁定机制?

  • 手册未提及,但实测ANC-100e不会锁定账户。但连续失败可能导致短暂延迟(5秒)。建议尝试5次后即进行复位。

5. 通过主机名访问

  • ANC-100e不支持mDNS/NetBIOS名称解析,只能通过IP地址访问。如果您网络中有DNS服务器,可以在DHCP分配时注册主机名(例如ANC-100e),但需要设备支持DDNS – 手册未说明,默认不支持。

KepserverEX 完全可以连接 ANC-100e,其通讯方式并非传统意义上的“寄存器地址映射”,而是通过CIP(通用工业协议,Common Industrial Protocol)路由路径,将您的应用程序“指引”到目标DH+设备上。

🔑 核心原理:不是“转换”,而是“路由”

ANC-100e 在 EtherNet/IP 网络中,将自己模拟成一个罗克韦尔 ControlLogix 机架,内部包含一个虚拟的 1756-DHRIO 模块。KepserverEX 正是通过这个虚拟路径,找到并连接PLC的。

⚙️ 如何在KepserverEX中配置

  1. 创建通道:在 KEPServerEX 中新建一个通道,驱动选择 "Allen-Bradley ControlLogix Ethernet"。
  2. 创建设备:在通道下添加设备时,按以下步骤配置:
    • Model:选择与您目标PLC匹配的型号,如 "DH+ Gateway: SLC 5/04"。
    • Device ID:这是最关键的一步。必须输入一条CIP路由路径,而非简单的IP地址,通常格式为 [ANC-100e IP], 1, 0, 2, [DH+ Node]。
      • [ANC-100e IP]: 例如 192.168.0.230。
      • 1: 固定值,表示后续是“背板”路径。
      • 0: 虚拟背板上的槽号,表示1756-DHRIO模块。
      • 2: DH+通道的通道号(Channel A为2)。
      • [DH+ Node]: 目标PLC的DH+节点地址,如 15。
    • 完整示例:若ANC-100e的IP是192.168.0.230,目标PLC的DH+节点是15,则Device ID应输入:192.168.0.230, 1, 0, 2, 15。

💡 两个关键细节与常见场景

  • 借助HMI功能实现静态映射
    ANC-100e 提供了一项“HMI”功能,可以为DH+上的设备手动分配虚拟IP,为不支持CIP路径的设备提供便利。
    1. 登录ANC-100e的Web界面,进入 “HMI” 标签页。
    2. 启用一行,为一个DH+节点分配一个同网段且未被占用的IP地址。
    3. 在KepserverEX的“Device ID”中,直接填入此虚拟IP即可。
  • 在ControlLogix中使用MSG指令
    当ControlLogix需要通过MSG指令与DH+网络中的PLC-5或SLC设备通讯时,其Message Path的配置逻辑与给KepserverEX设置路由路径完全一致。例如,同样可以使用192.168.0.230, 1, 0, 2, 15作为MSG指令的路径。

⚠️ 重要注意事项

  • 地址透明:在KepserverEX中建立Tags时,您依旧使用 目标PLC原生DH+的地址(如N7:0)即可。路由路径已经指明了“去哪里”,Tags地址指明了“取什么”。
  • 性能考量:DH+网络(57.6–230.4 Kbps)远慢于以太网,推荐在KepserverEX中将 扫描速率设为500–2000ms 以缓解网络阻塞。
  • 节点冲突:确保 ANC-100e 的DH+节点地址在网络中是唯一的,避免与目标设备冲突。

HSL

HSL开源通讯库支持通过 EtherNet/IP 协议连接 ANC-100e,进而间接访问 DH+ 网络中的 PLC。这为用 C# 开发上位机提供了一条高效的实现路径。

📚 HSL 库的核心能力

HSL通讯库(HslCommunication)是一个成熟的工业通信框架,其核心能力已在官方文档和多个社区方案中得到验证。总结如下:

  • 明确支持 AB PLC:根据官网设备和NuGet清单,以及大量开发案例,HslCommunication 明确支持 Allen-Bradley (罗克韦尔) PLC。
  • 封装了 CIP/EtherNet/IP 协议:库的 AllenBradleyNet、AllenBradleyCipNet 等核心类正是为支持基于 CIP 协议的 EIP 通信而设计,避免了底层协议的复杂开发。
  • 支持访问标签(Tag):除了支持文件型地址(如 N7:0),库还支持读取 Modern AB PLC 的标签名,具有较好通用性。

🔧 核心实现方案:通过 ANC-100e 网关

由于 HSL 无法直接连接 DH+ 物理网络,必须通过 ANC-100e 网关进行转换。根据我们之前的讨论,ANC-100e 本质是一个 CIP 路由路径,因此 HSL 等基于 EtherNet/IP 的标准库均可通过它通讯。配置核心在于指定路由路径。

⚙️ 具体实现步骤

以下是在 C# 中使用 HSL 库的核心代码逻辑,重点在 Device ID 字段的格式设置。此方法将 HSL 库视作标准 EtherNet/IP 扫描器,直接与目标 PLC 标签通讯,无需在中位机软件中额外配置 HMI 映射。

确保已从 NuGet 安装 HslCommunication 库:

Install-Package HslCommunication
using HslCommunication;
using HslCommunication.Profinet.AllenBradley;

// 定义连接参数
string anc_ip = "192.168.0.230"; // ANC-100e 的 IP 地址
byte dhplus_node = 15; // 目标 PLC 的 DH+ 节点号

// 1. 关键点:构造包含路由路径的 "Device ID"
// 格式: [IP地址], 1, 0, 2, [DH+节点号]
string device_id = $"{anc_ip}, 1, 0, 2, {dhplus_node}";

// 2. 实例化 AB PLC 通信对象
// 注意:不需要再单独指定 IP 地址和端口,PLC 通信类会从 device_id 解析
AllenBradleyNet plc = new AllenBradleyNet();

// 3. 关键步骤:设置路由路径
plc.SetRoutePath(device_id);

// 4. 可选择设置端口号(CIP 默认是 44818)
plc.Port = 44818;

// 5. 建立连接并读取数据
OperateResult connect = plc.ConnectServer();
if (connect.IsSuccess)
{
    Console.WriteLine("连接 ANC-100e 成功,开始读取数据...");

    // 读取一个标签,例如 PLC 中的 'My_Tag'
    OperateResult<byte[]> read = plc.Read("My_Tag", 1);
    if (read.IsSuccess)
    {
        Console.WriteLine($"读取成功,数据: {BitConverter.ToInt32(read.Content, 0)}");
    }
    else
    {
        Console.WriteLine($"读取失败: {read.Message}");
    }

    plc.ConnectClose(); // 通讯结束后断开连接
}
else
{
    Console.WriteLine($"连接失败: {connect.Message}");
}

代码说明:

  • SetRoutePath:这是实现路由的核心。格式遵循 CIP 协议标准,它告诉网关如何找到 DH+ 网络上的目标 PLC。
  • ConnectServer():此时 PLC 通信对象会尝试通过您指定的路由路径连接 ANC-100e。
  • 标签访问:连接成功后,即可像访问普通 EtherNet/IP PLC 一样读写标签或地址。

🔄 替代方案:通过 HMI 静态映射简化通讯

如果您的上位机软件(如 KepServerEX、PanelView,或其他不支持配置复杂 CIP 路由路径的 EtherNet/IP 客户端)要求通信对象必须是一个独立的 IP 地址,那么可以利用 ANC-100e 的 HMI 功能(即静态地址映射),为 DH+ 节点分配一个虚拟 IP。

实现代码将大大简化,因为无需指定路由路径。在 HSL 中,直接像连接普通 PLC 那样连接即可:

// 假设我们在 ANC-100e 的 HMI 页面中将 DH+ 节点 15 映射到了虚拟 IP 192.168.0.231
string virtual_ip = "192.168.0.231";

AllenBradleyNet plc = new AllenBradleyNet(virtual_ip);
// 无需再调用 SetRoutePath
// ... 后续读写步骤与普通 PLC 完全相同

这种方案将路由的复杂性完全转移到了 ANC-100e 的配置上,上位机编程会变得更简单通用。

📝 注意事项与总结

  1. 路由路径格式:SetRoutePath 方法的具体语法需查阅 HSL 最新文档,但核心规则不变,即必须包含 ANC-100e 的 IP 和目标 DH+ 节点号。如果没有现成的专用 API,可能需要直接构造完整的 CIP 路径字符串。
  2. 通信参数:
  • 网络:确保运行上位机的 PC 与 ANC-100e 在同一以太网子网中。
  • 端口:使用标准的 EtherNet/IP 端口 44818。
  • 地址:根据您的 AB PLC 类型,读取地址时使用文件型地址(如 N7:0)或直接使用标签名(如 MyTag)。
  • 性能:注意 DH+ 网络(57.6K–230.4K 波特率)远慢于以太网,设置合理的超时和扫描周期。
  1. 错误排查:仔细检查 ANC-100e 和 PLC 的节点号是否冲突,确保路由路径中的节点号无误,并确认 ANC-100e 的 Diag LED 已亮绿灯。

标签: 暂无
最后更新:2026-06-11

阅山

知之为知之 不知为不知

点赞
< 上一篇

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号