分享

「视频随手文档」编写泵、阀等设备的启停控制模板程序

 龙之吻6iinxl8c 2019-09-02

系列视频《WinCC+PLC综合实战演练》已经累计发布了十余期了,鉴于有网友要求对一些关键知识点形成文字资料,因此,特别概括性的做一些总结,以弥补视频中遗漏的、未提到的部分,供有需要的小伙伴做参考。


前文总结了WinCC画面中,沉降池水位的动态跟踪及液位超限(太高或太低)时,如何在画面中实现报警。本文把启停控制程序捋一遍(泵的启停、阀的开合用的同一套程序)。

「视频随手文档」编写泵、阀等设备的启停控制模板程序

'启停'程序(on_off)写在FC1中,其调用时的管脚图如图1所示,其中定义输入管脚4个,输入/输出管脚3个,输出管脚4个。为什么要这样定义呢?接下来我们细细道来。


一、程序体分解释疑

为了方便说明,我们先逐段说明一下程序,再解释为何要将接口定义成图1那种方式(注意,程序中所有带'#'标识的触点、线圈变量都为FC1块中定义的接口或临时变量)。

1、启停控制

「视频随手文档」编写泵、阀等设备的启停控制模板程序

如图2所示,'程序段1'中的程序为'启停控制程序'。

  • '#order'为启停命令,其为图1中输出接口的一个,信号最终与Q点相连;
  • '#start'为启动信号、'#stop'为停止信号,其指令来自画面(如图3所示),用于启动或停止泵(阀);
  • 当'#order'为1时,通过'复位'指令,复位'#start'的信号,这样做的目的是使'#start'端的信号变为一个脉冲信号,方便信号处理。而由于'#start'既作为输入接收来自画面的指令,又作为'线圈'被'复位'指令复位,因此要将该信号接口定义为'输入/输出接口';
  • '#fault'为故障信号,当其为1时,停泵、关阀。

「视频随手文档」编写泵、阀等设备的启停控制模板程序

2、'#start'、'#stop'、'#ack'信号的脉冲化处理

「视频随手文档」编写泵、阀等设备的启停控制模板程序

'#start'、'#stop'及'#ack'指令均来自WinCC画面(如图3所示),画面侧通过点击相应的按钮,发过来一个高电平信号,为了简化信号处理,统一在程序使其'脉冲化',如图4所示。

逻辑也很简单:

  • 当泵(或阀)启动命令发出后('#order'上升沿),复位'#start';
  • 当泵(或阀)停止命令发出后('#order'下降沿),复位'#stop';
  • '#ack'为故障确认信号,当'#ack'发出确认指令且故障清除后('#fault'下降沿),复位'#ack'。

3、状态反馈'响应时间'监控

「视频随手文档」编写泵、阀等设备的启停控制模板程序

'#T_no'是定时器的形参地址,实际调用该FC块时,需要关联一个实际的定时器号。(1)'程序段4'的逻辑是,当'#order'为1时,启动定时器;

'程序段5'的逻辑是,在定时器计时完成(计时完成后,常闭触点'#T_no')前检测到运行反馈信号'#fbk',此时说明泵(或阀)启动正常,则复位定时器。

故障确认指令'#ack'也会复位定时器。

4、'运行信号'判定

「视频随手文档」编写泵、阀等设备的启停控制模板程序

'程序段6'和'程序段7'用于判定泵(或阀)是否正在运行。

  • 当有输出命令('#order'=1)且有反馈信号('#fbk'=1)时,说明泵(或阀)正在运行;
  • 当无输出('#order'=0)或有故障('#fault=1')时,认为泵(或阀)处于停止状态。

5、'故障'判定及确认

「视频随手文档」编写泵、阀等设备的启停控制模板程序

当以下情况发生时,认为泵(或阀)有故障:

  • 在正常运行('#running=1')时,反馈信号('#fbk')突然丢失,此时系统判定主回路由于某种原因失电,从而触发故障;
  • 在启动命令发出后,规定的时间内(定时器'T_no'计时完成)未检测到反馈信号('#fbk'),系统认为泵(或阀)启动失败,触发故障。

'#ack'接入'SR触发器'的复位端,用于做故障确认。

6、状态字

「视频随手文档」编写泵、阀等设备的启停控制模板程序

'状态字'定义的核心指令为:MOVE指令。满足不同条件时,将不同的值送给状态字'#status'。


二、接口定义

「视频随手文档」编写泵、阀等设备的启停控制模板程序

经过前面对程序的'逐段'分析,我们对'接口'为什么做如是定义,也有了基本的了解,再补充以下几点:

  1. '#start'、'#stop'和'#ack'之所以定义为'输入/输出'接口类型,是因为它们既接受外部的信号,在程序中又作为'线圈'输出。
  2. '定时器号'的形式参数的数据类型为'Timer'。
  3. '#sim_on'是预留的仿真用接口,目前的程序中,它是没用的。
  4. FC中定义的接口变量,在本块中寻址方式为:'#+符号名',如'#start'、'#status'等。

相关视频:

《PLC编程实现“泵”的启停控制,如何自定义运行状态及状态字》

《程序“pumb1_FC'的勘误和优化,完善故障的类别信息》


上一篇《「视频随手文档」WinCC实现“液位”的动态跟踪以及超限报警》

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多