Data structures CodeSys中多个电机初始化的最佳变量结构 问题

Data structures CodeSys中多个电机初始化的最佳变量结构 问题,data-structures,codesys,Data Structures,Codesys,我有一个PLC通过CanOpen连接到几个电机(都是相同类型的)。PLC使用带有“结构化文本”的CodeSys进行编程。为了激活电机,每个电机都必须通过初始化状态机运行,我必须按顺序发送一些命令(通电、激活等)。但据我所知,我必须为每个必须被激活的布尔值显式地分配一个变量(mot1\u power\u on、mot2\u power\u on、mot1\u enable、mot2\u enable等) 问题: 如何使用CodeSys和结构化文本高效地初始化多个(同样)电机,其中每个电机都必须通过

我有一个PLC通过CanOpen连接到几个电机(都是相同类型的)。PLC使用带有“结构化文本”的CodeSys进行编程。为了激活电机,每个电机都必须通过初始化状态机运行,我必须按顺序发送一些命令(通电、激活等)。但据我所知,我必须为每个必须被激活的布尔值显式地分配一个变量(mot1\u power\u on、mot2\u power\u on、mot1\u enable、mot2\u enable等)

问题: 如何使用CodeSys和结构化文本高效地初始化多个(同样)电机,其中每个电机都必须通过初始化状态机运行?我发现为每个电机和每个变量分配一个布尔值,然后对同一代码进行多次编程是一种不好的做法。如何有效地处理这项任务?是否有一种方法可以将马达或某个结构传递给某个函数,然后该函数为每个马达执行此任务?在C++中,我会实例化一个类来执行这个任务,但如何在CODESY中完成,在这里我必须为每个电机显式地分配变量? 背景
<>我是CordyS的新手,但我有C/C++、Matlab、Python和其他编码语言的背景。

如果你相信你可以用C++解决C++中的这个问题,那么试试使用一个基本上是CODESY类的函数块。如果需要自定义cunstructorDefine结构,可以定义一个方法,该结构包含运行它的电机的所有属性,包括FB。定义这些结构的数组。在一个循环中,执行您喜欢的任何操作。