Galil控制器 OC命令CMP输出问题求解 点击:1489 | 回复:20



安泰科技

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-01 12:25:51
楼主

各位大神好,

我的问题是OC命令进行编码器位置比较输出,但是在测试过程中,把命令: OCA=100,300 加入到任何一段能正常运行的代码中,程序就会到这句时卡住,不知道为什么……谢谢各位了。


以下是OC 命令的说明:功能:输出比较
说明:OC 命令根据主编码器之一的位置产生输出脉冲。在输出比较信号(在 ICM-1900 及
ICM-2900 上所标的 CMP)时,可提供大约 600 毫微枷周期的低沿脉冲。
使用此命令,不能用于步进电机及辅助编码器。
注:OC 命令要求主、辅编码器的配置完全相同(见命令 CE)例如:CEO,CE5,CEIO,
CE15。
参数:OC x=m,n
其中:x=A、B、C、D、E、F、G、H 指定用于哪个编码器输入。
M=首脉冲绝对位置。范围是-2.109~2.109 之间的整数。
n:脉冲之间的增量式距离。范围是-65535~65535 之间的整数。
注:OCx=0 没有圆弧比较功能。
参数 n 将指出输出比较时所运动的方向。当移动到反方向时,脉冲在增量式距离
65536-|n|位置上发生输出比较,而|n|是 n 的绝对值。
用途: 缺省:
运动进行中 Yes 缺省值 -
在程序中 Yes 缺省格式 -
命令行 Yes
适用控制器 所有型号控制器
操作应用:
_Ocx 读取 OC 功能的状态。
_OCx=0:具备 OC 功能,但不产生任何脉冲
_OCx=l:OC 函数无效或已产生首输出脉冲
举例:
OCA=300,100 选择 A 编码器作为位置传感器,首脉冲为 300,后续脉冲为
400,500……




安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-01 19:23:15
1楼

求解…………在网上也找不到相关详细的说明

刘岩利

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

“ OCA=100,300 加入到任何一段能正常运行的代码中,程序就会到这句时卡住,”

能不能在您的“任何一段能正常运行的代码”中,任意举一个例子出来?这样可以有针对性的看一下。

程序”卡住“是指什么现象? TC1指令能否反馈错误信息?

 

另外,能不能说一下您用的GALIL卡型号(有的简化型号本身就不支持OC指令),以及A轴对应的 MT 和 CE 两个参数的设置。

 

”在网上也找不到相关详细的说明“

是否方便问一下,您是在哪里找到这段OC命令的中文说明的?

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-02 15:45:18
3楼


回复内容:

对: 刘岩利 “ OCA=100,300 加入到任何一段能正常运行的... 内容的回复!


程序如下:就是一段简单的两轴扫查程序,我把OCA命令加在程序任何位置程序到OCA就不继续执行了。板卡是DMC2143,ICM20105ID 1.6E .这个中文说明是在百度找到的…………

我记得反馈的错误信息是:?119,在手册查119是没有这个错误代码的,有时还会提示?7或者?8,不明觉励了……我是想用OCA命令进行编码器比较输出来触发超声探伤的板卡。

#A

S=0

#LOOP

PR 2000

SP100

AC30000

DC30000

BGA

AMA

SP100

PR,-50

BGB

AMB

PR -2000

BGA

AMA

PR,-50

BGB

AMB

S = S + 2

JP #LOOP,S<10

EN



安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-02 15:56:10
4楼


回复内容:

对: 刘岩利 “ OCA=100,300 加入到任何一段能正常运行的... 内容的回复!

MT是2.5 CE是12,我是外行 不太懂 

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-06-02 16:32:57
5楼

"MT是2.5 CE是12"

这样 OC 指令是不能用的。要使用OC指令,MT必须是1或者-1,CE必须是0、5、10、15之一。

以下是指令手册中对OC指令使用限制的说明:

Limitations:
The Output Compare function is only valid with incremental encoders.
      The Output Compare function is not valid with SIN/COS (AF settings of 5-12), standard analog (AF setting of 1), BiSS or SSI feedback (SS or SI commands).

