机器人
返回首页

机器人编程:VASS标准-FC641顺序块条件控制

2023-04-14 来源:机器人及PLC自动化应用

该块根据输入变量 "VerAuto" 和 "VerHand"(具体视已经选择的模式(手动或自动))生成输出"VerGes"。在自动模式中,如果存在同步错误,输出"VerGes"  将被阻塞。

收到来自"SK_Verwaltung" 的同步请求后,先将全部步设置成 FALSE ,再设置其转换条件已被满足的步。

转换条件由联锁条件“自动”(Automatic) 和输入  "FrgTrans"的转换条件组成。

顺序错误将会禁用顺序检索。在自动模式中时,若存在同步错误,也会禁用输出 "VerGes"。

如果在同步中发现了多个步,将对第一个步进行同步。此时输出可以适用于多个步的某条错误消息。 

输入  "Cfg"  用于设置特殊功能:

- "Cfg Bit 00" 用于将某个步定义成等待步,也就是说, "Halt" 或 "Freigabe" [enable] 立即访问反馈。

- "Cfg Bit 01" 用于定义在内部不允许“停止”(Halt) 的某个步,也就是说,顺序在满足某个转换条件的情况下收到访问请求或停机请求后也不停止执行。

示教步时间

顺序执行期间,通过设置 "M10.7 ach_me_SK" 标志可以写入步时间;在在线状态期间,可以通过参数"SNO_Time" 读出步时间。

步时间 "+10 s" 将被组态成步监控时间 (TUeS) 。

对于处于循环时间期间的顺序,应为其计算该时间。

-FC641  顺序块控制-

-Cfg.X1选择什么时候发出K90- Schritt.T上一步的激活的时间

-Schritt.X上一步的激活状态 =1处于激活转台,=0没有激活

IF NOT Cfg.X1 AND Schritt.X THEN     1.下一步的条件满足时发出FR_K90

IF TransBed OR (NOT TransBed AND xHM_Zeit_abgelaufen) THEN

-当该步条件满足-或者该步条件不满足和上一步执行时间超过10S时间正常-

ST_BA.K90_SK := ST_BA.K90_SK;

xHM_K90Frg:= True;   -发出允许请求进入-

ELSE

ST_BA.K90_SK := False;

xHM_K90Frg:= False;

END_IF;   

END_IF;

IF Cfg.X1 AND Schritt.X THEN       2.下一步的条件没有满足时发出FR_K90

IF TransBed OR (NOT TransBed AND NOT xHM_Zeit_abgelaufen) THEN

ST_BA.K90_SK := False;

xHM_K90Frg:= False;

ELSIF NOT TransBed AND xHM_Zeit_abgelaufen THEN

-条件不满足时-上一步执行时间超过10S时间正常-

ST_BA.K90_SK := ST_BA.K90_SK;

xHM_K90Frg:= True; -发出允许请求进入-

END_IF;    

END_IF;


 

IF Teach_Time_SK AND Schritt.S0 AND TransBed THEN

Schritt.S0上一步离开-本步的条件满足-Teach_Time_SK:M10.7-

SNO_Time :=Schritt.T ;    上一步的激活时间

END_IF;

tHM_SUe:= SNO_Time * 13 / 10 当前步时间的换算

IF TUe_S = T#0s THEN   如果外部设置的等待时间是0s  

IF (Schritt.T > tHM_SUe)AND (tHM_SUe > T#0s) THEN 比较上一步的T条件时间

xHM_Zeit_abgelaufen := True ;激活允许请求

ELSE

xHM_Zeit_abgelaufen := False ;    关闭允许请求

END_IF;

ELSE       -TUe_S=10S如果外部设置的等待时间不是0s

IF Schritt.T > TUe_S  THEN比较上一步的T条件时间大于设置间

xHM_Zeit_abgelaufen := True ;激活允许请求

ELSE

xHM_Zeit_abgelaufen := False ;关闭允许请求

END_IF;   

END_IF;

IF (MOP_HALT = True) OR (xHM_K90Frg ANDST_BA.K90_AnfoZutritt) THEN

-请求进入与允许请求进入都有时-

MOP_HALT:= True;   激活控制步停止

END_IF;

IF (MOP_HALT = True) AND NOT (xHM_K90Frg ANDST_BA.K90_AnfoZutritt) AND Schritt.X THEN

-停止步后-取消请求进入-上一步还在激活就会取消停止-

MOP_HALT:= False;

END_IF;

通过对K90_SK的控制,使顺序块如果在跳步时,或顺序块条件不满足时不能有允许进入条件

注 : Si.T 步 i的当前或上次的激活时间

Si.X  显示步 i是否被激活

Si.U  步 i的没有干扰的总的激活的时间

Transi.TT  显示转换条件 i是否满足

HALT_SQ  MOP.HALT "Stop seqencer"  停止程序顺序并且重新激活

编辑:黄飞

 

进入机器人查看更多内容>>
相关视频
  • 直播回放: Keysight 小探头,大学问,别让探头拖累你的测试结果!

  • 控制系统仿真与CAD

  • MIT 6.622 Power Electronics

  • 直播回放:基于英飞凌AIROC™ CYW20829低功耗蓝牙芯片的无线组网解决方案

  • 直播回放:ADI & WT·世健MCU痛点问题探索季:MCU应用难题全力击破!

  • Soc Design Lab - NYCU 2023

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 开关电源的基本组成及工作原理

  • 用NE555制作定时器

  • 带有短路保护系统的5V直流稳压电源电路图

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章