S7-200數(shù)據(jù)形式的轉(zhuǎn)換
發(fā)布于2023-01-03 14:29
20
2
標簽:S7-200
S7-200轉(zhuǎn)換指令中的BCD_I、I_BCD、B_I、I_B、I DI、DI_I、DI_R、ROUND、TRUNC只是數(shù)據(jù)形式間的轉(zhuǎn)換,梯形圖編程相似,如將BCD 數(shù)據(jù)(十進制數(shù)據(jù))3456轉(zhuǎn)換為整數(shù)(十六進制數(shù)據(jù))的程序格式如圖3-76所示。
指令編程時需要注意以下幾點。
a.數(shù)據(jù)范圍。當數(shù)據(jù)形式進行轉(zhuǎn)換時,無論是被轉(zhuǎn)換數(shù)據(jù)還是轉(zhuǎn)換結(jié)果,都不能超過指令格式規(guī)定的范圍,具體如下:
字節(jié)數(shù)據(jù)的字長為二進制8位,數(shù)據(jù)范圍為0~255;
整數(shù)數(shù)據(jù)的字長為二進制16位(帶符號),數(shù)據(jù)范圍為-32768~32767;BCD數(shù)據(jù)的字長為二進制16位(帶符號),數(shù)據(jù)范圍為0000~9999;雙整數(shù)的字長為二進制32位,數(shù)據(jù)范圍為-2147483648~2147483647。例如:整數(shù)轉(zhuǎn)換為字節(jié)的I B指令,整數(shù)取值范圍不能超過255等。
b.符號位。當整數(shù)轉(zhuǎn)換為雙整數(shù)時,整數(shù)的最高位(bit15)符號位轉(zhuǎn)換為雙整數(shù)后被移到雙整數(shù)的最高位(bit32),反之亦然。而字節(jié)數(shù)據(jù)、BCD數(shù)據(jù)均無符號位,不能使用帶符號的數(shù)據(jù)。
c.小數(shù)的處理。整數(shù)、雙整數(shù)為無小數(shù)點的數(shù)據(jù),而浮點數(shù)可以帶小數(shù)點。因此,當浮點數(shù)轉(zhuǎn)換為整數(shù)或雙整數(shù)時,必須對小數(shù)后的數(shù)據(jù)進行必要的處理。使用指令 ROUND,可以對小數(shù)位進行四舍五人處理;使用指令TRUNC,可以直接舍去小數(shù)位。
例如:執(zhí)行ROUND指令后,數(shù)據(jù)123456.789將成為123457;執(zhí)行ROUND指令后,數(shù)據(jù)123456.785講成為123456。