色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹幾個常用MOVE系列指令

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2022-07-07 10:48 ? 次閱讀

MOVE 系列指令

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

MOVE

(U)MOVE_BLK

MOVE_BLK_VARIANT

MOVE

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

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

459a7102-fd34-11ec-ba43-dac502259ad0.jpg

圖1 指令位置

注意:

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

(2)支持通過一個MOVE指令將一個變量傳送到多個變量,但是該功能不支持傳送復雜數(shù)據(jù)類型(DTL、結(jié)構(gòu)、數(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 檢查
BYTE BYTE、WORD、DWORD BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、TIME、DATE、TOD、CHAR
WORD WORD、DWORD BYTE、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 BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
INT INT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
UINT USINT, UINT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
DINT DINT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
UDINT UDINT 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所示。

45afcdea-fd34-11ec-ba43-dac502259ad0.jpg

圖2 IEC檢查的設置

MOVE的使用

45ce7100-fd34-11ec-ba43-dac502259ad0.jpg

圖3 DB25

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

45f7caaa-fd34-11ec-ba43-dac502259ad0.jpg

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

2. 數(shù)組的傳送

46194a2c-fd34-11ec-ba43-dac502259ad0.jpg

圖5 數(shù)組的傳送

3. UDT的傳送

46363092-fd34-11ec-ba43-dac502259ad0.jpg

圖6 UDT的傳送

4. String中的字符的傳送

465498c0-fd34-11ec-ba43-dac502259ad0.jpg

圖7 String中的字符的傳送

5. DTL中的變量的傳送

46650d86-fd34-11ec-ba43-dac502259ad0.jpg

圖8 DTL中的變量的傳送

6. DB整體之間的傳送

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

467e1e98-fd34-11ec-ba43-dac502259ad0.jpg

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

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

46962510-fd34-11ec-ba43-dac502259ad0.jpg

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

46af5a80-fd34-11ec-ba43-dac502259ad0.jpg

圖10 DB整體傳送

46dc4252-fd34-11ec-ba43-dac502259ad0.jpg

圖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ù)量。

46f3f834-fd34-11ec-ba43-dac502259ad0.jpg

圖12 程序位置

47272196-fd34-11ec-ba43-dac502259ad0.jpg

圖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ù)組中。

47390136-fd34-11ec-ba43-dac502259ad0.jpg

圖14 程序使用

47568ea4-fd34-11ec-ba43-dac502259ad0.jpg

圖15 運行結(jié)果

MOVE_BLK_VARIANT

LAD和SCL均為MOVE_BLK_VARIANT指令。

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

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

4770e006-fd34-11ec-ba43-dac502259ad0.jpg

圖16 指令位置

477d9814-fd34-11ec-ba43-dac502259ad0.jpg

圖17 指令詳情

表2 參數(shù)說明

參數(shù) 聲明 數(shù)據(jù)類型
SRC Input Variant、Array、其他(不包括Bool,Array of Bool)
COUNT Input UDINT
SRC_INDEX Input DINT
DEST_INDEX Input DINT
DEST Output Variant、Array、其他(不包括Bool,Array of Bool)
RET_VAL Return INT

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ù)類型也需要相同,所以通常需要在使用指令之前用EQ_ElemType檢查其中元素的數(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)功能將結(jié)構(gòu)完全一樣的M區(qū)數(shù)據(jù)送入DB區(qū)

47918dc4-fd34-11ec-ba43-dac502259ad0.jpg

圖18 運行結(jié)果

需要注意的是將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結(jié)構(gòu)一致即可。

47af11a0-fd34-11ec-ba43-dac502259ad0.jpg

圖19 程序詳情

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

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

47c4bfe6-fd34-11ec-ba43-dac502259ad0.jpg

圖20 指令詳情

------------------------END-----------------------

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28392
  • move
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7474
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17099

