待解决

abb机器人ginput组信号配置,那个抖动咋整

520
520
2026/04/12 21:18

项目上用的是ABB IRB1200,配的西门子1500走Profinet跟机器人通讯。现在要读一个外部传感器的DI,ginput组里面把那个信号加进去了,D652之类的IO映射也都没问题,仿真能读到值。

问题是真机上信号一直在跳,现场那个传感器是光电的,输出是NPN,24V供电,量了下空载电压也没虚。就是gInput的数字量从0切到1的时候,示教器上盯着看会闪,肉眼大概几十毫秒级别吧,离散制造节拍快的时候会误触发。

我之前用的是gInput组的那个filter功能,文档里说可以加debounce time,但是看手册没写具体每个bit能不能单独配,都是整组一起的。各位这玩意儿一般咋处理?是要在程序里自己做延时判断,还是有什么别的办法把单个bit的滤波时间拉长?

40 2

全部回复 (2)

生意兴隆
生意兴隆#1

ginput组那个filter是整组共享的,参数是GInputDebounceTime或者GInputEdgeTime这类名字,记不太清了,反正你改的是整个组里所有bit共用的filter时间,单bit配不了。你那个IRB1200应该是OmniCore的控制器吧,去系统参数-IO那找GInput那个domain,debounce默认好像是0或者很小的值,调大点试试,0-100ms都能设,光电传感器的话建议先设到10ms以上看看,不行再加到20-30ms。

另外提一句,gInput本来就是高速组,正常情况下switch语句里直接读就行,程序里别做delay,用waittime配合个短延时判断状态变化,光电这种响应时间本身就在us级,外部接线抗干扰也得查一下,NPN的线最好双绞屏蔽单独走,跟伺服动力线分开。

2026/04/14 04:19
韩志勇
韩志勇#2

你这传感器是不是对射的,安装距离和反射面有讲究的。我之前做电池片项目用的也是IRB1200加SICK的光电,ginput读也是乱跳,后来查下来是传感器安装的位置刚好在机械臂运动轨迹附近,电机驱动器的干扰耦合到信号线上了,屏蔽层接地的位置不对。跟ginput filter没关系,最后换了根屏蔽线,屏蔽层单端接地,搞定。

2026/04/15 13:26