求大神解释下这段程序的意思。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月6日 下午6:54
下一篇 2017年6月6日 下午6:55

相关推荐

  • 机床一开机送电就损坏MCP面板

    机床系统是840D的。操作者上班一合上机床总电源开关就烧坏MCP面板(面板的电源集成电路L4978D的24V输入引脚烧断,所有指示灯不亮)。检查电源和线路没有发现问题,更换一块新面…

    SINUMERIK 2017年12月10日
  • DB31.DBX110.1 安全零速已激活问题

    DB31前面60个字节是PLC给NC的信号,61-140是NC给PLC的信号,PLC给NC的信号很好理解,可以在PLC里面查找信号是如何处理的。NC给PLC的信号呢,例如DB31.…

    SINUMERIK 2020年10月31日
  • 802D SL问题求助!

    大致情况如下:一台专机设备原配置为802D  SL(V01.04.01.07)  T/M  Value &nb…

    SINUMERIK 2017年12月8日
  • 802D sl 手轮点动后主轴停止重新提问?

    802D sl 手轮点动后主轴停止。前面已经提了问题了,但可能我提的问题不清楚,回答的不是我想象的,我的是车床,2轴伺服和1MPCA模拟主轴,我增量定位2轴伺服…

    SINUMERIK 2017年8月24日
  • 机床精度

    在西门子802d系统中x轴孔距会偏差一个毫米比如屏幕中写的尺寸是50而加工后测量只有49这是为什么? 最佳答案 楼主的问题具有一定代表性,我在利用西门子802d系统改造数控立铣时曾…

    SINUMERIK 2017年11月1日
  • 关于五轴联动

    我公司正研发一台五轴联动机床,采用840Dsl系统,要求x、y、z、A、B轴联动,但X、Y、Z轴为数字控制而A、B轴及主轴为模拟量控制(即电机及驱动都是模拟量控制,是其它厂家的产品…

    SINUMERIK 2017年11月1日
  • 增材制造方案可以自动设计支撑和切片和吗?

    增材制造方案可以自动设计支撑和切片和吗? 钻石用户推荐最佳答案 这样问题非常专业又和西门子自动化关系不太大,不要在这里问了。 提问者对于答案的评价:

    SINUMERIK 2021年7月5日
  • 关于802D的第一测量系统和第二测量系统

    我们在半闭环上面再配了光栅尺,工件运转正常,全闭环是生效了的。但在802D的诊断页面面的驱动器页面:第二测量系统的值一直不显示(是为0),只显示第一测量系统的值。而且据我们的测试,…

    SINUMERIK 2019年6月11日
  • 840D_SL异步子程序调用的问题

    840D_SL系统,实现调用异步子程序调用,现设置了参数11602#0=3,11604=1,19340=4,OB100内也进行了更改,变的程序如附件,出现了如下问题:每次断电重启,…

    2017年6月24日
  • 谁有828d toolbox V04_05_02_00 请给我一份

    谁有828d toolbox V04_05_02_00 请给我一份 谢谢邮箱:570562220@qq.com 最佳答案 下载链接:http…

    SINUMERIK 2017年6月18日