The OC function cannot work for an axis configured as a stepper.


The auxiliary encoder of the corresponding axis cannot be used when in this mode.
      Dual loop mode (which uses the aux encoder input) will not operate when the OC command is enabled.

The OC function requires that the main encoder and auxiliary encoders be configured exactly the same (see the command, CE). For example: CE 0, CE 5, CE 10, CE 15.

OC only requires an encoder, and is independent of axis tuning, and motion profiling.

 

 

刘岩利

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

还是把几条限制写成中文吧:

输出比较功能只能用于增量式编码器。

    输出比较功能不适用于正/余弦信号、标准模拟信号、BiSS以及SSI信号反馈。

 

OC功能不能工作在配置为脉冲输出的轴上。

 

在此模式下,相应轴的辅助编码器不工作。

    双闭环模式在OC指令有效时不能工作。

 

OC功能需要住编码器于辅助编码器配置相同 。例如CE0、CE5、CE10、CE15。

 

OC功能仅取决于编码器信号,与该轴的运动规划、控制信号输出无关。

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-03 08:04:27
7楼


回复内容:

对: 刘岩利 还是把几条限制写成中文吧:输出比较功能只能用于增量式编... 内容的回复!

原来是这样  万分感谢!

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-03 08:14:42
8楼


回复内容:

对: 安泰科技 回复内容:对: 刘岩利  还是把几条限制写成中文吧:输... 内容的回复!


那您看 我现在是步进电机加编码器的形式 还有其他命令可以使控制器定期输出一个TTL脉冲吗?就比如运动轴可以行走1米,每10cm反馈一个信号出来?

刘岩利

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

如果您的控制卡上有空闲轴的话,可以把编码器信号并接到那个轴上。

如果没有的话,就只能用一个循环来做了。而且这样自己做出来的脉冲,产生的时间上会有滞后,按照手册上的说法,最大滞后可达2ms。这样的滞后您是否能接受?

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-03 11:36:48
10楼


回复内容:

对: 刘岩利 如果您的控制卡上有空闲轴的话,可以把编码器信号并接到那... 内容的回复!

我还富裕两个轴,您的意思是并接以后 设置此轴的MT,CE属性可用OC命令,然后用此轴进行比较输出? 我用vb的timer控件发送g.command命令 询问编码器位置,得到后在进行计算,然后在判断 感觉好像很费时间也没有效率,像您说的用循环是在galil里面做吗?

刘岩利

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

"我还富裕两个轴,您的意思是并接以后 设置此轴的MT,CE属性可用OC命令,然后用此轴进行比较输出?"

 

是的,把A轴的编码器信号并节在空闲轴上,将根据需要的计数方式/方向设置CE参数,MT参数设置为1或者-1都可以(反正也不需要控制输出)。OC指令针对这个轴设置,原本针对A轴的一些位置设置指令,也要针对这个轴作出相应设置,比如原本有 DEA=0指令的地方,现在还要多写一个DPC=0(脉冲输出和模拟输出模式下,设置编码器计数值的指令不同)。

 

“我用vb的timer控件发送g.command命令 询问编码器位置,得到后在进行计算,然后在判断 感觉好像很费时间也没有效率,像您说的用循环是在galil里面做吗?”

是的,循环在galil里面做。

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-03 19:36:18
12楼


回复内容:

对: 刘岩利 "我还富裕两个轴,您的意思是并接以后 设置此轴的MT,... 内容的回复!

今天下午按您说的把A轴的编码器并接到C轴上 程序就可以正常运行不会卡主了 您这个点子真是绝了!!万分万分感谢!!我在比较输出口接了个发光二极管 想看比较输出的效果 这个想法好像有点天真…………哈哈

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-06-04 17:02:40
13楼

"我在比较输出口接了个发光二极管 想看比较输出的效果 这个想法好像有点天真…………哈哈"

 

