第一步:使用TRNUC(截尾取整)指令将浮点数转换为整数(32位),如果你要得到DINT的整数,那么无需下一步了,如果你要16位的INT数据类型,那么继续第二步。
第二步:判断第一部的数据正负,同时判断第一步中数据的大小是否在+32767~-32768之间。
第三步:如果数据大于32767,那么输出32767,如果小于-32768,那么输出-32768,如果在这两者之间,那么进行第四步。
第四步:将Dint的低16位数据字节读取,使用MOV指令,如果为负数,那么需要使用或指令给最高位置1。
以上
08-11-12 22:59