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

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

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

3天內不再提示

S7-1200的Deserialize與Serialize介紹

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2022-12-26 11:36 ? 次閱讀

Deserialize(反序列化)、Serialize(序列化)

S7-1200將Byte數組(即Byte流)看做是序列,也就是標準數組。與之相反,其他所有格式都是非序列的,通常程序使用的都是非序列的,例如Struct,UDT,或其他格式。

序列化和反序列化指令的作用就是在實現標準數組和其他格式的轉換。

對于某些標準功能塊,最方便處理的是Byte數組,但處理對象往往是多樣的例如Struct、UDT或者其他格式,這時最好的方法就是先將各類對象統一序列化成Byte數組,然后執行相關功能塊,最后在執行反序列化返回初始對象。如圖1所示,為這兩個指令實現的結果。

TIA V13SP1,S7-1200 V4.0開始支持這兩個指令。

3b1db22c-8469-11ed-bfe3-dac502259ad0.jpg

圖1 指令實現的功能

3b386ab8-8469-11ed-bfe3-dac502259ad0.jpg

圖2 指令位置

3b4bf4b6-8469-11ed-bfe3-dac502259ad0.jpg

圖3 指令詳情

對于Deserialize(反序列化)、Serialize(序列化),目前出了2個版本的指令:

1. TIA 博途 V13SP1開始,S7-1200 V4.0、V4.1支持V1版本,以下為V1版本說明:

Deserialize:參數參見表1

表1 Deserialize參數

參數 聲明 數據類型 說明
SRC_ARRAY Input Variant或Array of Byte 標準Byte數組
POS InOut DInt 見下面注意4
Ret_Val Return Int 錯誤代碼
DEST_VARIABLE Output Variant或Struct、UDT、Array等 反序列化后的輸出變量

Serialize:參數參見表2

表2 Serialize參數

參數 聲明 數據類型 說明
SRC_VARIABLE Input Variant或Struct、UDT、Array等 待序列化的輸入變量
POS InOut DInt 見下面注意4
Ret_Val Return Int 錯誤代碼
DEST_ARRAY Output Variant或Array of Byte 標準Byte數組

注意:

(1) V1版本中標準Byte數組不能是優化數據塊的數組,可以是諸如P#M100.0 Byte 10這種看做是數組的(原因)。所以Deserialize的SRC_ARRAY與Serialize的DEST_ARRAY支持的Variant類型其實指向的就是P#指針這種,指向其他類型都不可以。

(2)同樣是Variant類型,Deserialize的DEST_VARIABLE與Serialize的SRC_VARIABLE是真正的支持Variant類型,并且是可以處理Variant類型的變量的指令之二。

(3) SRC_ARRAY/DEST_ARRAY的數組大小要大于DEST_VARIABLE/SRC_VARIABLE的空間占用

(4)DEST_VARIABLE/SRC_VARIABLE空間占用的計算規則:

位變量位于另一位變量后則地址連續排布,如果位于其他變量類型的后面,則需要從整字節地址開始;

字節大小的變量從整字節地址開始;

字、雙字、四字的變量從偶數字節地址開始;

例子:如圖4所示,雖然總數上是5個字節,但是因為整形變量從偶數字節地址開始所以空出了一個字節,因此這種排布需要占6個字節。

3b66abbc-8469-11ed-bfe3-dac502259ad0.jpg

圖4 6個字節的排布

(4)POS變量

POS變量聲明是InOut,用在Byte數組的下標變量,有輸入有輸出。

Deserialize:POS的初始輸入作為待轉化的Byte數組的起始元素,指令結束后,POS的輸出=初始輸入+DEST_VARIABLE占據的字節數

也可以看做指針,初始指針指向Byte數組所在的POS位置,轉化后,指針移動了DEST_VARIABLE占據的字節數。

注意:POS>=0,當POS=0時,為Byte數組的第一個元素,所以建議Byte數組使用Array[0..x] of Byte,這樣Byte數組下標可以和POS對應上。

例子:POS實例,如圖5所示。

3b7d7f4a-8469-11ed-bfe3-dac502259ad0.jpg

