技术论坛

 回复:S7-1200的Modbus/TCP通讯,功能块TX_buffer管脚到底怎么定义数据类型?

返回主题列表
作者 主题
持光踏影
游民

经验值:82
发帖数:25
精华帖:0
楼主    2010-11-23 15:31:24
主题:S7-1200的Modbus/TCP通讯,功能块TX_buffer管脚到底怎么定义数据类型?
S7-1200D 的Modbus/TCP通讯,功能块TX_buffer管脚到底怎么定义数据类型?
试过数组,如Array [1 .. 4] of uint 也不行,求助。。。
学无止境!
掠影匆匆
侠士

经验值:1492
发帖数:152
精华帖:39
9楼    2010-12-10 16:54:04
精华帖  主题:回复:S7-1200的Modbus/TCP通讯,功能块TX_buffer管脚到底怎么定义数据类型?

功能块库使用说明
1)功能块库虽然是针对SENTRON PAC3200推出的,但是同样适用于任何支持 Modbus /TCP通讯的设备,包括PAC4200,WinCC V7,S7-300/400及第三方设备,只不过是功能块库中针对PAC3200具体定义了相关的PLC变量、DB块监控表等
2)当与非PAC3200的第三方设备通讯时只要调用PAC_FB(FB500),填写相关参数即可
3)该功能块库(PAC_FB FB500)只能实现S7-1200作为Modbus/TCP 客户端(Client),通讯对方作为服务器(Server),使用上还是有一定的限制,不过相信官方将会对块库改善后能够做为服务器进行通讯
4)该功能块库(PAC_FB FB500)目前只能实现功能码FC03(读多个保持寄存器)和 FC16(写多个保持寄存器),目前功能上来说还比较简单,还不能实现离散量的读写,对于离散量的读写必须合并到一个寄存器中来完成(即将16个Bit转换成一个Word),相信未来功能块库会进一步完善功能码
5)对于功能块FB500的发送区参数“Tx-Buffer“中DB区的格式已固定,只能为“Array [1 .. 121] of uint“,这主要是由功能块库开发者定死了无法更改
而接收区参数“Rx-Buffer“相对比较灵活,可以定义为“Array [1 .. x] of uint“、 “Array [1 .. x] of word“, “Array [1 .. x] of real“等格式,另外功能块库在版本上也进行了更新由V1.0->V1.2->V1.3->V1.4,对于V1.2的版本在CPU为V2.0之前(不包括V2.0)使用是OK的,但在V2.0中是有问题的功能块"PAC"FB500无法使用,所以建议当CPU固件升级到V2.0及以上时必须将使用V1.4版本的库文件,反之V1.4版本的快库在固件为2.0之前的CPU上也无法正常运行
6)另外关于通讯长度,根据Modbus/TCP本身的协议规范限制,寄存器最多不超过125个,而该功能块库也做了一定限制,对于读模式最多不超过125个寄存器。对于写模式不超过123个寄存器,另外通讯伙伴端可能也会对长度做一定的限制,比如PAC3200读写模式下均不超过122个寄存器,因此要综合双方来决定最终的长度.
如果连接多个MODBUS Server从站,需要建立多个连接,Connection_ID号要不同且不能超出S7-1200通信能力8个连接.
请参考下载中心文档资料:
基于S7-1200CPU集成PN 接口 Modbus TCP通讯快速入门
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0500
V1.4版本的功能块库下载连接:
http://support.automation.siemens.com/CN/view/en/40614428
来自西门子技术支持
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。