6ES7212-1AB23-0XB8多仓发货
1 引 言
纺织厂的温湿度有严格要求,利用PLC构成的温湿度监控系统可实时监测与控制纺织厂内的温湿度变化,通过自动控制库内的空调机、除湿机的开启与关闭状态,以保证纺织厂内温湿度符合要求。温湿度监控包括:一旦上下限设定,在夏天,空调机将在纺织厂内温度高于上限时制冷,并在纺织厂内温度降至下限时关闭。冬天将在低于下限时处于制热状态开启空调机,而当温度升高至上限时关闭。本文主要考虑夏天的情况。同样,当湿度高于上限时去湿机开始工作,直到湿度接近下限时关闭除湿机,这样可自动控制纺织厂的温湿度状态。
2 系统设计
2.1 系统原理及结构
系统使用的是一个具有5个I/O插槽的模块式PLC,模拟IN1模块与温度传感器相接,模拟IN2模块与湿度传感器相接,24V输入(IN)模块与开关相接,24V输出(OUT1与OUT2)模块分别通过中间继电器与空调与除湿器相连。
2.2 机型选择与配置
每一个厂房有1个温度传感器、1个湿度传感器,1台空调和1只除湿器需要受控制,纺织厂内共4个厂房。总的输入点为开关量2点,模拟量8点,输出点为开关量11点。选用SZ-4型五槽框架的PLC,I/O模块为2块模拟量输入模块,1块24V输入模块,2块24V输出模块。
2.3 定义号分配
定义号是每个输入输出点在程序中的标记,一般PLC会自动根据安装槽号分配定义号,但有时模块安装位置变动时就要根据实际情况用编程器进行定义,SZ-4系列PLC中输入点用I表示,输出用Q表示。
定义号分输入信号和输出信号,输入信号定义,如表1示。
表1 输入信号分配表
编号符号输 入 信 号
1I0自动控制启动开关
2I1手动启动开关
3 1号厂房温度信号
4 1号厂房湿度信号
5 2号厂房温度信号
6 2号厂房湿度信号
7 3号厂房温度信号
8 3号厂房湿度信号
9 4号厂房温度信号
10 4号厂房湿度信号
输出信号定义,如表2示。
表2 输出信号分配表
编号符号输 出 信 号
1Q1自动控制启动开关指示灯
2Q2手动启动开关指示灯
3Q31号厂房房空调
4Q41号厂房房除湿器
5Q52号厂房房空调
6Q62号厂房房除湿器
7Q73号厂房房空调
8Q83号厂房房除湿器
9Q94号厂房房空调
10Q104厂房库房除湿器
11Q11温度异常报警输出
3 软 件
梯形图是在原电器控制系统中常用的接触器、继电器梯形图基础上演变而来的,它与电气操作原理图相呼应。助记符语言,也称为命令语句表达式,它与汇编语言非常近似,每个控制功能由一个或多个语句组成的用户程序来执行,每条语句是规定CPU如何动作的指令,它的作用和微机的指令一样,而且PLC的语句也是由操作码和操作数组成的。
PLC是以扫描方式从左到右,从上到下的顺序执行用户程序,扫描过程按梯形图梯级顺序执行,上一个梯级的结果是下一梯级的条件。一个工程问题可分解成多个相对独立的小问题,后形成一个完整的系统。
系统主要有温湿度监测和空调与除湿器的控制二大块功能。温湿度的监测每隔一定时间要进行数据记录,存储到数据寄存器区,在数据寄存器区需要设置一个数据指针,指向当前存储的地址,每存一次,指针向下移动一次,直至数据寄存器区未尾,再初始化,从头开始,每测一次,计时器要记录下次的测试时间,当到达24点时复位为0点。由于存储几个月的温湿度数据,若想长期保存,可把数据送至其他设备如微机长期保存。数据监测部分的程序框图,
4 模拟量的处理
系统采用的是0~5V的模拟量输入模块,输入阻抗为20MΩ,占用16个输入点,共有4个通道,因此8个信号需要2块模拟量输入模块,该模拟量输入模块的采样精度及速度均较高,对应于模拟量输入模块的安装位置,有特定的模拟量数据设定寄存器,可在该寄存器中设定使用通道数,数据存放开始寄存器号。设定寄存器号。
表 3
模块安装槽号1234
使用通道数设定R7660R7661R7662R7663
存放数据开始寄存器设定R7660R7661R7662R7663
4.1 使用通道数设定
在设定使用通道数和数据存放形式:
高位为0:BCD形式存放,高位为1:BIN形式存放。例如0400代表4通道数据,以BCD形式存放。
4.2 数据存放开始寄存器设定
用BIN数据设定数据存放开始寄存器号,可设定为R0~R177、R1000~R1177、R2000~R3773。例如0400代表数据存放开始寄存器为R2000。
模拟模块被安装在0号和1号槽。
5 结 论
使用可编程序控制器(PLC)控制厂房温湿度,具有可靠性高,运行稳定,抗干扰性能强等特点,对于模拟量的处理较方便,但是各输入输出信号之间应有较好的隔离方法,如模拟输入模块信号可用光电隔离,输出信号通过中间继电器隔离,再控制强电设备,这样可防止各输入输出信号之间的相互干扰,同时也可防止对前端设备的信号干扰,上述方法成功地解决了纺织厂温湿度的自动监测与控制问题,在其他自动监控系统中也可以应用。
1 引言
在电网供电系统中,传统的供电故障报警一般采用报警烽鸣器、故障指示灯等硬件方式报警。这种方式对于量大面广的供电网存在明显的弊端。例如故障报警分散,人工巡逻检查造成人力资源浪费,且报警、维修不及时;故障报警点太多则需要大量报警器,且造成线路复杂化;硬件报警得到的故障信息太少等等。随着计算机和自动化技术在工厂中的大量应用,可以将故障信息通过PLC进行初步监控,然后再由PLC上传到计算机中,由计算机处理故障信息,进行报警、记录、显示故障信息。具有可进行集中监控,节省人力,故障信息直观、丰富,便于分析等优点。
2 系统介绍
本项目系统由PLC检测48个故障继电器的状态变化,上位机PC定时查询并读取PLC内部4个通道61位的状态信息(包括48个输入点和13个归类输出点),进行分析并用数据库加以管理和记录。程序采用VisualBasic6.0开发,数据库采用Microsoft的Access2003。
图1 报警监控画面(正常状态)
如图1所示,每个故障点按照对应的位置标识于车间电路分布图上。程序运行进入监控状态以后,PC将检测与PLC的通信连接。如果通讯连接正常,程序将检测现场信号变化。如果信号由正常变为报警,对应指示灯及总状态指示灯将闪烁并声音报警,右上方显示故障信息,运行状态信息及故障信息将存入数据库。单击闪烁指示灯,将停止闪烁,并显示当前状态,报警为红色,正常为浅黄色;如果信号由报警变正常,对应指示灯停止闪烁,运行状态信息及故障修复信息将存入数据库。当前状态由红色变为浅黄色。如果要查看各个节点信息,则单击指示灯,右上方图框会显示该节点的位号,对应PLC位以及该报警点名称和触点状态。右上方文本框显示当前系统总运行状态,有相应的指示灯标示,分为“正常”和“报警”两种状态,红色为报警绿色为正常。
报警时画面如图2所示。
图2 报警监控画面(报警状态)
3 监控系统构成
3.1 系统结构
系统配置如图3所示。
图 3 系统结构
本系统主要由上位机PC和下位机PLC组成,监控48个故障点并将其分为13大类,然后将故障信息显示在计算机屏幕上。PLC使用的是欧姆龙的C200H,采用3个输入模块,一个输出模块,一个通讯模块。将故障继电器两端引出作为PLC的干接点,通过输入模块将故障信息转化为开关量输入PLC,并由PLC对故障进行分类,然后PLC通过RS232-422转换器和RS232C串口与上位机通信,由上位机读取并处理故障信息进行监控报警。
3.2 软件设计
本系统PLC的编程使用CX-ProgrammerV3.1编写,实现PLC对故障继电器的初步监控;上位机监控使用VisualBasic6.0编写主监控程序,实现故障实时监控报警、显示、记录、故障点信息查询修改以及运行状态查询等功能。
(1)PLC程序:该程序包括三个输入模块和一个输出模块,用于对48个故障信息的采集和分类,并对PLC后备电池状态监控。
将故障信息转存到20通道:
将故障分类:
PLC后备电池状态转存至23通道:
(2)上位机程序:主要负责与PLC进行串口通信,读取PLC内部通道状态加以分析,在主界面上实现故障报警、显示、故障点信息查询、故障信息记录查询以及节点信息修改查询等功能。上位机PC与PLC通讯时,按应答方式进行,由上位计算机发给PLC一组ASCⅡ码字符数据,这一数据称为命令块。PLC收到命令块后经分析认为命令正常,则按照命令进行操作,将操作结果返回给上位计算机,PLC返回给上位计算机的这一组数据称为响应块。若PLC收到命令后经分析确认命令不正常,则返回给上位计算机错误命令响应块。上位计算机和PLC通讯时,PLC是被动的,必须由上位计算机给PLC发出命令块,PLC作出响应发还给上位计算机响应块。
本程序采用多重通讯方式,多重通讯时首帧以单元号(即HOST bbbb的机号)开始,然后为报头、报文、校验码、结束符(只有一帧时)或分隔符(多帧时)。中间帧以报文开始,然后为校验码、分隔符,中间帧报文每帧多125个字符。尾帧以报文开始,然后为校验码、结束符,尾帧报文多124个字符。
校验码FCS(Frame Check Sequence)是8位(bit)二进制数转换成的2位字符。这8位二进制数是一帧中校验码前的所有字符的ASCⅡ码按位异或的结果。转换成字符时按照2位十六进制数字转换成对应的数字字符。
PLC收到上位计算机发出的命令块后,经分析操作返回给上位计算机响应块,在响应块中含有响应码。如果PLC正常完成上位计算机的命令,则响应码为00,否则,响应码中含有出错信息。
(3)上位机PC与PLC的串口通信程序设计。
Timer2的值设为2000,即每隔2s上位机PC向PLC发送一次读取命令,读取信息。
Private Sub Timer2_Timer()
Dim a(10) As bbbbbb
a(0)="@00RR00200004" ’单元号和报头报文
a(1)=FCS(a(0)) ’命令格式中的校
验位
a(2)=a(0)+a(1)+"*"+Chr$(13)
’命令码
MSComm1.Output=a(2) ’向PLC发送命令
a(3)=MSComm1.bbbbb
a(4)=Mid$(a(3),6,2) ’响应码
Call Message(a(4)) ’调用响应码的错
误信息
If errortime > 3 Then
Timer2.Enabled=False
intr=MsgBox(“通讯错误,是否退出检查连接?”,vbYesNoCancel+vbExclamation,“通讯连接中”)
If intr=vbYes Then
………
Else
………
End If
End If
’如果通讯连接正常则读取数据:
a(6)=Mid$(a(3),24,2) ’响应块中的校验码
a(7)=Mid$(a(3),1,23)
a(8)=FCS(a(7)) ’计算校验码
If a(8)=a(6) Then ’比较校验码是否相同
a(9)=Mid$(a(3),8,16)
a(10)=Hex2Bin$(a(9))
z=a(10) ’得到PLC内部通道数据
Else
MsgBox (“校验码不正确”)
………
End If
(4)校验码计算函数设计
Function FCS(ByVal bbbbbstr As bbbbbb) As bbbbbb
Dim slen, n, xorresult As Integer
Dim tempfcs As bbbbbb
slen=Len(bbbbbstr)
xorresult=0
For n=1 To slen
xorresult=xorresult Xor Asc(Mid$(bbbbbstr, n, 1))
Next n
tempfcs=Hex$(xorresult)
If Len(tempfcs)=1 Then
tempfcs=“0”+tempfcs
End If
FCS=tempfcs
End Function
将响应码中的数据转换为二进制数据:
Function Hex2Bin$(HexValue$)
Const BinTbl=“0000000100100011010001010110011110001001101010111100110111101111”
Dim X,Work$
Work$=“”
For X=1 To Len(HexValue$)
Work$=Work$+Mid$(BinTbl,Val(“&h”+Mid$(HexValue$, X, 1))*4+1,4)
Next
Hex2Bin$=Work$
End Function
4 监控程序完成的功能
4.1 监控程序功能
故障信息及节点查询参见图4。PLC电池故障显示参见图5。数据库将记录系统运行状态,记录故障发生的时间及相关信息,故障修复的时间及相关信息并提供查询功能参见图7。可以查看主界面上位号所对应的PLC位、名称、触点状态等信息以便于故障分析,参见图8。系统运行总状态指示如图6所示。
图 4 故障点信息显示
图 5 PLC后备电池故障显示
图 6 系统运行状态指示
图 7 数据库查询
图 8 位号对应信息查询
5 结束语
本系统是为齐鲁石化氯碱厂生产车间设计的电路故障报警系统,现已投入运行。在实际应用中提供了真实可靠的生产实时数据,运行情况良好。为企业减少了人力资源浪费,化工厂生产车间环境较差,改善了工人的工作环境降低了工作强度,并实现了集中监控。本系统的可扩展性也很好的适应了车间改良的需求,可根据用户的要求增加监控点并将本车间故障分类输出到上一级监控站,受到了用户的好评。