公司主營:西門子數(shù)控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機界面,變頻器,DP總線,MM變頻器,6SE70交流工程調(diào)速變頻器6RA70等系列產(chǎn)品。
產(chǎn)品簡介
詳細(xì)介紹
西門子編程6ES7823-0BA00-1BA0現(xiàn)貨
因為誠信所以簡單,成交只是開始,服務(wù)*止步。Deserialize: 取消序列化
說明
可以使用“取消序列化"指令反向轉(zhuǎn)換 PLC 數(shù)據(jù)類型 (UDT)、STRUCT 或 ARRAY of <數(shù)
據(jù)類型> 的順序表示并填充所有內(nèi)容。
PLC 數(shù)據(jù)類型 (UDT)、STRUCT 或 ARRAY of <數(shù)據(jù)類型> 順序表示所在存儲區(qū)的數(shù)據(jù)類
型必需為 ARRAY of BYTE 或 ARRAY of CHAR,并在版本 V1.0 中聲明為訪問。
的存儲區(qū)也支持版本 V2.0 及更高版本。存儲區(qū)的容量為 64 KB。在轉(zhuǎn)換之前確保有充
足的存儲空間。如果通過指令“序列化"填充存儲區(qū)并有填充字節(jié),則不進行轉(zhuǎn)換。
建議將 ARRAY 的下限定義為“0",這是因為 ARRAY 中的下標(biāo)對應(yīng) POS 參數(shù)值。例如,
ARRAY[0] = POS 0。下文中的說明與示例均基于此公式。
該指令可以逐步將已轉(zhuǎn)換數(shù)據(jù)的多個順序表示轉(zhuǎn)換回原始狀態(tài)。
如果只想轉(zhuǎn)換回 PLC 數(shù)據(jù)類型 (UDT)、STRUCT 或 ARRAY of <數(shù)據(jù)類型> 的單個順序表
示,則還可以直接使用指令“TRCV:通過通信連接接收數(shù)據(jù)"。
存儲區(qū)的容量
對齊規(guī)則為存儲區(qū)內(nèi)的簡單結(jié)構(gòu)中不包含填充字節(jié)。這樣,存儲區(qū)中的結(jié)構(gòu)大小
將小于存儲區(qū)中的。結(jié)構(gòu)型 ARRY 和其它結(jié)構(gòu)的結(jié)構(gòu)中,包含填充字節(jié)。對于包含組
合結(jié)構(gòu)(所需存儲空間更高)的存儲區(qū)而言,該規(guī)則并并為通用規(guī)則。
S7-1500 系列 CPU:
對于塊屬性為“塊訪問"的塊,BOOL 類型的長度為 1 個字節(jié)。這樣,存儲區(qū)中
主要由 BOOL 數(shù)據(jù)類型組成的結(jié)構(gòu)大小將大于存儲區(qū)。因此,含少量 BOOL 數(shù)據(jù)類
型的組合型結(jié)構(gòu)在存儲區(qū)內(nèi)的大小,要小于該結(jié)構(gòu)在存儲區(qū)內(nèi)的大小。
存儲區(qū)
對固件版本 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本 V2.0 及以上版本的 S7-1500
系列 CPU,要取消較大結(jié)構(gòu)的序列化,可將順序表示的存儲區(qū)聲明為訪問。對于
存儲區(qū),順序表示中內(nèi)容保存不變。ARRAY 中的字節(jié)僅支持符號化訪問。
指令
4.1 指令
對 PLC 進行編程
898 編程和操作手冊, 10/2018
參數(shù)
下表列出了“取消序列化"指令的參數(shù):
參數(shù)聲明數(shù)據(jù)類型存儲區(qū)說明
EN Input BOOL I、Q、M、D、
L 或常量
使能輸入
ENO Output BOOL I、Q、M、D、L 使能輸出
SRC_ARR
AY
Input VARIANT
ARRAY[*] of
BYTE 1)
D、FB 的塊接口
(可在 Input、
Output、Static
和 Temp 部分
中。)
指向用于保存數(shù)據(jù)串的
ARRAY of BYTE 或
ARRAY of CHAR 的指針。
DEST_VA
RIABLE
InOut VARIANT D、FB 的塊接口指向一個待取消序列化的
STRUCT、ARRAY 或
PLC 數(shù)據(jù)類型 (UDT) 變量
的指針。
POS InOut DINT I、Q、M、D、L POS 參數(shù)中的操作數(shù)將根
據(jù)轉(zhuǎn)換后所占用
的字節(jié)數(shù),存儲個字
節(jié)的下標(biāo)。POS 參數(shù)將
從 0 開始計算。
RET_VAL Output INT I、Q、M、D、L 錯誤信息
1) 僅適用于固件版本為 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本為 V2.0 及以
上版本的 S7-1500 系列 CPU。
RET_VAL 參數(shù)
下表列出了 RET_VAL 參數(shù)值的含義:
錯誤代碼*
(W#16#...
)
說明
0000 無錯誤
80B0 參數(shù) SRC_ARRAY 和 DEST_VARIABLE 的存儲區(qū)重疊。
8136 SRC_ARRAY 參數(shù)處的變量不在一個訪問塊中。
8150 SRC_ARRAY 參數(shù)中的 VARIANT 數(shù)據(jù)類型包含一個 ZERO 指針。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 899
錯誤代碼*
(W#16#...
)
說明
8151 SRC_ARRAY 參數(shù)中的引用無效
8153 SRC_ARRAY 參數(shù)沒有足夠的可用存儲空間。
8154 SRC_ARRAY 參數(shù)中的數(shù)據(jù)類型無效
8250 NULL 指針已在 DEST_ARRAY 參數(shù)處傳遞。
8251 DEST_VARIABLE 參數(shù)中的引用無效
8382 POS 參數(shù)的值超出數(shù)組的。
* 在程序編輯器中,錯誤代碼可顯示為整數(shù)或十六進制值。有關(guān)切換顯式格式的更多信
息,請參見“另請參見"。
對于固件版本 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本 V2.0 及以上版本的
S7-1500 系列 CPU,以下錯誤代碼的含義不同:
錯誤代碼*
(W#16#...
)
說明
8136 對 SRC_ARRAY 參數(shù)處的存儲區(qū)訪問無效。
* 在程序編輯器中,錯誤代碼可顯示為整數(shù)或十六進制值。有關(guān)切換顯式格式的更多信
息,請參見“另請參見"。
示例
下表列出了操作數(shù)的聲明:
操作數(shù)數(shù)據(jù)類型聲明
DeliverPos INT 位于 FB 或 FC 塊接口
的“Input"部分。
BufferPos DINT 位于 FB 或 FC 塊接口
Error INT 的“Temp"部分。
Label STRING[4]
指令
4.1 指令
對 PLC 進行編程
900 編程和操作手冊, 10/2018
下表列出了 PLC 數(shù)據(jù)類型的聲明:
PLC 數(shù)據(jù)類型的名稱名稱數(shù)據(jù)類型
Article Number DINT
Declaration STRING
Colli INT
Client Title INT
First name STRING[10]
Surname STRING[10]
下表列出了數(shù)據(jù)塊的聲明:
數(shù)據(jù)塊的名稱名稱數(shù)據(jù)類型
Target Client "Client"(PLC 數(shù)據(jù)類型)
Article Array[0..10] of
"Article"(PLC 數(shù)據(jù)類型)
Bill Array[0..10] of INT
Buffer Field Array[0..294] of BYTE
以下示例說明了該指令的工作原理:
程序段 1:
“值"指令將值“0"到 #BufferPos 操作數(shù)。“取消序列化"指令對“Buffer"變量
中的順序表示進行取消序列化,并寫入“Target"變量中。#BufferPos 操作數(shù)將根
據(jù)轉(zhuǎn)換后所占用的字節(jié)數(shù),存儲個字節(jié)的下標(biāo)。
程序段 2:
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 901
下一篇:西門子博途軟件6AV2101-0AA05-0AA5調(diào)試