s7 200smart进行TCP通讯OUC解析收到的字符串出现问题

1现象:

OUC使用tcp_recv接收指令的时候,收到的字符串放在vb4000中,接收的字符最大值500,vb4000初始化为40个字符。每次tcp_recv的done置位的上升沿后对字符串进行协议解析,解析的时候使用字符串函数进行特殊符号定位,这部分一致出现错误。收到的vb4000中11个字符串,7#90,1*A%08,我解析的时候vb6000为“,”,vb6010为"#",vb6020为"*"。实际结果是将vb4000收到的值进行sstr-cpy截取11个字符赋值到vb6100中,然后对vb6100中的字符串进行定位关键特殊字符,进而截取需要的字符进行转换为实数进行处理。

2问题:

进行截取后的定位查找字符使用char_find查找特殊关键字符,但是这部分代码监控的时候显示的是红色,查找的结果一直定位为0.若是单独将vb4000不赋值截取给vb6100,直接单独运行这段查找匹配代码,改变vb6100的字符串,定位char_find是可以找到位置的。跑了两天了,一直没找到原因

图片说明:

s7 200smart进行TCP通讯OUC解析收到的字符串出现问题    s7 200smart进行TCP通讯OUC解析收到的字符串出现问题   

最佳答案

每次tcp_recv的done置位的上升沿后对字符串进行协议解析,建议再加上一个未出错条件(TCP_RECV 的status=0)
TCP_RECV接收到的字符,存放于VB4000起始地址,VB4000并不算是字符串
SSTR_CPY 指令的IN参数需要为字符串,可以这样修改下程序,TCP_RECV接收到的字符,存放于VB4001起始地址,即DataPtr=&vb4001,Length 实际接收的字节数mw23作为字符串长度放入VB4000(最大254个字符)
修改tcp2_interpret子程序如截图

图片说明:

s7 200smart进行TCP通讯OUC解析收到的字符串出现问题  

提问者对于答案的评价:
处理好了字符串的首地址为字符数后就没问题了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午5:39
下一篇 2020年10月30日 下午5:39

相关推荐

  • PTO 输出的最低负载

    在S7-200 Smart PLUS中,下面这句话是什么意思:PTO 输出的最低负载必须至少为额定负载的 10%,才能实现启用与禁用之间的顺…

    2019年6月10日
  • smart200和WINCC以太网通讯中突然中断,不知道是什么问题。

    smart200和WINCC以太网通讯中突然中断, 是两台SMART200通过以太网交换机和研华工控机通讯的,通过PC ACCESS软件,网线10米,今天出现了…

    SIMATIC S7-200 SMART 2017年6月7日
  • S7-200 smart 实时时钟断电马上清零

    手上有一个新的S7-200 smart ,前几天调试时钟是正常的,能断电保持。但是今天发现,时钟断电马上清零。请问有什么解决办法? 问题补充:断电时间只有1秒钟…

    SIMATIC S7-200 SMART 2019年6月10日
  • S7-200 SMART COM1 自由口通讯

    我使用的光通讯在S7-200 COM1口用自由口协议编写的程序可以通讯,在s7-200SMART COM1口怎么就不可以了 图片说明:   …

    2017年5月31日
  • 定时中断程序

    网络5中,定时中断中的vb1,是从哪里来的?为什么不可以是vb100,mb10呢? 图片说明:    钻石用户推荐最佳答案 看了图示程序,不清楚VB1从哪里给的…

    2020年10月30日
  • 关于samrt200 PID问题

    现在有几个问题,想请教一下各位大神:1.现场有10个阀门,需要用10路PID来控制阀门开度,已经用PID向导组建了8个回路,其他两个想用PID指令做,但是在软件左边的指令集中没有看…

    2019年6月10日
  • smart 200 sr30程序下载

    我所用cpu smart 200  的SR30,下载不了,请问下cpu默认的地址是多少,我用网线下载的,我应该怎么做 图片说明: &nbsp…

    2020年10月31日
  • 高速直线往返运动

    直线电机带动,在Ab两点之间做往返运动,要求1分钟60个来回,两点间的距离是1米,也就是说平均0.5秒要走完1米的行程,这个0.5秒要包括电机加速 匀速 减速段…

    SIMATIC S7-200 SMART 2021年7月4日
  • 200smart 固件等

    新买的SR20及模块,还有触摸屏,都未拆封,过两天做项目要用,我需要准备什么吗?比如需不需要固件升级、恢复出厂设置等等,还是可以直接到现场接线装程序调试就行了? 最佳答案 你现在新…

    SIMATIC S7-200 SMART 2020年10月30日
  • PST不能连接

    电脑系统为 WIN7 ,PST软件安装已经安装了,但电脑与SCALANCE XB008不能通讯。1. 我的电脑也没有DLC协议,是不是协议不…

    2020年10月30日

发表回复

登录后才能评论