西門子S7-1200PLC模塊福建代理價格

西門子S7-300/400 PLC STL語言的數(shù)據(jù)傳送指令
STL語言中的裝載和傳送指令同樣能夠?qū)崿F(xiàn)MOVE指令的功能。它將整個數(shù)據(jù)傳送過程分為兩個子過程,更加詳細(xì)地解釋了數(shù)據(jù)傳送過程。
1.裝載指令( LOAD)
該指令在具體書寫時簡寫成L。數(shù)據(jù)的傳送不是直接從輸入端傳送到輸出端所指示的位置,而是通過PLC系統(tǒng)配置的中間累加器來完成。PLC系統(tǒng)配置了兩個累加器,在數(shù)據(jù)傳送中主要涉及到累加器1。
L指令的功能就是將輸入端的常量值或輸入端所指示的變量中的數(shù)據(jù)裝載到累加器1中,然后等待傳送指令將數(shù)據(jù)傳送到輸出端。L指令在程序設(shè)計中具體的書寫格式如下:
L IB1 //將IB1中的數(shù)據(jù)裝載到累加器1中
L IW4 //將IW4中的數(shù)據(jù)裝載到累加器1中
L 2 #10010001 //將常量值“10010001”裝載到累加器1中
2.傳送指令( TRANSPORT)
該指令在具體編程設(shè)計中簡寫成T,其功能是將前面由裝載指令L裝載到累加器1中的數(shù)據(jù)傳送到輸出端所指示的位置中,因此傳送指令一般是和裝載指令配合使用的。
傳送指令在具體程序設(shè)計中的書寫形式如下:

T QB10 //將累加器1中的數(shù)據(jù)傳送給QB10
T QW6 //將累加器1中的數(shù)據(jù)傳送給QW6
T MB17 //將累加器1中的數(shù)據(jù)傳送給MB17
下面將圖4-51所示的程序段轉(zhuǎn)換為圖4-52所示STL形式的程序段,進(jìn)一步掌握STL語言中的數(shù)據(jù)傳送指令的具體應(yīng)用。

圖4-52 STL數(shù)據(jù)傳送指令
STL形式的數(shù)據(jù)傳送指令是通過裝載指令L和傳送指令T兩個指令的配合使用來實現(xiàn)的。在圖4-52中,可以看到“L QW 12”和“T MW 14”兩個語句,它們就是用于將QW12中的值裝載到累加器1中,然后將累加器1中的值傳遞給MW14所指的變量存儲區(qū)中。
MOVE指令用于將從輸入端(IN端)輸入的數(shù)據(jù)傳送到輸出端(OUT端),可以對字節(jié)(B)、字(W)、雙字(DW)等類型的數(shù)據(jù)進(jìn)行傳送。MOVE指令工作的前提是使能輸入端(EN端)允許,因此可以通過控制使能輸入端來控制數(shù)據(jù)是否進(jìn)行傳送。MOVE指令的基本結(jié)構(gòu)如圖4-50所示。
圖4-50 MOVE指令

◇ MOVE:指令標(biāo)題,用來聲明指令的類型,即說明該指令為傳送指令。
◇ EN:使能信號的輸入端,用來控制MOVE指令是否工作,當(dāng)它接收的信號為高
電位“1”時MOVE指令才工作。
◇ ENO:使能信號的輸出端,當(dāng)MOVE指令工作時,它可以輸出高電位信號“1”,
用來驅(qū)動下面的工作端口。
◇ IN:輸入端,用來輸入要傳送的數(shù)據(jù)或者指明需要傳輸?shù)臄?shù)據(jù)所在的位置。
◇ OUT:輸出端,用來存儲輸入端傳輸來的數(shù)據(jù)。
MOVE指令可以對任何類型的數(shù)據(jù)進(jìn)行傳送,但是應(yīng)注意輸入與輸出的數(shù)據(jù)寬度一般應(yīng)該*;如果輸入和輸出的數(shù)據(jù)寬度不*,PLC系統(tǒng)可以自己進(jìn)行轉(zhuǎn)換。下面分兩種情況說明。
1.輸入端的數(shù)據(jù)比輸出端的數(shù)據(jù)長
例如,輸入端是字類型的數(shù)據(jù),輸出端是字節(jié)類型的數(shù)據(jù),這時只將與輸出端長度相當(dāng)且位置相同的輸入數(shù)據(jù)傳送過去,即是把輸入端的低8位傳送到輸出端口。
2.輸入端的數(shù)據(jù)比輸出端的數(shù)據(jù)短
例如,輸入端是字節(jié)類型的數(shù)據(jù),輸出端是字類型的數(shù)據(jù),這時采用右對齊的方式傳送到輸出端,即是把輸入端的8位數(shù)據(jù)放在輸出端的低8位上,然后在輸出端的高8位補充“0”。
MOVE指令可以將一個常值或變量中的數(shù)據(jù)傳遞給另一個變量,該指令在程序中的具體連接形式如圖4-51所示。

圖4-51 MOVE指令的具體應(yīng)用
當(dāng)I0.1為高電位“1”時,*個MOVE指令開始執(zhí)行,將QW12中的值傳送到MW14中,并且在該MOVE指令執(zhí)行時,使能輸出端輸出高電位“1”,用于驅(qū)動第二個MOVE指令執(zhí)行;第二個MOVE指令將常值W#16#AB12傳送到MW16中,同時使能輸出端為高電位,用于使Q0.1置位。

西門子S7-1200PLC模塊福建代理價格