系列视频《WinCC+PLC综合实战演练》已经累计发布了十余期了,鉴于有网友要求对一些关键知识点形成文字资料,因此,特别概括性的做一些总结,以弥补视频中遗漏的、未提到的部分,供有需要的小伙伴做参考。前文总结了WinCC画面中,沉降池水位的动态跟踪及液位超限(太高或太低)时,如何在画面中实现报警。本文把启停控制程序捋一遍(泵的启停、阀的开合用的同一套程序)。 '启停'程序(on_off)写在FC1中,其调用时的管脚图如图1所示,其中定义输入管脚4个,输入/输出管脚3个,输出管脚4个。为什么要这样定义呢?接下来我们细细道来。 一、程序体分解释疑为了方便说明,我们先逐段说明一下程序,再解释为何要将接口定义成图1那种方式(注意,程序中所有带'#'标识的触点、线圈变量都为FC1块中定义的接口或临时变量)。
如图2所示,'程序段1'中的程序为'启停控制程序'。
'#start'、'#stop'及'#ack'指令均来自WinCC画面(如图3所示),画面侧通过点击相应的按钮,发过来一个高电平信号,为了简化信号处理,统一在程序使其'脉冲化',如图4所示。 逻辑也很简单:
'#T_no'是定时器的形参地址,实际调用该FC块时,需要关联一个实际的定时器号。(1)'程序段4'的逻辑是,当'#order'为1时,启动定时器; '程序段5'的逻辑是,在定时器计时完成(计时完成后,常闭触点'#T_no')前检测到运行反馈信号'#fbk',此时说明泵(或阀)启动正常,则复位定时器。 故障确认指令'#ack'也会复位定时器。
'程序段6'和'程序段7'用于判定泵(或阀)是否正在运行。
当以下情况发生时,认为泵(或阀)有故障:
'#ack'接入'SR触发器'的复位端,用于做故障确认。
'状态字'定义的核心指令为:MOVE指令。满足不同条件时,将不同的值送给状态字'#status'。 二、接口定义经过前面对程序的'逐段'分析,我们对'接口'为什么做如是定义,也有了基本的了解,再补充以下几点:
相关视频: 《PLC编程实现“泵”的启停控制,如何自定义运行状态及状态字》 《程序“pumb1_FC'的勘误和优化,完善故障的类别信息》 |
|
来自: 龙之吻6iinxl8c > 《运动控制PLC相关》