7
6ES7223-1PL22-0XA8速发
1. 引言
随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个性的问题。因此,设计、、便捷的多功能交通灯控制系统有大的现实必要性。通常情况下,交通信号灯控制的主要缺陷是交通信号灯控制系统缺乏有效的应急措施,导致十字路交通受阻,造成不必要的经济损失。为此,我们考虑设计十字路口的监控系统。以便方便、快速的对交通灯控制。Siemens公司生产的PLC由于价格低、适应工业现场以及强大联网功能特点被广泛使用。考虑到这些因素,本系统以PLC作为下位机。上位机可以采用VC++、VB、Delphi等语言,由于本系统实现的功能相对简单,涉及的数据处理和数据管理要求不是太高,因此考虑用价格,通讯容易实现的VB作为上位机。
2. 系统构成
系统构成如图1
监控系统主要由计算机和PLC构成。用PC/PPI电缆连接计算机的RS-232口和PLC的RS-485口,作为数据转换器(使用PC/PPI电缆上的DIP开关来为电缆配置正确的波特率)。
本系统选用的计算机处理器型号是Pentium (R) 4 CPU; 有40G的硬盘空间;选用Microsoft bbbbbbs XP 操作系统;有一个COM口。
Siemens 公司提供多种型号的CPU以适应各种应用。本系统选用的是Siemens 公司生产的CPU224型号的S7-200PLC, 它有一个RS-485口, 14个输入口,10个输出口,可以满足该系统的要求(该系统需要8个输出口)。
3. 操作流程及通讯原理
3.1 操作流程
a 在SETP7-Micro/WIN软件的操作栏中点击system block 图标,出现图2所示的界面。
3.2 通讯原理
当程序开始时,初始化VB界面,打开通信端口,当按下VB界面上的开始按钮时,启动定时器,用于采集通信数据,该定时器每隔0.1s采集一次通信数据;同时接收和发送函数也已经打开,这时可以在VB界面中输入南北、东西交通灯的运行时间。即在VB中输入数据传送给PLC。
PLC程序开始时,初始化PLC的通讯端口,接收VB发送过来的数据,PLC判断是否接收到结束字符,如果没有接收到结束字符,PLC将处于接收状态,如果接收到结束字符,PLC延时0.01s后开始向VB发送数据。如果由于任何其它原因接收完成,启动一个新的接收。
VB接收PLC发送过来的数据“1”或“0”来控制交通灯的“亮”或“灭”,同时控制对应车的“运行”或“停止”。
当没有按下停止或结束按钮时,VB每隔0.1s发送一次数据给PLC, PLC接收到数据后,如果满足发送条件,就把数据发送给VB。这样就达到了计算机上的模拟界面来监控实际路面交通的运行状况,如果遇到紧急事件,需要调整车辆的运行时间,只需要在计算机中输入需要的时间即可。
3. 4. VB中的MSComm控件简介
4.1在bbbbbbs环境下,操作系统通过驱动程序控制各种硬件资源,不允许用户像在DOS 环境下那样直接对串口进行底层操作。为此,Visual Basic 6.0提供了一个串口通讯控件 Miscrosoft Comm Control,简 称MSComm 控件。操作员只需设置和监视MSComm控件的属性和事件,就可以轻而易举地实现串行通信。
4.2 MSComm控件的属性
.CommPort: 设置并返回通信端口号。
.Settings: 以字符串的形式设置并返回波特率、奇偶校验位、数据位和停止位。其中以字符n、o、e分别表示无校验、奇校验和偶校验。
.PortOpen: 设置并返回通信端口状态。设置为True时,打开端口;设置为False时,关闭端口。
.bbbbb: 从接收缓冲区读取数据,类型为Variant。
.Output: 向发送缓冲区写入数据,类型为字符串或字节数组。
.bbbbbMode: 设置从缓冲区读取数据的格式,设为0时为字符串格;设为1为二进制格式。
.InBufferCount: 设置和返回接收缓冲区的字节数,设为0时清空接收缓冲区。
.OutBufferCount: 设置和返回发送缓冲区的字节数,设为0时清空发送缓冲区。
.bbbbblen: 设置和返回bbbbb每次读出的字节数,设为0时读出接收缓冲区的全部内容。
.Rthreshold: 表示在串口事件OnComm发生之前,接收缓冲区接收的少字节数。若设为0,可以禁止发生OnComm事件。一般设为1,即当接收缓冲区中的字节数大于等于1时,就会产生接收事件。
CommEvent: 返回相应的Oncomm事件常数。
4.3 MSComm控件处理接收信息的方式
MSComm控件提供了两种处理方式:
(1)事件驱动方式:Rthreshold 属性非0时,收到字符或传输线发生变化时就会产生串口事件OnComm。通过查询CommEvent属性可以捕获并处理这些通信事件。
(2)查询方式:通过查询bbbbbBufferCount(接收缓冲区的字节数)属性值, 处理接收到的信息。
图3 短的采样间隔时间
3.3 在PLC 5/40C中流量累积运算的方法
我们用梯形逻辑来实现流量累积的运算时可以采用“可选定时中断子程序”来处理,这样采样间隔时间就是固定的了。但是在PLC 5/40C中只有一个可选定时中断子程序,其定时中断时间一般较难同时满足几种逻辑功能的需要。
我们也可以计时器指令来来作为采样间隔时间,每次计时器到了设定值就采样一次。计时器的精度不可能它的时基,因此每次计时器时和再次开始计时的时候,都要产生一个时基的正或负的误差。例如,10ms为一个时基的计时器预定计10次,其时间计算将是100ms正或负10ms。
我们也可以采用一种技巧来减少因计时器精度带来的误差。我们采用长的时间计时来作。例如,10ms为一个时基的计时器预定计30000次(PLC 5/40C的计时器的预置值范围为0-32767),其时间计算将是300s正或负10ms。在这其中,我们可以预定一个采样间隔时间为10个时基(100ms)以上。每次程序扫描,处理器判断如果自从上次累积运算起,时间间隔过预定时间(例如:100ms),就将这段时间乘以当前的瞬时流量值作为累加量。在这种算法中,采样间隔时间就不是固定的了。
另外要考虑的是运算所用到的数据格式。PLC 5/40C数据表按不同的格式和范围来存储不同类型的数据。有两种文件格式可以选择,一是N文件(整数型文件),值的范围为-32768到+32767,占1个16位字;因为在累积运算过程中,数的乘积和多次累加值一般都会出+32767,所以我们尽量不用N文件。
另外是F文件(浮点数文件),值的范围为±1.175494e-38到 3.402823e+38,占1个32位字。浮点数在寄存器中32位的空间表示为:
S xxxxxxxx mmmmm
上面: s=符号 x=指数 m=尾数
可见用浮点数表示的值的十进制有效位数只有7位。因此,考虑有效位数问题。举例如下:
设A代表计算的总流量,F代表计算上一次累加的流量,把F加到A上就会计算出一个新的总流量。在控制器的存储器中,A和F使用浮点数文件格式,有效数字是7位。一旦A比F大很多时,那么A和F的加数将会产生误差。
请看计算过程:
A=3.632523E+9
F=4.978E+3
3,632,523,000
+ 4,978
3,632,527,978
因为这个结果只能保留7个有效位,所以舍去后几位数,写成3.632527E+9或3,632,527,000,数值978被丢失。为了避免出现这个问题,我们可以想办法使A和F在整个运算过程中不出现小数,数值不过7个有效位。
4 结束语
流量累积的运算,要尽量避免计算过程中的误差,一是要选择正确的文件存储格式,二是要避免运算值出数值范围和有效位数范围,三是尽可能减少采样时间的定时器带来的误差。在上面PLC5/40C的梯形逻辑中,我们按照以上几个原则,经过细致的考虑和计算,使用长预置值的参考定时器,并使所有被用到的浮点数文件的值的有效位数不出范围,不出现小数,避免了丢失小的数值,从而实现的累积运算,满足了工艺要求。
1 引言
可编程控制器(PLC)是机电类的一门实践性很强的课,日益受到人们的重视。为了加强实验室建设,进一步完善实验手段,实践性教学环节,特别是体现机与电结合的特色,培养高素质的工程人才,让学生熟悉PLC的应用,研制了四层电梯模型。
2 电梯模型的总体简介
电梯模型由PLC、铝合金立柱、透明玻璃板、印刷电路面板等组成,整个模型安置在面积为30×22cm2的底板上,电梯部分固定在底板的前部,PLC固定在底板的后部,电梯与PLC通过排线连接,模型的总高度约为45cm,总重量约为4.5Kg,如图1所示。
电梯模型采用常见的曳引式电梯结构,由一个定滑轮和两个动滑轮构成的滑轮组以减小所需的牵引力,拖动电机为5V、1W直流电机。为了好地展现电梯内部结构和电梯的运行状况,除了正面是印刷电路板,其它几个面均采用透明的玻璃板制成,使得电梯的内部结构一目了然;电梯模型具备了实际电梯的基本功能,可以把此模型看作是小型化了的真实电梯。
电梯部分的尺寸为12×12×40cm3,轿厢尺寸为10×10×8 cm3。由于尺寸较小,各电子元器件之间采用传统的导线连接方式是比较困难的、而且容易出差错,所以采用印刷电路板取代传统导线连接方式,也就是,模型的正面使用了一整块印刷电路板,轿厢的正面也使用了一整块印刷电路板,两块印刷电路板之间的信号通过排线连接,所有的呼梯按键以及指示灯均焊接在电路板上,这样不但解决了模型的电气连接问题,而且提高了模型的性,模型也显得较为整洁美观。
3 控制系统硬件设计
3.1 PLC选型及输入、输出点分配
PLC选用三菱FX2N系列的FX2N-32MR,它有16输入点和16个输出点。PLC的输入信号有轿厢内呼梯、上呼梯、下呼梯、楼层接近开关共14个输入点;PLC的输出信号有指示灯、电机正转、电机反转共16个输出点,输入/输出点的分配情况如图2所示。
3.2 智能判断控制
电梯到层、电梯门打开,但电梯外的乘客由于某种原因已经离开,此时没有乘客进入电梯箱,影响了电梯的运行效率。这样情况在真实电梯运行过程中经常出现。针对这种情况,本文的电梯模型增加了自动取消无效呼梯功能(由于电梯模型体积较小,这里仅仅针对二楼增加了此项功能),可有效地提高电梯运行效率。其实现方法是:在电梯模型上添体感应模块,并将人体感应模块的输出信号连接到输入点X13上,X13的常开触点串联在二楼呼梯信号的保持线圈上。当在二楼等电梯的乘客离开,X13复位,从而取消二楼呼梯信号,电梯就不再停留此层,从而提高电梯运行效率。
3.3 电梯的升降控制
电梯的轿箱由一个5V直流电机拖动,并由PLC的Y13和Y17分别控制电梯轿箱的升降。尽管在PLC编程时,Y13与Y17进行互锁,但是为了防止意外而造成电源短路,在外部硬件上进行了互锁设计,即使用弹簧继电器J1和J2进行互锁,如图3所示,从而避免发生电源短路事故。具体实现过程:输出点Y13闭合,继电器J1线圈得电,使5V直流电源正接到直流电机上,此时直流电机正向转动,即电梯轿箱上升;输出点Y17闭合,继电器J2的线圈得电,使5V直流电源反接到直流电机上,此时直流电机反向转动,即电梯轿箱下降。
4 模型的功能及软件设计
4.1 电梯模型的功能简介
电梯模型可以实现以下主要功能:
①记忆呼梯信号;②确定电梯运行方向;③响应顺向呼梯信号,并到层后对应的呼梯信号;④当轿厢到达的楼层时,楼层指示灯闪烁,表示电梯门处于打开状态,闪烁时间为5s;⑤互锁、上下限位保护;⑥显示轿厢所处的楼层位置、显示呼梯信号。
4.2 软件设计
根据电梯模型的功能,编制相应的梯形图。
4.2.1 呼梯信号的处理
以“一楼上呼信号(输入点X10)”为例。当X10有信号输入,线圈Y10接通并自锁,从而记忆住此呼梯信号,并使“一楼上呼指示灯”亮,直到响应结束,如图4(a)所示。
图4(b)是 “一楼上呼信号X10”的响应处理。当轿厢到达一层时,一楼接近开关动作,使X4接通,进一步使得M110动作并自锁,导致图4(a)中Y10断开, “一楼上呼指示灯”灭,即“一楼上呼信号”被响应。通过三个定时器(T20、T21和T22)实现楼层指示灯闪烁5s,其中M310间接地使电机停转,M410用于实现“一楼指示灯”闪烁控制。
4.2.2 电梯运行方向的控制
根据各呼梯信号的先后次序以及轿厢所在楼层位置,决定电梯的运行方向。当电梯运行方向确定后,电梯在上升运行中,只响应大于等于当前楼层的内呼和上升外呼信号;在下降运行中,只响应小于等于当前楼层的内呼和下降外呼信号。
图5是电梯上升运行控制的梯形图,用辅助继电器M204、M205、M206和M207记忆轿厢所在的楼层位置,用M130和M131记忆电梯正向和反向运行状态。用相应的输出继电器记忆、指示相应的输入信号,例如,按下“二楼上呼信号”按键,即,输入端X11有输入,用输出继电器Y11记忆此输入信号,输出点Y11使相应的二管发光,用来指示有“二楼上呼信号”。
当轿厢在一楼位置,M204通电,M205、M206和M207断电,此时轿厢外呼梯信号X16、X15、X14、X12、X11、X10以及轿厢内呼梯信号X3、X2、X1都有可能产生上升运行状态;相似地,当轿厢在二楼位置,M205通电,M204、M206和M207断电,此时轿厢外呼梯信号X16、X15、X12、X11以及轿厢内呼梯信号X3、X2都有可能产生上升运行状态;当轿厢在三楼位置,M206通电,M204、M205和M207断电,此时轿厢外呼梯信号X16、X12以及轿厢内呼梯信号X3都有可能产生上升运行状态。如图5所示,输出点Y均被自锁,所以一旦产生上升运行状态(M130通电),那么只有当所有上楼呼梯信号被响应后,才能解除上升运行状态(M130断电)。