|
通过CASE OF指令,可以比较容易实现类似顺控的功能,并且编程方法便捷、可读性较好。可以使用类似于下面的编程方式实现类似顺控的功能: CASE 步骤号 OF //Int类型步骤号,一般位于FB的Static0:步骤0 逻辑编程 //一般初始步不执行具体操作,只是初始化,然后是等待开始IF 条件 THEN步骤号:=1;ELSIF 错误 THEN步骤号:=100;END_IF; 1:步骤1 逻辑编程置位复杂指令i.REQIF 复杂指令i.DONE THEN复位复杂指令i.REQ步骤号:=2;ELSIF 复杂指令i.ERROR复位复杂指令i.REQ步骤号:=100;END_IF; 2:步骤2 逻辑编程置位复杂指令m.REQIF 复杂指令m.DONE THEN复位复杂指令m.REQ步骤号:=3;ELSIF 复杂指令m.ERROR复位复杂指令m.REQ步骤号:=100;END_IF; n:步骤n 逻辑编程置位复杂指令x.REQIF 复杂指令x.DONE THEN复位复杂指令x.REQ步骤号:=n+1;ELSIF 复杂指令x.ERROR复位复杂指令x.REQ步骤号:=100;END_IF;...100:错误处理 逻辑编程步骤号:=0END_CASE; 复杂指令0 //复杂指令调用复杂指令1...复杂指令n 输出Busy、Done、Status等 复杂指令一般包含:通信、运动控制、读配方、写数据日志、读写数据记录、定时器等异步指令,这些指令通常不放在CASE语句的逻辑中,而是在最后统一调用。 一般通过复杂指令完成位、错误位等作为跳转条件。如果是定时器,也可以通过判断时间是否到达作为跳转条件。 例子:使用CASE OF指令编程运动控制,第一步相对运动以200mm/s的速度移动10000mm,第二步速度控制以100mm/s的速度移动15s,第三步停止。 图5为FB块的参数部分,图6为程序。 图5 FB参数 公众号: 巨控电子( 扫码关注 ) PLC顶级工程师微信群加入 西门子TIA博途SCL学习 博途WinCC Professional 与 S7-1200/1500通信 西门子PCS7学习 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |