SCL--CASE指令如何实现顺控功能

描述

通过CASE OF指令,可以比较容易实现类似顺控的功能,并且编程方法便捷、可读性较好。可以使用类似于下面的编程方式实现类似顺控的功能:

CASE 步骤号 OF //Int类型步骤号,一般位于FB的Static

0:

步骤0

逻辑编程 //一般初始步不执行具体操作,只是初始化,然后是等待开始

IF 条件 THEN

步骤号:=1;

ELSIF 错误 THEN

步骤号:=100;

END_IF;

1:

步骤1

逻辑编程

置位复杂指令i.REQ

IF 复杂指令i.DONE THEN

复位复杂指令i.REQ

步骤号:=2;

ELSIF 复杂指令i.ERROR

复位复杂指令i.REQ

步骤号:=100;

END_IF;

2:

步骤2

逻辑编程

置位复杂指令m.REQ

IF 复杂指令m.DONE THEN

复位复杂指令m.REQ

步骤号:=3;

ELSIF 复杂指令m.ERROR

复位复杂指令m.REQ

步骤号:=100;

END_IF;

n:

步骤n

逻辑编程

置位复杂指令x.REQ

IF 复杂指令x.DONE THEN

复位复杂指令x.REQ

步骤号:=n+1;

ELSIF 复杂指令x.ERROR

复位复杂指令x.REQ

步骤号:=100;

END_IF;

100:

错误处理 逻辑编程

步骤号:=0

END_CASE;

复杂指令0 //复杂指令调用

复杂指令1

复杂指令n

输出Busy、Done、Status等

复杂指令一般包含:通信、运动控制、读配方、写数据日志、读写数据记录、定时器等异步指令,这些指令通常不放在CASE语句的逻辑中,而是在最后统一调用。

一般通过复杂指令完成位、错误位等作为跳转条件。如果是定时器,也可以通过判断时间是否到达作为跳转条件。

例子:使用CASE OF指令编程运动控制,第一步相对运动以200mm/s的速度移动10000mm,第二步速度控制以100mm/s的速度移动15s,第三步停止。

指令

指令

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分