问题标签 [codesys]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
servo - 施耐德用 Codesys 设置舵机位置
我正在尝试使用 using设置施耐德LXM52 servo
的位置。我曾尝试使用功能块,但这并没有通过驱动器的电源循环来设置驱动器中的位置。有什么想法吗?PacDrive
Codesys
SetPosition
codesys - Beckhoff CX9020 - 无法与 TwinCAT 3 建立连接
我有一个Beckhoff CX9020模块,其中包含以下信息(如CX 配置工具中的常规选项卡中所示):
系统信息:
- 设备名称:CX-xxxxxx
- 图像版本:CX9020 HPS 5.02d
- CXConfig 版本:1.0 (Build 73)
- CPU频率:1000兆赫
双猫:
- 版本:2.11
- TC 版本:2254
- AMS 网络 ID:5.39.55.247.1.1
- 注册级别:PLC
现在我已经安装了 TwinCAT 3,但无法建立工作 Connection。
问题:
- 是不是因为在Win 7 Compact Embedded CX9020 上安装了错误的镜像?
- 如果是这种情况,我该如何安装更新的 TwinCAT 3 Image?
codesys - 在持久变量中读取/写入结构库存数组
我正在使用 codesys (ST) 来创建一个 storekeeper 程序。
我有一个持久变量,它是一个结构名称 ST_STORAGE,这里定义:
ST_LOCATION 结构由以下部分组成:
我的功能块 FB_Storage 接受输入:
所以我可以通过指针 i_stStorage 在我的存储中写入/读取。但我无法通过以下方式在我指定的位置读取或写入:
c - 使用外部 C 函数 Codesys 制作库
请有人帮助我
当我尝试在 CODESYS 项目中使用我的 c 库时,我遇到了这个问题。错误的英文翻译:
硬件上的设备版本似乎与项目中使用的不同。尝试使用升级或降级将项目中设备的版本与硬件上的当前版本同步”
这就是我在这个 pdf 中所做的: https ://drive.google.com/open?id=0B6jKWdvnIWcKdGYxbV9TUFJQR1E
timer - 在 Codesys 中定义下降沿检测
对于我的一个程序,我需要梯形图中的常闭、定时关闭 (NCTC) 继电器。
我不知道实现这种方法的标准方法,所以我正在尝试自己构建一个。我目前的方法需要一个下降沿检测。我在一本书的后面找到了这种检测器的代码:“IEC 61131-3:工业系统编程”(第 2 版,第 327 页)。看起来像这样:
这给了我 5 个错误(忽略构建失败):
错误 4250:F_TRIG (1):另一个“ST”语句或 POU 结束
错误 4250:F_TRIG (4):另一个“ST”语句或 POU 结束
错误 4250:F_TRIG (7):另一个“ST”语句或预期 POU 结束
错误 4250:F_TRIG (10):预期另一个“ST”语句或预期 POU 结束
错误 4250:F_TRIG (13):预期另一个“ST”语句或 POU 结束
我正确地将 POU 的类型配置为功能块,并将 POU 的语言配置为 ST。我怀疑我的语法生疏了,但我愿意接受建议。特别是如果我用一种完全错误的方法来解决这个问题。
在我看来没问题。怎么了?
运行 Codesys 2.3。
plc - Wago codesys PLC 字到布尔转换
我正在使用 Wago PFC100 和 Ecockpit 软件对太阳能电池跟踪器进行编程。
我有一个关于将 16 位 WORD 中的一些计数器值转换为 BOOL 形式的脉冲串的原则问题。
16 位字寄存器从 0 向上/向下计数到 12621。我需要将其转换为 BOOL 脉冲。
当字计数器从 0 变为 1 时,我需要一个 BOOL 脉冲 0->1->0,而在下一次从 1 计数到 2 时,我需要一个 0->1->0 的新 BOOL 脉冲。
在字寄存器倒计时的情况下,我还需要脉冲:2 比 1 还需要生成 BOOL 脉冲 0->1->0。
我正在使用结构化文本 (ST) 对此进行编程,但我不知道如何让这部分运行。
c - 如何在codesys v3中创建指向函数的指针
你能给我一个例子来说明如何在我的库中声明一个指向函数的指针吗?以及如何将指向函数的指针传递给我的外部库?
plc - Codesys 如何在 Wago 750 中写入输出
我有带有不同传感器的 Wago 750-880。有人已经在 Codesys 中编写了一个程序来控制它。我想返回(我有 Java 背景:D) - 将一些变量写入驱动程序中的输出,例如保持寄存器。我想稍后在这样的 SSI 页面上阅读这些变量(参数)
我没有任何 PLC 经验 :( 我如何写入保持寄存器?
非常感谢提前
c - 如何使用共享内存在 CoDeSys 和非 CoDeSys 平台之间建立通信?
我是 CoDeSys 的新手,我需要在 CoDeSys 和非 CoDeSys 平台之间建立通信。
我了解到,要在 CoDeSys 和非 CoDeSys 平台之间建立通信,可以使用 OPC 或共享内存。
现在,考虑到 OPC 的成本问题,我想使用共享内存来建立通信。请记住,非 CoDeSys 平台支持使用外部 C 函数的共享内存,我怎样才能在它们之间建立成功的通信?
任何有关该问题的线索将不胜感激。
谢谢你。
real-time - 如何将实时控制的概念从“C”环境转移到“IEC61131 (CODESYS)”?
我们正在尝试对采样数据进行实时测量/计算。我们之前的经验是基于C
编程的。我想知道是否有人可以帮助我将实时c
编程结构转换为 PLC IEC61131 结构化文本?
对于实时控制循环(具有恒定循环周期),我们需要一个开始计时器、一个结束计时器和一个等待函数,其工作方式如下:
具体来说,我想知道我们如何在 IEC61131 中实现这些时序结构?我认为我们可以使用 TON 进行延迟。但是,非常感谢任何有关如何从处理器获取时间的建议。
(这篇文章讨论了可以编写代码并将其传输到 IEC61131。但是,出于教育目的,最好在 IEC61131 中编写代码。)
ps1:我正在开发一个 SEL-3350 设备,该设备配备了用于编写 IEC61131 程序的 CODESYS 固件。
ps2:经过几天的搜索,我明白了基于C编程的实时控制和IEC61131(使用CODESYS)的实时控制之间的区别。
基本上,当您使用 PLC 设备进行编码时,您可以在任务管理器中选择设置控制器处理周期的属性。因此,与“C”不同,不需要执行无限循环(while (1)),软件会处理它。例如,在 CODESYS 环境中,将程序类型选择为“循环”,将间隔时间选择为“循环常数”,这将类似于上面提到的 C 代码。