codesys arraycopy
时间: 2023-07-29 20:07:23 浏览: 58
CODESYS提供了一个系统函数 `ARRAY_COPY()` 用于数组的复制。
它的语法如下:
```pascal
ARRAY_COPY(SourceArray: ARRAY [0..n] OF Type; StartSource: INT; TargetArray: ARRAY [0..m] OF Type; StartTarget: INT; Length: INT) : INT
```
其中,
- `SourceArray`:源数组;
- `StartSource`:源数组的起始下标;
- `TargetArray`:目标数组;
- `StartTarget`:目标数组的起始下标;
- `Length`:需要复制的元素数量。
这个函数将源数组中从 `StartSource` 开始的 `Length` 个元素复制到目标数组中从 `StartTarget` 开始的位置。函数返回复制的元素数量。
例如,要将源数组 `Source` 中下标从 3 开始的 4 个元素复制到目标数组 `Target` 中下标从 0 开始的位置,可以使用以下代码:
```pascal
VAR
Source: ARRAY[0..9] OF INT := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
Target: ARRAY[0..9] OF INT;
Count: INT;
END_VAR
Count := ARRAY_COPY(Source, 3, Target, 0, 4);
```
在这个例子中,`Count` 的值将为 4,因为函数复制了 4 个元素。目标数组 `Target` 的内容将变为 `[4, 5, 6, 7, 0, 0, 0, 0, 0, 0]`。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)