PLC与PLC通信篇(MODBUS)
- 格式:ppt
- 大小:73.00 KB
- 文档页数:15


[摘要]
关键词
0引言 现场总线技术
通过Modbus TCP/IP实现ControlLogix
PLC与S7 PLC的通信
孔凡强
(济南钢铁股份有限公司炼铁厂,济南250101)
针对济钢3 200m3高炉项目中ControlLogix PLC与S7 PLC间以太网通信不兼容问题,介绍通过Modbus
TCP/IP实现以太网通信的具体过程,并简要介绍硬件结构,详述软件实现步骤。测试结果表明,该方案能
实现不同PLC间的稳定可靠通信。
Modbus TCP/IP ControlLogix PLC通信
目前,不同公司的自动化控制产品各有其应用特点和
编程特点,然而,一个工厂的自动化实现完全使用一个公
司的PLC产品几乎是不可能的,并且各生产工序间又存 在着密切联系。在这种情况下,不同公司的PLC产品间
的可靠通信就越来越成为决定各控制系统稳定运行的关 键[】]。本文就针对AB ControlLogix5000 PLC与SIEMENS
S7—400 PLC的以太网通信进行讨论。
1基本原理
Ethernet是目前可用的最常见的网络协议,并且在工 业自动化控制系统中应用越来越广l_2]。Industrial Ethernet
和Ethernet/IP是工业环境中SIEMENS与Allen-Bradley
复杂通信任务支持的两种以太网连接方式。这两种网络连
接方式的通信协议相似,但不完全兼容,这就需要一个有 效通道将双方链接起来。Modbus TCP/IP可实现这一功
能,它是Modbus应用层协议嵌入到底层TCP/IP协议中
形成的一种具体的通信方式,实现了在TCP/IP以太网上 客户/服务器方式的Modbus报文通信。与传统的串口方式
不同,Modbus TCP/IP插入了一个标准的ModbUS报文到 TCP报文中,不再带有数据校验和地址,其寻址与校验交
由TCP/IP协议完成。SIEMENS与Allen-Bradley PLC都
CP341 Modbus RTU多站点轮询
CP341 Modbus RTU Polling Multi-Slaves Getting-Started Edition(2009年7月)
摘 要 本文档讨论使用CP341实现Modbus主站轮询多个从站
关键词 CP341, Modbus RTU,轮询,功能码
Key Words CP341,Modbus RTU, Polling,Function Code
IA&DT Service & Support Page 2-16
目 录 目 录...............................................................................................................................3 1. 软件环境........................................................................................................................4 1.1 STEP7 V5.4 SP3........................................................................................................4 1.2 CP PtP Param V5.1 SP8............................................................................................4 1.3 CP PTP Modbus Master V3.1.4..................................................................................4 2. 硬件列表........................................................................................................................4 3. 组态配置........................................................................................................................4 3.1 组态CPU及CP341......................................................................................................4 3.2 设置Modbus总线传输速率和帧字符结构.....................................................................5 3.3 设置电气接口..............................................................................................................6 4. 编程................................................................................................................................6 4.1 创建发送数据块DB1...................................................................................................6 4.2 创建接收数据DB.........................................................................................................6 4.3 创建轮询功能块FC1....................................................................................................7 4.4 在OB1中调用轮询功能块FC1...................................................................................14 5. 总结..............................................................................................................................14 附录-推荐网址...................................................................................................................15
寄存器PLC地址与寄存器modbus协议地址
寄存器PLC地址指存放于控制器中的地址,这些控制器可以是PLC,也可以使触摸屏,或是⽂本显⽰器。PLC地址⼀般采⽤10进制描
述,共有5位,其中第⼀位代码寄存器类型。第⼀位数字和寄存器类型的对应关系如表1所⽰。PLC地址例如40001、30002等。
寄存器modbus协议地址指通信时使⽤的寄存器地址,在实际编程中,由于寄存器PLC地址前缀的区分作⽤,所以只需说明后4位数,
⽽且需转换为4位⼗六进制地址。例如PLC地址40001对应寻址地址0x0000,40002对应寻址地址0x0001,寄存器寻址地址⼀般使⽤
16进制描述。再如,PLC寄存器地址40003对应协议地址0002,PLC寄存器地址30003对应协议地址0002。在实际编程中,由于前缀
的区分作⽤,所以只需说明后4位数,⽽且需转换为4位⼗六进制地址。
⽀持 Modbus 协议的设备或软件,使⽤时⽤户直接设置或看到的应 当是 Modbus 数据地址。Modbus 地址所访问的数据,是通过各
种 “功能”读写⽽来。 功能码是 Modbus 地址的底层。 如果 Modbus 通 信的⼀⽅提供的所谓 Modbus 协议只有功能码,则需要注意了
解此 功能号与 Modbus 地址间的对应关系。
使⽤ modbus 地址时应注意下述问题:
1)40001~4xxxx 是美国 modicon 公司和 ge 公司 plc 使⽤的 modbus 地址,它是基于1的地址,即同类元件的⾸地址为1。西门⼦
plc 的 modbus 地址是基于0的地址。
2)美国的 modbus 地址左起第2位⽤来表⽰元件的类型,例如 i0.0的 modbus 地址为010001。 因为数据类型已经包含在功能码中了,
西门⼦的 i0.0的 modbus 地址实际上为000000, i2.0的 modbus 地址为 000016(或⼗六进制数16#0010) ,⽽不是010017。
配合台达PLC
MODBUS-RTU例程
硬件接线
驱动器通信端口引脚定义
建议用双绞线或屏蔽线,线长根据波特率调节。
端子号 信号 名称 图示
1 CANH CAN网络H信号
PIN1PIN8 2 CANL CAN网络L信号
3 GND CAN网络地线
4、5 NC 空端子
6 GND 485网络地线
7 485B 485网络B端
8 485A 485网络A端
新建项目
新建项目
打开台达ISPSoft编程软件→选择PLC的CPU型号
设置通信参数
双击HWCONFIG→再双击PLC图标→选择通讯的COM口→设置通信参数→确定
从站参数:Modbus-RTU模式,数据位8,停止位1,无奇偶校验。
以上参数,从站是默认的,不能修改,主站设置需和从站一致,不一致则通信失败。
波特率可根据实际需求调整,但主、从站也需一致。(从站波特率设置请参考对应产品硬件手册)
指令介绍
MODRW :MODBUS 通讯指令
指令说明:
1、S1:联机装置地址(Unit Address)。指定范围 0~254。0 为广播模式。
2、S2:MODBUS 通讯功能码(Function Code)。
功能码:03 读寄存器
06 写单个寄存器 10 写多个寄存器
功能码的使用请参考示例程序
3、S3:欲读写数据的地址(Device Address)。从站寄存器地址,具体请参考杰美康MODBUS协议手册。
4、S:欲读写之数据(Source or Destination)。由用户设定寄存器,将欲写入数据长度的数据事先存入寄存器内。或数据读取后存放之寄存器。
5、n:读写数据长度(Data Length)。当使用 word 类型通讯功能码时,设定的数据量不可以大于 100 words。
6、本指令于程序中使用次数并无限制,但是不同通讯指令,在同一时间使用相同的通讯端口时,仅会只有一个指令被执行。另外搭配各通讯口的发送标志时,也需特别注意得要在此指令的前一行设定,否则容易造成 2 个通讯口各自独立的通讯数据互相混用的情况。