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

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

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

位序列的組合與分解

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-10-12 17:08 ? 次閱讀

位序列的組合與分解

位序列的組合與分解(LAD和SCL)包括如圖1所示4個指令:

3918d5f4-3c0e-11ed-9e49-dac502259ad0.jpg

圖1 指令位置

其中SCATTER(_BLK)是將位序列(數(shù)組)分解成若干Bool變量,GATHER(_BLK)是將若干Bool變量組合成位序列(數(shù)組)。

版本:

1. TIA 博途 V14SP1開始,S7-1200 V4.2支持V1.0版本

2. TIA 博途 V15開始,S7-1200 V4.2支持V1.1版本

SCATTER

3944e96e-3c0e-11ed-9e49-dac502259ad0.jpg

圖2 SCATTER指令詳情

V1.0版本:SCATTER指令是將位序列(Byte、Word、DWord)分解成Bool數(shù)組,其中Byte分解成8Bool元素的數(shù)組,Word分解成16Bool元素的數(shù)組,DWord分解成32Bool元素的數(shù)組。LAD需要在下拉框“???”選擇輸入類型(Byte、Word、DWord),SCL無需選擇。IN是待分解的位序列變量,OUT是Bool數(shù)組名,元素數(shù)量必須正好符合要求。

V1.1版本:OUT除Bool數(shù)組之外,可以是Struct、UDT類型的變量,變量內(nèi)是連續(xù)的8Bool、16Bool、32Bool,OUT處填寫Struct、UDT類型的變量名。

注:LAD版本的SCATTER,如果調(diào)用該塊的OBFBFC如果沒有激活I(lǐng)EC檢查,IN變量支持整數(shù)、字符、TIME、DATE、TOD類型。

使用舉例,如圖3-5所示:

1. 將Word變量"DB66".Static_1分解成Array[0..15] of Bool變量"DB66".Static_2,將Byte變量"DB66".Static_3分解成UDT中的連續(xù)8個Bool變量Tag_3

3956e9d4-3c0e-11ed-9e49-dac502259ad0.jpg

圖3 DB66的定義

3972eda0-3c0e-11ed-9e49-dac502259ad0.jpg

圖4 Q點在PLC變量表的定義

39914f66-3c0e-11ed-9e49-dac502259ad0.jpg

圖5 程序詳情

SCATTER_BLK

39b65ed2-3c0e-11ed-9e49-dac502259ad0.jpg

圖6 SCATTER_BLK指令詳情

V1.0版本:SCATTER_BLK指令是將位序列(Byte、Word、DWord)數(shù)組分解成Bool數(shù)組。LAD需要在下拉框選擇輸入數(shù)組IN的類型(Byte、Word、DWord),COUNT_IN的類型(USInt、UInt、UDInt),SCL無需選擇。IN是待分解的位序列數(shù)組起始元素,COUNT_IN是待分解的位序列數(shù)組元素個數(shù),OUT是接收的Bool數(shù)組起始元素。

V1.1版本:OUT除Bool數(shù)組之外,可以是Struct、UDT類型的變量,變量內(nèi)是連續(xù)的Bool變量,OUT處填寫Struct、UDT類型內(nèi)的接收的Bool起始變量。

注意:

1. 當COUNT_IN超過了位序列數(shù)組元素個數(shù),將不執(zhí)行指令。如果激活指令的ENO功能,則ENO=False。

2. 當所需的Boo數(shù)量超過了已有的Bool數(shù)量,指令正常執(zhí)行,多余部分被舍棄。

3. 當Bool數(shù)組起始

使用舉例,如圖7-8所示:

1. 將"DB67".Static_1,從第3個元素開始的2個Byte變量分解成"DB67".Static_2,從第1個元素開始

2. 將"DB67".Static_3,從第1個元素開始的2個Byte變量變量分解成"DB67".Static_4,從這個Struct第一個變量開始

39c87e96-3c0e-11ed-9e49-dac502259ad0.jpg

圖7 DB67中的定義

39e20a1e-3c0e-11ed-9e49-dac502259ad0.jpg

圖8 程序詳情

GATHER

39ee98ec-3c0e-11ed-9e49-dac502259ad0.jpg

圖9 GATHER指令詳情

V1.0版本:GATHER指令是將Bool數(shù)組合并成位序列(Byte、Word、DWord),其中8Bool元素的數(shù)組合并成Byte,16Bool元素的數(shù)組合并成Word,32Bool元素的數(shù)組合并成DWord。LAD需要在下拉框選擇輸出類型(Byte、Word、DWord),SCL無需選擇。IN是Bool數(shù)組名,元素數(shù)量必須正好符合要求,OUT是合并后的位序列變量。

V1.1版本:IN除Bool數(shù)組之外,可以是Struct、UDT類型的變量,變量內(nèi)是連續(xù)的8Bool、16Bool、32Bool,OUT處填寫Struct、UDT類型的變量名。

