AB Micrologix 1200以太网组网及点位发现硬件连接指导请求
AB Micrologix 1200 + 1761-NET-AIC 以太网接入指南(Port 0已被HMI占用)
硬件连接逻辑
1761-NET-AIC根本不需要占用Port 0——它是PLC右侧扩展槽的专用以太网模块,直接插在Micrologix 1200的扩展接口上就行(注意:只有带扩展能力的Micrologix 1200型号支持,比如1762-L24BWA,先确认你的PLC型号)。
具体连接步骤:
- 先给PLC断电,把1761-NET-AIC卡插到PLC右侧的扩展槽,拧紧固定螺丝。
- 用网线把AIC卡的以太网口连到你的局域网(交换机或电脑直连都可以)。
- 重新上电,PLC会自动识别这个扩展模块,无需额外硬件地址设置。
初始配置步骤
IP地址设置
有两种方式:
- 临时断开HMI,用RSLinx Classic通过Port 0连接PLC,找到1761-NET-AIC模块,在属性里直接设置静态IP,配置完再把HMI接回去就行,不会影响HMI的预编程。
- 用AIC卡上的DIP开关设置默认IP(参考模块手册的开关组合对应IP段),之后通过以太网修改成你需要的地址。
通信协议选择
1761-NET-AIC支持DF1以太网和EtherNet/IP,优先选EtherNet/IP,后续Python/C#采集数据的库支持更完善。
数据采集实现(Python/C#)
Python方案
用pylogix库(专门适配AB PLC的EtherNet/IP通信),示例代码:
from pylogix import PLC # 连接PLC并读取点位 with PLC() as comm: comm.IPAddress = "192.168.1.100" # 替换成你的AIC卡IP # 读取单个寄存器 single_tag = comm.Read("N7:0") print(f"N7:0 值: {single_tag.Value}") # 批量读取多个点位 multi_tags = comm.ReadMultiple(["N7:0", "B3:0/0", "F8:1"]) for tag in multi_tags: print(f"{tag.TagName}: {tag.Value}")
C#方案
可以用第三方库EIPScanner,或者Rockwell官方的.NET库,示例代码:
using EIPScanner; using System; class Program { static void Main() { // 初始化扫描器,IP为AIC卡地址,插槽号填0(扩展模块默认插槽) var scanner = new Scanner("192.168.1.100", 0x0000); scanner.Connect(); // 读取整数寄存器N7:0 int n7Value = scanner.Read<int>("N7:0"); Console.WriteLine($"N7:0 当前值: {n7Value}"); scanner.Disconnect(); } }
数据存储
采集到数据后,直接用对应语言的数据库驱动写入即可:
- Python用
pymysql(MySQL)、psycopg2(PostgreSQL)或sqlalchemy(ORM)。 - C#用
SqlConnection(SQL Server)、MySqlConnector(MySQL)等。
关键注意事项
- 确认PLC固件版本支持1761-NET-AIC,低版本固件可能无法识别模块,需要通过RSLinx升级。
- 保证AIC卡的IP和采集电脑在同一网段,避免通信失败。
- 临时断开HMI配置AIC卡时,HMI的预编程不会丢失,恢复连接后只要通信参数一致就能正常运行。
内容的提问来源于stack exchange,提问作者Prathamesh Pitale
相关产品推荐
相关产品推荐

