酒泉西門子S7-200代理商潯之漫智控技術有限公司 上海詩慕自動化設備有限公司本公司銷售西門子自動化產品,*,質量保證,價格優勢西門子PLC,西門子觸摸屏,西門子數控系統,西門子軟啟動,西門子以太網西門子電機,西門子變頻器,西門子直流調速器,西門子電線電纜我公司大量現貨供應,價格優勢,*,德國*
更新時間:2025-06-14
廠商性質: 總代理商
在線留言酒泉西門子S7-200代理商 酒泉西門子S7-200代理商
潯之漫智控技術有限公司 上海詩慕自動化設備有限公司
本公司銷售西門子自動化產品,*,質量保證,價格優勢
西門子PLC,西門子觸摸屏,西門子數控系統,西門子軟啟動,西門子以太網
西門子電機,西門子變頻器,西門子直流調速器,西門子電線電纜
我公司大量現貨供應,價格優勢,*,德國*
比較指令影響狀態字,用指令測試狀態字的有關位,可以得到更多的信息。
整數比較指令用來比較兩個整數字的大小,指令助記符中用I表示整數。
雙整數比較指令用來比較兩個雙字的大小,指令助記符中用D表示雙整數。
浮點數比較指令用來比較兩個浮點數的大小,指令助記符中用R表示浮點數。
表3-7 比較指令
語句表 | 梯形圖 | 描述 |
?I | CMP?I | 比較累加器2和累加器1低字中的整數是否==,<>,>,<,>=,<=,如果條件滿足,RLO=1 |
?D | CMP?D | 比較累加器2和累加器1中的雙整數是否==,<>,>,<,>=,<=,如果條件滿足,RLO=1 |
?R | CMP?R | 比較累加器2和累加器1中的浮點數是否==,<>,>,<,>=,<=,如果條件滿足, RLO=1 |
表3-7中的“?”可以取==、<>、>、<、>=和<=。
下面是比較兩個浮點數的例子:
L MD 4 //MD4中的浮點數裝入累加器1
L 2. 345E+02 //累加器1的值裝入累加器2,浮點數常數裝入累加器1
>R //比較累加器1和累加器2的值
= Q 4.2 //如果MD4>234.5,則Q4.2為1
梯形圖的方框比較指令用來比較兩個同類型的數,與語句表的比較指令類似,可以比較整數(I)、雙整數(D)和浮點數(R)。在使能輸入信號為1時,比較IN1和IN2輸入的兩個操作數。方框比較指令在梯形圖中相當于一個常開觸點,可以與其他觸點串聯和并聯。如果被比較的兩個數滿足指令的大于、等于、小于等條件,比較結果為“真”,等效觸點閉合,指令框才有可能有能流流過。如果圖3-54中I0.6的常開觸點閉合,且MW2<=MW4,Q4.1被置位為1。
圖3-54 比較指令
梯形圖中比較指令框的輸入和輸出均為BOOL變量,可以取I、Q、M、L和D;被比較數IN1和IN2的數據長度與指令有關,可以取整數、雙整數和浮點數。數據類型為I、Q、M、L、D或常數。
1)使用SFC 20“BLKMOV”(塊移動),可將源存儲區的內容復制到目標存儲區。源區域與目標區域不能交叉。下面是使用SFC 20傳送20個字節的例子。
CALL "BLKMOV” //調用SFC 20
SRCBLK :=P#M 54.0 BYTE 20 //源存儲器區
RET_VAL:=MW10 //執行SFC 20出錯時的錯誤代碼
DSTBLK :=P#DB2.DBX0.0 BYTE 20//目標存儲器區
2)使用SFC 21“FILL”,可以將源數據區的數據填充到目標數據區。假設MB20和MB21的值為7和5,執行下面的例程后DB2的DBB30~DBB34的值分別為7、5、7、5和7。源區域與目標區域不能交叉。
CALL "FILL" //調用SFC 21
BVAL :=P#M 20.0 BYTE 2 //源存儲器區
RET_VAL:=MW12 //執行SFC 21出錯時的錯誤代碼
BLK :=P#DB2.DBX30.0 BYTE 5 //目標存儲器區
3) SFC 81“UBLKMOV”(不間斷的塊移動)與SFC 20的功能和使用方法基本上相同,SFC 81的復制操作不會被其他操作系統的任務打斷。
梯形圖的傳送指令(見圖3-53)只有一條MOVE指令,它直接將源數據傳送到目的地址,不需經過累加器中轉。輸入變量和輸出變量可以是8位、16位或32位的基本數據類型。同一條指令的輸入變量和輸出變量的數據類型可以不相同,例如可以將MB0中的數據傳送到MW2。如果將MW4的數據傳送到MB6時,MW4中的數據超過255,只是將MW4的低位字節(MB5)中的數據傳送到MB6,應避免出現這種情況。
圖3-53 傳送指令
可以用L指令將定時器字的十六進制剩余時間值裝入累加器1的低字,稱為直接裝載。也可以用LC指令以BCD碼格式將剩余時間值裝入累加器1的低字。使用LC指令可以同時獲得時間值和時間基準,時間基準與時間值相乘得到實際的定時剩余時間。
可以用L指令將十六進制計數值裝入累加器1的低字,或用LC指令將BCD碼格式的計數值裝入累加器1的低字。
L T 5 //將定時器T5中的十六進制時間值裝入累加器1的低字
LC T 5 //將定時器T5中的BCD碼格式的時間值裝入累加器1的低字
C 3 //將計數器C3中的十六進制計數值裝入累加器1的低字
LC C 16 //將計數器C16中的BCD碼格式的計數值裝入累加器1的低字。
S7中有兩個地址寄存器AR1和AR2,通過它們可以對各存儲區的存儲器內容作寄存器間接尋址。地址寄存器的內容加上偏移量形成地址指針,后者指向數據所在的存儲單元。