新人想请教一个关于西门子自由口通信的问题

用s7200和一个仪表用自由口通信,仪表返回的数据是“”80 06 82 3X 3X 3X 2E 3X 3X 3X AA“”是一段ASC码,前三个是固定不变的,最后一位是前十位数据求和取反加一,中间7位就是仪表测得距离,比如测得345.67米就是 33 34 35 2E 36 37 30
.想问一下这个用自由口通信的时候由于收到数据最后一位是个变量不能作为结束位,能不能根据接收长度作为接收结束标志,另外该怎么提取中间的测量数据并转换成实数

钻石用户推荐最佳答案

最后一位俗称校验码,是验证前面数据接收正确与否的保障。
关于接收字符的结束,你可以考虑2种方式:
1)消息定时器,即定义一个最长的字符串时间,无论消息时间长短与否均按自接收信息开始,到达这个设置的定时器时间结束。
2)如果仪表支持结束符(你确认仪表发送给主站字符是校验码结束?),那么可以考虑按结束符来判断消息的结束。如果仪表无法提供结束符,那么,只能考虑第一种方式来判断消息的结束。
注释:
结束符定义SMB89(SMB189):字符
消息定时器定义SMW92(SMW192):时间(mS)

提问者对于答案的评价:

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

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

相关推荐

  • S7-200 modbus通讯 port0烧的解决办法

    我有一个项目,有三个s7-200通过modbus和上位机通讯,分别接的工控机的三个com口。串口中间用的是研华的ADAM4520的模块,最近有两台都出现了prot0烧毁的情况。去处…

    2017年6月27日
  • 编译时提示错误46:能流方向逆转

    我使用的是普通的CTU指令,在编译的时候出现错误46:能流方向逆转,不知道是什么原因,看了下逻辑没有什么问题,帮助里也不详细.难道是语法有问题? 以前主要用AB的PLC,…

    SIMATIC S7-200 2021年7月5日
  • 自建指令库无输入输出参数

    我在step7microwin sp6中创建的指令库,只有EN节点,无输入输出控制,怎样实现我自创的指令库具备IN和OUT 节点或者更多的参数控制点,就像标准指…

    SIMATIC S7-200 2020年11月1日
  • S7-200自由口的疑问

    公司的CPU224XP与单片机自由口通讯,单片机从站,224主站。按照正常的通讯程序(发送完接受,接收完发送),怎么也通不上,日本工程师这么做的就可以通上,LD &nbs…

    SIMATIC S7-200 2020年11月1日
  • 三个S7-200与组态王通讯

    现在手上有三个S7-200 224CPU(分别为A、B、C)和一个上位机,需要A分别和B、C通信。现场接线如下:B、C走RS485 到A的PORT0,A通过Po…

    SIMATIC S7-200 2021年7月5日
  • 瓷砖分拣系统算法求教

    图中是8工位瓷砖分拣系统示意图:   蓝色是光电开关,瓷砖从左方入料口进入分拣系统,皮带输送,皮带在分拣出砖的时候不停止;  &n…

    SIMATIC S7-200 2020年10月31日
  • smart 700IE组态按钮

    我想弄一个按钮可以控制s7-200PLC的输出,使得按下按钮,q0.3亮,松开按钮q0.3灭不亮,应该如何设置。拜托大家了 钻石用户推荐最佳答案 做个按键用按下释放按键来做。按下(…

    2021年7月5日
  • 自由口协议问题

    请问各位师傅   西门子S7-200PLC自由口协议与其它PLC    ASCII码自由通讯 &nb…

    SIMATIC S7-200 2021年7月5日
  • TD400C 如何实现语言切换

    在编程软件上已做好中英两种语言集的菜单和报警,如何实现语言的切换. 专家建议 舞出我人生,你好,TD400C的多语言组态和TD200相同。请参考下面的FAQ:http://supp…

    SIMATIC S7-200 2021年7月5日
  • EM277 frofibus通讯

    我还是不明白通讯卡和软件的配置,能否给我详细的配置一下,我有30个EM277 CPU226我上位机到底配什么东西?除了CP5613卡和WINCC 64K软件外还…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论