讨论

安川DX200示教器里这个IF条件分支怎么老跳转不对?

老胡
老胡
2026/05/16 18:23

手上有个搬运项目,用的安川MH50配DX200控制器,逻辑不复杂:抓手夹紧信号进PLC,PLC给机器人一个DI触发,然后机器人走点位A→B→C,C点放料前要判断一个DI是不是ON,ON就走放料流程,没ON就跳到报警分支。

我在示教器里写的IF DI[10]=ON THEN...ELSE JMP LABEL[1],手自动切到PLAY跑的时候,明明DI10信号是亮的,机器人还是往报警那边跳,换成IN#(10)试了也是一样的。是不是我跳转标签写的位置有问题?还是说DX200里判断DI状态得用别的指令?

107 4

全部回复 (4)

和气生财
和气生财#1

DX200里IF指令判断DI不能直接写DI[10]=ON,得用IN#(10)=ON或者B[700]这种中间变量,我印象里IF条件那一行只接受IN#、OT#、B[]、I[]这些,DI[]是给监视画面看的东西,逻辑程序里根本识别不了,你改成IN#(10)=1试试。

2026/05/17 00:45
谢永刚
谢永刚#2

跳转那块也查一下,LABEL标号我之前踩过坑,放的位置在JOB结尾系统会自动当成END处理,跳转过去就乱套,后来标号统一放在程序开头位置就正常了。

2026/05/17 02:20
谢春雷
谢春雷#3

建议先别在示教器里写IF判断,这种I/O联锁逻辑扔给PLC做更省事,机器人就当个纯运动控制器用,条件满足给一个DI启动信号就完事了,出问题查PLC日志也方便,不用每次都连示教器翻程序。

2026/05/17 03:08
小飞
小飞#4

DI10的ON你是怎么确认的,示教器IO监视画面里看亮的,还是万用表量端子量的?DX200的DI是24V漏型还是源型,公共端COM接对没?之前有个项目DI灯看着亮其实内部没吸合,就是因为COM接错点位了。

2026/05/18 02:46