jitalangzi
大家好!我刚PLC,现在遇到一个问题请大家帮忙看一下,当PLC模拟量通道PIW100输入数据类型是什么,当执行下面程序时为何会出现停机
L PIW 100
BTI
使用模拟器给PIW100赋值1-9时显示1-9,而赋值10-15时,却执行错误,
而赋值16-25时也正常,赋值26-31时又执行错误。
大家伙帮忙给我解释一下好吗,
银光人生—华
仿真有时候不一定正确的。
yuanle
数据类型为INT类型
之所以出现您说的这种错误原因是:
您使用了BTI指令,即将BCD码转换为INT类型。
需要首先说明的是:BCD码实质就是只有0~9的16进制数,因此,在BCD码中,A~F是非法的。
而您输入PIW中的为10进制数,因此0~9不会有问题,而输入10,转换为16进制数为A,而BCD码是不会出现A的,因此非法造成了系统的错误。
而16~25,转换为16进制分别为10,11,12~19,因此不会出现错误。
同样,26~31转换为16进制分别为1A,1B……1F,因此又出现了非法字符而导致错误。
阿水--王者之师
1,你的模拟量程序读取是 标准块还是自己写的块?图片不全,不知可对?如使用的是 标准块,当你调用 时 按下 F1 会有讲解使用。
2,你的程序读取的模拟量地址是否正确? 为什么用 PIW?
3,给你个 精典 的德国工程师的 模拟量读取并做修正变量的程序图片参考:
回复内容:
对: yuanle 数据类型为INT类型之所以出现您说的这种错误原因是: ... 内容的回复!
多谢您的解释!!!
王者-曹建军