使用舉例,如圖10-12所示:

1. 將Array[0..15] of Bool變量"DB68".Static_1合并成Word變量"DB68".Static_2,將UDT中的連續(xù)8個Bool變量Tag_4合并成Byte變量"DB68".Static_3

3a07b35e-3c0e-11ed-9e49-dac502259ad0.jpg

圖10 DB68中的定義

3a1f1b66-3c0e-11ed-9e49-dac502259ad0.jpg

圖11 I點在PLC變量表的定義

3a3b15e6-3c0e-11ed-9e49-dac502259ad0.jpg

圖12 程序詳情

GATHER_BLK

3a5be212-3c0e-11ed-9e49-dac502259ad0.jpg

圖13 GATHER_BLK指令詳情

V1.0版本:GATHER_BLK指令是將Bool數(shù)組合并成位序列(Byte、Word、DWord)數(shù)組。LAD需要在下拉框選擇輸出數(shù)組OUT的類型(Byte、Word、DWord),COUNT_IN的類型(USInt、UInt、UDInt),SCL無需選擇。IN是待合并的Bool數(shù)組起始元素,COUNT_IN是合并后的位序列數(shù)組元素個數(shù),OUT是位序列數(shù)組起始元素。

V1.1版本:IN除Bool數(shù)組之外,可以是Struct、UDT類型的變量,變量內(nèi)是連續(xù)的Bool變量,IN處填寫Struct、UDT類型內(nèi)的接收的Bool起始變量。

注意:

1. 當COUNT_IN超過了位序列數(shù)組元素個數(shù),將不執(zhí)行指令。如果激活指令的ENO功能,則ENO=False。

2. 當所需的Boo數(shù)量超過了已有的Bool數(shù)量,將不執(zhí)行指令,如果激活指令的ENO功能,則ENO=False。

使用舉例,如圖14-15所示:

1. 將"DB69".Static_2,從第1個Bool元素開始合并成"DB69".Static_1,從第3個元素開始的2個Byte變量

2. 將"DB69".Static_4,從Struct第1個元素開始合并成"DB69".Static_3,從第1個元素開始的2個Byte變量

3a729d86-3c0e-11ed-9e49-dac502259ad0.jpg

圖14 DB69中的定義

3a91c120-3c0e-11ed-9e49-dac502259ad0.jpg

圖15 程序詳情

審核編輯:郭婷

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

    關(guān)注

    5013

    文章

    13345

    瀏覽量

    464381

原文標題:位序列的組合與分解

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

