西门子6ES7232-0HD22-0XA0诚信经营
1引言
在电梯控制系统中,采用PLC构成的系统具有故障率低,可靠性高,维修方便等优点。在本实验室中就是采用OMRON的PLC作为电梯教学模型的控制装置。
电梯模型控制系统可分为逻辑控制部分和调速部分。逻辑部分选用高可靠性的PLC,利用软件逻辑控制,具有硬件简单、工作可靠等特点。调速部分的性能对电梯运行时乘客的舒适感有着重要影响,该教学模型调速部分是通过高性能的变频器控制电梯升降电机来实现的,变频器的频率输出和正反转则由PLC的输出来控制。
2系统结构
整个硬件系统由一个8层电梯教学模型、一个与之相配套的专用实验操作箱、变频器、以及用作控制装置的PLC组成。系统的硬件构成如图1所示。
我们所用的电梯模型为8层,它由轿箱、开关门机构、升降电机、以及模型本身的控制系统组成。为了突出电梯运行控制这一重点,该电梯模型实验装置的楼层显示,电梯轿箱内楼层指示灯,均已由电梯模型实验箱完成,而各楼
图1系统的硬件组成层电梯操作面板上的按钮指示灯则需由用户控制,这就是为了适合1台控制器控制多台电梯模型运行的情况。升降电机以给定的速度和转向运转。
此模型共需有34点指令信号和20点以上的控制输出信号,他们分别是:
(1)每层楼上、下请求按钮指令信号,共14点(除去1楼下请求和8楼上请求)。
(2)每层楼的楼层限位开关指令信号,共8点
(3)轿箱内8层楼楼层按钮指令信号,共8点。
(4)开、关门按钮指令信号,共2点。
(5)上下请求指示灯信号,共14点(除去1楼下请求和8楼上请求)。
(6)开、关门控制信号,共2点。
(7)变频器正、反转信号,变频器频率选择信号,共4点。
其中(1)~(4)为输入信号,(5)~(7)是输出信号。
PLC根据现场信号的状态决定开门、关门,并决定发给调速系统(变频器)的速度选择信号。在进行PLC控制系统硬件设计时,是确定现场输入、输出信号的类型、作用和数量,再选择PLC的型号,在这里我们选择了日本OMRON公司C200Hα的PLC来对电梯教学模型进行控制。
3电梯定向逻辑
电梯的定向是根据电梯的上行请求信号、下行请求信号、电梯轿箱内请求信号、电梯当前所处位置等信号来确定电梯继续运行的方向。电梯的定向是电梯控制中的重要逻辑。在以往电梯的定向逻辑中,一般都是将电梯各个层的上、下行请求信号、电梯轿箱内楼层请求信号、电梯当前楼层信号等综合到一条或几条语句中进行判断。这样一来,当楼层数目比较大时,每条语句的编程元件很多,不可避免的带来程序复杂,容易出错,调试麻烦,运行速度慢等问题。以下提出的用逻辑运算指令来进行电梯定向的方法可以比较好的解决该问题。
3.1状态转换方式
电梯的方向只有上升、下降2个方向,但电梯也可能由于没有任何的上升或者下降请求信号而处于停止状态。在电梯的方向处理过程中,电梯只能在上升状态和停止状态或者下降状态与停止之间转换,例如当电梯由上升状态转为下降状态时必须先由上升状态转换为停止状态以后再由停止状态转为下降状态。这样的处理方式对电梯的运行是很有意义的,以往的电梯控制系统中,当电梯响应完某个方向上的所有信号后,若所有剩余的信号都是反方向的,电梯立刻改变方向,此时,在原方向前方若出现新的呼叫信号,电梯将不会立刻应答,只是记忆该呼叫信号,而去响应换向后的方向上的呼叫信号,这样既不符合电梯选层的优先原则,又不能有效的节约能源。采用图2所示的状态转换方式,电梯在响应完某个方向上的所有信号后并不是立刻反向,而是保持该状态等待一段时间后进入停止状态,再反向响应方向的呼叫信号。对保持时间进行合理的选择,完全可以做到既不会使得电梯的换向过程显得迟钝,又能有效的响应同方向的
图2 电梯的状态转换
新呼叫信号。
从上面的分析可以看出,由于电梯的上升与下降状态之间需要通过“停止状态”该中间状态来转换,故在电梯的方向判断逻辑中需要考虑以下几种情况:
(1)电梯处于上升状态
在该状态下,当前楼层的上面有上升请求,当前楼层的上面有下降请求或者电梯轿箱内请求在当前楼层的上面,3个条件有1个和多个成立时,电梯继续处于上升状态;当以上3种条件都不满足时,电梯经过一段定时时间后进入停止状态。
(2)电梯处于下降状态
在当前楼层的下面有下降请求,当前楼层的下面有上升请求或者电梯轿箱内的请求在当前楼层的下面时,电梯继续处于下降状态;当以上3种条件都不满足时,电梯经过一段定时时间后进入停止状态。
(3)电梯处于停止状态
在当前层之上有下降、上升的请求信号或者电梯轿箱内楼层请求信号在当前层的上面则置电梯为上升状态;若在当前层之下有下降、上升的请求信号或者电梯轿箱内楼层请求信号在当前层的下面则置电梯为下降状态。
3.2电梯定向逻辑
电梯定向逻辑在程序处理上使用OMRON的C系列的PLC所具有的逻辑运算功能可以大大简化程序的开发过程,并使程序的运行更加有效。将DM0000作为电梯上行的记忆信号。将它低8位中的一位用作表示该层有没有上行请求信号产生且被接纳。位代表电梯1楼上行请求信号,第二位代表电梯2楼的上行请求信号,依此类推。程序开始时将DM0000的低8位全部置为“0”,判断在每一层是否又有上行请求信号,如果有,就将该层对应的位置为“1”,否则就置该层对应的位为“0”。同理可以将电梯的下行信号记忆到DM0001的低8位中,将电梯当前的位置保存在DM0002的低8位中,将电梯的轿箱内的请求信号保存在DM0003的低8位中。
电梯处于上升状态时方向判断相对简单,只需将保存当前电梯位置DM0002与DM0000(记忆上行请求)、M0001(记忆下行请求)、DM0003(记忆轿箱内楼层请求)作比较就可以简单的判断在当前楼层之上有无上行请求、下行请求或者轿箱内楼层请求是否在当前层之上,从而决定电梯是否继续上升。
当电梯处于下降状态和停止状态时的方向判断则比较复杂一些,以下只以电梯处于下降状态时为例来进行说明。为了判断电梯在当前楼层以下是否有请求,在程序中用到了一个DM单元(DM0004)来保存电梯的当前位置,但该单元的存储方式则与DM0002完全不同。
电梯当前所处的楼层和DM0004的低8位数据的对应关系如附表。DM0004与DM0000作“与”操作,则可以屏蔽当前楼层以上的所有上行请求,而保留当前楼层以下的所有上行请求。若“与”后的结果不为零,则表示在当前楼层的下面仍然有上行请求存在,若“与”后的结果为零,则表示当前楼层以下已经没有上行请求存在了,程序如图3所示。用相同的方法可以判断在当前楼层的下面是否存在下行请求和轿箱内的楼层请求信号。综合以上3个判断结果就可以判断电梯是否继续处于下降状态。若电梯继续下降的条件不成立,则电梯经过一段定时后进入停止状态。
附表电梯当前所处楼层与DM0004低8位的对应关系
电梯处于停止状态时的方向判断的程序编制方法与电梯处于下降时有很大的相视之处,限于文章的篇幅就不在详细叙述。
4电梯调速
在电梯控制系统中,电梯速度的控制是一个重要而难以解决的问题。电梯的速度控制对乘坐者的舒适感影响很大,又影响电梯的jingque定位。在该电梯教学模型的控制系统中选用日本Panasonic交流马达变频调速器V700T750B1来控制电梯的速度。当PLC完成定向后,向变频器发出方向使能的速度信号,变频器依据设定的速
图3 判断当前楼层下有无上行请求的程序
度及加速度值启动电机,达到大速度后匀速运行。当电梯响应呼叫,到达目的层的减速点时,PLC切断高速度信号输出,此时变频器以设定的减速度将大速度减至爬行速度。在减速运行过程中,变频器的调速器能够自动计算出减速点到限位点之间的距离,并计算出优化曲线,从而能够按优化曲线运行。
使用PLC、变频器来控制电梯还有一种比较好的速度控制方法可以使用,就是利用PLC的D/A模块来实现。事先将数字化的理想速度曲线存入PLC寄存器,在电梯的运行过程中PLC通过查表找出对应的速度值写入D/A模块,再由D/A模块转换成模拟量后控制变频器的频率输出。
4 结束语
经过一段时间的实验证明,本系统能成功的对电梯完成自动控制,能准确地、及时地到达指定楼层,能按规定的频率曲线完成对电梯的速度控制。采用PLC控制电梯有明显的优越性,是一个改善电梯性能的有效方法。
1.引言
HMI、SCADA作为PLC的主要人机接口设备,具有外观简洁,可靠性高,功能强大,用户界面友好,程序二次开发简单等优点,并向着网络化、智能化方向不断发展。而在一些特殊情况下,比如数据安全要求高,控制空间小的场合,就较难实现。基于单片机开发的PLC串口装置,凭借单片机优良的数据处理能力和低廉的价格有着一定的应用范围。本文通过运用新华龙的C8051F33X系列的单片机开发了一款可编程RS232接口控制面板,本文主要介绍其电路设计和基本控制原理。
2.控制面板的控制方案
控制面板的外型如图2-1所示,具体功能键可参阅注释
图2-1
*注:
RS232C口---串口通讯口;
JTAG口---程序下载口;
红外接收头---可接受红外信号源;
电源灯---接上电源后点亮;
通讯灯---通讯正常情况下闪烁;
蜂鸣器---每次按下按钮后发出“嘀“声,并在有故障发生时连续报警;
复位按钮---可复位单片机;
故障清除键---清除故障代码;
模式选择键---可切换自动,手动,检修模式;
正,反转键---在手动和检修模式时,可点动控制对应控制号的电机正反转;
0-9---输入多两位数的控制号;
确定键---确定并发送信号键;
删除键---删除所显示的控制号;
控制号LED显示灯---显示两位控制号;
故障代码LED显示灯---显示两位故障代码;
自动、手动和检修灯---显示当前控制模式;
预留灯---预留;
2.1 面板控制原理
该面板可以运用于皮带运输系统、自动车库系统、存储系统等作为操作面板。用户可以根据需要切换各种模式。在自动模式时,可通过按钮选择控制号(控制号可以理解为控制电机号),并按确定键将信号发送给PLC;在手动和检修模式时,选择控制号并按下确定键后,可通过正反转按钮点动控制相应控制号的电机正反转。PLC定时发送信号给控制面板,为用户提供各种信息,当有故障发生时,故障蜂鸣器报警并显示故障代码,待故障排除后,通过清除故障键清除故障代码。
在自动模式下,可通过红外发生器(本次设计没有自行研发红外发生器,而是采用标准的电视遥控器作为红外发生器。)发射红外信号来选择控制号,控制面板上的控制号LED灯会跟随变化,按确定键(可自定义遥控器上的一个键为确定键)发送给PLC控制器。
2.2 通讯信号说明
本次设计中的通讯信号涉及两种信号:单片机与PLC的通讯信号和红外发射器(这里为电视遥控器)与单片机的通讯信号
单片机与PLC的通讯信号是双向的,分发送和接受信号。发送信号有两个字节。前8位包含控制模式、正反转和清除故障信号的信息,后8位包含控制号的信息;接受信号也是两个字节,前8位包含控制模式及控制号反馈信息,后8位包含故障代码信息。
红外发射器与单片机的信号为单向信号,只有发送信号。标准的红外线发送信号为32位二进制码,即两个字。个字为用户识别码(能区别不同设备,防止不同机种遥控码互相干扰),第二个字为用户信息码。并且每一个字的个字节和第二个字节互为反码。在按下电视遥控器按键后,其发射头会连续周期性地发出32位二进制码的信号。
2.3 PCB面板电路图
图2-2
图2-2是控制面板的电路原理图,本次设计采用的芯片为新华龙的C8051330D单片机,并采用周立功单片机发展有限公司的ZLG7289B数码管显示驱动及键盘扫描管理芯片。
图2-3
单片机的时钟脉冲由外部晶震提供,为12MHz,如图2-3。单片机的UART0(I/O口P0.4和P0.5)连接串口RS232。10针接口为JTAG程序下载口,并配有硬件复位电路。蜂鸣器由I/O口P0.1控制。I/O口P0.0(SPI总线片选)P0.1(SPI数据信息)P0.6(SPI总线时钟信号),P0.7(键盘输入中断信号)与数码管显示驱动及键盘扫描管理芯片ZLG7289B实现通讯,如图2-4。ZLG7289B的工作原理可参考相关资料。
图2-4
红外线接收头如图2-5所示,两个接头为电源5V直流电压街头,另一个接头为信号接头与I/O口P0.7连接。单片机通过PCA计数/计时器捕捉电平信号。
图2-5 图2-6
2.4 PCB面板实物图
图2-6为PCB控制面板实物,大小为100x180mm.该装置仍处于研发阶段,故没有封装。在其正常工作时,需配有+15V直流电压,面板需被固定起来,切误拿在手上防止其电路短路。
3.控制程序软件设计
新华龙C8051F33X系列的单片机可通过JTAG口连接PC打印机口直接下载程序。U-EC5仿真器可接入JTAG口提供在线模拟仿真。美国KeilSoftware研发的KEILuvision3是新的51系列兼容单片机C语言软件开发系统,具有友好的操作界面,并且程序有良好的可读性,被广大电子工程师所使用。本次程序设计采用其集成开发环境。
不同的控制工艺有着不同的控制逻辑,在这里我们着重讨论通讯部分的程序编写,对其他功能逻辑不做过多讲解。
3.1 串口数据处理程序
C8051330D单片机芯片的UART0是一个异步、全双工串口,UART0具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率,本次设计我们采用的波特率为9600。
UART提供两种方式的标准8051串行口,8位串行口和9位串行口。我们采用的是前者。在 8 位 UART 方式中,每个数据字节共使用10 位:一个起始位、8 个数据位(LSB 在先) 和一个停止位。数据从 TX0 引脚发送,在 RX0 引脚接收。在接收时,8个数据位存入 SBUF0, 停止位进入RB80(SCON0.2)。当软件向SBUF0寄存器写入一个字节时开始数据发送。在发送结束时(停止位开始)发送中断标志TI0(SCON0.1)被置‘1’。在接收允许位REN0(SCON0.4)被置‘1’后,数据接收可以在任何时刻开始。收到停止位后,如果满足下述条件则数据字节将被装入到接收寄存器SBUF0:RI0必须为逻辑‘0’;如果MCE0为逻辑‘1’,则停止位必须为‘1’。在发生接收数据溢出的情况下,先接收到的8位数据被锁存到SBUF0,而后面的溢出数据被丢弃。如果这些条件满足,则8位数据被存入SBUF0,停止位被存入RB80,RI0标志被置位。如果这些条件不满足,则不装入SBUF0和RB80,RI0标志也不会被置‘1’。如果中断被允许,在TI0或RI0置位时将产生一个中断。具体的程序如下:
*************串口数据处理中断程序************************************
void UART_ISR(void) interrupt 4
{
if(TI0) //当一个字节发送成功后,TI0被置位
{
TI0=0; //复位TI0
if(sendtime==first) //发送数据一共有两个字节,如果发送了个字节,需再发送第二个字节
{
sendtime=second;
SBUF0=senddata[1]; //将待传送的数据放入串行数据缓冲器SBUF0
}
}
if(RI0) //有数据传送过来时,RI0置位
{
RI0=0; //复位RI0.
DATA=SBUF0; //从串行数据缓冲器SBUF0读取数据
if((DATA&0x80)==0x80) //传送一共有两个字节,判断当前传送的数据是不是个字节
{
readdata[0]=DATA;
receivetime=second; //为接受第二个字节做准备
}
if(receivetime==second) //接收第二个字节
{
if((DATA&0x80)==0x80) //判断当前传送的数据是不是第二个字节
{
readdata[1]=DATA;
receivetime=first; //为下次接收个字节做准备
display_errornumber(); //显示故障代码
}
}
}
}
3.2 红外线信号处理程序
标准的遥控编码采用脉宽调制的串行码,本次设计使用的红外发生器是一个电视遥控器,通过示波器测试,得到如下的特征属性,如图3-1,以脉宽为0.56ms,间隔为1.125ms的脉宽信号为0;以脉宽为0.56ms,间隔为2.25ms的为1。一个完整的信号为32位二进制码,当按下按钮后,连续周期性发出同一种32位二进制码。