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

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

3天內不再提示

博途SCL指令SCATTER:將位序列解析為單個位

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-06-07 10:47 ? 次閱讀

說明

指令“將位序列解析為單個位”用于將數據類型為 BYTE、WORD、DWORD 或 LWORD 的變量解析為單個位,并保存在 ARRAY of BOOL、匿名 STRUCT 或僅包含有布爾型元素的 PLC 數據類型中。

說明
多維 ARRAY of BOOL
使用“將位序列解析為單個位”指令時,不支持多維 ARRAY of BOOL。
說明
ARRAY、STRUCT 或 PLC 數據類型的長度
ARRAY、匿名 STRUCT 或 PLC 數據類型中包含的元素數目必須恰好等于位序列指定的數量。
例如,如果數據類型為 BYTE,則 ARRAY、STRUCT 或 PLC 數據類型中必須恰好包含 8 個元素(WORD = 16、DWORD = 32、LWORD = 64)。
說明
該指令的可用性
該指令可用于固件版本為 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本為 V2.1 及以上版本的 S7-1500 系列 CPU。

例如,通過這種方式您可以解析狀態(tài)字,并使用索引讀取和改變單個位的狀態(tài)。使用 GATHER,可再次將各個位組合為位序列。

如果滿足下列條件之一,使能輸出 ENO 將返回信號狀態(tài)“0”:

使能輸入 EN 的信號狀態(tài)為“0”。

ARRAY、STRUCT 或 PLC 數據類型中包含的 BOOL 元素數目不足。

參數 聲明 數據類型 存儲區(qū) 說明
S7-1200 S7-1500
IN Input BYTE, WORD, DWORD BYTE, WORD, DWORD, LWORD I、Q、M、D、L 所解析的位序列 這些值不得位于的 I/O 區(qū)域或工藝對象的 DB 內。
OUT Output ARRAY[*] of BOOL、STRUCT 或 PLC 數據類型 *:8、16、32 或 64 個元素 ARRAY[*] of BOOL、STRUCT 或 PLC 數據類型 *:8、16、32 或 64 個元素 I、Q、M、D、L 保存

ARRAY 的使用示例

在塊接口中創(chuàng)建以下變量:

變量 區(qū)域 數據類型
SourceWord Input WORD
DestinationArray Output ARRAY[0..15] of BOOL

以下示例說明了該指令的工作原理

