中国机器人网 App
手机扫码下载 · 或点击查看
刚做机器人应用三个月,现在用的是发那科的小六轴,项目里有一段要把料从A点搬到B点再搬到C点,但是中间要判断一个信号,信号到了就跳过去,信号没到就一直在那等。这种分支逻辑在TP 里咋写啊?看了两天手册还是没搞明白跳转指令和条件那一块。
另外想知道大家写这种带条件的程序,是习惯把判断写在主程序里,还是单独拎出来做个子程序调用?哪种好维护一点?
IF 条件 THEN 这种结构发那科是支持的,信号没到可以加个 WAIT,或者直接用 IF DI[xx]=ON THEN JMP LBL[xx]。LBL 是标签,JMP 是跳转,这俩搭配用就行。WAIT 加超时时间比如 5 秒,超时了走报警或者跳别的分支,比较稳。
至于结构上,建议拆成子程序,主程序只负责流程调度,判断的逻辑放子程序里,出了事好定位。主程序一坨判断塞进去,等项目大了改起来哭都来不及。
先搞清楚你用的是 R-30iB 还是 R-30iB Mate Plus,这俩在条件语法上有点小差别,老款有些指令不支持。手册里 KAREL 那本翻一下,比 TP 编程手册讲得清楚。
直接 WAIT DI[xx]=ON 不就行了,干嘛非要跳转?逻辑简单点反而不容易出错。子程序那个我同意,能拆就拆。