在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

介紹一下MOVE_BLK_VARIANT指令在使用中應(yīng)注意的問(wèn)題

jf_61nrsJTz ? 來(lái)源:方正智芯 ? 2024-03-04 10:51 ? 次閱讀

塊移動(dòng)指令包括兩個(gè):MOVE_BLK和MOVE_BLK_VARIANT,實(shí)際項(xiàng)目中都經(jīng)常被用到。比如設(shè)備作業(yè)結(jié)果的存儲(chǔ)及顯示功能就需要用到塊移動(dòng)指令。通常采用這種邏輯:首先創(chuàng)建一個(gè)數(shù)據(jù)塊,在其中創(chuàng)建一個(gè)定長(zhǎng)數(shù)組(比如可存放100條記錄)。每次設(shè)備作業(yè)流程結(jié)束后,將流程結(jié)果的數(shù)據(jù)作為一條記錄存放到數(shù)組中。

當(dāng)需要查看某次作業(yè)結(jié)果的數(shù)據(jù)時(shí),從數(shù)組中讀取相關(guān)的數(shù)據(jù)拷貝到臨時(shí)變量或某個(gè)特定變量中即可。這類(lèi)存儲(chǔ)功能一般使用MOVE_BLK_VARIANT指令,因?yàn)樗梢钥截惤Y(jié)構(gòu)體數(shù)據(jù)類(lèi)型(設(shè)備流程結(jié)果一般內(nèi)容比較多,比如包括壓力、溫度、時(shí)間等等,多數(shù)采用結(jié)構(gòu)體變量存儲(chǔ)),而MOVE_BLK指令只能拷貝基礎(chǔ)數(shù)據(jù)類(lèi)型(整數(shù)、實(shí)數(shù)等)。數(shù)據(jù)的寫(xiě)入及讀取要設(shè)定相應(yīng)的指針變量,實(shí)際應(yīng)用中經(jīng)常因?yàn)橹羔樺e(cuò)誤導(dǎo)致讀寫(xiě)錯(cuò)誤。今天這篇文章我們介紹一下MOVE_BLK_VARIANT指令在使用中應(yīng)注意的問(wèn)題。

b55c8a18-d823-11ee-a297-92fbcf53809c.png

MOVE_BLK_VARIANT指令位于【指令】任務(wù)卡的【基本指令】→【移動(dòng)操作】中,使用梯形圖或功能塊圖編程時(shí)可以在這個(gè)位置將其拖放到函數(shù)或函數(shù)塊中。使用SCL語(yǔ)言編程時(shí),可以直接輸入"MOVE"編輯器會(huì)自動(dòng)提示,如下圖所示:

b56f1ad4-d823-11ee-a297-92fbcf53809c.png

指令添加后的初始狀態(tài)如下圖所示:

b576b172-d823-11ee-a297-92fbcf53809c.png

指令參數(shù)含義如下:

SRC:可變(Variant)數(shù)據(jù)類(lèi)型。源數(shù)據(jù),可以是數(shù)組或結(jié)構(gòu)體復(fù)雜數(shù)據(jù)類(lèi)型;

COUNT:無(wú)符號(hào)雙整數(shù)(UDINT),要拷貝的記錄條數(shù);

SRC_INDEX:雙整數(shù)(DINT),源數(shù)據(jù)的索引;

DEST_INDEX:雙整數(shù)(DINT),目標(biāo)數(shù)據(jù)的索引;

DEST:可變(Variant)數(shù)據(jù)類(lèi)型。目標(biāo)數(shù)據(jù),即源數(shù)據(jù)要拷貝到的目標(biāo)區(qū)域;

說(shuō)明:

無(wú)論數(shù)組的上、下限是如何定義,源數(shù)據(jù)和目標(biāo)數(shù)據(jù)的索引都是從0開(kāi)始計(jì)算的;

如果源數(shù)據(jù)或目標(biāo)參數(shù)不是數(shù)組,則其相應(yīng)的索引值應(yīng)為0;

舉個(gè)例子:

假設(shè)存儲(chǔ)數(shù)組data的定義如下:

data[1..100] of typeResult
//typeResult是用戶(hù)自定義數(shù)據(jù)類(lèi)型

假設(shè)過(guò)程結(jié)果存放在變量tmpResult中。第一次將過(guò)程結(jié)果存放到存儲(chǔ)區(qū)數(shù)組中的代碼如下:

#return_value:=MOVE_BLK_VARIANT(SRC := #tmpResult,
                 COUNT := 1,
                 SRC_INDEX := 0,
                 DEST_INDEX := 0,
                 DEST => "db_storage".data);

