博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动

MOVE_BLK_VARIANT可以将一个数据块的指定数据区域移动到另一个数据块的指定数据区域,前提是源区域和目标区域的数据类型相同。加以灵活应用就可以实现包含不同的数据类型数据块的移动。

首先,创建2个背景DB数据块,记得要去掉优化的访问。数据类型均为array of byte。

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第1张图片

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第2张图片

 再创建一个DB,前3个数据的数据类型分别为int,real,real

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第3张图片

 3个DB块的编号如下:

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第4张图片

程序如图:

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第5张图片

在编程环节费了很大劲,一个是这里:SRC和DEST参数设置这里,如果直接输入P#DBX0.0,会报错。

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第6张图片 

需要从这里选:

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第7张图片 

 另一个是这里:提示不能通过变量进行分配,折腾了很久发现可以不理会它,并不影响运行。

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第8张图片

程序的仿真运行结果:

 博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第9张图片

 博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第10张图片

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第11张图片 

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第12张图片 

博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第13张图片 

 博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动_第14张图片

 MOVE_BLK_VARIANT的实际应用意义在于,可以将不同类型的连续数据块一次性传输(不支持bool类型),这在PLC与网络设备的通信中会有用得到。

 

你可能感兴趣的:(tcp/ip)