我定义实数到字符串转换格式FMT=2#01000010或者2#00110001或者01100100,编译的时候不会出错,但是下载程序时会提示有非致命错误。是不是小数点左边只有一位都是不合要求的?系统手册上面也没有说呀?
问题补充:
对不起前辈们,虽然我不明白为什么,但是还是找到了出错的依据,系统手册上面说ASCII输出实数:输出字符串的大小必须比小数点右侧的位数多至少三个字节。
我补充另一个问题吧:我的目的是想当I0.0=1且2<VB100<5时,复制字符串“Wright”到VB200;其中任何一个条件不满足时,复制字符串“Error”到VB200,请各位前辈看一下按照图片的写法是否可以实现?另外,还想问一下,PLC编程中该怎么实现类似C语言中switch..case..default的功能呀?
图片说明:
最佳答案
有点问题,需要改一下。
实现类似switch功能,采用多行比较指令就可以实现
图片说明:
提问者对于答案的评价:
恩,前辈这样更清晰一些,不过感觉好像我那个样子写也能实现需要的功能呢,不知道隐患在哪里。。。
专家置评
可以实现需要的功能,但是需要考虑Wright和Error字符的个数不同,当显示Error时,多的字符如何处理。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc142668.html