开源改变世界

HY_GT_VFD故障信息寄存器 #2206

推推 grbl 3年前 (2023-01-31) 247次浏览
关闭
persei802 打开了这个问题 2022 年 12 月 15 日 · 6 条评论 · 由#2209修复
关闭

HY_GT_VFD故障信息寄存器#2206

persei802 打开了这个问题 2022 年 12 月 15 日 · 6 条评论 · 由#2209修复

注释

HY_GT_VFD故障信息寄存器 #2206

HAL 组件 HY_GT_VFD 将名为 hy_gt_vfd.fault-info 的 HAL 引脚声明为 FLOAT 输出。但是,该寄存器 (0x5000) 是一组 BIT 值,因此应声明为 U32。然后 python 可以将其转换为十六进制值以在 GUI 中显示。

HY_GT_VFD故障信息寄存器 #2206
合作者
彼得赖因霍尔特森 评论了 2022 年 12 月 15 日 通过电子邮件
HY_GT_VFD故障信息寄存器 #2206

不知道为什么它没有在 C 文件中声明,我也不知道头文件在哪里——我不是 C++ 程序员。不管怎样,文档说它是一个 FLOAT,当它在 GUI (qtdragon) 中运行时,HALSHOW 将它显示为一个 FLOAT。https://linuxcnc.org/docs/stable/html/man/man1/hy_gt_vfd.1.html
吉姆

HY_GT_VFD故障信息寄存器 #2206
合作者
安迪普 评论了 2022 年 12 月 15 日  

一个寄存器对应的所有引脚都创建为float类型:
https
://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/user_comps/hy_gt_vfd.c#L266 包括故障寄存器:
https:// github.com/LinuxCNC/linuxcnc/blob/master/src/hal/user_comps/hy_gt_vfd.c#L606

更改特定 hal 引脚的类型并非易事,但也不是特别困难
modbus_register_t;结构可以包含添加的 hal_u32_t 类型的引脚,并且处理程序可以更新适当的变量(可能取决于哪个是非空的,尽管每个结构中的显式“类型”标记可能更好。使用零乘数可能会起作用也作为标签。

不过,这不是我可以测试的东西,因为我没有相关的 VFD。

HY_GT_VFD故障信息寄存器 #2206

谢谢安迪。经过仔细研究,我最终明白了这一点。我可以胡思乱想好几天,试图弄清楚你说的是什么。我看不到处理程序如何将 FLOAT 转换为 U32。你有没有机会为我制作一个修改过的文件作为起点?然后我可以对其进行测试并发布结果。我确实认为这应该在源代码中实现,因为目前无法读取故障代码位。

HY_GT_VFD故障信息寄存器 #2206
合作者
彼得赖因霍尔特森 评论了 2022 年 12 月 16 日 通过电子邮件
HY_GT_VFD故障信息寄存器 #2206

谢谢你,彼得。一旦弄清楚如何获取文件,我将对其进行测试。与此同时,我有一个我编写的 python 版本,它运行良好。我不知道开发人员是否有兴趣将它包含在 linuxcnc 中,但如果有,我很乐意提交它以供审查。

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 12 月 17 日

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 12 月 19 日

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 12 月 19 日

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 12 月 19 日

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 12 月 19 日

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 12 月 19 日

喜欢 (0)