PLC程序FB100模式控制整体分析

描述

plc

B100的使用设置说明:

xCfg_8: 手自动切换时直接激活自动/或不能需要点K40按钮再次确认

WINCC按钮设置:

bVisuTasten     := bVisuTasten OR ST_BA.VisuTaLoc;

-ST_BA.VisuTaLoc为扩展块的WINCC按钮状态控制,使程序其他快也能控制FB100的工作状态。例如:FB130  的 ST_BA.VisuTaLoc := bVisuTasten; 就是工位的模式按钮控制总的-

IF PC_AKTIV = DWORD#16#00000000 THEN  -如果没有和WINCC链接成功按钮功能将无效-

bVisuTasten     := Byte#0;

ST_BA.VisuTaLoc := Byte#0;

End_If;

-没有使用该功能-

xSK22_AutoTipE:=  (ST_BA.VisuTaAutoTip = Byte#1) Or (bVisuTasten    = Byte#130) ;

xSK22_AutoTipA:=  (ST_BA.VisuTaAutoTip = Byte#2) Or(bVisuTasten    = Byte#131) ;

plc

plc

xSK40E              := (bVisuTasten = Byte#1) ORSK40;  -启动开-SK40外部控制按钮-

xSK40A              := (bVisuTasten = Byte#2);         -启动关

xSK23_BaHand        := (bVisuTasten = Byte#4) OrSK23_BaHand;-选择手动

xSK9_BaAuto         := (bVisuTasten = Byte#8) OrSK9_BaAuto;选择自动

xSK8_BaEinzel       := (bVisuTasten = Byte#9) ORSK8_BaEinzel;-选择单步-

xSK90_ZutrittAnfo   := (bVisuTasten = Byte#16); -请求进程停止-

xSK6_TE             := (bVisuTasten = Byte#32); -工作后停止-

xSK93_Leer          := (bVisuTasten = Byte#64) OrST_BA.K93_Leer_SR;-线拉空-

xSK20_Schnell       :=(bVisuTasten = Byte#70); -电机快慢速-

xSK92_PoT           := (bVisuTasten = Byte#128); -空运行-

xSK94_LStop         := (bVisuTasten = Byte#129);-线停-

xSFrgK4             := (bVisuTasten = Byte#132);-复位急停-

xCfg_0 := Cfg.X0;  -一个否可以一直给自动一个一直保持控制自动模式的输出条件-

xCfg_1:= Cfg.X1;  - dwVisuWerte1.X26 := xCfg_1 控制E2钥匙是否显示-

plc

xCfg_6:= Cfg.X6; -激活没有自动模式的提示故障信息-

xCfg_8:= Cfg.X8;-不需要K40,选择自动后直接激活自动模式-

xCfg_9:= Cfg.X9; -X0和X9配合使用取消自动模式选择,只能由手动-

IfNot xHM_K23_BaHand And Not xHM_K9_BaAuto And Not xHM_K8_BaEinzel Then

-当PLC开机重启或者重新下载后没有任何工作模式选项时-自动激活手动模式

xHM_K23_BaHand         := True; -手动模式选项是默认模式-

End_If;  

R_TRIG_SK23_BaHand(CLK:=xSK23_BaHand);   -选择手动模式-    

If R_TRIG_SK23_BaHand.Q And Not SK9_BaAutoAnd Not SK8_BaEinzel And Frg_BA Then

-只选择手动模式-没有选择其他两种工作模式-Frg_BA激活FB100块

xHM_K23_BaHand         := True; -激活手动模式-

xHM_K9_BaAuto         := False; 关闭自动选择

xHM_K8_BaEinzel     := False; 关闭单步选择

R_TRIG_SK23_BaHand.Q:= False; -关闭脉冲-

End_If;

R_TRIG_SK9_BaAuto(CLK:= xSK9_BaAuto);  -选择自动模式-     

If R_TRIG_SK9_BaAuto.Q And Not SK23_BaHandAnd Not SK8_BaEinzel And Frg_BA Then

-只选择自动模式-没有选择其他两种工作模式-Frg_BA激活FB100块

IfxHM_K23_BaHand Or xHM_K8_BaEinzel Then

-上次的模式状态是手动模式和点动模式-

xHM_BAAutoWechsel := True; -自动转换模式-

End_If;

xHM_K9_BaAuto         := True; -选择自动模式-

xHM_K23_BaHand         := False; 关闭手动选择

xHM_K8_BaEinzel     := False; 关闭单步选择

R_TRIG_SK9_BaAuto.Q    := False; -关闭脉冲-

End_If; 

R_TRIG_SK8_BaEinzel(CLK:= xSK8_BaEinzel);  -单步控制-      

If R_TRIG_SK8_BaEinzel.Q And NotSK23_BaHand And Not SK9_BaAuto And Frg_BA Then

xHM_K8_BaEinzel      := True;

xHM_K23_BaHand          := False;

xHM_K9_BaAuto          := False;

R_TRIG_SK8_BaEinzel.Q:= False;

End_If;

If xInit And Frg_BA And Not ST_BA.K40 AndSWE7 And xHM_K23_BaHand Then

-在程序的结尾xInit=true - Frg_BA启动块-没有负载K40启动-E7钥匙被转动-在手动模式下-

xHM_KWE7 := True; 在手动模式下,只有断开启动K40才能激活E7钥匙-

End_If;

IF NOT xHM_K23_BaHand OR NOT SWE7 THEN –不是手动模式,没有E7钥匙信号-

xHM_KWE7 := False;关闭激活E7 钥匙功能-

End_If;

xHM_SWE7 := SWE7; E7 钥匙已经选择,但不是激活-

xHM_KWE2 := xHM_K23_BaHand And SWE2;-在手动时激活E2钥匙功能

IfxHM_K23_BaHand Then   -选择成K25手动模式激活-

xHM_K25_FrHand := True;

End_If;

IfNot xHM_K23_BaHand Or xHM_K9_BaAuto Or xHM_K8_BaEinzel Or Not K40K Or ((NotK51_KON(* Or Not ST_BA.K48_MEL*)) And Not xHM_KWE7)

Or (Not K36_PESI And Not xHM_KWE2) Or NotSTEU_EIN Or Not K100K_LSP Or Not K61_Antr Then

-制约手动模式的条件:

-没有K23 手动模式预选-激活了自动模式预选-K8单步模式预选-没有K40启动 –没有K51气体检测-没有K48信号连锁(暂时没用)及E7-K36安全回路开-没有E2-系统没有启动-没有K100负载启动反馈-没有K61启动维修开关-

-模式条件-介质条件-安全门-系统启动-负载电压-维修开关-

xHM_K25_FrHand := False;

End_If;

-使用单步-

IfxHM_K8_BaEinzel And  R_TRIG_SK40E.Q Then –选择单步-启动K40-

xHM_K8_FrgEinzel := True; -启动单步-

End_If;

R_TRIG_K6_TE(CLK:=ST_BA.K6_TE); -启动工作后停止-

IfxHM_K9_BaAuto Or xHM_K23_BaHand Or Not xHM_K8_BaEinzel  Or R_TRIG_K6_TE.Q   Then

限制启动单步的条件:

-自动模式-手动模式-没有选择单步模式-选择工作后停止-

xHM_K8_FrgEinzel := False; -关闭单步模式-

End_If;

-使用自动模式-

IfxHM_K9_BaAuto And (Not xCfg_0 And Not xHM_BAAutoWechsel Or  xCfg_8 Or R_TRIG_SK40E.Q)  Or 

(xHM_K8_BaEinzel And  xHM_K8_FrgEinzel)  Then

-K9自动预选模式-Cfg.X0需要和手自动模式交替检查一起使用- Cfg.X8直接激活自动模式- K40需要按动启动-单步模式已经开启- 选择单步执行时也是按自动模式运行。

xHM_K26_FrAuto := True; -激活手动模式-

xHM_BAAutoWechsel := False;  -手自动模式交替检查-

End_If;

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

全部0条评论

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

×
20
完善资料,
赚取积分