DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 636|回复: 0
打印 上一主题 下一主题

[安防] 基于AT89C52网络监控系统的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:20:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
0 引 言??? 以电子设备故障检修技能考核与训练智能化系统为例,介绍由一台PC机与多台单片机组成的主从式网络通信系统,单片机控制作为下位机,负责对电子设备故障点进行数据采集和控制,通过接口将结果传给PC机;PC机作为上位机,对数据进行分析和处理,根据分析和处理的结果来控制单片机的操作。目前,应用Visual C++开发串行通信实现智能化考核和训练系统的通信方法通常有4种:??? (1)调用API(Application Program Interface)函数实现;??? (2)利用Visual C++的标准通信函数一inp、一inpw等直接对串口进行操作;??? (3)使用Visual C++的通信控件(MSComm);??? (4)利用第三方编写的通信类(Cserial)。??? 以上几种方法中第一种方法使用面较广,但由于需要许多低层设置,比较复杂,专业化程度要求较高,使用困难;第二种需要了解硬件电路结构原理,较难掌握;第三种方法看来较简单,只需要对串口进行简单配置,但使用了令人费解WARIANT类,且不能满足使用多个串口进行复杂处理的需要;第四种方法是利用一个专门针对串行通信的CSerial类,该方法功能较强,只要理解这种类的几个成员函数,就能方便使用。RS 485总线以其灵活性好、成本低、抗干扰能力强、支持节点多、传输距离远、连接简单的优势,被广泛应用于网络单片机系统。在该系统中,上位机采用Visual C++的Cserial类通信方式;下位机采用ATMEL公司的AT89C52单片机,总线采用RS 485标准组网。l 系统结构??? 整个系统是一个基于RS 485现场总线,自定义通信协议,在总线上连接各下位机和上位机,由上位机统一管理的主从式总线型的监控系统。该系统包括监控层、通信层、以及现场设备层。其中,监控层由上位机(PC机)承担,负责接收底层现场设备上传的数据,进行数据的分析和存储,下位机参数的设定和修改,以及实时和历史数据的查询,实现对现场设备的监控管理;通信层通过自制定的通信协议与现场下位机设备进行实时通信,完成数据通信包的打包、拆包、检验等处理;现场设备层由多台电子设备、单片机、继电器、键盘、LCD显示器等组成的监控系统。??? 系统结构方框图如图1所示。

上位机为教师操作的教学控制管理系统,在微机上用Visual C++编程实现功能。教学控制管理系统的主要功能为:??? (1)考试的技术准备工作;??? (2)考试的监考工作;??? (3)辅助完成其他考务信息管理工作。??? 根据功能要求,教学控制管理系统由通讯模块、代码编译模块、代码执行模块、系统管理模块、历史资料查询模块组成,这几个模块和用户界面用户接口一起构成整个系统软件。??? 下位机作为这个分布式控制系统的学生客户端,是一个基于AT89C52单片机的应用系统。本系统使用计算机、AT89C52单片机、光电耦合器、驱动电路、继电器、彩色电视机等组成的监控系统,通过局域网,构成一个智能化训练及鉴定系统。AT89C52单片机控制系统如图2所示。
                          
                       
                          
                               

?AT89C52单片机控制系统采用计算机与AT89C52单片机所构成的多种微处理芯片混合的主从系统,教师机是系统的上位机,实现人机交互和数据交换、检索、存储、处理、更新图形的显示,对下位机(即学生机)的控制和通信等控制。学生机完成数据的采集和信号的处理。教师机作为主机,学生机作为从机。主从机间的通信方式采用串行口方式。每一个训练或鉴定工位均有独立的学生机和彩色电视机,每台学生机之间通过网线互联。学生机通过继电器控制彩色电视机故障点的状态。??? AT89C52单片机控制系统需要进行软、硬件开发。与单个独立单片机系统不同,网络中单片机不仅要按预先设计的程序工作,更多时候需要根据来自上位机的控制指令适时调整工作程序。实操训练或考试时下位机主要功能如下:??? (1)作为上位机的终端;??? (2)作为电子设备控制器;??? (3)提供考生交互界面;??? (4)其他监考服务。2 通信接口设计??? 通信接口是单片机控制系统的重要组成部分。单片机与计算机之间不断地进行信息交换和传输,而这种信息的交换和传输都必须通过通信接口和数据总线来实现,通信接口器件和总线的合理选择是单片机控制系统中数据交换和传输顺利进行的前提和保障。??? 该系统采用RS 485总线组网,上位机通过串行接口经标准RS 232总线和RS 232/RS 485转换器将RS 232标准电平转换为RS 485标准电平与考生的下位机端通信;在下位机端SN75176将RS 485标准电平转换为TTL电平接入处理器的异步串行通信口(UART),实现RS 485网络的半双工通信。??? RS 232/RS 485转换器采用市场上即插即用型的产品,本身已经实现智能控制收发使能,无须更改任何上位机硬件。上位机最多可连接32台下位机,如果在下位机端采用SN75184则上位机最多可连接64台下位机。??? RS 485接口电路的设计要充分考虑线路上的各种干扰及线路特征阻抗的匹配。信号在传输过程中会产生电磁干扰和终端反射,使有用信号与干扰信号在传输线上相叠加,当干扰太大时,可导致通信无法进行。该系统选用SN75176 RS 485接口芯片,RS 485总线网络的通信介质采用带有屏蔽层的双绞线,并在传输线末端各安装120Ω匹配电阻,以消除传输线上信号的反射,通信距离可达到1 200 m。3 通信协议??? RS 485接口的软件设计对系统联网的可靠性有很大的影响。由于RS 485总线是异步半双工的通信总线,在某一时刻总线只可能呈现一种状态,所以这种方式使用于上位机与下位机的查询方式通信,为了协调总线的分时复用,必须制定一套合理的通信协议,以保证数据通信的正常进行。本系统通信协议是:波特率约定为9 600 b/s,Tl工作于方式2,初值为FDH,SMOD=O。串行口初始化为方式3。通信格式要求如下:??? 通信数据格式总共24 b(二进制),8 b识别码,8 b控制指令代码,8 b故障点代码,格式如下:

规定如下:??? 识别码为下位机地址码,地址范围为70H~88H。控制指令代码为:字符“1”表示故障点短接,ASCII码为“31H”;字符“O”表示故障点断开,ASCII码为“30H”。??? (1)上位机状态字:

bo:发卷指令标志1,无发卷指令标志0;??? b1:开考指令标志1,无开考指令标志O;??? b2:答题查询指令标志1,无答题查询指令标志0;??? b3:强行中止答题指令标志1,无强行中止答题指令标志O;??? b4:恢复答题指令标志1,无恢复答题指令标志0。
                          
                       
                          
                                ??? (2)下位机状态字:

b0:登陆请求1,无登陆请求0;??? b1:已登陆状态标志1,未登陆状态标志0;??? b2:已收卷状态标志1,未收卷状态标志0;??? b3:开始答题状态标志1,未开始答题状态标志O;??? b4:交卷请求标志1,无交卷请求标志0;??? b5:已交卷标志1,未交卷标志O;??? b6:答题中止标志l,答题恢复标志O。4 通信过程??? 上位机开机启动程序,上位机进入轮询过程。此时,下位机开机登陆,在轮询到自己时,发出登陆信息,上位机收到后,进行必要的登陆处理。在所有下位机登陆完毕后或监考老师认为收到所有考生的登陆信息后,按下发卷按钮,对每一个登陆下位机依次发卷。发卷完毕后,由监考老师按下开考按钮,以广播方式发出考试开始指令,下位机显示考试题目,系统开始计时。在考试进行过程中,监考老师可查询任一个下位机的状态(包括考生考试情况);甚至可以启动自动巡考指令,自动巡视每个考生的答题情况。考试过程中考生答题完毕可交卷,在考生按下交卷按钮后交卷,发出交卷信息,上位机接收,并发出正确接收的回复信息。考试过程中,监考老师发现有学生作弊,可随时按下中止考试按钮,中止此下位机的运行,考试记零分。考试时间到,系统自动判断是否仍有考生没有交卷,中止考生答卷,并取回相应下位机的答题信息。上下位机基本轮询及通信动作示意图如图3所示。

??? 上下位机通信动作过程如下:??? ①上位机作为网络主控端,以一定时间间隔dtl进行轮询。轮询过程是这样的:首先上位机查询上位机状态字,判断是否存在通讯请求,如果没有,就对轮询到的下位机发出通讯授权标志,若在延迟短暂时间后下位机无应答,置此地址下位机不在线标志,并中止此次轮询;若有应答则置与此下位机通讯的通道标志。??? ②下位机发出指令:表明下位机回复查询指令,根据状态字判断下位机状态。??? ③上位机发出指令:表明上位机根据下位机的状态字及上位机状态字,按上位机有优先原则,发出上位机准备接收信息。??? ④下位机发出指令:上位机根据功能指令解析数据,完成相应的显示及确认回复。??? ⑤上位机发出指令:在从下位机向上位机传输信息过程中出现错误时,上位机将向下位机发出重发功能指令,重发次数确定根据调试过程确定。??? 在设计RS 485通信软件时,要注意对RS 485控制端的软件编程。为了保证数据收发可靠,在RS 485总线状态切换时需要加适当的延时,延时一般控制在1 ms左右,再进行数据的收发。经过这样处理后,使总线在状态切换时有一个稳定的工作过程。5 上位机通信软件的设计??? 上位机通信是采用一个专门针对串行通信的CSerial类进行程序设计的,该方法功能较强,只要理解这种类的几个成员函数,就能方便使用。以下是几个常用的成员函数:
                          
                       
                          
                               



6 结 语??? 提出了一种基于AT89C52单片机网络通信系统的软硬件设计,该方案已成功应用在电子产品故障检修技能智能化考核系统中,并将其产品化,经一年多来的使用,运行可靠。此外,由于系统采用模块化设计,灵活性强,可根据用户的实际需要,实现对不同型号、不同品牌、不同功能的终端设备进行控制。因此具有较高的应用价值和推广价值。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-7 21:27 , 耗时 0.088095 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表