求助!!galiltools里的变量不随输入值变换 点击:741 | 回复:5



万象天引

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2015年11月24日
发表于:2015-12-01 22:00:16
楼主

这几天写了一个小程序,其中一部分代码如下

y是编辑框里的输入变量,程序在电脑上单独编译没问题,连接GALIL卡后,电机不动。调试程序时发现y随输入值变换,但是galiltools里的变量"YWANT"没有变化,setpoint这个变量也一直是0。如果将YWANT改成定值,电机运转正常。

想请教这段程序哪里出问题了?怎么实现上位机使用C++语言通过GALIL卡控制电机做变位置运动?




刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2015-12-02 11:54:42
1楼

想请教这段程序哪里出问题了?

对c++的函数不是很熟悉了,问题或许出在:

sprintf(mid,"YWANT=%f*200",y)

您在执行到这里时,检查一下字符串mid中具体内容是什么,例如输入的文本是"100"时,mid的值是不是“YWANT=100*200"。


另外,这段程序只是向控制卡上传送了一个变量,我没有看到有什么指令是要让电机动的。或者在控制卡上还另有在执行的程序。不过单纯这样一个变量赋值命令,也不会有什么反馈回来,您期望 setpoint 得到的是什么东西?

万象天引

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2015年11月24日
发表于:2015-12-02 16:09:24
2楼


回复内容:

对: 刘岩利 想请教这段程序哪里出问题了?对c++的函数不是很熟悉了... 内容的回复!


这里的setpoint是想得到卡里面的YWANT这个变量的值 用来监测这个变量是否被赋值了。

后面有

这几行代码驱动电机。

我调试程序的时候用VC++6.0看setpoint的值,一直是0,应该是YWANT一直没有被赋值吧?不知道怎么解决?


另外还有个小问题,在工控机上用VC++6.0写的程序编译运行,驱动电机正常运动时,galiltools会自动断开连接,不能在这个软件的watch上看电机的运动状态,但是用别人电脑的VS2010就能够同时运行,这是什么原因,刘老师?

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2015-12-03 11:08:33
3楼

这里的setpoint是想得到卡里面的YWANT这个变量的值 用来监测这个变量是否被赋值了。


我调试程序的时候用VC++6.0看setpoint的值,一直是0,应该是YWANT一直没有被赋值吧?不知道怎么解决?


这样的方式,得到的当然是0。如果想看变量当前值,必须另外发送指令“YWANT="


而且,看您这个程序的逻辑,有点奇怪啊,用"TPB"直接读下坐标,在PC上算好了把PR指令发下去就好了,折腾那么多控制器上的变量干什么?



 



刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2015-12-03 11:16:43
4楼

“另外还有个小问题,在工控机上用VC++6.0写的程序编译运行,驱动电机正常运动时,galiltools会自动断开连接,不能在这个软件的watch上看电机的运动状态,但是用别人电脑的VS2010就能够同时运行,这是什么原因,刘老师?”


这个,您可以试一下,galiltools会自动断开连接后重新连一下。或者在编译运行程序之前,在GALILTOOLS里输入TH指令看一下,控制器上有多少 handle,目前占用了多少,被占用的之中,有多少是连接到当前pc的。

不同的网口控制器,handle 的数量是4-8个,如果都用满了,就无法再建立新的网络连接。一般来说,用户的程序要占一个,GALILTOOLS会占两个(与在不在同一个电脑上无关)。

万象天引

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2015年11月24日
发表于:2015-12-03 13:14:56
5楼


回复内容:

对: 刘岩利 “另外还有个小问题,在工控机上用VC++6.0写的程序... 内容的回复!


好的,谢谢刘老师


热门招聘
相关主题

官方公众号

智造工程师