紧急求助

安川堆栈程序大改有啥讲究?DX200控制器

hhj1987
hhj1987
2026/04/01 07:36

手上有个安川机器人项目,DX200的控制器,之前一直是单任务跑,现在客户要求搞堆栈,能存几十种产品配方,切型号要能秒切。我看了下手册,堆栈指令PUSH/POP那些都明白,配方文件存CF卡里也能做,但实际搞过的人才知道坑在哪。

我现在卡在两个点:一个是堆栈深度到底开多大合理?手册说最多256,但有人说开大了响应会慢。还有就是配方切换的时候,要不要先把当前任务里的变量清空再PUSH?我看程序里有几个全局变量是复用的,切换型号不清会不会出幺蛾子。

另外想问问有没有搞过这种多配方堆栈的兄弟,配方文件是存CF卡还是走以太网传FTP?现场网络不一定稳,怕切换的时候卡住就尴尬了。有经验的指点下,方案要给客户报了,工期卡得紧。

11 3

全部回复 (3)

jianjunz97
jianjunz97#1

堆栈深度别开太大,DX200的堆栈是软件实现的,开满256实际跑下来切换响应肉眼可见的慢。我这边一般开32或者64,看你配方数量定。配方文件用CF卡本地读最稳,网络方案别用,现场出问题你人都到不了。切换型号前把临时变量清空是必须的,特别是你这种全局变量复用的,不清的话上一型号的残留数据会把新配方带偏,亲身踩过坑——有次IG参数没清,结果两个产品尺寸差了0.2mm,批量返工。

2026/04/01 16:22
诚信经营
诚信经营#2

你客户要秒切是多秒?切型号如果只是换个IO对应的配方号,堆栈里PUSH个空记录再填新数据就行,几百毫秒的事。要是涉及伺服参数切换比如加速度增益那些,那确实得悠着点,DX200参数切换有专用的指令,别自己瞎搞。

2026/04/03 00:59
杰姐
杰姐#3

网络方案敢用就等着哭吧,去年给某汽车厂做的方案,走的Profinet,切配方时候网络抖了一下机器人直接急停,后来全改成CF卡本地读取了,稳定得很。FTP传文件那是下配方的时候用,不是运行时用,这俩别搞混。

2026/04/05 00:50