0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器人RIP的控制程序解析

机器人及PLC自动化应用 来源:未知 作者:李建兵 2018-03-16 11:19 次阅读

工程项目的标准化统一对工业公司来说是降低各种成本的关键,一个发展了50-60年还没有自我工程标准的工业企业是不可能有发展的,就好像一个品牌说了半天怎么怎么好,但还没有实现产业化,一切都是空谈,就是在烧钱。

下面是 一个经典的标准化的机器人程序控制的架构案例:

RIP1的IO区域: 513-520

E513 K1水流量合格 A513 KYP01AE 开水

E514BV01WMIN 水流量低位检测(NO高于低压值才有信号

E515BV01WMAX 水流量高位检测(NC 超过高压没有信号)A515 KYP01AA 关水

E516BD01ND 低压气合格

在MAKRO57 中使用的F量:;%{E}%MKUKATPVW%CVW_COM %VCOMMENT %P 2:-- VW Kuehlwasserbeschaltung --, 3: VW_COMMENT

;FOLD F819 = EIN激活 ;FOLD –带循环水控制—

F820 = EIN 不使用循环水

F817 = EIN 用于不使用低压气用于屏蔽发出给PLC的故障代码

F818 是否关闭机器人在闲置时间超过15分钟后关水的功能,正常F818是AUS的

功能介绍:

1.当正确量的水流过时,入口(#冷却水最小值= TRUE)和(#冷却水

最大= TRUE)。

2.如果水流量太低,输入(#冷却水最小= FALSE),输入(#冷却水

最大= TRUE)。 没水

3.如果水流量太高,输入(#冷却水最小值= TRUE),INPUT(#冷却水

最大= FALSE)。电极脱落

USR_S.SRC文件调用程序VW_WASSER() -使得水控制程序在程序中实时执行

GLOBALDEF VW_WASSER() –声明一个全局性质的程序

1.-不带循环水

IF NOT MIT_VW_WASS AND ($FLAG[F_O_WASSER] OROHNE_VW_WAS) AND NOT$FLAG[F_KWY01EIN] THEN

- 没有选择有水-有F820(不带水) 或者没有水-没有F819水阀启动(F819带水)

- MIT_VW_WASS带水的状态- OHNE_VW_WAS不带水的状态-

IF NOT $IN[I_BD01ND] OR (NOT $IN[I_BD02ND] AND $FLAG[F_MIT_RIP2]) OR (NOT $IN[I_BD03ND]AND $FLAG[F_MIT_RIP3])THEN

-E516低压气检测-F_MIT_RIP2=142 F142带2个RIP

$OUT[O_R_Med_ein]= FALSE-A25反馈给PLC有介质

ELSE

$OUT[O_R_Med_ein]= TRUE -此时又低压气就可反馈机器人有介质

ENDIF

IF($OUT[O_R_PFO] AND $OUT[O_R_SAK])THEN -机器人在零点A15,在轨迹上A16

OHNE_VW_WAS=FALSE

ELSE

OHNE_VW_WAS=TRUE -正常执行程序状态满足发出没有水

ENDIF

ENDIF

2.带水

IF $FLAG[F_KWY01EIN] OR MIT_VW_WASS THEN-F819带水功能在MAKRO57中被激活

- 有F819 或者带水模式在DAT文件中给入TRUE

IF NOT MED_EXT_AUS AND NOT $OUT[O_R_Med_ein] AND NOTWASSERSTOE AND $OUT[O_R_RK100] AND $IN[I_BD01ND] AND ($IN[I_BD02ND] OR NOT $FLAG[F_MIT_RIP2]) AND ($IN[I_BD03ND] OR NOT $FLAG[F_MIT_RIP3])THEN

-MED_EXT_AUS外部信号使水关闭-没有发出A25介质反馈-没有水故障-机器人有RK100(A10)-E516低压气检测-2号站低压气或者没有F142 .....

-首先要带水F819 机器人不能有水流量故障,不由外部关水,要有低压气检测E516

-F142 之类当有1个RIP时F142=FLASE

IF NOT TIMER_ABGE AND NOT T_SG_ABGEL THEN-两个超时有一个没有就没有A25

-没有超过机器人闲置时间15分钟(TIMER_ABGE/ T_SG_ABGEL)

$OUT[O_R_Med_ein]=TRUE -A25机器人有介质

ENDIF

ENDIF

IF($OUT[O_R_PFO] AND $OUT[O_R_SAK])THEN

-A15机器人在零位-A16 机器人在轨迹上

MIT_VW_WASS=FALSE

ELSE

MIT_VW_WASS=TRUE -用于当机器人不再零点也不在轨迹时使循环可以继续

ENDIF

IF(NOT $OUT[O_R_RK100] AND WASSERSTOE AND WASSER_EIN) OR NOT$IN[I_BD01ND] OR (NOT $IN[I_BD02ND] AND $FLAG[F_MIT_RIP2]) OR (NOT $IN[I_BD03ND] AND $FLAG[F_MIT_RIP3] ) THEN

-机器人RK100被断开,有水故障和水启动-没有低压气或不足

MED_EXT_AUS=TRUE -外部条件引起水被关闭激活

IF(VW_FEH_NR==20)THEN –故障号反馈给PLC是20号

- 在VWFEH_LOOP()程序中定义故障号20 与ED_EXT_AUS的关系

- IF(MED_EXT_AUS)THEN

-VW_FEH_NR=20

- ENDIF

$OUT[O_R_Med_ein]=FALSE -关闭A25介质反馈

ENDIF

ELSE

MED_EXT_AUS=FALSE -否则就没有外部条件引起水被关闭激活

ENDIF

IF NOT $OUT[O_R_RK100] AND NOT WA_HIFU_REST THEN

-当没有RK100,也没有WA_HIFU_REST水的计时器复位中间变量-例如:打开安全门

WA_HIFU_REST=TRUE

$TIMER_STOP[T_WASSER_EIN]=TRUE -停止计时器T55水流开启时间

ENDIF

IF $OUT[O_R_RK100] AND WA_HIFU_REST THEN

-断开RK100后再次恢复的状态

$OUT[O_R_Med_ein]=TRUE -A25再次发出

WA_HIFU_REST=FALSE关闭中间变量

WASSERSTOE=FALSE-关闭水故障

$FLAG[F_T_WA_WSTOE]=FALSE -水故障

$TIMER_STOP[T_WASSER_STO]=TRUE –T56水故障计时器开始复位清零

$TIMER[T_WASSER_STO]=0

$TIMER_STOP[T_WASSER_STO]=FALSE

$TIMER_STOP[T_WASSER_EIN]=TRUE -T55水启动计时器开始复位清零

$TIMER[T_WASSER_EIN]=0

$TIMER_STOP[T_WASSER_EIN]=FALSE

$TIMER_STOP[T_STELLGLIE]=TRUE -T54水控制计时器开始复位清零

$TIMER[T_STELLGLIE]=0

$TIMER_STOP[T_STELLGLIE]=FALSE

ENDIF

IF NOT WASSERSTOE THEN -如果没有水故障

-水流量超过最大流量故障-可认为是电极帽掉了/漏了

IF($IN[I_BV01WMIN] AND NOT $IN[I_BV01WMAX]) OR ($IN[I_BV02WMIN] ANDNOT $IN[I_BV02WMAX]) OR ($IN[I_BV03WMIN]AND NOT $IN[I_BV03WMAX])THEN

-E514 有低压水和没有高压水E515-

-正常情况下是E514和E515高低水都有,当水压制超过高压水时E515会变为FLASE

-因此在调解水流量阀时因该注意高压水压力值不能太大。

W_MAX_RIP1=$IN[I_BV01WMIN] AND NOT $IN[I_BV01WMAX]

-有低压水没有高压水为高压水故障,常用与电极帽掉的水压检测

W_MAX_RIP2=$IN[I_BV02WMIN] AND NOT $IN[I_BV02WMAX]

W_MAX_RIP3=$IN[I_BV03WMIN] AND NOT $IN[I_BV03WMAX]

$TIMER_STOP[T_WASSER_STO]=FALSE -当出现故障时计时器T56开始计时

IF($TIMER[T_WASSER_STO]>WA_STOER_Z)THEN

-当T56超过4 S时报水故障,开始关RIP的水

WASSERSTOE=TRUE-报水流量故障

$FLAG[F_T_WA_WSTOE]=TRUE –F816水故障提示

$TIMER_STOP[T_WASSER_STO]=TRUE –T56暂停

$OUT[O_KYP01WA]=TRUE –A515水关

$OUT[O_KYP01WE]=FALSE –A513 水开被关闭

$OUT[O_KYP02WA]=TRUE

$OUT[O_KYP02WE]=FALSE

$OUT[O_KYP03WA]=TRUE

$OUT[O_KYP03WE]=FALSE

ENDIF

ELSE -如果没有超时4 S,T56计时器复位

$TIMER_STOP[T_WASSER_STO]=TRUE

$TIMER[T_WASSER_STO]=0

$TIMER_STOP[T_WASSER_STO]=FALSE

ENDIF

IF $OUT[O_R_RK100] THEN -有机器人RK100请求驱动

IF($FLAG[F_WA_EIN_VSP] OR (NOT $OUT[O_R_PFO] AND NOT $OUT[O_R_WartB] AND$OUT[O_R_SG_gesp]))THEN

-F818在MORKO80中使用消除自动关水问题

-机器人不再零位A15-机器人没在维修位置A17-程序始终在执行A23

- 如果激活了F818 那么开水时间T55会被一直复位,在没有水故障的条件下。

- 当机器人开始移动后T55奖杯清零

$TIMER_STOP[T_WASSER_EIN]=TRUE –T55清零

$TIMER[T_WASSER_EIN]=0

$TIMER_STOP[T_WASSER_EIN]=FALSE -开始计时

ENDIF

ENDIF –一旦开始计时,机器人还没有执行程序在零位或一直在维修位置,或停止在过程停止都不会使T55定时器复位一直开始计时直道900000ms后停止

TIMER_ABGE=($TIMER[T_WASSER_EIN]>WA_AUS_NAZ)-没有故障时T55大于15分钟

-当开始执行程序时T55被重新值0 TIMER_ABGE变为FLASE

- WA_AUS_NAZ=900000

IF TIMER_ABGE AND NOT$TIMER_STOP[T_WASSER_EIN] THEN

-大于15分钟后 –还没有T55计时器停止

$TIMER_STOP[T_WASSER_EIN]=TRUE –让计时器停止

ENDIF

IF $OUT[O_R_RK100] THEN -机器人只要有RK100请求驱动

$TIMER_STOP[T_STELLGLIE]=TRUE –T54清零

$TIMER[T_STELLGLIE]=0

$TIMER_STOP[T_STELLGLIE]=FALSE --开始计时

ENDIF -他只记录没有RK100后的时间,超时时间也是900000ms

T_SG_ABGEL=($TIMER[T_STELLGLIE]>WA_AUS_SZA)

--当开始发出RK100时T54被重新值0 T_SG_ABGEL变为FLASE

IF T_SG_ABGEL AND NOT$TIMER_STOP[T_STELLGLIE] THEN

$TIMER_STOP[T_STELLGLIE]=TRUE –让计时器停止

ENDIF

IF $OUT[O_R_RK100] AND NOTWASSERSTOE AND NOT WASSER_EIN AND NOT $FLAG[281] AND NOT $FLAG[283] THEN

-机器人有使能-没有水故障-水没有启动-没有F281-没有F283/一般用F281就可实现开关水

-本段的意思是正常时会保持RIP开着水

WA_ZUSTAND=1 -RIP开水

ENDIF

IF(TIMER_ABGE OR T_SG_ABGEL) AND NOT $FLAG[F_WA_EIN_VSP] THEN

- 机器人闲置超时-没有F818(关闭设备自动状态时闲置时间超过15分钟后关水)

MED_EXT_AUS=FALSE -关闭外部关水

IF(VW_FEH_NR<>20)THEN –闲置时间超过15分钟后关主HIP的水-

-其他一水流量故障只故障代码不等于20就都会关闭A25

$OUT[O_R_Med_ein]=FALSE -关闭A25会引起主杠HIP的5S后关水

ENDIF

ELSE

MED_EXT_AUS=FALSE

ENDIF

IF($OUT[O_R_RK100] AND ($FLAG[281] OR $FLAG[283] OR WASSERSTOE OR NOT$IN[I_MEDIENEI]))THEN

-RIP关水的条件:机器人有使能请求RK100-有F281-或有F283-或有水故障-或PLC没有发出E25

WA_ZUSTAND=2 -RIP关水

ENDIF

---------------------------------------------------------------------

IF $FLAG[819] AND $FLAG[820] THEN -直接控制开关水

-F819在MAKRO57里赋值为TURE,F820直接给水- 不受到其他条件的控制只开水.

WA_ZUSTAND=1 -RIP开水

ENDIF

---------------------------------------------------------------------

SWITCH WA_ZUSTAND

CASE 1

;Wasser EIN

$OUT[O_KYP01WA]=FALSE

$OUT[O_KYP01WE]=TRUE -A513开水阀

$OUT[O_KYP02WA]=FALSE

$OUT[O_KYP02WE]=TRUE

$OUT[O_KYP03WA]=FALSE

$OUT[O_KYP03WE]=TRUE

WASSER_EIN=TRUE –水阀启动

CASE 2

;Wasser AUS

$OUT[O_KYP01WA]=TRUE -A515水阀关

$OUT[O_KYP01WE]=FALSE

$OUT[O_KYP02WA]=TRUE

$OUT[O_KYP02WE]=FALSE

$OUT[O_KYP03WA]=TRUE

$OUT[O_KYP03WE]=FALSE

WASSER_EIN=FALSE -水阀关

DEFAULT

ENDSWITCH

ENDIF

ENDIF

END

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

    关注

    4974

    文章

    12249

    浏览量

    454847
  • 人工智能
    +关注

    关注

    1776

    文章

    43819

    浏览量

    230574

原文标题:机器人RIP的控制程序解析

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PID控制程序

    有哪位好心帮忙编一道PID控制程序,注意位数等的范围,并要求附上Kp,Ti,Td的范围。谢谢!
    发表于 05-03 14:49

    舵机控制程序

    舵机控制程序,仅供参考{:soso_e113:}
    发表于 05-16 14:46

    请问有没有编过模糊PID控制程序或神经网络控制程序

    各位大神,请问有没有编过模糊PID控制程序或神经网络控制程序
    发表于 01-12 10:50

    轮式底盘控制程序

    里面包含测速PID控制,定时器中断,四路超声,四路红外测距,做过一个家庭服务机器人控制程序-Which contains the speed PID control, timer
    发表于 04-21 15:45

    如何将stm32的控制程序转成51的程序?

    如何将stm32的控制程序转成51的程序,用的是意法的传感器,给的控制程序也是32的
    发表于 11-03 08:07

    红外遥控灯电路及控制程序

    红外遥控灯电路及控制程序
    发表于 03-11 09:41 199次下载

    机器人控制程序(舵机型)

    机器人控制程序(舵机型)机器人控制程序(舵机型)
    发表于 11-12 17:23 16次下载

    单片机按键控制程序【汇编版】

    单片机按键控制程序【汇编版】单片机按键控制程序【汇编版】单片机按键控制程序【汇编版】单片机按键控制程序【汇编版】
    发表于 12-29 11:04 0次下载

    单片机按键控制程序【C语言】

    单片机按键控制程序【C语言】单片机按键控制程序【C语言】单片机按键控制程序【C语言】单片机按键控制程序【C语言】
    发表于 12-29 11:04 29次下载

    多舵机控制程序

    多舵机控制程序
    发表于 03-21 15:43 12次下载

    手势控制程序

    这个是小车的手势控制程序,通过单片机可以控制小车来进行活动,比如前进或者后退。
    发表于 05-11 11:30 22次下载

    3种单按钮起挺控制程序

    三菱PLC(可编程逻辑控制器)编程实例项目例程——3种单按钮起挺控制程序
    发表于 11-08 16:03 6次下载

    基于WinCE通知API的解析及在控制程序中的应用

    基于WinCE通知API的解析及在控制程序中的应用
    发表于 10-25 09:42 3次下载
    基于WinCE通知API的<b class='flag-5'>解析</b>及在<b class='flag-5'>控制程序</b>中的应用

    直流无刷电机控制程序

    直流无刷电机控制程序(现代电源技术杜少武扫描版)- 直流无刷电机控制程序,可用在直流变频空调上
    发表于 09-28 12:28 153次下载
    直流无刷电机<b class='flag-5'>控制程序</b>

    快速掌握PLC控制程序的设计

    快速掌握PLC控制程序的设计
    发表于 03-17 09:42 260次阅读