女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

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

jf_61nrsJTz ? 來源:方正智芯 ? 2024-03-04 10:51 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

說明:

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

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

舉個例子:

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

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

假設(shè)過程結(jié)果存放在變量tmpResult中。第一次將過程結(jié)果存放到存儲區(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ù)組的第一個元素中。由于該數(shù)組的下限為1,所以存放在data[1]中。假設(shè)定義的存放數(shù)據(jù)為data[10..110],則存放第一條記錄的“DEST_INDEX”的值仍然為0,由于該數(shù)組的下限為10,因此數(shù)據(jù)存放在data[10]中。

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

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

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

代碼如下圖所示:

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

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

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

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

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

好吧,就先聊到這里。


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

    關(guān)注

    0

    文章

    61

    瀏覽量

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

    關(guān)注

    1

    文章

    243

    瀏覽量

    17453

原文標題:西門子SCL編程入門教程連載(22)——塊移動指令

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

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

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

    ATmega128開發(fā)應(yīng)用應(yīng)注意的問題

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

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

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

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

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

    Variant類型的變量指令說明

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

    介紹幾個常用MOVE系列指令

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

    支持處理Variant類型的變量的指令說明

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

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

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

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

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

    SIMATIC S7-1500 PLC存儲區(qū)移動指令與交換指令簡述

    個存儲區(qū)(源區(qū)域)的數(shù)據(jù)移動到另個存儲區(qū)(目標區(qū)域)。使用輸入COUNT可以指定將移動到目標區(qū)域中的元素個數(shù)。可通過輸入IN中元素的寬度來定義元素待移動的寬度。存儲區(qū)移動指令(
    的頭像 發(fā)表于 05-08 11:14 ?5056次閱讀
    SIMATIC S7-1500 PLC存儲區(qū)移動<b class='flag-5'>指令</b>與交換<b class='flag-5'>指令</b>簡述

    博途使用STLMOVE指令

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

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

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

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

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

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

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