日韩国产精品欧美一区二区,免费高清a毛片,日本a视频在线观看,欧美成人高清性色生活

西門子LOGO 6ED1055-1MA00-0BA2 擴展模塊

西門子: LOGO擴展模塊
LOGO: 6ED1055-1MA00-0BA2
中國: 凈重0.132KG
單價: 380.00元/臺
發(fā)貨期限: 自買家付款之日起 天內發(fā)貨
所在地: 直轄市 上海
有效期至: 長期有效
發(fā)布時間: 2024-10-07 15:56
最后更新: 2024-10-07 15:56
瀏覽次數(shù): 22
采購咨詢:
請賣家聯(lián)系我
發(fā)布企業(yè)資料
詳細說明

MOVE 系列指令

本文檔將介紹幾個常用 MOVE 系列指令,鏈接如下:

MOVE

LAD為MOVE指令,SCL使用":="表達式可以完成MOVE的功能(“:=”還可以有其他功能)。

MOVE指令是當EN條件滿足時,實現(xiàn)相同數(shù)據(jù)類型(不包括位、字符串、Variant類型)的變量間的傳送。

圖1 指令位置

注意:

(1)LAD傳送字符串需要使用S_MOVE指令(SCL使用“:=”),但是傳送字符串中的字符需要使用MOVE指令。

(2)支持通過一個MOVE指令將一個變量傳送到多個變量,但是該功能不支持傳送復雜數(shù)據(jù)類型(DTL、結構、數(shù)組等)或字符串中的字符。

(3)傳送數(shù)組時,要求元素數(shù)據(jù)類型以及元素個數(shù)必須完全一樣,數(shù)組限值可以不同,例如Array[0..1] of Byte可以MOVE到Array[1..2] of Byte。

(4)如果MOVE兩邊是基本數(shù)據(jù)類型,則可以在滿足以下兼容條件時傳送,參見表1。

表1 MOVE的傳送條件

傳送源 (IN)

傳送目標 (OUT1)

進行 IEC 檢查

不進行 IEC 檢查

BYTEBYTE、WORD、DWORDBYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、TIME、DATE、TOD、CHAR
WORDWORD、DWORDBYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、TIME、DATE、TOD、CHAR

DWORD

DWORD

BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、REAL、TIME、DATE、TOD、CHAR

SINT

SINT

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD

USINT

USINT, UINT, UDINT

INT

INT

UINT

USINT, UINT

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD

DINTDINT

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD

UDINTUDINT

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD

REAL

REAL

DWORD, REAL

LREAL

LREAL

LREAL

TIME

TIME

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME

DATE

DATE

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, DATE

TOD

TOD

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TOD

CHAR

CHAR, String中的字符

BYTE, WORD, DWORD,CHAR,String中的字符

WCHAR

WCHAR, WString中的字符

BYTE,WORD,DWORD,CHAR,WCHAR,WString中的字符

String中的字符CHAR, String中的字符CHAR, String中的字符

WString中的字符

WCHAR, WString中的字符

WCHAR, WString中的字符

注意:
1.如果輸入 IN 數(shù)據(jù)類型的位長度超出輸出 OUT 數(shù)據(jù)類型的位長度,則源值的高位會丟失。如果輸入 IN 數(shù)據(jù)類型的位長度低于輸出 OUT 數(shù)據(jù)類型的位長度,則目標值的高位會被改寫為 0。
2.REAL傳送至DWORD時是按位傳送,不是取整。如果需要取整,可以使用ROUND、CONVERT_REAL_TO_DINT等指令。
3.(不)進行IEC檢查是指,在MOVE指令所在的OB/FC/FB屬性中的"IEC檢查"選項,僅在此塊中生效。默認的"IEC檢查"不激活。設置如圖2所示。

圖2 IEC檢查的設置

MOVE的使用

圖3 DB25

1. 單個基本類型變量的傳送

圖4 單個基本類型變量的傳送

2. 數(shù)組的傳送

圖5 數(shù)組的傳送

3. UDT的傳送

圖6 UDT的傳送

4. String中的字符的傳送

圖7 String中的字符的傳送

5. DTL中的變量的傳送

圖8 DTL中的變量的傳送

6. DB整體之間的傳送

條件:DB塊為非優(yōu)化塊,或者將優(yōu)化DB塊的存儲器預留區(qū)域與預留可保持性存儲器設置為0字節(jié)(如圖9所示),并且兩個DB塊結構完全相同。

1. IN和OUT的DB必須同時為優(yōu)化DB或者非優(yōu)化DB。

2. 不允許同時輸出到多個DB,即圖4的形式。

圖9 存儲器預留區(qū)域設置

圖10 DB整體傳送

圖11 DB整體傳送程序

(U)MOVE_BLK

LAD和SCL均為(U)MOVE_BLK指令。

(U)MOVE_BLK指令是當EN條件滿足時,實現(xiàn)相同數(shù)組之間部分元素的傳送。MOVE_BLK和UMOVE_BLK的區(qū)別是UMOVE_BLK不會被中斷打斷,并且多16kB的數(shù)據(jù)量。

