gpt4 book ai didi

arrays - 在 CoDeSys 中创建一个可变大小的数组

转载 作者:行者123 更新时间:2023-12-02 08:18:32 25 4
gpt4 key购买 nike

我正在研究一种移动平均算法来分析传感器值,这些值存储在一个数组中。但是,Array 的长度是可变的(取决于一个电机的速度)。

如何在 CoDeSys 中创建大小可变的数组。这样定义 Array 是错误的:

名称:数组 [1...SpeedValue] OF INT ;

最佳答案

很遗憾地告诉您,Codesys V2/V3 中数组的大小是不可更改的。一般的解释是 PLC 中没有可用的动态内存分配,因为动态内存分配被认为太不可靠。

您唯一的选择是定义一个具有常量 ARRAY[1..N_MAX_SPEED_VALUE] 的数组,并且只使用该数组直到 SpeedValue

VAR
arrnValues : ARRAY[1..N_MAX_SPEED_VALUE] OF INT;
END_VAR
VAR CONSTANT
N_MAX_SPEED_VALUE : INT := 100; (*Max Array Size*)
END_VAR

对于我自己来说,我真的被这个限制所困扰。我已经多次请求一个功能,定义像 ARRAY[*] 这样的数组,为开始和结束设置关键字,并在实例化时定义实际的开始和结束大小。这与动态内存分配无关,因为大小是在编译时定义的。

关于arrays - 在 CoDeSys 中创建一个可变大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39723966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com