『7x24小时有问必答』
通过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参数
公众号:  巨控电子( 扫码关注 )  PLC顶级工程师微信群加入    
巨控小周/工控小周
西门子TIA博途SCL学习
博途WinCC Professional 与 S7-1200/1500通信
 西门子PCS7学习      


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码