原文標題:博途: MOVE 系列指令

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    VR的常用comand指令介紹

    VR 中的常用指令設置及介紹
    發(fā)表于 02-13 10:08

    常用ARM指令的功能介紹

    就做個筆記寫下自己復習的東西,當然里面很多資料都是網(wǎng)上參考的,不過自己動手輸入的,主要是加深印象,雖然這種方法不一定管用呵呵常用ARM指令的功能介紹1.匯編偽指令(1)ENTRYENT
    發(fā)表于 05-13 07:45

    幾個常用電路

    本文將介紹幾個常用電路,詳情請看下文。
    的頭像 發(fā)表于 03-04 15:02 ?1.6w次閱讀
    <b class='flag-5'>幾個</b><b class='flag-5'>常用</b>電路

    GSM模塊常用AT指令詳解

    本文首先介紹了AT指令的概念和AT指令的用法,其次闡述了AT的命令格式,最后對GSM模塊常用AT指令進行了匯總。
    的頭像 發(fā)表于 05-15 11:16 ?2.6w次閱讀
    GSM模塊<b class='flag-5'>常用</b>AT<b class='flag-5'>指令</b>詳解

    西門子S7-1200PLC移動操作移動值指令MOVE

    在S7-1200PLC中,常用MOVE指令進行對存儲器進行賦值或是把一個存儲器的數(shù)據(jù)復制到另外一個存儲器中。
    的頭像 發(fā)表于 04-06 09:25 ?6438次閱讀

    西門子S7-1200PLC塊移動指令MOVE_BLK操作

    在S7-1200PLC中,l利用MOVE_BLK指令可以將一個存儲區(qū)(源范圍)的數(shù)據(jù)移動到另一個存儲區(qū)(目標范圍)中。
    的頭像 發(fā)表于 04-06 10:29 ?6464次閱讀

    三菱FX系列PLC常用指令大全來了

    想學好三菱FX 系列的plc,需要掌握哪些常用指令呢?作為一名PLC發(fā)燒友,這些指令你都掌握了嗎?
    的頭像 發(fā)表于 04-10 11:38 ?8328次閱讀

    西門子PLC程序中常用幾個指令介紹

    兩個或兩個以上的接點串聯(lián)連接的電路叫串聯(lián)電路塊。串聯(lián)電路塊并聯(lián)連接時,分支開始用LD、LDN指令,分支結(jié)束用OLD指令。OLD指令與后述的ALD指令均為無目標元件
    的頭像 發(fā)表于 04-13 16:52 ?6624次閱讀

    SIMATIC S7-1500 PLC移動值指令(MOVE)簡述

    當允許輸入端的狀態(tài)為“1”時,啟動此指令,將IN端的數(shù)值輸送到OUT端的目的地地址中,IN和OUTx(x為1、2、3)有相同的信號狀態(tài),移動值的指令MOVE)及參數(shù)見下圖1。
    的頭像 發(fā)表于 05-08 09:33 ?1.6w次閱讀
    SIMATIC S7-1500 PLC移動值<b class='flag-5'>指令</b>(<b class='flag-5'>MOVE</b>)簡述

    博途使用STL中的MOVE指令

    現(xiàn)在,在 S7-1500 CPU 上可使用 STL 中的 MOVE 指令進行編程。
    的頭像 發(fā)表于 06-06 11:10 ?6654次閱讀
    博途使用STL中的<b class='flag-5'>MOVE</b><b class='flag-5'>指令</b>

    工業(yè)機器人ABB編程常用指令

    在之前的文章中,相信你已經(jīng)對ABB機器人的MOVE指令以及常用專屬名詞有一定的了解了,而從這篇文章開始,繼續(xù)學習新的 編程常用指令
    的頭像 發(fā)表于 10-19 10:40 ?2213次閱讀
    工業(yè)機器人ABB編程<b class='flag-5'>常用</b><b class='flag-5'>指令</b>

    PLC中Move指令可以實現(xiàn)什么功能?

     Move指令是PLC編程中的基本指令之一,常用于在程序中對數(shù)據(jù)進行移動和傳輸。在使用Move指令
    發(fā)表于 01-10 15:13 ?1.1w次閱讀

    介紹一下MOVE_BLK_VARIANT指令在使用中應注意的問題

    塊移動指令包括兩個:MOVE_BLK和MOVE_BLK_VARIANT,實際項目中都經(jīng)常被用到。
    的頭像 發(fā)表于 03-04 10:51 ?2568次閱讀
    <b class='flag-5'>介紹</b>一下<b class='flag-5'>MOVE</b>_BLK_VARIANT<b class='flag-5'>指令</b>在使用中應注意的問題

    部分TIA集成指令處理的方法介紹

    對于優(yōu)化的DB塊,可使用FILL_BLK指令或創(chuàng)建相同的UDT結(jié)構(gòu)類型的DB塊,使用MOVE指令清零DB塊數(shù)據(jù)。
    發(fā)表于 04-15 09:34 ?1236次閱讀
    部分TIA集成<b class='flag-5'>指令</b>處理的方法<b class='flag-5'>介紹</b>

    abb機器人常用指令大全

    ABB機器人是一種廣泛應用于工業(yè)自動化領(lǐng)域的智能設備,其指令系統(tǒng)豐富多樣,能夠滿足各種復雜場景的需求。 基本指令 1.1 Move指令 Move
    的頭像 發(fā)表于 06-17 09:35 ?6862次閱讀
    主站蜘蛛池模板: 男女午夜性爽快免费视频不卡| bl被教练啪到哭H玉势| 狠狠躁日日躁人人爽| 99精品国产在热久久| 亚洲 日韩 国产 制服 在线| 祺鑫WRITEAS流出来了| 久久www99re在线播放| 国产AV精品久久久毛片| 97人人看碰人免费公开视频| 亚洲精品无夜久久久久久久久| 日本888 xxxx| 免费视频久久只有精品| 精品亚洲麻豆1区2区3区| 国产女人乱人伦精品一区二区| 不良网站进入窗口软件下载免费| 中文无码热在线视频| 亚洲AV久久无码高潮喷水| 日本少妇内射视频播放舔| 男人插曲视频大全免费网站 | fryee性欧美18 19| 中文字幕精品视频在线| 亚洲无码小格式| 亚洲 综合 欧美在线视频| 思思99热久久精品在线6| 日韩精品欧美在线视频在线| 女教师杨雪的性荡生活| 美女叉腿掰阴大胆艺术照| 久久久久久久久久综合情日本| 激情办公室| 精品视频一区二区三三区四区| 国产真实强被迫伦姧女在线观看| 国产乱人偷精品视频A人人澡| 国产成人亚洲精品老王| 高h原耽肉汁动漫视频| 大学生宿舍飞机china free| 扒开老师大腿猛进AAA片| xxx88中国| 成人区在线观看免费视频 | 久久视频在线视频观看天天看视频| 交换:年轻夫妇-HD中文字幕| 国产一区二区内射最近更新|