注意這里“DEST_INDEX”的值為0,而數(shù)據(jù)則存放在數(shù)組的第一個(gè)元素中。由于該數(shù)組的下限為1,所以存放在data[1]中。假設(shè)定義的存放數(shù)據(jù)為data[10..110],則存放第一條記錄的“DEST_INDEX”的值仍然為0,由于該數(shù)組的下限為10,因此數(shù)據(jù)存放在data[10]中。

實(shí)際應(yīng)用中需要定義寫(xiě)指針變量,隨著存入次數(shù)的變化修改寫(xiě)指針的值,從而存放到數(shù)組的不同位置中。為了防止數(shù)據(jù)重復(fù)寫(xiě)入,存儲(chǔ)應(yīng)在沿信號(hào)時(shí)進(jìn)行。

基于上述描述我寫(xiě)了一個(gè)簡(jiǎn)單的數(shù)據(jù)寫(xiě)入代碼,變量定義如下圖所示:

b5815dca-d823-11ee-a297-92fbcf53809c.png

代碼如下圖所示:

b58cef3c-d823-11ee-a297-92fbcf53809c.png

這段代碼我已經(jīng)測(cè)試過(guò)了,包括數(shù)據(jù)寫(xiě)滿后的情況,如下圖所示:

b59d58ea-d823-11ee-a297-92fbcf53809c.png

b5a8fbe6-d823-11ee-a297-92fbcf53809c.png

這篇文章最核心的內(nèi)容就是大家在使用MOVE_BLK_VARIANT指令時(shí)要記住其SRC_INDEX和DEST_INDEX的計(jì)算是從0開(kāi)始的。感興趣的小伙伴可以把上述的代碼進(jìn)行完善,然后完成數(shù)據(jù)讀取的代碼。

好吧,就先聊到這里。


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

    關(guān)注

    0

    文章

    61

    瀏覽量

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

    關(guān)注

    1

    文章

    240

    瀏覽量

    17386

原文標(biāo)題:西門(mén)子SCL編程入門(mén)教程連載(22)——塊移動(dòng)指令

