s7200自由口与多台仪表通讯

通讯规约
     说明:()内为内容说明,通讯数据均为ASCII码
 通讯规则
 发(上位机发送ASCII码) @XX(站号00至15)R(r大小写均可)
 回 (下位机返回ASCII码)   :(前导符)XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX (8路通道数据,范围0000~9999) XXXX(站号,板号)CRLF(两字节表示回车、换行)。
 通过S7 200自由口通讯怎样循环发送接收
 3块相同仪表的数据。如何做到通讯故障检测,
 自动跳过故障仪表。

问题补充:
单块仪表通讯已建立,如何实现3块仪表的循环和通讯故障检测。程序如下:
  主程序
  网络1
  LD     SM0.1
  MOVB   16#09, SMB30
  MOVB   16#B0, SMB87
  MOVB   16#0A, SMB89
  MOVW   +5, SMW90
  网络2
  LD     SM0.1
  MOVB   200, SMB34
  ATCH   INT_0:INT0, 10
  网络3
  LD     SM0.1
  ATCH   INT_1:INT1, 9
  ATCH   INT_2:INT2, 23
  ENI

  INT0
  LD     SM0.0
  DTCH   10
  MOVB   4, VB200
  MOVB   16#40, VB201
  MOVB   16#30, VB202
  MOVB   16#31, VB203
  MOVB   16#52, VB204
  XMT    VB200, 0

  INT1
  LD     SM0.0
  DTCH   10
  RCV    VB100, 0

  INT2
  LD     SM0.0
  ATCH   INT_0:INT0, 10

 我想将 MOVB   16#31, VB203 用MOVB VB300 VB203代替
 用LD SM86.5
   EU
   INCB VB300
 做累加
 当无反馈数据时如何累加地址
 比如第三个模块损坏
 

最佳答案

用LD SM86.5
   EU
   INCB VB300

 用这个你能测试哪个仪表?

 MOVB   16#B0, SMB87
 如果仪表有问题,或者有干扰,收不到结束字符,那怎么停止RCV?

 
 MOVB   4, VB200
  MOVB   16#40, VB201
  MOVB   16#30, VB202
  MOVB   16#31, VB203
  MOVB   16#52, VB204
  这些放到数据块里就可以了,数据块空间那么大。

  

  
  1 说一下思路:
   先通讯初始化
   向仪表1发数据,发送完成中断里接收,接收完成里定时,定时中断里向仪表2发送数据,发送完成中断里接收,接收完成里定时,定时完成中断里向仪表3发送数据,发送完成中断里接收,接收完成里定时,定时中断里向仪表1发送数据,如此循环。
   这样做的目的是思路清晰,但中断程序较多,如果从站更多的话,就没必要这样做了,用间址的方式,只要两个中断就可以和若干个从站通讯。

   2 3块相同仪表的数据。如何做到通讯故障检测?
   当向仪表发数据时,它不回数据,那就证明通讯有问题了。

   LDB=   VB3070, 0
   TON    T254, 15

   LD     T254
   =      V3200.0  (通讯故障位)

   3 西门子提供的modbus主站库只支持RTU的方式。

提问者对于答案的评价:
分析透彻 思路清晰 多谢支持

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc353496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午1:34
下一篇 2021年7月5日 上午1:34

相关推荐

  • 6ES7231-7PD22-0XA8

    哪位大侠有6ES7231-7PD22-0XA8的使用手册,小弟不胜感激。 最佳答案 样本手册中就有接线图,可参考http://www.ad.siemens.com.cn/servi…

    2021年7月5日
  • 一台电脑和3台PLC进行通讯

    3台PLC端口都已经用了.现在想各加上一个以太网模块.再各加上一个路由器,每个路由器都要接一台触摸屏,然后再用一个路由器与三台路由器连接到一起,实现一台电脑同时监控3台PLC,是否…

    SIMATIC S7-200 2020年10月31日
  • S7-200与昆仑通态组态软件如何连接

    我的电脑上没有串口,想用昆仑通态做上位机与S7-200连接,应该如何做 问题补充:不是的,昆仑通态里面有个驱动是PPI驱动,这种驱动只支持PC-PPI的线,这种线一头是RS485,…

    SIMATIC S7-200 2017年11月6日
  • 西门子S7-200 226plc,0口做MODBUS通信,1口能否做PPI通讯呢

    西门子S7-200 226plc,0口做modbus通信,1口能否做PPI通讯呢 最佳答案 完全可以的!没问题……我就是这样用的 提问者对于答案的评价:还是给做过的吧

    SIMATIC S7-200 2020年11月1日
  • 读取数据绘制曲线

    请教大家一下:我最近需要通过s7-200(加EM231扩展)采集模拟量位移数据,然后用组态王来绘制“位移—时间”曲线。我在编写程序采集位移数据的时候是用的smb34(每100m…

    SIMATIC S7-200 2018年12月7日
  • MS称重模块过程值采样问题

    现做了个动态皮带称,用的是S7-200的CPU配MS称重模块,运行过程需采样做比较,同一样物体,每次采样出来的值都不一样,而且误差较大,望各位高工指点,应怎样做才能采样一样? 最佳…

    SIMATIC S7-200 2020年11月1日
  • 在哪里下载Wipeout程序

    请问诸位,在哪里能够下载Wipeout程序,先谢谢了! 问题补充:少写了".exe",当S7-200的密码丢失后,可以使用该程序对PLC进行复位处理的软件工具!…

    SIMATIC S7-200 2020年11月1日
  • plc200程序调用

    在step7-microwin中怎样调用子程序?比如已经编好模拟量输出显示的程序(烧入后能不能显示?),后续不同的模拟量都要输出,那么是不同的量都要编写一遍还是可以调用?具体怎样调…

    SIMATIC S7-200 2017年11月12日
  • 关于西门子200数组存储的问题

    我想用200PLC记录一组数据,比如vb0到按顺序vb99记录最少100个数据,记录到99后重新从vb0开始记录覆盖原来的数据。有几种方式,用指针寻址怎么记录。最好有梯形图的例子。…

    SIMATIC S7-200 2020年10月31日
  • 续问:VB与PLC通讯

    之前问过一个关于VB和PLC通讯的问题,大概是问的不够具体,没有得到满意的答案。我要进行数字毫伏表和PLC的通讯。由于不能再PLC上同时监控到毫伏表的读数,也不知道毫伏表用什么格式…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论