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

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

相关推荐

  • 西门子828D

    请问那里可以找到西门子858D的关于PLC的资料啊!很紧急啊! 最佳答案 828D的PLC也是基于S7-200的,在绝大多数情况下他的接口地址与802Dsl一致,区别仅仅在于802…

    SINUMERIK 2018年3月6日
  • 840Dsl前置USB插口无法读取U盘

    840Dsl前置USB插口经常出现无法读取U盘,内置的插口也经常发生这种情况 版主推荐答案 找一下系统的设置,要是设置没有问题就换个U盘试试。 查看完整帖子:http://www.…

    2020年11月1日
  • 求助个位高人一个问题,840D系统,如何用一个PLC信号调用机床中的一个程序

    具体是这样的,本单位有多台磨床,偶尔会出现正在加工零件磨活时冷却泵空开跳闸等问题,空开上的辅助触电动作后(PLC信号I33.4由0变为1),机床会进入急停状态,这样砂轮停在工件上,…

    SINUMERIK 2018年12月5日
  • 840D系统Powerline主轴SPOS定位后主轴有左右晃动现象,未完全停止

    机床在MDI状态下执行SPOS=0或者其他角度时,坐标显示已经到达,但是观察主轴电机发现电机有左右晃动现象,有时频率较小,小频率振动,这时抱闸后坐标就出现偏差0.5度左右,不知道电…

    SINUMERIK 2020年11月1日
  • 西门子808d主轴自动换挡,提示缺少主轴使能。为啥

    不换挡没问题。 最佳答案 楼主的问题具有一定代表性,需要仔细分析,注意以下几点:1.首先,808D的主轴的控制,有脉冲使能,以及控制器使能,如主轴的以下信号,如V380*4001.…

    SINUMERIK 2017年6月8日
  • 840D外接键盘

    我公司机床键盘坏了,要外接一个键盘,需要设置哪些参数 最佳答案 使用计算机键盘代替损坏的操作面板,不需要任何设置 在SIN840D数控系统的操作面板出现故障时,可临时用计…

    SINUMERIK 2019年6月11日
  • 西门子SINUMERIK 810D/840D 用户扩展接口做界面 ,文件存放路径

    编写了扩展接口的MA_AUTO.COM文件,内容如下://S(START)HS2=("TEST",AC7,SE1)PRESS(HS2)LM("FORM…

    2020年10月31日
  • 840DSL系统调试PLC运行不起来

    调试过程中,如果由于编程程序问题,下载后PLC运行不起来,始终处于stop状态,如何快速查出问题原因,从而使PLC运行??? 钻石用户推荐最佳答案 cpu停机原因,一般是通过在线看…

    SINUMERIK 2020年10月31日
  • 840DSL HT2电源线接口定义

    请问高手们840DSL HT2电源线12针接口定义,不联机怎么加电可以点亮HT2? 最佳答案 HT2通过接口转接模块接入系统网络。ht2有两种转换模块,电源都是通过接口模…

    2020年11月1日
  • 主轴位置变化

    在自动回原位过程中,主轴1会显示正确的实时位置,一旦回到原点1轴位置由1005.00变为839.996,变化之后原点指示灯没丢,手动移动轴,将会在839.996上显示增减,换为自动…

    SINUMERIK 2021年7月5日