SIEMENS PLC程序解读 -Serialize(序列化)SCATTER_BLK(数据分散)
1、程序数据 第12个字节 PI
2、程序数据 第16个字节 PI
3、程序数据 第76个字节 PO
4、程序代码
2、程序解读
图中代码为 PLC 梯形图,主要包含以下指令及功能:
-
Serialize(序列化):
- 将
SRC_VARIABLE
(Rpt_Data_Local
)从#Pos[0]
位置开始序列化,结果存入DEST_ARRAY #Ret_Val
,用于将数据转换为连续字节流以便传输或存储。
- 将
-
SCATTER_BLK(数据分散):
- 第一个
SCATTER_BLK
:EN
使能,BYTE count_uint
定义处理单元,IN
为Data_Local[76]
,OUT
为#Zone1_Interf[1]
,COUNT_IN = 4
,表示将Data_Local[76]
起始的 4 个数据分散存储到Zone1_Interf[1]
起始位置。 - 第二个
SCATTER_BLK
:IN
为Data_Local[61]
,OUT
为#Zone1_Out[1]
,COUNT_IN = 4
,将Data_Local[61]
起始的 4 个数据分散到Zone1_Out[1]
。 - 第三个
SCATTER_BLK
:IN
为Data_Local[12]
,OUT
为#Zone1_Rest
,COUNT_IN = 4
,将Data_Local[12]
起始的 4 个数据分散到Zone1_Rest
。
- 第一个
整体逻辑为:先通过 Serialize
打包数据,再利用 SCATTER_BLK
将特定本地数据(Data_Local
)分散到不同目标区域(Zone1_Interf
、Zone1_Out
、Zone1_Rest
),实现数据的组织与分配。