通过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,第三步停止。
图5为FB块的参数部分,图6为程序。

图5 FB参数

图6 源程序
审核编辑 :李倩
-
编程
+关注
关注
90文章
3707浏览量
96765 -
Case
+关注
关注
0文章
28浏览量
13788
原文标题:SCL : CASE OF 指令如何实现顺控功能?
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
CW32W031射频芯片的AT指令都有哪些功能?
什么是语音芯片串口AT指令?实现智能语音交互的核心技术详解
欧盟CE-RED指令介绍
riscv实现自定义指令并用qemu运行
计算程序执行指令数的函数实现
e203乘除法模块(e203_exu_alu_muldiv.v)中的back2back和special case信号的含义
e203进行F指令扩展的具体实现
EC20在使用AT指令实现http或者mqtt功能时,应该没办法使用socket吧?
顺络电阻的抗潮湿性能如何?
顺络贴片电容的漏电流问题如何解决?
顺络压敏电阻的选用要点
单相电机倒顺开关怎么接线
CPU的各种指令和执行流程
石油行业中,开关柜一键顺控的作用

CASE OF 指令如何实现顺控功能?
评论