圖5 POS示例

①:初始POS=0,指針指向數組第0個元素

②:執行Deserialize,轉化了12個字節,POS的輸出=0+12=12,指針指向數組第12個元素

Serialize:POS的初始輸入作為轉化后的Byte數組的起始元素,指令結束后,POS的輸出=初始輸入+SRC_VARIABLE占據的字節數

也可以看做指針,初始指針指向Byte數組所在的POS位置,轉化后,指針移動了SRC_VARIABLE占據的字節數。

注意:POS>=0,當POS=0時,為Byte數組的第一個元素,所以建議Byte數組使用Array[0..x] of Byte,這樣Byte數組下標可以和POS對應上。

例子參考圖5:

①:初始POS=0,指針指向數組第0個元素

②:執行Serialize,轉化了12個字節,POS的輸出=0+12=12,指針指向數組第12個元素

2. TIA 博途 V14開始,S7-1200 V4.2支持V2版本

功能與V1版本不同的是

(1)標準Byte數組可以是優化數據塊的數組

(2)Deserialize的SRC_ARRAY支持Array[*] of Byte

使用舉例:

編寫FC,實現清零各種DB塊的變量

思路:

1. 將需要清空的DB塊內所有變量放入Struct/UDT,或者將需要清空的數據塊建立成UDT類型生成的DB,然后使用Deserialize(反序列化)指令清空。

2. 用于清空的Byte數組可以使用M區。對于S7-1211C與S7-1212C有4kB的M區,對于S7-1214C、S7-1215C、S7-1217C有8kB的M區,通常不會用到很多,這樣可以利用其中靠后不常用的區域,例如2kB來清空最多2kB的DB塊。

3. 有多個不同的結構的DB,都可以先后清空。

編寫的FC、DB及調用,如圖6-8所示。

3b981076-8469-11ed-bfe3-dac502259ad0.jpg

圖6 FC編寫

3baea5c0-8469-11ed-bfe3-dac502259ad0.jpg

圖7 使用的DB24

3bbb4b54-8469-11ed-bfe3-dac502259ad0.jpg

圖8 FC調用

圖8中DB37為UDT_1類型生成的DB,可以直接填寫在Variant類型的InOut_1的實參處,并且完整清空DB37。






審核編輯:劉清

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

    關注

    3

    文章

    119

    瀏覽量

    28327
  • SRC
    SRC
    +關注

    關注

    0

    文章

    61

    瀏覽量

    18008
  • S7-1200
    +關注

    關注

    11

    文章

    331

    瀏覽量

    18010

原文標題:S7-1200:Deserialize(反序列化)、Serialize(序列化)

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