圖12 程序位置

圖13 指令詳情

注意:

1. IN和OUT必須是數(shù)組的一個元素,例如"DB26".Static_1[0],不能是常數(shù)、常量、普通變量,也不能是數(shù)組名。

2. IN和OUT類型必須完全相同,并且必須是基本數(shù)據(jù)類型,不能是UDT、Struct等的數(shù)組。

3. IN是源數(shù)組中傳送的起始元素,OUT是目的數(shù)組中接收的起始元素。

4. COUNT是傳輸個數(shù),可以是正整數(shù)的常數(shù),如果是變量,數(shù)據(jù)類型支持USINT、UINT、UDINT。

5. 如果目的數(shù)組接收區(qū)域小于源數(shù)組的傳送區(qū)域,則只傳送目的數(shù)組可接收的區(qū)域的數(shù)據(jù)。如果激活指令的ENO功能,則ENO=False。

(U)MOVE_BLK的使用

實現(xiàn)功能:將"DB26".Static_1[0]開始的4個元素傳送至"DB26".Static_2[4]開始的數(shù)組中。

圖14 程序使用

圖15 運行結果

MOVE_BLK_VARIANT

LAD和SCL均為MOVE_BLK_VARIANT指令。

MOVE_BLK_VARIANT的基本功能是數(shù)組之間部分元素的傳送,并且是可以處理Variant類型的變量的指令之一,適合處理Variant指向的變長數(shù)組。

從TIA V13SP1,S7-1200 V4.0開始支持該指令。

圖16 指令位置

圖17 指令詳情

表2 參數(shù)說明

參數(shù)聲明數(shù)據(jù)類型
SRCInputVariant、Array、其他(不包括Bool,Array of Bool)
COUNTInputUDINT
SRC_INDEXInputDINT
DEST_INDEXInputDINT
DESTOutputVariant、Array、其他(不包括Bool,Array of Bool)
RET_VALReturnINT

MOVE_BLK_VARIANT指令通常用于將源數(shù)組SRC的部分元素傳送至目的數(shù)組DEST的部分元素中,SRC與DEST數(shù)組元素必須完全相同。COUNT是傳送的元素個數(shù),SRC_INDEX是待傳送的源數(shù)組的起始編號,DEST_INDEX是目的數(shù)組接收的起始編號,此處用編號不是下標的意思是,SRC_INDEX和DEST_INDEX都從0開始,對應SRC和DEST的個元素。

同樣是傳送部分數(shù)組元素的指令,MOVE_BLK_VARIANT相對MOVE_BLK有以下優(yōu)點:

1. SRC和DEST不可以是Bool數(shù)組,但可以是Struct、UDT等復雜數(shù)據(jù)類型數(shù)組

2. SRC和DEST都可以是普通的單個變量,例如SRC為一個INT變量,DEST作為一個INT數(shù)組,此時需要設置COUNT=1,SRC_INDEX=0,然后根據(jù)DEST_INDEX的值,傳入DEST的指定位置。

3. SRC和DEST填寫的通常是數(shù)組名,也可以是普通的單個變量,或者數(shù)組的一個元素,后兩種情況都需要像(2)一樣處理。

4. SRC和DEST可以是參數(shù)類型Variant的變量,也就是可以直接填寫P#指針的格式,指令將會把P#指針看做數(shù)組處理(原因)。即使是SRC和DEST都指向Variant類型,其指向的形參的數(shù)組元素數(shù)據(jù)類型也需要相同,所以通常需要在使用指令之前用E檢查其中元素的數(shù)據(jù)類型。

使用MOVE_BLK_VARIANT指令的注意:

(1)COUNT>=1,否則報錯并且不傳送任何數(shù)據(jù)。

(2) COUNT+SRC_INDEX與COUNT+DEST_INDEX決定了SRC與DEST數(shù)組元素編號上限,超出范圍將報錯并且不傳送任何數(shù)據(jù)。

使用舉例:

1. 實現(xiàn)功能將結構完全一樣的M區(qū)數(shù)據(jù)送入DB區(qū)

圖18 運行結果

需要注意的是將DB塊改為非優(yōu)化,M區(qū)和DB區(qū)均是16Byte,SRC和DEST可以是P#BYTE 16,P#WORD 8,P#DWORD 4等都可以,但是要注意COUNT和元素數(shù)相同(P#BYTE 16,COUNT=16;P#WORD 8,COUNT=8;P#DWORD 4,COUNT=4),SRC和DEST結構一致即可。

圖19 程序詳情

2. 實現(xiàn)變長數(shù)組的處理

功能:FC15處理MBV類型變量,該變量作為InOut,F(xiàn)C14中輸入MBV類型變量的變長數(shù)組,在其內部判斷數(shù)組大小,然后數(shù)組元素逐個執(zhí)行FC15指令,后送回變長數(shù)組。


相關西門子產品
相關西門子產品
相關產品