IF(GANTRY_CYCLE_WITHOUT_WORKPIECE==0)
IF (OPT_AIR_ZERO)
IF(WITHOUT_PART_CUTTING<>1)
$AC_TIMER[2]=0
STOPRE
REPEAT
STOPRE
ID=1 WHEN $AC_TIMER[2]>=5 DO SETAL(66711,"AIR ZERO ALARM")
UNTIL(AIR_ZERO_OK==1)
CANCEL(1)
ELSE
IF(WITHOUT_PART_CUTTING==1) ;Simulation cutting on check
GOTOF MACHINING
ENDIF
MSG("CHECK AIR-ZERO SYSTEM AND TURN OFF -CYCLE WITHOUT WORKPIECE MODE-")
G4F5
GOTOF MC_FINISHED
ENDIF
ELSE
IF(WITHOUT_PART_CUTTING<>1) GOTOF NO_WORKPIECE
ENDIF
ENDIF ;GANTRY NO WORK
最佳答案
楼主与我是家门啊,楼主的程序中有很多自定义变量,下面就本人对程序的理解做一阐述吧:
IF(GANTRY_CYCLE_WITHOUT_WORKPIECE==0) 如果“龙门架循环没有加工工件(GANTRY_CYCLE_WITHOUT_WORKPIECE)”等于0 为真
IF (OPT_AIR_ZERO) 如果“选择了空回零”(OPT_AIR_ZERO)为真
IF(WITHOUT_PART_CUTTING<>1) 如果 "没有工件正在切削"(WITHOUT_PART_CUTTING)不等于1 为真
$AC_TIMER[2]=0 启动系统变量$AC_TIMER[2]定时器2
STOPRE 禁止预读缓冲
REPEAT 重复以下循环直到:UNTIL条件为真
STOPRE 禁止预读缓冲
ID=1 WHEN $AC_TIMER[2]>=5 DO SETAL(66711,"AIR ZERO ALARM") 选择模态有效,只要 定时时间大于5秒 为真 则 输出循环报警66711,"AIR ZERO ALARM"
UNTIL(AIR_ZERO_OK==1) 直到:AIR_ZERO_OK==1 (空回零完成)
CANCEL(1) 取消 报警的模态输出
ELSE 否则
IF(WITHOUT_PART_CUTTING==1) ;Simulation cutting on check 如果"没有工件正在切削"(WITHOUT_PART_CUTTING)等于1 为真
GOTOF MACHINING 程序指针向前跳转到 MACHINING 标签处
ENDIF 结束IF语句 第三级
MSG("CHECK AIR-ZERO SYSTEM AND TURN OFF -CYCLE WITHOUT WORKPIECE MODE-") 输出消息:在显示屏中显示CHECK AIR-ZERO SYSTEM AND TURN OFF -CYCLE WITHOUT WORKPIECE MODE
G4F5 程序指针到此等待5秒继续
GOTOF MC_FINISHED 程序指针向前跳转到 MC_FINISHED 标签处
ENDIF 结束IF语句 第二级
ELSE 否则
IF(WITHOUT_PART_CUTTING<>1) GOTOF NO_WORKPIECE 如果 WITHOUT_PART_CUTTING<>1 为真,程序指针向前跳转到NO_WORKPIECE
ENDIF 结束IF语句 第一级
ENDIF ;GANTRY NO WORK 龙门架没有工作。
注意IF的嵌套使用
可以看看高级编程手册。 祝你好运,家门。
提问者对于答案的评价:
谢谢! 感谢家门的解答 。 我现在在研究这个程序。希望有机会还能向你请教。我的邮箱 513708827@qq.com
最佳答案作者回复:
请教 谈不上,我也刚刚接触这个,有机会大家可以交流知识和经验嘛。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc154876.html