编程软件中有很多转换指令初学者困惑不解
PLC初学者总是被这个问题困扰,编程软件中有很多转换指令,比如字节转整数B-I,整数转双整数I-DI,双整数转实数DI-R,这些指令使用并不复杂,但为什么要转换呢?这个问题是初学者问的比较多的。其实这是因为有些指令对操作数的类型有要求,操作数数据类型不匹配,指令无法操作,举个例子,比如模拟量输入,例如温度值,是一个实数,也就是带小数,比如70.5度,将温度通过传感器、变送器转换为模拟量信号输入模拟量模块,再经过模数转换,转换为0到27648之间的一个数字量。
1、三菱FX1NPLC没有小数功能怎么解决?引用王者之师梁真的回复内容:先将要输入的数变成整数,然后再将这个数转成浮点数(浮点数转换指令FLT),再把转换成浮点数的数字。通过除法指令DIV变成小数,比如你要输入10.5,你就要先输入105,然后转成浮点数,再把这个数除以10,输入的数就是10.5了。比如说你打算用到3.14这个小数,你可以用mov传送314这个数到一个存储器,然后将16进制转换成R实数型,现在监控的话,是314.0的格式,然后用除法指令,除以100,这样把最后的数据送到一个存储器,用到时调用就可以了,希望采纳,不明白是时可以追问。
2、三菱1nPLC怎么显示浮点数?怎么传小数到寄存器?FX1n的PLCPLC只是控制设备,不能做显示的1N不支持浮点数,如果D0/D2D4余数在D6,不存在小数。传送时都传整数,传完后除以多少就可以,比如除以1000,就有了小数点后三位了。不行,根据需要的小数点后位数先将被除数乘以相应位数即可得到最终扩大多少倍的数值。
3、三菱PLC数据寄存器D的用法500ldk1d200.outm500先把ldx0movk1d200输入,再把ldk1d200outm500输入,意思是x0接通则D200的值为1,在用比较指令LD,当D00等于1是输出M500。这样就行,锁存器是用于存储数据来进行交换,使数据稳定下来保持一段时间不变化,直到新的数据将其替换。寄存器与锁存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。