S300 字符串中的变量

和计量泵通讯,流量赋值的命令为9个字节“Q00L05.0Y”,我的问题是流量值是要通过wincc画面输入的变量。用什么方法可以得到这个变量并合并入赋值命令中去?

问题补充:
问题主要就在这个05.0.按照通讯格式,这里是4个字节,必须是xxxx的格式,如果是实数或者浮点数的话,第一位0就会被去掉。wincc里我也不知道如何限制输入格式。

图片说明:

S300 字符串中的变量   

最佳答案

我有一个疑问,那个0.5是以长度为4的字符串“05.0”发送的吗?为什么不是直接以以32位浮点数发送呢?如果发送10000,那它是怎么发送的呢?
===============================================
不知道你有没有用实物做测试。图片的两种通讯格式,那种能通过?如果是第一种,那么就有点难以理解了。这决定了你的数据只能设置在0000-9999(精度为1)的范围,或00.0-99.9(精度为0.1),这还不包括是负数的情况。那么你在wincc上建立变量的话,可以设定为字符串,然后限定长度为4。但这个数据不能直接使用,因为有可能输错数据还有位数不足的处理。你要根据你的实际进行提取。如果你把变量建成浮点数,就要在PLC程序中,调用FC30,将其转化为字符串。但这种转化是按科学计数法的方式进行的,你还要根据你的实际情况(数据精度和通讯格式),进行数据提取。当然最好的办法还是在上位机进行处理,但是我也不知道C/VBS有没有这样的函数,有的话,这就不是问题了。如果是第二种,就没有好讨论的了。我觉得那是正常的人思路。

图片说明:

S300 字符串中的变量  

提问者对于答案的评价:
谢谢解惑。

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

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

相关推荐