chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-04-27 16:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

S7-1200將Byte數(shù)組(即Byte流)看做是序列,也就是標準數(shù)組。與之相反,其他所有格式都是非序列的,通常程序使用的都是非序列的,例如Struct,UDT,或其他格式。序列化和反序列化指令的作用就是在實現(xiàn)標準數(shù)組和其他格式的轉(zhuǎn)換。對于某些標準功能塊,最方便處理的是Byte數(shù)組,但處理對象往往是多樣的例如Struct、UDT或者其他格式,這時最好的方法就是先將各類對象統(tǒng)一序列化成Byte數(shù)組,然后執(zhí)行相關(guān)功能塊,最后在執(zhí)行反序列化返回初始對象。如圖1所示,為這兩個指令實現(xiàn)的結(jié)果。

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

7fdb7346-c582-11ec-bce3-dac502259ad0.jpg

圖1 指令實現(xiàn)的功能

7feeebe2-c582-11ec-bce3-dac502259ad0.jpg

圖2 指令位置

8007fb14-c582-11ec-bce3-dac502259ad0.jpg

圖3 指令詳情

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

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

Deserialize:參數(shù)參見表1

表1 Deserialize參數(shù)

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

Serialize:參數(shù)參見表2

表2 Serialize參數(shù)

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

注意:

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

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

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

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

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

  • 字節(jié)大小的變量從整字節(jié)地址開始;

  • 字、雙字、四字的變量從偶數(shù)字節(jié)地址開始;

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

80218d4a-c582-11ec-bce3-dac502259ad0.jpg

圖4 6個字節(jié)的排布

(4)POS變量

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

Deserialize:POS的初始輸入作為待轉(zhuǎn)化的Byte數(shù)組的起始元素,指令結(jié)束后,POS的輸出=初始輸入+DEST_VARIABLE占據(jù)的字節(jié)數(shù)

也可以看做指針,初始指針指向Byte數(shù)組所在的POS位置,轉(zhuǎn)化后,指針移動了DEST_VARIABLE占據(jù)的字節(jié)數(shù)。

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

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

803a4ea2-c582-11ec-bce3-dac502259ad0.jpg

圖5 POS示例

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

②:執(zhí)行Deserialize,轉(zhuǎn)化了12個字節(jié),POS的輸出=0+12=12,指針指向數(shù)組第12個元素

Serialize:POS的初始輸入作為轉(zhuǎn)化后的Byte數(shù)組的起始元素,指令結(jié)束后,POS的輸出=初始輸入+SRC_VARIABLE占據(jù)的字節(jié)數(shù)

也可以看做指針,初始指針指向Byte數(shù)組所在的POS位置,轉(zhuǎn)化后,指針移動了SRC_VARIABLE占據(jù)的字節(jié)數(shù)。

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

例子參考圖5:

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

②:執(zhí)行Serialize,轉(zhuǎn)化了12個字節(jié),POS的輸出=0+12=12,指針指向數(shù)組第12個元素

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

功能與V1版本不同的是

(1)標準Byte數(shù)組可以是優(yōu)化數(shù)據(jù)塊的數(shù)組

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

使用舉例:

編寫FC,實現(xiàn)清零各種DB塊的變量

思路:

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

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

3. 有多個不同的結(jié)構(gòu)的DB,都可以先后清空。

編寫的FC、DB及調(diào)用,如圖6-8所示。

804fa464-c582-11ec-bce3-dac502259ad0.jpg

圖6 FC編寫

806f878e-c582-11ec-bce3-dac502259ad0.jpg

圖7 使用的DB24

80865306-c582-11ec-bce3-dac502259ad0.jpg

圖8 FC調(diào)用

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

