西门子博图功能指令—不可中断的存储区移动

西门子博图功能指令—不可中断的存储区移动

西门子博图功能指令—不可中断的存储区移动

不可中断的存储区移动

功能描述

一个存储区(源范围)的数据移动到另一个存储区(目标范围)中。该指令不可中断。

使用参数 COUNT 可以指定将移动到目标范围中的元素个数。可通过输入 IN 中元素的宽度来定义元素待移动的宽度。

仅当源范围和目标范围的数据类型相同时,才能执行该指令。

此功能执行时不会被操作系统的其它任务打断。因此当执行此功能指令时,会增加CPU中断响应次数。

执行条件

1.使能输入 EN 的信号状态不能为“0”。

2.移动的数据量不能超出输入 IN 或输出 OUT 所能容纳的数据量。

接口参数

参数 声明 数据类型(1200) 数据类型(1500) 存储区 说明
EN Input BOOL BOOL I、Q、M、D、L 或常量 使能输入
ENO Output BOOL BOOL I、Q、M、D、L 使能输出
IN Input 二进制数、整数、浮点数、定时器、DATE、CHAR、WCHAR、TOD 二进制数、整数、浮点数、定时器、DATE、CHAR、WCHAR、TOD、LTOD D、L 待复制源区域中的首个元素
COUNT Input USINT、UINT、UDINT USINT、UINT、UDINT、ULINT I、Q、M、D、L、P 或常量 要从源范围移动到目标范围的元素个数。
OUT Output 二进制数、整数、浮点数、定时器、DATE、CHAR、WCHAR、TOD 二进制数、整数、浮点数、定时器、DATE、CHAR、WCHAR、TOD、LTOD D、L 源范围内容要复制到的目标范围中的首个元素

IN/Out接口处Array结构的元素只能使用指定的数据类型。

比如IN接口处。只能使用Array of (二进制数、整数、浮点数、定时器、DATE、CHAR、WCHAR、TOD).OUT处也一样。

程序举例

1.创建DB数据块。

西门子博图功能指令—不可中断的存储区移动
西门子博图功能指令—不可中断的存储区移动

2.创建FB块,添加功能指令,并在OB1中调用。

西门子博图功能指令—不可中断的存储区移动

程序演示

西门子博图功能指令—不可中断的存储区移动
西门子博图功能指令—不可中断的存储区移动

注意数据移动 的长度
上一篇:2021-07-07


下一篇:C++