回复:s7-1200MODBUS TCP指令疑问

威师爷

  • 帖子

    5126
  • 精华

    48
  • 被关注

    244

论坛等级:至圣

注册时间:2013-09-18

黄金 黄金 如何晋级?

发布于 2017-06-25 10:43:10

32楼

展开查看
以下是引用yming在2017-06-25 10:11:30的发言 >31楼

1200没见过通讯看门狗时间。只有程序的扫描周期监控时间150mS。


测试就用循环中断 (多少毫秒中断一次,自己设置),中断里 用 RD_SYS_T 把时间传送到 MB寄存器。

对方服务器或客户端在每次 DONE 记录一次(100个记录差不多了)。检查一下不就测出来了吗?


反正,20毫秒循环中断的仿真,没看见MB 功能块的 ERR 出错,状态 都是 7005、7006 发送/接收正常。

不知道你是怎么回事儿。



以下是引用威师爷在2017-06-24 22:46:48的发言 >30楼:MODBUS TCP...

引用30楼详细内容:

MODBUS TCP 在仿真器仿真的条件下测试,通讯看门狗150ms是没有问题的,低于150ms就做不到了,这是在仿真器的条件下测试的,不知道实际的PLC会不会更快一些?


在S7-300上测试UDP与第三方的开发板通讯看门狗在80ms以上都是没有问题的,是不是就是说UDP比MODBUS TCP更快?


现在还不敢确定,因为MODBUS TCP 是使用博图仿真器进行测试的PLC-1214    UDP是使用实际的315-2PN/DP测试的,因为315不支持直接做MODBUS TCP 所以不能在315测试MODBUS 看看过几天买一个1200硬件实际测试一下。


不知道Y版有没有实验的数据分享一下?



谢谢!


以下是引用yming在2017-06-24 18:56:48的发言 >29楼:X86 平台有些太老...

引用29楼详细内容:

X86 平台有些太老了吧。

你会Java么?可以考虑这个开发平台。


可以嵌入个 Arduino 单板机,提供算法。


以下是引用威师爷在2017-06-24 11:40:12的发言 >28楼:有一台设备需要配...

引用28楼详细内容:

有一台设备需要配合X86开发板的算法来控制变频器的速度


两台1200PLC: 一台作为PN控制器,另外一台作为PN-IO 作为PN-IO的1200作为MODOBTS-TCP的客户机

X86开发板作为服务器,


工艺是这样的,PN控制器把数据发送到PN-IO PN-IO再通过MODBUS发送到X86开发板,然后把数据发送回客户机/PN-IO,PN控制器再读取PN-IO PLC的返回数据。


理论上应该在20-30ms以内应该是没有问题的。


因为PN-控制器已经带了几个站点,并且要处理大量的程序块,所以才考虑加一个PN-IO扩展MODBUS TCP



谢谢!

以下是引用yming在2017-06-24 08:18:33的发言 >26楼:手册上没说不可以...

引用26楼详细内容:

手册上没说不可以的,都可以。

至于效果,要经过测试。也要看是选用哪个型号的(1217更快)?是如何编程的?

你可以用多个连接去(同时)访问不同的服务器,也可以用一个连接去访问多个服务器。

很多情况不是需要你那么快,比如气候环境、温度、湿度等,十分钟(甚至一小时)一次数据就可以。那就可以断开这个连接,(复制一个新的连接参数),再与另一个建立连接。这样就可以去访问许多MODBUS TCP传感器。


以下是引用威师爷在2017-06-24 06:56:55的发言 >25楼:y版!非常感谢!...

引用25楼详细内容:

y版!

非常感谢!

1200能否同时做为PRONET控制器与mobdus TCP主站/客户机

以下是引用yming在2017-06-23 23:55:36的发言 >24楼:  要是访问的...

引用24楼详细内容:

  要是访问的连接、控制器所带的 IO设备不是太多,PN 上不是很繁忙,应该可以的。

你得自己试试。仿真最快,实际会慢一些。

1200/1500与以前的通讯机制不同。它不是扫描后集中处理通讯;而是插在执行程序中间的时间片处理通讯的。所以扫描周期长短与通讯速度关系不是太大。 局域网内 100M速率呢。不是那种可以设置9600、115200;1.5M、12M的总线。





以下是引用威师爷在2017-06-23 21:26:36的发言 >23楼:Y版!你测试...

引用23楼详细内容:

Y版!你测试的两台1200的MODBUS的通讯速度有没有做过通讯速度统计?大概是多少MS的读写速度?相对1200作为客户端、服务器硬件而言!


不知道状态好的时候能不能达到20ms?

以下是引用yming在2017-06-23 20:00:09的发言 >22楼:这个就像你玩...

引用22楼详细内容:

这个就像你玩网络游戏一样一样的。(你玩儿网络游戏吗?)

你的客户端和游戏服务器连接,它确认你是合法用户后,就会分配你个端口,然后就连接上了。在游戏中,可能很流畅,也可能卡呀。

明白了么?

以下是引用威师爷在2017-06-23 17:36:07的发言 >20楼: MODB...

引用20楼详细内容:

 MODBUS-TCP如何设置波特率9600?19200?如何设置?能不能进行设置?

另外一个问题,例如1215C能不能作为MODBUS-TCP主站,同时也可以作为PROFINET 控制器?


今天捣鼓了一天客户机可以读取服务器的数据了,但是服务器收不到客户机的数据,状态为7002


@yming


客户端连接上以后就主动发送查询报文,这个发送报文的频率是如何确定的?


是根据网络状态?还是根据扫描周期?


下面逻辑是自己编写的看门狗程序,监控数据的查询速度的


在客户端编写扫描周期+1程序然后发送给服务器

 

在服务器的OB1编写程序读取客户端发送过来的数据

 看门狗监控数据查询时间,M700.0为1时为看门狗时间没有超出,

程序逻辑是上一个周期与下一个周期进行比较如果等于==时等于数据没有更新过来认为通讯超时

MD502分别设置为 20ms  50ms  100ms  150ms  500ms 进行了测试

 


客户端发送过来的数据在看门狗逻辑的后面程序段先进行保存,这样才可以实现不同扫描周期的比较

 

工业起重机防摇摆 QQ:404136820 AntiSwayControl
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有13009条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。