湖北西門(mén)子S7-1200PLC模塊代理經(jīng)銷商
PLC整數(shù)與BCD碼之間的轉(zhuǎn)換指令
整數(shù)與BCD碼之間的轉(zhuǎn)換指令包括BCD碼轉(zhuǎn)為整數(shù)指令(BCDI)和整數(shù)轉(zhuǎn)為BCD碼指令(IBCD)。
(1)格式:BCD碼轉(zhuǎn)為整數(shù)指令和整數(shù)轉(zhuǎn)為BCD碼指令的梯形圖如圖6-37所示。

圖6-37 BCD碼轉(zhuǎn)為整數(shù)指令和整數(shù)轉(zhuǎn)為BCD碼指令的梯形圖
(2)功能:BCDI指令將輸入的BCD碼轉(zhuǎn)換成整數(shù),結(jié)果存入OUT中,輸入IN的范圍是0~9999;IBCD指令將輸入的整數(shù)轉(zhuǎn)換成BCD碼,結(jié)果存入OUT中,輸入IN的范圍是0~9999。若IN的源數(shù)據(jù)格式不正確,則SM1.6置1。
表查找指令是從數(shù)據(jù)表中找出符合條件數(shù)據(jù)在表中的地址編號(hào),編號(hào)范圍為0~99。它包括FIND=指令、FIND<>指令、FIND<指令和FIND>指令4種。
(1)格式:表查找指令的梯形圖如圖6-35所示。在梯形圖中有4個(gè)數(shù)據(jù)輸入端,TBL為表格首地址,用以指明被訪問(wèn)的表格;PTN是用來(lái)描述查表?xiàng)l件時(shí)進(jìn)行比較的數(shù)據(jù);CMD是比較運(yùn)算的編碼,它是一個(gè)1~4的數(shù)值,分別代表運(yùn)算符=、<>、<、>;INDX用來(lái)表中符合查找條件的數(shù)據(jù)所在的位置。
(2)功能:表查找指令執(zhí)行前,應(yīng)先對(duì)INDX的內(nèi)容清零。當(dāng)使能輸入有效時(shí),從數(shù)據(jù)表的第o個(gè)數(shù)據(jù)開(kāi)始查找符合條件的數(shù)據(jù),若沒(méi)有發(fā)現(xiàn)符合條件的數(shù)據(jù),則INDX的值等于EC;若找到一個(gè)符合條件的數(shù)據(jù),則將該數(shù)據(jù)在表中的地址裝入INDX中,并停止查表;在找到一個(gè)符合條件的數(shù)據(jù)后,若還想繼續(xù)向下查找,則必須先對(duì)INDX加1,再激活查表指令,從表中符合條件的數(shù)據(jù)的下一個(gè)數(shù)據(jù)開(kāi)始查找。由于一張表多只能存儲(chǔ)100個(gè)數(shù)據(jù),因此表查找指令的搜索范圍是0~99。
【例6-6】表查找指令使用例子的梯形圖如圖6-36所示。該程序的功能是:從VW102開(kāi)始查找小于1269H的數(shù)據(jù),找到*個(gè)符合條件的數(shù)據(jù)后,停止查找;如果要繼續(xù)查找,則必須先將AC0加1。假設(shè)表中的數(shù)據(jù)如表6-1所示,表中有4個(gè)數(shù)據(jù),在*次查表結(jié)束時(shí)AC0=2,說(shuō)明表中的第三個(gè)數(shù)據(jù)符合條件。注意:在PLC內(nèi)存中,數(shù)據(jù)是以二進(jìn)制方式存儲(chǔ)的。
表6-1 表查找指令執(zhí)行結(jié)果
單元地址 | 執(zhí)行前內(nèi)容 | 執(zhí)行后內(nèi)容 | 注釋 |
VW100 | 0005 | 0005 | TL=5大填表數(shù) |
VW102 | 0004 | 0004 | EC=4實(shí)際填表數(shù) |
VW104 | 3345 | 3345 | D0*個(gè)數(shù)據(jù) |
VW106 | 5200 | 5200 | D1第二個(gè)數(shù)據(jù) |
VW108 | 1260 | 1260 | D2第三個(gè)數(shù)據(jù) |
VW110 | 2450 | 2450 | D3第四個(gè)數(shù)據(jù) |
VW112 | **** | **** | 無(wú)效數(shù)據(jù) |
圖6-36對(duì)應(yīng)的STL程序如下:
LD I0.1 //取常開(kāi)觸頭
FIND< VW100,16#1269,ACO //查找表格中小于1269H的數(shù)據(jù)
從表中移出一個(gè)數(shù)據(jù)有*先出(FIFO)和后進(jìn)先出(LIFO)兩種指令。
(1)格式:表取數(shù)指令( FIFO/LIFO)的梯形圖如圖6-32所示。

