LOGO!自定义网页中,16进制显示总是带”16#“,请教高人如何取消
图片说明:
最佳答案
你好
①首先在LWE上是无法处理 16#这个标志
②那么从程序上如何处理呢?
你现在读取到的数据实际上是BCD码,也就是四位二进制数代表一位十进制数,使用的8421码。 你可以利用8421码的原理,使用算数指令来转换。这也是一种笨办法,但是可以解决你的问题。
举例: VB0存储的是你的时间16#30 ,在程序当中
当V0.7为1时,算数指令1输出8,当V0.7为0时,算数指令1输出0;
当V0.6为1时,算数指令2输出4,当V0.6为0时,算数指令2输出0;
当V0.5为1时,算数指令3输出2,当V0.5为0时,算数指令3输出0;
当V0.4为1时,算数指令4输出1,当V0.4为0时,算数指令4输出0;
将以上四个数相加 得到数字A
当V0.3为1时,算数指令5输出8,当V0.3为0时,算数指令5输出0;
当V0.2为1时,算数指令6输出4,当V0.2为0时,算数指令6输出0;
当V0.1为1时,算数指令7输出2,当V0.1为0时,算数指令7输出0;
当V0.0为1时,算数指令8输出1,当V0.0为0时,算数指令8输出0;
将以上四个数相加 得到数字B
A*10+B 就是最终的结果
提问者对于答案的评价:
答案让我既高兴又无助,高兴的是感觉您说的绝对没问题,水平绝对令人敬仰,但实际操作起来才发现原本简单的事越发复杂起来,限于对LOGO!的认知还在起步阶段,我还不知如何使用LOGO!编程指令将单个字节分解为单个位,而且还是“V”区,我将所有指令又翻看一遍,“帮助”中也没有此问题的解释,不足可提供相关资料否?
最佳答案作者回复:
LOGO!指令有限,没有将字节分解为单个位的指令,我使用的也是笨办法,如上所示,VB0存储的是16#30,那么 算数指令1连接的就是网络输入(本地变量存储器VB地址0,位:7),算数指令2~算数指令8也是这种方法,的确,这个问题搞复杂了,但据我了解,LWE上的16#的符号的确没有办法去除,只能提供这些信息了,希望能有所帮助。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc306865.html