外部I/0設備指令是FX系列與外設傳遞信息的指令,共有10條。分別是10鍵輸入指令TKY(FNC70)、16鍵輸入指令HKY(FNC71)、數字開關輸入指令DSW(FNC72)、七段譯碼指令SEGD(FNC73)、帶鎖存的七段顯示指令SEGL(FNC74)、方向開關指令ARWS(FNC75)、ASCII碼轉換指令ASC(FNC76)、ASCII打印指令PR(FNC77)、特殊功能模塊讀指令FROM(FNC78)和特殊功能模塊寫指令T0(FNC79)。
(1)數據輸入指令 數據輸入指令有10鍵輸入指令TKY(FNC70)、16鍵輸入指令HKY(FNC71)和數字開關輸入指令DSW(FNC72)。
10鍵輸入指令(D)TKY的使用如圖3-72所示。源操作數[S.]用X0為首元件,10個鍵X0~X11分別為對應數字0~9。X30接通時執行TKY指令,如果以X2(2)、X9(8)、X3(3)、X0(0)的順序按鍵,則[D1.]中存入數據為2830,實現了將按鍵變成十進制的數字量。當送入的數大于9999,則位溢出并丟失。使用32位指令DTKY時,D1和D2組合使用,位大于99999999則位溢出。
圖3-72 10鍵輸入指令的使用
當按下X2后,M12置1并保持至另一鍵被按下,其它鍵也一樣。M10~M19動作對應于X0~X11。任一鍵按下,鍵信號置1直到該鍵放開。當兩個或更多的鍵被按下時,則首先按下的鍵有效。X30變為OFF時,D0中的數據保持不變,但M10~M20全部為OFF。此指令的源操作數可取X、Y、M、和S,目標操作數[D.]可取KnY、KnM、KnS、T、C、D、V和Z,[D2.]可取Y、M、S。16位運算占7個程序步,32運算時占13個程序步。該指令在程序中只能使用一次。
16鍵輸入指令(D)HKY的作用是通過對鍵盤上的數字鍵和功能鍵輸入的內容實現輸入的復合運算。如圖3-73所示,[S.]4個輸入元件,[D1.]4個掃描輸出點,[D2.]為鍵輸入的存儲元件。[D3.]指示讀出元件。十六鍵中0~9為數字鍵,A~F為功能鍵,HKY指令輸入的數字范圍為0~9999,以二進制的方式存放在D0中,如果大于9999則溢出。DHKY指令可在D0和D1中存放大為99999999的數據。功能鍵A~F與M0~M5對應,按下A鍵,M0置1并保持。按下D鍵M0置0,M3置1并保持。其余類推。如果同時按下多個鍵則先按下的有效。
圖3-73 16鍵輸入指令的使用
該指令源操作數為X,目標操作數[D1.]為Y。[D2]可以取T、C、D、V和Z,[D3.]可取Y、M和S。16位運算時占9個程序步,32位運算時為占17個程序步。掃描全部16鍵需8個掃描周期。HKY指令在程序中只能使用一次。
數字開關指令DSW的功能是讀入1組或2組4位數字開關的設置值。如圖3-74所示,源操作數[S]為X,用來輸入點。[D1]為目標操作數為Y,用來選通點。[D2]數據存儲單元,它可取T、C、D、V和Z。[n]數字開關組數。該指令只有16位運算,占9個程序步,可使用兩次。圖中,n=1指有1組BCD碼數字開關。輸入開關為X10~X13,按Y10~Y13的順序選通讀入。數據以二進制數的形式存放在D0中。若n=2,則有2組開關,第2組開關接到X14~X17上,仍由Y10~Y13順序選通讀入,數據以二進制的形式存放在D1中,第2組數據只有在n=2時才有效。當X1保持為ON時,Y10~Y13依次為ON。一個周期完成后標志位M8029置1。
圖3-74 數字開關指令的使用
(2)數字譯碼輸出指令 數字譯碼輸出指令有七段譯碼指令SEGD(FNC73)和帶鎖存的七段顯示指令SEGL(FNC74)兩條。
七段譯碼指令SEGD(P) 如圖3-75所示,將[S.]元件的低4位所確定的十六進制數(0~F)經譯碼后存于[D.]的元件中,以驅動七段顯示器,[D.]的8位保持不變。如果要顯示0,則應在D0中放入數據為3FH。
圖3-75 七段譯碼指令的使用
帶鎖存的7段顯示指令SEGL的作用是用12個掃描周期的時間來控制一組或兩組帶鎖存的七段譯碼顯示。
(3)方向開關指令 方向開關指令ARWS(FNC75)是用于方向開關的輸入和顯示。如圖3-76所示,該指令有四個參數,源操作數[S]可選X、Y、M、S。圖中選擇X10開始的4個按鈕,位左移鍵和右移鍵用來輸入的位,增加鍵和減少鍵用來設定位的數值。X0接通時的是位,按一次右移鍵或左移鍵可移動一位。位的數據可由增加鍵和減少鍵來修改,其值可顯示在7段顯示器上。目標操作數[D1]為輸入的數據,由7段顯示器監視其中的值(操作數可用T、C、D、V、和Z),[D2]只能用Y做操作數,n=0~3其確定的方法與SEGL指令相同。ARWS指令只能使用一次,而且必須用晶體管輸出型的PLC。
圖3-76 方向開關指令的使用
(4)ASEII碼轉換指令 ASCII碼轉換指令ASC(FNC76)的功能是將字符變換成ASCII碼,并存放在的元件中。如圖3-77所示,當X3有效時,則將FX2A變成ASCII碼并送入D300和D301中。源操作數是8個字節以下的字母或數字,目標操作數為T,C,D。它只有16位運算,占11個程序步。
圖 3-77 ASEII碼轉換指令說明
特殊功能模塊讀指令FROM(FNC78)和特殊功能模塊寫指令T0(FNC79)將在后面介紹。