技术论坛

 回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信

返回主题列表
作者 主题

奇侠

经验值:6044
发帖数:3917
精华帖:20
楼主    2011-03-28 19:42:45
主题:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
Modbus/TCP 是运行在TCP/IP上的Modbus 报文传输协议。通过此协议,控制器相互之间通过网络(例如以太网)和其它设备之间可以通信,Modbus/TCP 协议已经成为一通用工业网络应用层的标准,在2004 年成为国家标准,因此得到了非常广泛的应用。对于西门子而言,同样有基于Modbus/TCP的通信解决方案,包括PLC、HMI等。
开设本话题主要召集大家讨论针对S7-300/400以太网通讯模块CP的Modbus/TCP通信解决方案进行探讨。主要在以下几个方面进行交流:
1 软件包中的安装和使用
2 如何充分利用功能块库中的例子程序
3 功能块库参数设置
4 不同的块库版本的区别
5 通信长度与通信资源
6 地址映射,通信诊断
与此相关,在下载中心中推荐一篇入门文档A0394,作为S7-300/400以太网通信模块CP的Modbus/TCP入门文档,希望能够给大家帮助。
希望大家能够各抒己见,一起探讨,从而能够为以后的工程项目中起到借鉴作用。
活动奖励:
此次集中探讨将持续至4月22日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。
对于有突出发言贡献的网友,还可以在当前的可兑换奖品中免费挑选任一款奖品。
交流结束后也将专门整理重要内容,供广大网友分享参考。
预祝大家交流愉快,收获丰富!
掠影匆匆
侠士

经验值:1492
发帖数:152
精华帖:39
3楼    2011-03-30 14:16:23
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用伯爵茶在2011-03-30 14:00:04的发言:
不知道用起来复杂不复杂呀

软件包我用过的,安装完后有例子程序,例子程序实际上很完善了,包含了详细的诊断,不过例子程序是针对一个通讯伙伴,在实际项目中如果有多个通讯伙伴,只要创建多个连接,将OB1中的程序放到一个FC中执行即可,根据实际项目情况更改IP,ID Instance DB等,比较复杂还是Modbus与通讯伙伴的地址映射问题

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
来自西门子技术支持
火麒麟
侠圣

经验值:4024
发帖数:571
精华帖:18
5楼    2011-04-04 21:45:35
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
刚好现在手上的项目用到ModbusTCP协议与电力监控上位软件通讯。
上位通过FC03读PLC中数据,通过FC05写单一寄存器
PLC端主要是用FB63,FB64,FB65,FB66建立TCP连接,难点主要在于如何通过解析上位发过来的报文进行数据的整理和转移,这点,相信掌握了指针编程,特别是ANY类型的灵活运用,也是很容易处理的。
ModbusTCP协议的通讯规范比较简单,就目前项目的运行效果来看,通讯稳定,数据读写准确稳定,尤其是不用再单独购买西门子ModbusTCP的程序包了。
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
业精于勤,行成于思
掠影匆匆
侠士

经验值:1492
发帖数:152
精华帖:39
9楼    2011-04-07 08:40:59
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用mountainma在2011-04-06 19:26:54的发言:
也就是说,系统会轮流发送db11到db16的数据吗?例程里面是用array,我可以改成mw或piw吗?谢谢

Db11-Db16只是程序中定义的一个大数据区,具体要与哪个DB块的哪部分数据区由DATA_TYPE,Start_Adress,Length来确定,例程里面用array,也可以改成别的类型,如Word,INT等,但是只能在DB块区进行通讯,无法使用mw和piw,因为功能块的接口已经固定了无法更改

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
来自西门子技术支持
冬日
奇侠

经验值:8680
发帖数:3358
精华帖:56
14楼    2011-04-07 15:46:13
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
MdbusTCP没有CRC校验,相比RTU简单很多。
而且网上的模拟软件很多,非常方便进行调试。可以用模拟软件测试好再进行实际测试,这样可以节省很多时间。


管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
If anything can go wrong, it will.
宏新
游民

经验值:85
发帖数:9
精华帖:1
16楼    2011-04-07 16:06:15
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
modbus的TCPip接口是基于tcp协议的一种modbus协议(属于7层协议,即应用层)
具体你可以查看modbus协议的帧格式,
就是modbusRTU帧加校验和目的地址(IPV4)
如果单纯的MODBUSRTU帧是不能发送给网络上某个地址的,
因为他的地址域写的是COMX(即某个串口)
而加了modbustcp的目的地址后 就可以指向某个ipv4地址了

