您当前的位置:五五电子网电子知识电工技术电工文摘基于PL和P的分布式计算机监控系统的设计探 正文
基于PL和P的分布式计算机监控系统的设计探

基于PL和P的分布式计算机监控系统的设计探

点击数:7409 次   录入时间:03-04 12:02:40   整理:http://www.55dianzi.com   电工文摘
摘 要:供电系统是工厂的重要组成部分,对其可能发生的故障及生产故障进行及时的监控和报警是生产运作顺利进行的有力保障。本文介绍了欧姆龙PLC和PC上位机在石油化工厂的电路监控系统中的应用,详细介绍了该系统的硬件、软件设计,以及通讯连接。

关键词:PLC、PC上位机、串口通信

Abstract:This paper setting out from an actual problem introduces a circuit-alarm monitoring system of petrochemical factory based on PLC and PC. It introduces the system’s design of hardware, software and the connection of network in detail.

KEYWORDS:PLC、PC、Serial communication

一、引言

  在复杂的电网供电系统中,传统的故障报警一般采用报警烽鸣器、故障指示灯等硬件方式报警。这种方式存在很多缺点,例如如果电网分布分散,则故障报警点也分散,需要安排一定人力巡逻检查,造成人力资源浪费,且报警、维修不及时;故障报警点太多则需要大量报警器,且造成线路复杂化;硬件报警得到的故障信息太少等等。随着计算机和自动化技术在工厂中的大量应用,可以将故障信息通过PLC进行初步监控,然后再由PLC上传到计算机中,由计算机处理故障信息,进行报警、记录、显示故障信息。具有可进行集中监控,节省人力,故障信息直观、丰富,便于分析等优点。

二、系统介绍

  系统由PLC检测48个故障继电器的状态变化,上位机PC定时查询并读取PLC内部4个通道61位的状态信息(包括48个输入点和13个归类输出点),进行分析并用数据库加以管理和记录。程序采用VisualBasic6.0开发,数据库采用Microsoft的Access2003。

  每个故障点按照对应的位置标识于车间电路分布图上,如图1所示。程序运行进入监控状态以后,PC将检测与PLC的通信连接。如果通讯连接正常,程序将检测现场信号变化。如果信号由正常变为报警,对应指示灯及总状态指示灯将闪烁并声音报警,右上方显示故障信息,运行状态信息及故障信息将存入数据库。单击闪烁指示灯,将停止闪烁,并显示当前状态,报警为红色,正常为浅黄色;如果信号由报警变正常,对应指示灯停止闪烁,运行状态信息及故障修复信息将存入数据库。当前状态由红色变为浅黄色。如果要查看各个节点信息,则单击指示灯,右上方图框会显示该节点的位号,对应PLC位以及该报警点名称和触点状态。右上方文本框显示当前系统总运行状态,有相应的指示灯标示,分为“正常” 和“报警”两种状态,红色为报警绿色为正常。


图1 报警监控画面(正常状态)

  报警时画面如图2所示。


图2 报警监控画面(报警状态)

三、监控系统构成

  1.系统的结构

  系统配置如图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 LINK的机号)开始,然后为报头、报文、校验码、结束符(只有一帧时)或分隔符(多帧时)。中间帧以报文开始,然后为校验码、分隔符,中间帧报文每帧最多125个字符。尾帧以报文开始,然后为校验码、结束符,尾帧报文最多124个字符。

  校验码FCS(Frame Check Sequence)是8位(bit)二进制数转换成的2位字符。这8位二进制数是一帧中校验码前的所有字符的ASCⅡ码按位异或的结果。转换成字符时按照2位十六进制数字转换成对应的数字字符。

  PLC收到上位计算机发出的命令块后,经分析操作返回给上位计算机响应块,在响应块中含有响应码。如果PLC正常完成上位计算机的命令,则响应码为00,否则,响应码中含有出错信息。

  上位机PC与PLC的串口通信部分:

  Timer2的值设为2000,即每隔2s上位机PC向PLC发送一次读取命令,读取信息。

  Private Sub Timer2_Timer()

  Dim a(10) As String

  a(0) = "@00RR00200004" ’单元号和报头报文

  a(1) = FCS(a(0)) ’命令格式中的校验位

  a(2) = a(0) + a(1) + "*" + Chr$(13) ’命令码

  MSComm1.Output = a(2) ’向PLC发送命令

  a(3) = MSComm1.Input

  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

  校验码计算函数:

  Function FCS(ByVal inputstr As String) As String

  Dim slen, n, xorresult As Integer

  Dim tempfcs As String

  slen = Len(inputstr)

  xorresult = 0

  For n = 1 To slen

  xorresult = xorresult Xor Asc(Mid$(inputstr, n, 1))

  Next n

  tempfcs = Hex$(xorresult)

  If Len(tempfcs) = 1 Then

  tempfcs = "0" + tempfcs

  End If

[1] [2]  下一页


本文关键字:监控系统  计算机  电工文摘电工技术 - 电工文摘