外部設備( SER)有8條指令(FNC80~FNC89),外部設備指令如表4-17所示。
表4-17 外部設備指令
(1)八進制數據傳送指令
八進制數據傳送指令(D) PRUN (P) (FNC81)是用于八進制數的傳送。
示例及使用:如圖4-69所示,當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個程序步。
(2)十六進制數與ASCII轉換指令
有HEX→ASCII轉換指令ASCI (FNC82)、ASCII→HEX轉換指令HEX (FNC83)兩條指令。
HEX→ASCII轉換指令ASCI (P)的功能是將源操作數[S.]中的內容(十六進制數)轉換成ASCII碼,放入目標操作數[D.]中。
示例及使用:如圖4-70所示,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時,則執行ASCII。如果放在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個程序步。
圖4-69 八進制數據傳送指令的使用
圖4-70 HEX→ASCII轉換指令的使用
ASCII→HEX指令HEX (P)的功能與ASCII指令相反,是將ASCII表示的信息轉換成十六進制的信息。
示例及使用:如圖4-71所示,將源操作數D200 - D203中放的ASCII轉換成十六進制放入目標操作數D100和D101中。只有16位運算,占7個程序步。源操作數為K、H、KnX、KnY、KnM、KnS、T、C和D,目標操作數為KnY、KnM、KnS、T、C、D、V和Z。
(3)校驗碼指令
校驗碼指令CCD (P) (FNC84)的功能是對一組數據寄存器中的十六進制數進行總校驗和奇偶校驗。
示例及使用:如圖4-72所示,是將源操作數[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個程序步。
圖4-71 ASCII→HEX指令的使用
圖4-72 校驗碼指令的使用
以上PRUN、ASCII、HEX、CCD常應用于串行通信中,配合RS指令。
(4)模擬量輸入指令
模擬量輸入指令VRRD (P) (FNC85)是用來對FX2N - 8AV - BD模擬量的功能擴展板中的電位器數值進行讀操作。
示例及使用:如圖4-73所示,當X0為ON時,讀出FX2N - 8AV - BD中0號模擬量的值(由K0決定),將其送入D0作為T0的設定值。源操作數可取K、H,它用來指定模擬量口的編號,取值范圍為0-7;目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。該指令只有16位運算,占5個程序步。
圖4-73 模擬量輸入指令的使用
(5)模擬量開關設定指令
模擬量開關設定指令VRSC (P) (FNC86)的作用是將FX - 8AV中電位器讀出的數四舍五入整量化后以0 -10之間的整數值存放在目標操作數中。它的源操作數[S.]可取K和H,用來指定模擬量口的編號,取值范圍為0 -7;目標操作數[D.]的類型與VRRD指令相同。該指令為16位運算,占9個程序步。