收藏 人收藏

    評論

    相關推薦

    基于S7-1200的設備與網絡組態

    本文檔內容介紹了基于S7-1200的設備與網絡組態,以及S7-1200的概要及功能。
    發表于 09-25 18:14 ?28次下載
    基于<b class='flag-5'>S7-1200</b>的設備與網絡組態

    基于S7-1200的軟硬件要求及實例

    本文檔內容介紹了基于S7-1200的軟硬件要求及實例,供網友參考。
    發表于 09-25 18:18 ?22次下載
    基于<b class='flag-5'>S7-1200</b>的軟硬件要求及實例

    基于S7-1200的PLC的編程及擴展

    S7-1200 系列是一款可編程邏輯控制器 (PLC, Programmable Logic Controller),可以控制各種自動化應用。S7-1200設計緊湊、成本低廉且具有功能強大的指令集
    發表于 09-25 18:39 ?24次下載

    WinCC V7.2與S7-1200的PLC通訊

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200, S7-1500 Channel通道,用于WinCC與 S7-1200/S7-1500 PLC之間的通信。此
    發表于 09-26 19:06 ?11次下載
    WinCC V7.2與<b class='flag-5'>S7-1200</b>的PLC通訊

    基于WinCC V7.2與S7-1200/1500 PLC通訊步驟介紹

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200, S7-1500 Channel通道,用于WinCC與 S7-1200/S7-1500 PLC之間的通信。此
    發表于 09-28 11:01 ?37次下載
    基于WinCC V7.2與<b class='flag-5'>S7-1200</b>/1500 PLC通訊步驟<b class='flag-5'>介紹</b>

    s7-1200系統手冊

    S7-1200適用
    發表于 10-23 09:41 ?0次下載

    S7-1200入門手冊

    S7-1200適用
    發表于 10-23 09:34 ?0次下載

    s7-1200技術規范

    S7-1200適用
    發表于 10-23 09:29 ?0次下載

    S7-1200通訊手冊

    本文檔內容介紹了基于S7-1200通訊,其中包含了配置步驟圖文詳解。供網友參考
    發表于 11-28 19:49 ?34次下載

    S7-1200S7-1200進行S7通信的詳細資料說明

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持 S7 單邊通信,僅需在客戶端單邊組態連接和編程,
    的頭像 發表于 08-17 10:51 ?2.9w次閱讀
    <b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>進行<b class='flag-5'>S7</b>通信的詳細資料說明

    S7-1200 PWM功能簡介

    S7-1200 PWM功能簡介。
    發表于 04-23 14:38 ?43次下載

    S7-1200:Deserialize(反序列化)、Serialize(序列化)

    S7-1200將Byte數組(即Byte流)看做是序列,也就是標準數組。與之相反,其他所有格式都是非序列的,通常程序使用的都是非序列的,例如Struct,UDT,或其他格式。
    的頭像 發表于 04-19 11:23 ?3795次閱讀

    S7-1200:Deserialize(反序列化)、Serialize(序列化)

    V1版本中標準Byte數組不能是優化數據塊的數組,可以是諸如P#M100.0 Byte 10這種看做是數組的(原因)。所以Deserialize的SRC_ARRAY與Serialize的DEST_ARRAY支持的Variant類型其實指向的就是P#指針這種,指向其他類型都
    的頭像 發表于 04-27 16:16 ?3875次閱讀

    S7-1200S7-300的選型區別

    在硬件擴展方面,S7-300的主機架多支持八個擴展模塊,而S7-1200支持擴展多八個信號模塊和多三個通信模塊。以S7-300 CPU313C和S7-1200 CPU1214C為例,
    的頭像 發表于 05-04 15:18 ?1727次閱讀
    <b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300的選型區別

    西門子S7-1200 PLC的指令介紹

    了最新的技術,為用戶提供了更為高效、靈活的控制方案。本文將詳細介紹S7-1200 PLC的指令系統,包括其指令分類、具體指令功能以及在實際應用中的優勢。
    的頭像 發表于 06-18 14:52 ?2958次閱讀
    主站蜘蛛池模板: 色婷婷国产麻豆AV| 国产精品无码视频一区二区| 久久精品小视频| 正能量不良WWW免费窗口| 男女交性视频无遮挡全过程| AV无码九九久久| 无码乱人伦一区二区亚洲| 国产在线一卡二卡| 91视频18| 午夜精品久久久久久99热蜜桃| 精品国产乱码久久久久久人妻| 中字幕视频在线永久在线 | 校花的奶好大好浪| 久久青青热| 国产久久re6免费热在线| 夜色55夜色66亚洲精品网站| 欧美美女性生活| 精品淑女少妇AV久久免费| 99热这里有精品| 亚洲精品国产精麻豆久久99| 欧美18videosex初次| 精品一二三区久久AAA片| 成年黄网站免费大全毛片| 在线观看视频一区| 亚洲国产精品第一影院在线观看| 欧美日韩在线成人看片a| 精品高潮呻吟99AV无码视频| 儿媳妇完整版视频播放免费观看| 在线精彩视频在线观看免费| 贤妻良母电影日本| 三级黄色片免费观看| 男人插曲女人下生免费大全| 久久超碰色中文字幕| 国产一区内射最近更新| 波多野结衣教师系列6| 96精品视频| 69xx欧美| 91日本在线观看亚洲精品| 538久久视频在线| 69日本人XXXX护士HD| 做你的爱人BD日本|