審核編輯 :李倩


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

    關(guān)注

    0

    文章

    615

    瀏覽量

    29303
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    420

    瀏覽量

    27038
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    333

    瀏覽量

    19086

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    S7-1200 G2++在機械制造行業(yè)的應(yīng)用分析

    西門子S7-1200 G2++作為新一代基礎(chǔ)型控制器,通過軟硬件全面升級,在機械制造領(lǐng)域展現(xiàn)出顯著的技術(shù)優(yōu)勢和應(yīng)用價值。其核心特性包括增強的運動控制性能、靈活的模塊設(shè)計、高效的通訊能力以及集成
    的頭像 發(fā)表于 10-19 08:59 ?22次閱讀

    天拓四方分享:什么事S7-1200 G2++?

    中國市場動態(tài),致力于滿足廣大用戶的多樣需求?;诖?,西門子在 S7-1200 G2 的基礎(chǔ)上,精心打造了增強型 PLC——S7-1200 G2++。此次推出的型號包含 S7 - 12
    的頭像 發(fā)表于 09-05 17:17 ?713次閱讀

    plc以太網(wǎng)通訊模塊實現(xiàn):S7-200與S7-1200借PPI助力農(nóng)業(yè)自動發(fā)展

    一:S7-200與S71200 在某大型食品加工廠的生產(chǎn)線升級項目中,西門子S7-200與S7-1200的通訊難題一度成為制約生產(chǎn)效率提升的瓶頸。S
    的頭像 發(fā)表于 08-14 09:41 ?270次閱讀
    plc以太網(wǎng)通訊模塊實現(xiàn):<b class='flag-5'>S7</b>-200與<b class='flag-5'>S7-1200</b>借PPI助力農(nóng)業(yè)自動<b class='flag-5'>化</b>發(fā)展

    西門子S7-200與S7-1200通過PPI以太網(wǎng)模塊通訊,賦能汽車制造行業(yè)發(fā)展

    通訊接口局限于RS485等串口形式,完全不具備以太網(wǎng)接口,這給與自帶以太網(wǎng)接口的S7-1200實現(xiàn)通訊帶來了巨大阻礙。兩者不僅物理接口類型迥異,通訊協(xié)議也存在本質(zhì)差異:S7-200依賴PPI協(xié)議進行串口通訊,而S7-1200則以
    的頭像 發(fā)表于 08-12 14:35 ?466次閱讀
    西門子<b class='flag-5'>S7</b>-200與<b class='flag-5'>S7-1200</b>通過PPI以太網(wǎng)模塊通訊,賦能汽車制造行業(yè)發(fā)展

    西門子PLC(S7-1200/1500/300/400)的數(shù)據(jù)采集與監(jiān)控方案

    西門子PLC S7-1200S7-1500、S7-300/400型號設(shè)備,常用協(xié)議:PPI(Process Communication Interface)、PLC與上位機、HMI數(shù)據(jù)交換
    的頭像 發(fā)表于 07-04 10:13 ?750次閱讀

    西門子S7-1200 G2的7大亮點及最新功能

    西門子S7-1200 G2是新發(fā)布的新一代可編程邏輯控制器(PLC),作為S7-1200系列的升級版,它在硬件設(shè)計、性能、運動控制、通信能力和安全功能等方面進行了顯著改進,適用于中小型自動
    的頭像 發(fā)表于 07-03 17:04 ?1715次閱讀
     西門子<b class='flag-5'>S7-1200</b> G2的<b class='flag-5'>7</b>大亮點及最新功能

    TaskPool和Worker的對比分析

    TaskPoolWorker內(nèi)存模型線程間隔離,內(nèi)存不共享。線程間隔離,內(nèi)存不共享。 參數(shù)傳遞機制采用標準的結(jié)構(gòu)克隆算法(Structured Clone)進行序列化反序列化,完成參數(shù)傳遞。 支持ArrayBuffer
    發(fā)表于 06-18 06:43

    鴻蒙5開發(fā)寶藏案例分享---跨線程性能優(yōu)化指南

    為什么拖慢性能? 當對象跨線程傳遞時(比如主線程→子線程),系統(tǒng)會 自動序列化反序列化 。如果對象結(jié)構(gòu)復(fù)雜(比如嵌套數(shù)組、類方法),耗時會暴增!舉個例子: // 未優(yōu)化的寫法:傳遞整個對象
    發(fā)表于 06-12 17:13

    S7-200Smart與S7-1200通過Modbus協(xié)議對接到上位機

    在自動化生產(chǎn)車間中,分布多臺PLC自動設(shè)備,如包裝機(S7-200Smart)、灌裝產(chǎn)線(S7-1200)需要用上位機軟件集中控制。這些設(shè)備距離在幾米到幾十米不等。通常會考慮有線或者無線通信,選擇
    的頭像 發(fā)表于 06-10 14:30 ?598次閱讀
    <b class='flag-5'>S7</b>-200Smart與<b class='flag-5'>S7-1200</b>通過Modbus協(xié)議對接到上位機

    快手上線鴻蒙應(yīng)用高性能解決方案:數(shù)據(jù)反序列化性能提升90%

    普通對象(如 JSON 數(shù)據(jù))與類實例進行互轉(zhuǎn),是實現(xiàn)面向?qū)ο缶幊膛c數(shù)據(jù)序列化解耦的核心工具。隨著業(yè)務(wù)復(fù)雜度的提升,該庫在反序列化過程中逐漸暴露出性能瓶頸,影響用戶核心體驗。因此
    發(fā)表于 05-15 10:01

    spartan 6 14位LVDS 反序列化

    spartan 6系列的FPGA 與14位ADC 輸出LVDS信號 怎么實現(xiàn)1:14的串轉(zhuǎn)并呢?iserdes2 在ise里面最高只能實現(xiàn)8位啊
    發(fā)表于 04-25 15:20

    S7-1200與歐姆龍智能儀表Modbus通信案例

    Modbus 通信是一種應(yīng)用廣泛的通信協(xié)議 ,在變頻器、智能儀表或是其他的一些智能設(shè)備上應(yīng)用的一種通用通信協(xié)議,本文以S7-1200系列PLC作為Modbus主站,以歐姆龍E5EZ的智能溫控儀表作為
    的頭像 發(fā)表于 03-27 17:25 ?1406次閱讀
    <b class='flag-5'>S7-1200</b>與歐姆龍智能儀表Modbus通信案例

    什么是SerDes?SerDes有哪些應(yīng)用?

    SerDes是一種功能塊,用于對高速芯片間通信中使用的數(shù)字數(shù)據(jù)進行序列化反序列化。用于高性能計算(HPC)、人工智能(AI)、汽車、移動和物聯(lián)網(wǎng)(IoT)應(yīng)用的現(xiàn)代片上系統(tǒng)(SoC)都實現(xiàn)了
    的頭像 發(fā)表于 03-27 16:18 ?3824次閱讀
    什么是SerDes?SerDes有哪些應(yīng)用?

    分布式IO模塊與S7-1200 PLC:打造高效分揀系統(tǒng)的新引擎

    在現(xiàn)代物流中心,快速、高效、準確的包裹分揀是衡量整個系統(tǒng)性能的關(guān)鍵指標。為了實現(xiàn)這一目標,國產(chǎn)IO模塊與西門子S7-1200 PLC的結(jié)合應(yīng)用,正成為越來越多企業(yè)的首選方案。這一組合不僅優(yōu)化了數(shù)據(jù)采集和處理流程,還顯著提升了分揀效率,降低了運營成本。
    的頭像 發(fā)表于 01-22 14:56 ?739次閱讀
    分布式IO模塊與<b class='flag-5'>S7-1200</b> PLC:打造高效分揀系統(tǒng)的新引擎

    如何選擇適合的西門子S7-1200系列PLC型號?

    西門子S7-1200系列PLC作為中小型自動控制器,在研發(fā)過程中充分考慮了系統(tǒng)、控制器、人機界面和軟件的無縫整合和高效協(xié)調(diào),是工業(yè)自動領(lǐng)域中的重要組成部分。正確選擇適合的S7-1200
    的頭像 發(fā)表于 12-09 18:24 ?4998次閱讀
    如何選擇適合的西門子<b class='flag-5'>S7-1200</b>系列PLC型號?