• <b id="yxvk2"></b>

    <wbr id="yxvk2"></wbr><wbr id="yxvk2"></wbr>
  • <wbr id="yxvk2"></wbr>
      <u id="yxvk2"></u>

        <video id="yxvk2"></video>

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

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

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

        MOVE

        (U)MOVE_BLK

        MOVE_BLK_VARIANT

        MOVE

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

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

        圖1 指令位置

        注意:

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

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

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

        (4)如果MOVE兩邊是基本數據類型,則可以在滿足以下兼容條件時傳送,參見表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 數據類型的位長度超出輸出 OUT 數據類型的位長度,則源值的高位會丟失。如果輸入 IN 數據類型的位長度低于輸出 OUT 數據類型的位長度,則目標值的高位會被改寫為 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. 數組的傳送

        圖5 數組的傳送

        3. UDT的傳送

        圖6 UDT的傳送

        4. String中的字符的傳送

        圖7 String中的字符的傳送

        5. DTL中的變量的傳送

        圖8 DTL中的變量的傳送

        6. DB整體之間的傳送

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

        1. IN和OUT的DB必須為優化DB或者非優化DB。

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

        圖9 存儲器預留區域設置

        圖10 DB整體傳送

        圖11 DB整體傳送程序

        (U)MOVE_BLK

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

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

        圖12 程序位置

        圖13 指令詳情

        注意:

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

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

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

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

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

        (U)MOVE_BLK的使用

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

        圖14 程序使用

        圖15 運行結果

        MOVE_BLK_VARIANT

        LAD和SCL均為MOVE_BLK_VARIANT指令。

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

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

        圖16 指令位置

        圖17 指令詳情

        表2 參數說明

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

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

        同樣是傳送部分數組元素的指令,MOVE_BLK_VARIANT相對MOVE_BLK有以下優點:

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

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

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

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

        使用MOVE_BLK_VARIANT指令的注意:

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

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

        使用舉例:

        1. 實現功能將結構完全一樣的M區數據送入DB區

        圖18 運行結果

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

        圖19 程序詳情

        2. 實現變長數組的處理

        功能:FC15處理MBV類型變量,該變量作為InOut,FC14中輸入MBV類型變量的變長數組,在其內部判斷數組大小,數組元素逐個執行FC15指令,后送回變長數組。


        相關西門子產品
        相關西門子產品
        相關產品
         
        国产又色又爽又刺激的视频_国产欧美综合精品一区二区_欧美精品第一区二区三区_三级片中文字幕在播放
      1. <b id="yxvk2"></b>

        <wbr id="yxvk2"></wbr><wbr id="yxvk2"></wbr>
      2. <wbr id="yxvk2"></wbr>
          <u id="yxvk2"></u>

            <video id="yxvk2"></video>
            亚洲中文字幕网址在线 | 亚洲精品国产精品乱码不99 | 日本A网免费在线观看 | 一本久久a久久免费精品网站 | 午夜福利中文字幕有码 | 亚洲综合激情五月丁香六月 |