电工之家_电工基础知识学习网站
当前位置:电工之家 > plc > 正文

plc实现12台风机的手动和自动一体化控制器

时间:2018-02-10 13:52 来源:电工之家 手机版

控制12台3相电机风机自动和手动一体,将室内温度保持在22度到26度,当室内温度超过26度时,其中6台风机自动打开,当温度低于26度时,6台风机停止。另外6台风机,用时间设定,每半小时自动启动,运转3分钟,自动停止,一直循环。
1 设计思路
风机不采用变频控制,而是直接启动,注意,直接启动时,要选用马达启动器,而不是断路器,至于为什么,可以参照 我以前的一篇分析文章电动机控制常见误区解析,作为一个电气工程师必须要明白。
对于温度,不采用PID控制,直接使用开关输出的温控表,即温度低于22度,或是高于26度时,直接输出一个开关量信号。
2 分配变量
制定好思路后,就进入实施阶段,图纸比较简单,就不再废话了,直奔主题,首先分配一下PLC变量,如下图
plc实现12台风机的手动和自动一体化控制器
图一 变量定义
如上图, 是PLC 的变量分配,注意亮点,是红色圆圈部分,可以看到地址并不连续,至于为什么,先卖个关子,等写程序的时候,就知道用处了。
3 程序编写
根据控制需求,程序我分两部分,一部分是对前六个电机的控制,一部分是对后六个电机的控制,为了提高逼格,决定采用ST 和CFC 语言,我们先看一号到六号电机的控制,使用ST语言编写
plc实现12台风机的手动和自动一体化控制器
图二 一号 到六号电机程序
这就是程序,怎么样,是不是逼格满满,而且非常简洁,非常节省屏幕,看不懂,没关系,我来讲解一下:
你最不理解的应该就是%IW0 ,%QB0这两个个地址的使用,下面就详细说明一下
%IW0是对输入的WORD引用,什么意思呢,看图一 变量定义,十二个电机的故障输入点共十二个位,那么我们就可以把它看成一个十六个位的WORD,当然,它的高四位都是零。这也是为什么变量温度控制的地址要重新开始了。一个WORD 低十二位全部为一,那么它的值就是4095,表示所有的电机都正常。
输出的%QB0 是对一号到六号电机的BYTE引用,一个BYTE 低六位全部为一,那么它的值就是63,也是就电机全部启动。
这就是为什么地址不连续的原因,就是方便同类型的变量使用不同的数据类型调用。如果地址连续,那么我在调用%IW0的时候,变量温度到达就是这个WORD的第十三个位。这会影响使用的,只能建立个中间变量转换一下。
这就是欧美系PLC 的优势,这也是我很推崇它们的原因。它保留了位,字,字节,变量,数据类型这些计算机相关的概念,对初学入门者来说是一座很难逾越的大山,但你熟练掌握,就会大大简化程序的编写,欧美人把这些概念保留下来不是故意难为你的,是让你灵活使用的。试想,这段程序即使你用ST语言,但是不注重数据类型的使用,写起来也是很复杂的,不妨看下图
plc实现12台风机的手动和自动一体化控制器
图三 直接使用位变量的程序
看吧,是不是也很繁琐,我还没写完,就这么多了。所以使用ST语言编写程序,要摒弃梯形图的很多思路。
再来看七号到十二号电机的程序,使用CFC语言编写,如下图
plc实现12台风机的手动和自动一体化控制器
图四 七号到十二号电机程序
CFC其实就是可以随意移动的FBD,它比FBD更自由,更灵活。程序中的%QB1 也是同样的道理,是对输出的BYTE引用。