圖6-32 表取數(shù)指令(FIFO/LIFO)的梯形圖
(2)功能:當(dāng)使能輸入有效時(shí),*先出指令(FIFO)從TBL指明的表中移出*個(gè)字型數(shù)據(jù)并將其輸出到DATA所的字單元。每次從表中移出一個(gè)數(shù)據(jù),剩余數(shù)據(jù)依次上移一個(gè)字單元位置,同時(shí)實(shí)際填表數(shù)EC會(huì)自動(dòng)減1。
當(dāng)使能輸入有效時(shí),后進(jìn)先出指令( LIFO)從TBL指明的表中移出后一個(gè)字型數(shù)據(jù)并將其輸出到DATA所的字單元。每次從表中取出一個(gè)數(shù)據(jù),剩余數(shù)據(jù)位置保持不變,實(shí)際填表數(shù)EC會(huì)自動(dòng)減1。
【例6-5】表取數(shù)指令使用舉例,梯形圖如圖6-33所示。當(dāng)I1.2由OFF變?yōu)?/span>ON狀態(tài)時(shí),FITO指令執(zhí)行一次,執(zhí)行前后的變化如圖6-34所示。
圖6-33對(duì)應(yīng)的STI.程序如下:
LD I1.2 //取常開(kāi)觸頭
FIFO VW100,AC1 //從表中取一個(gè)數(shù)據(jù)

圖6-33 表取數(shù)指令的梯形圖
表存數(shù)指令用于把的字型數(shù)據(jù)添加到表格中。
(1)格式:表存數(shù)指令(ATT)的梯形圖如圖6-29所示。該指令有2個(gè)數(shù)據(jù)輸入端:DATA為數(shù)值輸入,指出將被存儲(chǔ)的字型數(shù)據(jù)或者地址;TBL為表格首地址,用以指明被訪問(wèn)的表格。

圖6-29 表存數(shù)指令的梯形圖
(2)功能:當(dāng)使能輸入(EN)有效時(shí),將輸入字型數(shù)據(jù)添加到表格中后一個(gè)數(shù)據(jù)的后面。表格中第1個(gè)數(shù)是大填表數(shù)TL,第2個(gè)數(shù)是實(shí)際填表數(shù)EC,新填入的數(shù)據(jù)添加在表格中的上一個(gè)數(shù)據(jù)的后面,每向表中添加一個(gè)新的數(shù)據(jù),EC會(huì)自動(dòng)加1。一張表多能存儲(chǔ)100個(gè)填表數(shù)據(jù)。如果表溢出,則SM1.4置1。
DATA的數(shù)據(jù)類型是INT,范圍是VW、IW、QW、MW、SW、SMW、LW、T、C、AIW、AC、常數(shù)、*VD、*AC、*LD; TBL的數(shù)據(jù)類型是WORD、范圍是VW、IW、QW、MW、SW、SMW、LW、T、C、*VD、*AC、*LD。
【例6-4】表存數(shù)指令應(yīng)用舉例,梯形圖如圖6-30所示。假?zèng)]VW50單元的數(shù)據(jù)是1122,當(dāng)I0.0由OFF變?yōu)?/span>ON狀態(tài)時(shí),ATT指令執(zhí)行一次.執(zhí)行前后的變化情況如圖6-31所示。

圖6-30 ATT指令的梯形圖
圖6-30對(duì)應(yīng)的STL程序如下:
LD I0.0 //取常開(kāi)觸頭
ATT VW50,VW0 //向表中存放一個(gè)數(shù)據(jù)
(1)格式:雙字與指令(ANDD)、雙字或指令(ORD)和雙字異或指令(XORD)的梯形圖如圖6-27所示。
圖6-27 雙字與、雙字或、雙字異或指令的梯形圖
(2)功能:當(dāng)使能輸入(EN)有效時(shí),雙字與指令(ANDD)、雙字或指令(ORD)和雙字異或指令(XORD)分別對(duì)兩個(gè)雙字按位進(jìn)行與、或、異或運(yùn)算,得到一個(gè)雙字結(jié)果并存放在OUT中。
湖北西門(mén)子S7-1200PLC模塊代理經(jīng)銷商