这个,确实难度比较大。

以前也经常有用户说:这个信号没有输出,用万用表量不到。我都会在电话里给他们算一下:信号宽度是600ns,0.6us,0.0006ms,0.0000006s,就算万用表能反应过来(那要多贵的万用表),您也是看不见的。

有的人还会说,我让这个信号持续输出,总该看到平均电压的变化吧?我还要给他们算一下,就算您的信号频率作到了10khz,那么一个周期也有0.1ms,其中0.0006ms是输出信号,占比例0.6%,有信号输出和没有信号输出的平均电压也就差0.6%,您约定您的万用表能量出这个差异来么?。

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-09 20:02:03
14楼


回复内容:

对: 刘岩利 "我在比较输出口接了个发光二极管 想看比较输出的效果 ... 内容的回复!

刘老师还是上次的问题,按您说的 把A轴编码器并接到C轴上,用C轴做OCC比较输出,可是接收触发那边的板子没反应,能确定板子是好的,板子的信号需求是:

Compatible TTL input loaded with internal pull-up of 4.7 KW to +5V

Low level :        1 mA

High level:   <   1 mA

Fall and rise time < 1 µsec. Without glitch that could trigger random Pulses.

High level must last at least 5 µsec. , Pulse triggering on falling flank of PRF IN.

请问Galil的性能可以满足吗?还是我需要接上拉电阻?电阻我我试过也不知道接的对不。还有就是 板子接收端有两个口,一个事外触发,一个是地,那Gaili比较输出口是接触发还是接地啊?焦头烂额的…………麻烦您了

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-09 20:03:38
15楼


回复内容:

对: 刘岩利 "我在比较输出口接了个发光二极管 想看比较输出的效果 ... 内容的回复!

比如我短接接收触发信号板子的两根线:触发和地,迅速短接在断开 就可以触发板子 可是跟Galil的比较输出端链接就四号==丝毫没有反应…………求解 项目卡在这里了…………

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-06-10 13:49:39
16楼

“请问Galil的性能可以满足吗?”

这不是galil性能能不能满足的问题,是您的接受设施太慢了,您的接收要求所有时间单位都是us,而galil这个输出信号的规格是ns。galil输出脉冲太窄,您的接收器接收不到。

 

oc输出,是一个宽度只有600ns,或者说0.6us宽度的低电平脉冲,脉冲的前沿(下降沿)是真正的输出边沿。对您来说,目前是需要根据您的脉冲宽度要求,外接一个电路来拓展脉冲宽度。我们给用户做了一个这样的东西,您可以和你你的供应商联系购买。您也可以自己做这个东西,只要用个单稳态触发器就可以了。

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-10 19:48:01
17楼


回复内容:

对: 刘岩利 “请问Galil的性能可以满足吗?”这不是galil性... 内容的回复!

那您能给我个联系方式什么的我直接跟您这边搞这个触发器得了,我这边的大致情况您也了解。

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-10 19:49:42
18楼


回复内容:

对: 安泰科技 回复内容:对: 刘岩利  “请问Galil的性能可以满... 内容的回复!

我在您的主页看到电话传真了,感谢 到时候联系您

安泰科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2016年6月01日
发表于:2016-06-16 21:38:53
19楼


回复内容:

对: 刘岩利 “请问Galil的性能可以满足吗?”这不是galil性... 内容的回复!

感谢 刘工 单稳态触发器今天到货了还没试,不过按您说的我自己焊了一个居然能用…………


主要还是感谢您!!谢谢。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-06-17 09:31:28
20楼

问题解决了就好,买我们的模块,听说一百多块呢。自己买个面包板焊一下,接就几块钱的硬件成本,最多十几块钱的硬件成本,拓展的脉冲宽度还可以自己任意选。

不过,这种用但稳态触发器输出的脉冲宽度,不会太精确,很可能随温度变化。计算脉冲宽度,选择电阻电容的时候,如果可能,给自己多留点余地。


热门招聘
相关主题

官方公众号

智造工程师