和TCP的关系是这样
MODBUSTCP帧
TCP包头modubstcp帧


管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
掠影匆匆
侠士

经验值:1492
发帖数:152
精华帖:39
17楼    2011-04-07 16:24:09
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用郑鹏飞在2011-04-07 14:53:57的发言:
MODBUS TCP与TCP/IP的优缺点是什么?

Modbus/TCP总结来说是在TCP/IP上传输Modbus报文,所以她兼有TCP/IP的流控特点,一是Modbus/TCP相对于Modbus RTU来说中去掉CRC校验,主要是TCP中已经有报文的安全传输校验机制,可以节省打包和解包的时间,另外在Modbus/TCP的报头中有个字节包含传输的数据长度,保证了应用层数据的安全传输



管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
来自西门子技术支持
掠影匆匆
侠士

经验值:1492
发帖数:152
精华帖:39
24楼    2011-04-08 15:51:31
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用嘿嘿在2011-04-07 17:53:40的发言:
不知道这个modbus-tcpip和走485的modbus报文有没有区别?一直没搞明白这一点,因为我这边有一个项目,下面的子站是西门子200的plc,上面是一个315-2pn,中间经过一个moxa的有线转无线,又到一个无线转485,如果报文一样,我是不是可以315-2pn侧做modbus_tcpip然后200侧做modbus?因为时间紧迫,来不及仔细去详读modbus-tcpip协议了,不知道版主能不能给点指教?

与Modbus RTU比较
Modbus TCP数据帧与Modbus RTU格式的比较,

◆ 它用单个字节的单元标识符取代了RTU中的从站地址

◆ TCP上携带Modbus信息时,可以将其报文分成多个信息包来发送,因MBAP中有报文的
长度信息,方便接收者识别信息包的边界

◆ 用接收者可以验证完成报文的方式来设计所有Modbus的请求和响应,例如对于那些PDU(Protocol Data Unit)有固定长度的功能码,仅功能码就足够表示完整的信息



管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
来自西门子技术支持
掠影匆匆
侠士

经验值:1492
发帖数:152
精华帖:39
29楼    2011-04-11 10:27:03
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用开不了口在2011-04-09 11:41:37的发言:
请教此程序包是需要授权吗?还是可以直接使用?
谢谢

该程序包需要授权,而且是与CPU的序列号绑定的,即一个授权只能用于一个CPU中,整个授权也是通过软件包的主功能块来完成,当未安装授权是CPU的SF灯会一直闪烁,缓冲区显示W#16#A090错误,提示安装授权,具体的授权过程如下:
1当下载程序包到CPU时,主功能块通过读取CPU的序列号后在管脚"IDENT_CODE"中返回一个代码
2 将返回的代码连同软件包的订货号发给德国总部的一个邮箱(在软件包中有),之后会返回一个解码
3 将返回的解码输入到主功能块的DB3(LICENSE_DB)后授权安装完成!


管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
来自西门子技术支持
HERO.
游士

经验值:168
发帖数:13
精华帖:1
40楼    2011-04-20 17:26:19
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用掠影匆匆在2011-03-30 08:34:31的发言:
先顶一下,目前来看,Modbus/TCP也是一个很大的趋势啊,另外其通讯规范相对于其他协议规范来说还是不太复杂的

确实如此,但通过与第三方通讯时要通过选件包,编程时对硬件软件和其他方式好象不太一样。


管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
www123456
至圣

经验值:12603
发帖数:2379
精华帖:86
41楼    2011-04-20 17:50:55
精华帖  主题:回复:产品技术介绍—基于S7-300/400的以太网通信模块的Modbus/TCP通信
quote:以下是引用qq2011在2011-04-20 17:26:19的发言:
quote:以下是引用掠影匆匆在2011-03-30 08:34:31的发言:
先顶一下,目前来看,Modbus/TCP也是一个很大的趋势啊,另外其通讯规范相对于其他协议规范来说还是不太复杂的

确实如此,但通过与第三方通讯时要通过选件包,编程时对硬件软件和其他方式好象不太一样。

例如S7-200CPU的主从站提供库支持,也要占用一定的程序空间。300的也不例外,软件包的程序块也要占用CPU的存储器空间,尤其对工作存储器空间的占用,所以300的硬件配置要高一些,还要尽量简化编程,利用程序块中的现成功能完成要求。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。