SCL
SCATTER(IN := #SourceWord,
OUT => #DestinationArray);

下表將通過具體的操作數值對該指令的工作原理進行說明:

參數 操作數 數據類型
IN SourceWord WORD(16 位)
OUT DestinationArray 操作數“DestinationArray”的數據類型為 ARRAY[0..15] of BOOL。其中包含 16 個元素,因此與待解析 WORD 的長度相同。

數據類型為 WORD 的操作數 #SourceWord 解析為單個位 (16),并將其分配給操作數 #DestinationArray 的各個元素。

PLC 數據類型 (UDT) 的使用示例

創(chuàng)建以下 PLC 數據類型“myBits”:

a57aaad6-04d8-11ee-90ce-dac502259ad0.png

在塊接口中創(chuàng)建以下變量:

變量 區(qū)域 數據類型
SourceWord Input WORD
DestinationUDT Output “myBits”

以下示例說明了該指令的工作原理:

SCL
SCATTER(IN := #SourceWord,
OUT => #DestinationUDT);

下表將通過具體的操作數值對該指令的工作原理進行說明:

參數 操作數 數據類型
IN SourceWord WORD(16 位)
OUT DestinationUDT 操作數“DestinationUDT”為 PLC 數據類型 (UDT),其中包含 16 個元素,因此與待解析 WORD 的長度相同。

審核編輯:湯梓紅

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

    關注

    5006

    文章

    13109

    瀏覽量

    461465
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10805

    瀏覽量

    210847
  • 指令
    +關注

    關注

    1

    文章

    606

    瀏覽量

    35617
  • 數據類型
    +關注

    關注

    0

    文章

    236

    瀏覽量

    13596
  • SCL
    SCL
    +關注

    關注

    1

    文章

    239

    瀏覽量

    17025

原文標題:博途SCL指令SCATTER:將位序列解析為單個位

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

收藏 人收藏

    評論

    相關推薦

    SCL語言FOR循環(huán)的用法及典型案例

    SCL
    YS YYDS
    發(fā)布于 :2023年06月25日 00:06:13

    請教軟件安裝順序

    `如圖是V14軟件,大多文件了,不知道裝那個文件夾的文件先`
    發(fā)表于 07-29 21:37

    IIC軟件協(xié)議的操作序列

    尋址)。這7個數據被放置在一個字節(jié)的上7,而LSB(最低有效)被用來存儲讀/寫 (R/W) 。這個位讓從器件知道是對其進行寫入操作(
    發(fā)表于 05-29 07:58

    TIAS7-1200學習筆記指令

    本文章對S7-1200plc在軟件梯形圖方式編程中使用的指令進行了總結和俗語化描述。
    發(fā)表于 07-01 09:20

    TIAS7-1200學習筆記

    西門子S7-1200數據類型總結筆記,來源于幫助文檔。
    發(fā)表于 07-01 11:51

    西門子SCL編程:滾動數據記錄

    責任編輯:xj 原文標題:SCL編程實例:滾動數據記錄 文章出處:【微信公眾號:PLC技術圈】歡迎添加關注!文章轉載請注明出處。 ?
    的頭像 發(fā)表于 12-28 09:16 ?4066次閱讀
    西門子<b class='flag-5'>博</b><b class='flag-5'>途</b><b class='flag-5'>SCL</b>編程:滾動數據記錄

    如何使用S7-SCL中的“AT”指令?

    什么是“AT”指令,如何使用? AT指令是S7-SCL中特有的一個指令,初學者可能會忽略此指令,或者對其理解不夠深刻。AT
    的頭像 發(fā)表于 04-04 18:14 ?1.1w次閱讀
    如何使用S7-<b class='flag-5'>SCL</b>中的“AT”<b class='flag-5'>指令</b>?

    序列的組合與分解

    V1.0版本:SCATTER_BLK指令序列(Byte、Word、DWord)數組分解成Bool數組。LAD需要在下拉框選擇輸入數組I
    的頭像 發(fā)表于 10-12 17:08 ?1944次閱讀

    西門子S7-1200使用SCL語言實現雙重循環(huán)

    在TIA Portal(圖)軟件中,利用SCL語言實現如下算法。
    的頭像 發(fā)表于 03-03 09:13 ?6394次閱讀

    用中文編寫的SCL程序

    師妹: 師兄,我昨天貌似看到你在玩掃雷游戲?這玩的是游戲還是懷舊青春呀? 布道師: 這你就不懂了吧~這是網路上某位大神用中文寫的途程序哦! 師妹: 用做的小游戲我頁看過幾個,這還能全中文編寫
    的頭像 發(fā)表于 05-29 09:31 ?992次閱讀
    用中文編寫的<b class='flag-5'>博</b><b class='flag-5'>途</b><b class='flag-5'>SCL</b>程序

    西門子SCL的GOTO跳轉指令

    跳轉標簽和“跳轉”指令必須在同一個塊中。在一個塊中,跳轉標簽的名稱只能指定一次。每個跳轉標簽可以是多個跳轉指令的目標
    發(fā)表于 07-03 14:53 ?7853次閱讀

    西門子SCL:TOF:關斷延時

    可以使用“關斷延時”指令 Q 參數的復位延時 PT 指定的一段時間。當參數 IN 的邏輯運算結果 (RLO) 從“0”變?yōu)椤?”(信號上升沿)時,置參數 Q。
    的頭像 發(fā)表于 07-10 18:24 ?5230次閱讀
    西門子<b class='flag-5'>博</b><b class='flag-5'>途</b>:<b class='flag-5'>SCL</b>:TOF:關斷延時

    西門子SHL左移指令詳解

    使用“左移”指令,可以參數 IN 的內容逐向左移動,并將結果作為函數值返回。參數 N 用于指定應將特定值移位的位數。
    的頭像 發(fā)表于 07-11 10:37 ?4564次閱讀
    西門子<b class='flag-5'>博</b><b class='flag-5'>途</b>SHL左移<b class='flag-5'>指令</b>詳解

    西門子SCL:REGION:構建程序代碼的步驟

    可以使用指令“構建程序代碼”,在 SCL 塊中構建程序代碼并將其分為幾個不同區(qū)域。
    的頭像 發(fā)表于 07-31 09:09 ?5878次閱讀

    西門子SCL:ROR:循環(huán)右移的方法

    使用“循環(huán)右移”指令,參數 IN 的內容逐向右循環(huán)移位,并將結果賦值給指定的操作數。
    的頭像 發(fā)表于 07-31 09:10 ?3583次閱讀
    西門子<b class='flag-5'>博</b><b class='flag-5'>途</b><b class='flag-5'>SCL</b>:ROR:循環(huán)右移的方法