收藏 人收藏

    評論

    相關(guān)推薦

    模態(tài)分解合集matlab代碼

    run_decomp運行其他算法run_multivariate 運行mvmdmemdrun_wpd運行wpdrun_dwt運行dwtEMD(經(jīng)驗?zāi)B(tài)分解,Empirical?Mode
    發(fā)表于 12-20 17:36 ?1次下載

    如何使用RNN進行時間序列預(yù)測

    時間序列預(yù)測在金融、氣象、銷售預(yù)測等領(lǐng)域有著廣泛的應(yīng)用。傳統(tǒng)的時間序列分析方法,如ARIMA和指數(shù)平滑,雖然在某些情況下表現(xiàn)良好,但在處理非線性和復(fù)雜模式時可能不夠靈活。遞歸神經(jīng)網(wǎng)絡(luò)(RNN)提供了
    的頭像 發(fā)表于 11-15 09:45 ?349次閱讀

    繼電器組合組合架的作用

    繼電器組合組合架是電氣控制系統(tǒng)中的重要組成部分,它們在電路中起到保護、控制和信號傳遞的作用。繼電器組合組合架的設(shè)計和應(yīng)用對于確保電氣系統(tǒng)的穩(wěn)定運行至關(guān)重要。 1. 繼電器的基本概念
    的頭像 發(fā)表于 09-27 14:35 ?671次閱讀

    【「時間序列與機器學(xué)習(xí)」閱讀體驗】時間序列的信息提取

    本章主講時間序列的信息提取,章節(jié)中有許多概念定義和數(shù)學(xué)公式,并配有Python代碼演示,細細品讀與理解動手演練,還是很開拓思維視野的。下面以筆記形式進行展開。 時間序列的信息提取是時間序列分析的一
    發(fā)表于 08-17 21:12

    【《時間序列與機器學(xué)習(xí)》閱讀體驗】+ 時間序列的信息提取

    之前對《時間序列與機器學(xué)習(xí)》一書進行了整體瀏覽,并且非常輕松愉快的完成了第一章的學(xué)習(xí),今天開始學(xué)習(xí)第二章“時間序列的信息提取”。 先粗略的翻閱第二章,內(nèi)容復(fù)雜,充斥了大量的定義、推導(dǎo)計算、代碼,好在
    發(fā)表于 08-14 18:00

    量子計算場景實用秘籍:開物SDK之subQUBO算法分解

    subQUBO算法是一種將大規(guī)模組合優(yōu)化問題分解為若干個小規(guī)模問題以便能在當前中小規(guī)模量子計算機上實現(xiàn)求解的方法。
    的頭像 發(fā)表于 08-13 11:05 ?1216次閱讀
    量子計算場景實用秘籍:開物SDK之subQUBO算法<b class='flag-5'>分解</b>

    【《時間序列與機器學(xué)習(xí)》閱讀體驗】+ 了解時間序列

    收到《時間序列與機器學(xué)習(xí)》一書,彩色印刷,公式代碼清晰,非常精美。感謝作者,感謝電子發(fā)燒友提供了一個讓我學(xué)習(xí)時間序列及應(yīng)用的機會! 前言第一段描述了編寫背景: 由此可知,這是一本關(guān)于時間序列進行大數(shù)
    發(fā)表于 08-11 17:55

    數(shù)字信號是什么信號的組合

    數(shù)字信號是一種由數(shù)字值序列組成的信號,它在通信、計算機、電子和自動化等領(lǐng)域具有廣泛的應(yīng)用。數(shù)字信號的組合涉及到許多方面,包括數(shù)字信號的產(chǎn)生、傳輸、處理和應(yīng)用等。 數(shù)字信號的基本概念 數(shù)字信號是一種
    的頭像 發(fā)表于 08-11 10:47 ?940次閱讀

    【「時間序列與機器學(xué)習(xí)」閱讀體驗】全書概覽與時間序列概述

    本帖最后由 1653149838.791300 于 2024-8-12 20:18 編輯 [/td] [td]收到《時間序列與機器學(xué)習(xí)》這本書,很是欣喜,書籍內(nèi)容很詳實也是自己很感興趣
    發(fā)表于 08-07 23:03

    傳感器,你選對了嗎?

    一流液傳感器系列產(chǎn)品與應(yīng)用分解
    的頭像 發(fā)表于 08-07 14:52 ?3187次閱讀
    液<b class='flag-5'>位</b>傳感器,你選對了嗎?

    深度學(xué)習(xí)中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域的重要任務(wù)之一,廣泛應(yīng)用于人體活動識別、系統(tǒng)監(jiān)測、金融預(yù)測、醫(yī)療診斷等多個領(lǐng)域。隨著深度學(xué)習(xí)技術(shù)
    的頭像 發(fā)表于 07-09 15:54 ?1069次閱讀

    名單公布!【書籍評測活動NO.35】如何用「時間序列與機器學(xué)習(xí)」解鎖未來?

    重要意義。 比如,你是一家超市的經(jīng)理,已經(jīng)獲得了數(shù)百種產(chǎn)品的每日銷售歷史數(shù)據(jù),需要尋找一種時間序列預(yù)測算法來預(yù)測未來幾周的銷售情況。 再比如,你是一運維工程師,想要知道當前的業(yè)務(wù)運轉(zhuǎn)是否正常,在未來
    發(fā)表于 06-25 15:00

    數(shù)字序列信號發(fā)生器如何測量

    數(shù)字序列信號發(fā)生器(Digital Sequence Signal Generator,簡稱DSSG)是一種用于生成數(shù)字序列信號的設(shè)備。它廣泛應(yīng)用于通信、雷達、電子對抗等領(lǐng)域。本文將詳細介紹數(shù)字序列
    的頭像 發(fā)表于 06-03 14:04 ?459次閱讀

    時間序列分析的異常檢測綜述

    時間序列是在不同時點記錄一個或多個變量值的數(shù)據(jù)。例如,每天訪問網(wǎng)站的人數(shù)、每月城市的 average 溫度、每小時的股票價格等。時間序列非常重要,因為它們允許我們分析過去,理解現(xiàn)在,并預(yù)測未來。
    的頭像 發(fā)表于 03-11 09:36 ?649次閱讀
    時間<b class='flag-5'>序列</b>分析的異常檢測綜述

    TSMaster 序列發(fā)送模塊在汽車開發(fā)測試中的應(yīng)用

    眾所周知,序列發(fā)送模塊可以不需要腳本代碼實現(xiàn)測試中特定控制報文序列的發(fā)送,該模塊多用于循環(huán)順序控制的測試案例中。序列發(fā)送模塊的常用場景,主要是針對一些新開發(fā)的產(chǎn)品需要通過該模塊來驗證產(chǎn)品功能等等
    的頭像 發(fā)表于 02-19 14:00 ?722次閱讀
    TSMaster <b class='flag-5'>序列</b>發(fā)送模塊在汽車開發(fā)測試中的應(yīng)用