文章出處:【微信號(hào):方正智芯,微信公眾號(hào):方正智芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    變頻器的基礎(chǔ)知識(shí)及使用應(yīng)注意的問(wèn)題

    變頻器是利用電力半導(dǎo)體器件的通斷作用將工頻電源變換為另頻率的電能控制裝置。本文主要介紹了變頻器的基本知識(shí),包括它的分類(lèi)、組成、應(yīng)用范圍、使用應(yīng)
    發(fā)表于 05-13 09:10

    音樂(lè)集成電路使用應(yīng)注意事項(xiàng)

    音樂(lè)集成電路使用應(yīng)注意事項(xiàng)音樂(lè)集成電路使用應(yīng)
    發(fā)表于 09-19 16:28 ?727次閱讀

    ATmega128開(kāi)發(fā)應(yīng)用應(yīng)注意的問(wèn)題

    ATmega128開(kāi)發(fā)應(yīng)用應(yīng)注意的問(wèn)題 ATmega128是AVR系列功能最強(qiáng)的單片機(jī),具有如下主要特點(diǎn):   (1)先進(jìn)的RI
    發(fā)表于 10-26 09:06 ?3192次閱讀

    大型矩陣工程使用應(yīng)注意的問(wèn)題

    大型矩陣工程使用應(yīng)注意的問(wèn)題   大型矩陣均采用統(tǒng)的模塊化設(shè)計(jì),其好處包括:更換與維修方便;輸入/輸出組合靈活
    發(fā)表于 02-09 11:47 ?342次閱讀

    大型矩陣工程使用應(yīng)注意的問(wèn)題

    大型矩陣工程使用應(yīng)注意的問(wèn)題 大型矩陣均采用統(tǒng)的模塊化設(shè)計(jì),其好處包括:更換與維修方便;輸入/輸出組合靈活;輸入/
    發(fā)表于 02-21 13:36 ?650次閱讀

    Variant類(lèi)型的變量指令說(shuō)明

    SCL指令:TypeOf(操作數(shù)),操作數(shù)是FC/FB的Input/Output/InOut/Temp定義為Variant類(lèi)型的參數(shù),該語(yǔ)句輸出是數(shù)據(jù)類(lèi)型,程序
    的頭像 發(fā)表于 03-30 15:13 ?3059次閱讀

    介紹幾個(gè)常用MOVE系列指令

    支持通過(guò)個(gè)MOVE指令個(gè)變量傳送到多個(gè)變量,但是該功能不支持傳送復(fù)雜數(shù)據(jù)類(lèi)型(DTL、結(jié)構(gòu)、數(shù)組等)或字符串的字符。
    的頭像 發(fā)表于 07-07 10:48 ?1.2w次閱讀

    支持處理Variant類(lèi)型的變量的指令說(shuō)明

    從TIA V13SP1 開(kāi)始,S7-1200 V4.0開(kāi)始,支持以下處理Variant類(lèi)型的變量的指令。
    的頭像 發(fā)表于 01-03 16:56 ?2771次閱讀

    S7-1200填充塊指令(U)FILL_BLK使用說(shuō)明

    (U)FILL_BLK指令是當(dāng)EN條件滿足時(shí),實(shí)現(xiàn)用輸入變量批量填充輸出區(qū)域的功能。
    的頭像 發(fā)表于 01-13 10:33 ?3719次閱讀

    西門(mén)子S7-1200PLC塊移動(dòng)指令MOVE_BLK操作

    S7-1200PLC,l利用MOVE_BLK指令可以將個(gè)存儲(chǔ)區(qū)(源范圍)的數(shù)據(jù)移動(dòng)到另個(gè)
    的頭像 發(fā)表于 04-06 10:29 ?7372次閱讀

    SIMATIC S7-1500 PLC存儲(chǔ)區(qū)移動(dòng)指令與交換指令簡(jiǎn)述

    個(gè)存儲(chǔ)區(qū)(源區(qū)域)的數(shù)據(jù)移動(dòng)到另個(gè)存儲(chǔ)區(qū)(目標(biāo)區(qū)域)。使用輸入COUNT可以指定將移動(dòng)到目標(biāo)區(qū)域中的元素個(gè)數(shù)??赏ㄟ^(guò)輸入IN中元素的寬度來(lái)定義元素待移動(dòng)的寬度。存儲(chǔ)區(qū)移動(dòng)指令(
    的頭像 發(fā)表于 05-08 11:14 ?4845次閱讀
    SIMATIC S7-1500 PLC存儲(chǔ)區(qū)移動(dòng)<b class='flag-5'>指令</b>與交換<b class='flag-5'>指令</b>簡(jiǎn)述

    博途使用STLMOVE指令

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

    移動(dòng)數(shù)據(jù)的編程示例

    編程示例 在此編程示例,將移動(dòng)在生產(chǎn)班次期間為示例收集的數(shù)據(jù)值以作進(jìn)步處理。收集的數(shù)據(jù)放在 ARRAY 。通過(guò)“MOVE_BLK_VARIANT:移動(dòng)塊”(
    的頭像 發(fā)表于 08-23 10:10 ?1727次閱讀
    移動(dòng)數(shù)據(jù)的編程示例

    PLCMove指令可以實(shí)現(xiàn)什么功能?

     Move指令是PLC編程的基本指令,常用于程序
    發(fā)表于 01-10 15:13 ?1.3w次閱讀

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

    對(duì)于優(yōu)化的DB塊,可使用FILL_BLK指令或創(chuàng)建相同的UDT結(jié)構(gòu)類(lèi)型的DB塊,使用MOVE指令清零DB塊數(shù)據(jù)。
    發(fā)表于 04-15 09:34 ?1641次閱讀
    部分TIA集成<b class='flag-5'>指令</b>處理的方法<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 奇米影视婷婷 | 久草亚洲视频 | 奇米影视亚洲狠狠色777不卡 | 日本理论午夜中文字幕第一页 | 亚洲一区二区影视 | china国语对白刺激videos chinese国产videoxx实拍 | 2021久久精品国产99国产精品 | 男女视频免费观看 | 色多多·com| 黄色视屏免费看 | 国产在线五月综合婷婷 | 久久999| 国产精品久久久久久福利 | 日本a级片在线观看 | 黄色大片在线视频 | 国产高清在线 | 女人的天堂网站 | 久久综合免费视频 | 特黄特色的大片观看免费视频 | 4438x成人网最大色成网站 | 国产精品永久免费 | 无遮挡很污很爽很黄的网站 | 一级做a爱片就在线看 | 日韩在线视频免费观看 | 一级日本高清视频免费观看 | 天天翘夜夜洗澡天天做 | 91成人免费福利网站在线 | 欧美色视频超清在线观看 | 深夜视频在线免费观看 | 亚洲小说区图片区另类春色 | 亚洲免费一级视频 | 可以免费看黄色的网站 | 日本在线观看www | 欧美高清激情毛片 | 亚洲va久久久噜噜噜久久狠狠 | 免费福利片2022潦草影视午夜 | 天天做天天爱天天做天天吃中 | 午夜精品在线 | 亚洲卡5卡6卡7国色天香 | 亚洲a人片在线观看网址 | 失禁h啪肉尿出来高h受 |