您好!欢迎光临工博士商城

西门子PLC模块专营

  产品:6377    

咨询热线:18182118630

QQ QQ
您当前的位置:首页 » 新闻中心 » 西门子1200模块S7协议之PDU读取
产品分类
新闻中心
西门子1200模块S7协议之PDU读取
发布时间:2024-10-21        浏览次数:467        返回列表
   
 
      许多人都知道S7协议一次性读取有限制,但是具体是多少?怎么计算出来的?
 
      S7协议的一次性读取长度是根据PDU计算出来的,这个PDU的值是来自于PLC本身,不同型号的CPU,它的PDU是不一样的,可以参考下面两张图:
      
      
      
 
      西门子PLC的PDU大小是和CPU息息相关的,一般会有240、480、960三个档次,知道PDU之后,那么一次性读取的字节长度,就是在PDU的基础上减去18,这个18是指包头包尾会有18个字节,这样我们就知道了一般的PLC,一次性能读取222个字节(240-18=222),但是对于S7-1516这样的PLC,我们一次性是可以读取942个字节的(960-18=942),这个一次性能读取的字节越长,越能提高上位机的通信效率。
 
      刚刚的方式是通过KepServer测试的,实际开发过程中,该怎么获取CPU的PDU呢,实际上在建立连接的第二次握手时,返回的报文中就包含PDU的值。
 
      
 
      第二次握手返回的报文长度是27个字节,***后两个字节就是PDU的值,上图展示的是S7-1200PLC返回的报文,0和240的组合即为240。
 
      对于S7-1500,我这里也做了一下测试,结果如下,返回结果为3和192,3和192的组合恰好是960(960=3*256+192)。
 
      
 
      虽然PDU是由硬件做了限制,但是我们可以通过软件的方式,实现大量数据的读取,只需要在底层做一些封装即可。做了一下测试,针对S7-1200和S7-1500同时读取M区的8000个字节的耗时比较,S7-1200耗时800多ms,S7-1500耗时仅需200ms,由此可见,硬件对通信的重要性。
 
      
      
 
     此文来源于网络 2024-10-21

     更多西门子PLC S7-1200产品和技术问题欢迎来电咨询!



 

联系热线:18182118630   联系人:朱经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 西门子PLC模块专营