| 作者 | 主题 |
|---|---|
|
谦 总坛主
经验值:23725 发帖数:3679 精华帖:8 |
楼主
主题:应用探讨——S7-1200 PLC Modbus通讯应用探讨
S7-1200的串口Modbus通信被广泛应用于S7-1200与仪表、变频器、HMI及第三方PLC的数据交换。S7-1200 Modbus 串口通信指令本身使用简单,但由于应用范围广泛,所以在应用中会遇到各种问题,希望大家借此机会分享经验,共同提高。
下载中心参考文档: A0403:如何通过Modbus RTU协议实现S7-1200 与PAC3200的通信 A0413:如何通过Modbus协议实现 S7-1200与S7-200通讯 活动奖励: 此次集中交流将持续至8月10日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。 对于有突出发言贡献的网友,还可以在当前的可兑换奖品中免费挑选任一款奖品。 交流结束后也将专门整理重要内容,供广大网友分享参考。 预祝大家交流愉快,收获丰富! |
|
刚刚入门 至圣 经验值:12790 发帖数:2022 精华帖:23 |
2楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨
确实比200PLC方便多了,我用的是1200PLC与罗斯蒙特的高准质量流量计通讯,挺好的,很简单就搞定了,西门子真正做到了傻瓜式编程啊。刚开始还出个小问题,后来问西门子技术支持就是"MB_COMM_LOAD_DB"初始化通讯块一定要放在OB100中,后来就很顺利了。
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅 |
|
joejoejoe 新手 经验值:35 发帖数:3 精华帖:1 |
3楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨
如果S7-1200通过串口模块与其它设备做MODBUS RTU通信调不通,可在PC上装MODBUS RTU模拟软件分别与S7-1200和设备通信是否能通,如果不通,方便诊断。在此推荐一个网站ModbusTools:http://www.modbustools.com/download.asp. 其中Modbus Poll是MODBUS RTU 主站模拟器,Modbus Slave是MODBUS RTU 从站模拟器。虽然有每次只能连续运行10分钟,且只有30天的试用期,但用于测试已足够。大家在测试时有什么好的软件呢?
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅 |
|
sunny999 侠圣 经验值:3405 发帖数:1774 精华帖:6 |
5楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨
Modbus通信在对速度要求不高的场合下应用是十分广泛的,主要原因就是成本比较低。
我现在的项目就在用大批的S7-1200与变频器、仪表做MODBUS通信。包括读取一些实时事,同时写入一些设定值。 比如S7-1200带3个RS485模块,每个模块与16个变频器做通信,一套1200就可以与48个变频器通信,基本上是一条生产线了。设计完成后,速度还可以接受。 但是在S7-1200和变频器通信时总会不规律的出现80E2、80E3的status代码;和仪表通信时总会不规律的出现8380的status代码。具体原因也无法准确定位,和西门子技术支持沟通也说不太准确,暂归结为干扰的原因。只能在PLC编程做点文章,把这些不规律的error给过滤掉。 管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
Better and More !
|
|
西周 侠客 经验值:636 发帖数:63 精华帖:18 |
7楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨
V1.0, V1.1和 V1.2 版本的Modbus库的接收起始条件为“idle line 39 bit times空闲线时间为39个位时间”且 “start on any character任意字符”(严格遵守Modbus规范)。如果与S7-1200进行Modbus通信的设备应答过快会导致不满足接收条件而接收失败。这时可使用“RCV_CFG”来将接收起始条件改为“start on any character任意字符”。STEP 7 V11 中的版本为V2.0的Modbus库已将接收条件改为“start on any character任意字符”。
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅 |
|
Automann 至圣 经验值:18299 发帖数:6168 精华帖:137 |
10楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨
S7-1200 Modbus通信功能总的来说是很好用的,我觉得有的小地方还可以改进。
手册中的Modbus RTU主站协议和Modbus RTU从站协议这两部分可能是不同的人编写的,不太统一: 1.从站协议的功能用功能代码表示,主站协议的功能用两级代码(模式代码和功能代码)来表示。 2.主站和从站的3种诊断功能也不太统一: 1)从站协议的功能代码为8,子功能代码为0000H:返回查询数据回送测试,从站向Modbus主站回送接收到的数据字。 主站协议的模式80:检查MB_ADDR指定的Modbus从站的通信状态。 2) 从站协议的功能代码为8,子功能代码为000AH:清除用于Modbus功能11的通信事件计数器(相当于主站协议的模式81)。 3)从站协议的功能代码为11,获取通信事件计数器(相当于主站协议的模式11)。 如果能像S7-200那样,将主站协议和从站协议的功能代码统一起来,可以减少初学者的负担。 管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
追求完美
|
|
西周 侠客 经验值:636 发帖数:63 精华帖:18 |
12楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨 |
|
聚沙成洲 奇侠 经验值:7266 发帖数:1835 精华帖:22 |
13楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨
在STEP7 V11 SP1通信指令中增加了MODBUS TCP的MB_CLIENT与MB_SERVER指令,可以直接使用CPU的PN口进行MODBUS TCP的主、从站通信。
“MB_CLIENT”指令作为 Modbus TCP 客户端通过 S7-1200 CPU 的 PROFINET 连接进行通信。 使用该指令,无需其它任何硬件模块。 通过“MB_CLIENT”指令,可以在客户端和服务器之间建立连接、发送请求、接收响应并控制 Modbus TCP 服务器的连接终端。 “MB_SERVER”指令作为 Modbus TCP 服务器通过 S7-1200 CPU 的 PROFINET 连接进行通信。 使用该指令,无需其它任何硬件模块。 “MB_SERVER”指令将处理 Modbus TCP 客户端的连接请求、接收 Modbus 功能的请求并发送响应。 在软件帮助中有详细的说明与使用示例。 管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅 |
|
西周 侠客 经验值:636 发帖数:63 精华帖:18 |
14楼
主题:回复:应用探讨——S7-1200 PLC Modbus通讯应用探讨quote:以下是引用www123456在2011-07-23 10:52:30的发言: S7-1200与第三方设备通讯时,每个S7-1200 CPU 最多可带3个通讯模块(CM1241 RS485/CM1241 RS232) 所以可以带多个Modbus子站。 一点注意:仪表PAC3200的寄存器与1200RTU的寄存器不一致,所以编程时读仪表的地址必须从40002开始。 管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅 还有CB1241 RS485(安装在CPU上)也可以走Modbus协议。 |