线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
模拟输出的io指令
# 1
你好,
为了支持模拟输出,我根据Albert的建议更改了我的机器人驱动器->相关的线程
出于测试目的,我使用RoboDK GUI创建了一个程序,并注意到RoboDK似乎将io值视为整数。请看附件的截图。
当使用小数时,对于给定的例子,我得到0V输出电压。作为一种变通方法,我将这些值乘以1,000,000,并将它们转换为整数。在机器人驱动程序中,我再次将它们除以1,000,000,一切正常。

代码:
例10
Com_actcnt = Com_actcnt + 1
io_id = COM_VALUE1
如果io_id >= 20则
Com_value2 = Com_value2 / 1000000
$ANOUT[io_id] = COM_VALUE2
其他的
如果com_value2 > 0.5,则
$OUT[io_id] = TRUE
其他的
$OUT[io_id] = FALSE
ENDIF
ENDIF
Com_action = 0

它不一定是一个bug,更像是一个改进建议。如果io指令能直接接受十进制值,那就太好了。


附加文件 缩略图(s)

# 2
今天发布的最新版本RoboDK (Windows 64位)应该允许您将数字输出值作为十进制值传递。如果没有此解决方案,您无法管理模拟输出,请告诉我。
# 3
嗨,阿尔伯特,
新功能运行得很好。非常感谢实现!




浏览此主题的用户:
1客人(年代)