外圍設備(SER)指令包括串行通信指令RS(FNC80)、八進制數據傳送指令PRUN(FNC81)、HEX→ASCII轉換指令ASCI(FNC82)、ASCII→HEX轉換指令HEX(FNC83)、校驗碼指令CCD(FNC84)、模擬量輸入指令VRRD(FNC85)、模擬量開關設定指令VRSC(FNC86)和PID運算指令PID(FNC88)8條指令。
(1)八進制數據傳送指令 八進制數據傳送指令(D)PRUN(P)(FNC81)是用于八進制數的傳送。如圖3-78所示,當X10為ON時,將X0~X17內容送至M0~M7和M10~M17(因為X為八進制,故M9和M8的內容不變)。當X11為ON時,則將M0~M7送Y0~Y7,M10~M17送Y10~Y17。源操作數可取KnX、KnM,目標操作數取KnY、KnM,n=1~8,16位和32位運算分別占5個和9個程序步。
圖 3-78 八進制數據傳送指令的使用
(2)16進制數與ASCII碼轉換指令 有HEX→ASCII轉換指令ASCI(FNC82)、ASCII→HEX轉換指令HEX(FNC83)兩條指令
HEX→ASCII轉換指令ASCI(P)的功能是將源操作數[S.]中的內容(十六進制數)轉換成ASCII碼放入目標操作數[D.]中。如圖3- 79所示,n表示要轉換的字符數(n=1~256)。M8161控制采用16位模式還是8位模式。16位模式時每4個HEX占用1個數據寄存器,轉換后每兩個ASCII碼占用一個數據寄存器;8位模式時,轉換結果傳送到[D.]低8位,其8位為0。PLC運行時M8000為ON,M8161為OFF,此時為16位模式。當X0為ON則執行ASCI。如果放在D100中的4個字符為OABCH則執行后將其轉換為ASCII碼送入D200和D201中,D200位放A的ASCII碼41H,低位放0的ASCII碼30H,D201則放BC的ASCII碼,C放在位。該指令的源操作數可取所有數據類型,目標操作數可取KnY、KnM、KnS、T、C和D。只有16位運算,占用7個程序步。
圖 3-79 HEX→ASCII碼轉換指令的使用
ASCII→HEX指令HEX(P)的功能與ASCI指令相反,是將ASCII碼表示的信息轉換成16進制的信息。如圖3-80所示,將源操作數D200~D203中放的ASCII碼轉換成16進制放入目標操作數D100和D101中。只有16位運算,占7個程序步。源操作數為K、H、KnX、 KnY、KnM、KnS、T、C和D,目標操作數為 KnY、KnM、KnS、T、C、D、V和Z。
圖3-80 ASCII→HEX指令的使用
(4)校驗碼指令 校驗碼指令CCD(P)(FNC84)的功能是對一組數據寄存器中的16進制數進行總校驗和奇偶校驗。如圖3-81所示,是將源操作數[S.]的D100~D102共6個字節的8位二進制數求和并“異或”,結果分別放在目標操作數D0和D1中。通信過程中可將數據和、“異或”結果隨同發送,對方接收到信息后,先將傳送的數據求和并“異或”,再與收到的和及“異或”結果比較,以此判斷傳送信號的正確與否。源操作數可取KnX、 KnY、KnM、KnS、T、C和D,目標操作數可取KnM、KnS、T、C和D,n可用K、H或D,n=1~256。為16位運算指令,占7個程序步。
圖 3-81 校驗碼指令的使用
以上PRUN、ASCI、HEX、CCD常應用于串行通信中,配合RS指令。
(5)模擬量輸入指令 模擬量輸入指令VRRD(P)(FNC85)是用來對FX2N-8AV-BD模擬量功能擴展板中的電位器數值進行讀操作。如圖3-82所示,當X0為ON時,讀出FX2N-8AV-BD中0號模擬量的值(由K0決定),將其送入D0作為T0的設定值。源操作數可取K、H,它用來模擬量口的編號,取值范圍為0~7;目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。該指令只有16位運算,占5個程序步。
圖3-82 模擬量輸入指令的使用
(6)模擬量開關設定指令 模擬量開關設定指令VRSC(P)(FNC86)的作用是將FX-8AV中電位器讀出的數四舍五入整量化后以0~10之間的整數值存放在目標操作數中。它的源操作數[S.]可取K和H,用來模擬量口的編號,取值范圍為0~7;目標操作數[D.]的類型與VRRD指令相同。該指令為16位運算,占9個程序步。
上一條:PLC外部I/0設備指令(FNC70~FNC79)