基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc

上传人:文库蛋蛋多 文档编号:4022712 上传时间:2023-04-01 格式:DOC 页数:83 大小:4.14MB
返回 下载 相关 举报
基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc_第1页
第1页 / 共83页
基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc_第2页
第2页 / 共83页
基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc_第3页
第3页 / 共83页
基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc_第4页
第4页 / 共83页
基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc》由会员分享,可在线阅读,更多相关《基于计算机界面控制的数字量输入输出结构板的研制本科毕设论文.doc(83页珍藏版)》请在三一办公上搜索。

1、基于计算机界面控制的数字量输入/输出结构板的研制 DI、DO Development Based on Computer Interface摘 要本课题是基于STC12C5A08S2单片机,研制的可编程序控制器系统,及基于计算机界面控制的DI(Digital Input)、DO(Digital Output)模块。该模块利用STC12C5A08S2的双向可控I/O口,以实现数字量输入、输出功能。将STC设备组与上位机(即PC机)连接,将下位机(即DI、DO、模块)采集的数据通过处理传送给主站即PC机,并由主站通过组态软件传输控制命令给从站,从站将控制命令转化为下位机可以识别的数据从而进一步控制

2、下位机的工作。同时,该模块还可将外界数字量信息上传至组态MCGS(Monitor and Control Generated System)画面,经处理后,由数字量输出控制。硬件部分由程序下载口,状态显示,复位,信息通信等几部分组成,软件部分采用由MODBUS通信协议,CRC校验,数据传送等部分组成,实现可编程控制器的DI、DO模块内部程序,以及基于计算机界面控制的DI、DO模块内部程序。本设计的工作任务是学习完成电路板硬件设计制作,学习并调试软件程序。本装置是本人利用宋老师工作室全部成果制成,全部硬件电路及软件程序经实际工程检验无误,供有兴趣者仿制。关键词:STC12C5A08S2单片机;D

3、I;DO;可编程控制器;MCGS组态软件ABSTRACTThis issue is based on the STC12C5A08S2 microcontroller, the development of a domestic Programmable Logic Controller DI (Digital Input), DO (Digital Output) module, and computer interface control system. The module is controlled using two-way STC12C5A08S2 I/O port, in ord

4、er to achieve digital input and output functions. The computer interface module can receive information on ladder frame, ladder executable by compiling information, and the results returned to the screen. Meanwhile, outside the module can also be uploaded to the configuration of digital information

5、MCGS (Monitor and Control Generated System) screen, after treatment, the digital output control. The hardware part of the program downloaded from the port, status display, reset, and information communications of several components, software components used by the MODBUS communication protocol, CRC

6、checking, the watchdog process, data transmission and other components, to achieve programmable controller DI, DO module internal procedures, and computer-based control interface, DI, DO module internal procedures. This design tasks is to learn to complete the circuit board hardware design, learning

7、 and debugging software programs. This device is a studio teacher, I use all the results of Song made, all hardware circuit and software test and correct by the actual project for those who are interested in imitation.Key Words:STC12C5A08S2 microcontroller; DI; DO; MCGS control system; 目 录第一章 引 言6第二

8、章 数字量输入(DI)模块82.1数字量输入(DIGITAL INPUT,DI)部分工作原理82.1.1输入板下层板原理图92.1.2 输入板下层板原件清单112.1.3输入板下层板工作原理122.2数字量输入(DIGITAL INPUT,DI)上层板模块132.2.1输入板上层板原理图152.2.2输入板上层板PCB图162.2.3 输入板上层板原件清单162.2.4输入板上层板通讯电路172.2.5输入板上层板端口状态显示电路192.2.6输入板上层板晶振模块202.2.7输入板所用I/O口212.3 输入板硬件制作212.4 输入板硬件调试22第三章 数字量输出(D0)模块2331数字量

9、输出(DIGITAL OUTPUT,DO)部分工作原理23311输出板下层板原理图243.1.2 输出板下层板原件清单253.1.3 输出板下层板电压转换原理253.1.3驱动放大电路263.14输出板硬件制作与调试27第四章 数字量输入、输出的软件部分304.1通讯部分304.1.1通讯协议304.1.2 CRC校验324.1.2 数字量输入软件部分334.1.3 数字量输出软件部分37第五章 数字量输入、输出软件调试405、1数字量输入软件调试405、2数字量输出软件调试46结 论48参考文献49附录一50附录二51附录三76附录四77附录五79致 谢84第一章 引 言本课题是基于现场总线

10、技术来实现的现场级设备数字化的工业现场层网络通信技术,它具有较强的现场信息集成能力,组成的系统可靠性高、可维护性好,而且总线协议是开放的。本课题基于STC12C5A08S2单片机,研制的可编程序控制器系统,及基于计算机界面控制的DI、DO模块。该模块利用STC12C5A08S2的双向可控I/O口,以实现数字量输入、输出功能。将STC设备组与上位机(即PC机)连接,将下位机(即DI、DO、模块)采集的数据通过处理传送给主站即PC机,并由主站通过组态软件传输控制命令给从站,从站将控制命令转化为下位机可以识别的数据从而进一步控制下位机的工作。同时,该模块还能与上位机MCGS组态互联,以控制基于AVR

11、/STC单片机的设备,在系统中作为从站连接到网络来完成通讯和控制功能。本文主要介绍了整个系统的硬件及软件的实现。主要内容包括以下部分:1、项目的需求分析和总体设计。2、DI板的研制3、DO板的研制4、MODBUS协议分析。5、各模块的测试其功能是进行转接板和STC控制器之间的通讯,确保信息能有效正确的传输到目的地。控制系统由一台上位机,一台中位机,若干台下位机(控制器),32个继电器和RS一485通讯接口和传感器装置MCGS网络服务器等部分组成。下面对控制系统各部分分别进行介绍。(1)上位机采用工控机,用高级语言C语言编制界面软件。其处理下位机的工作状态、停止状态或故障状态。(2)控制器的核心

12、部分,即中位机,采用可编程序控制器,可执行高速数据处理、数据传送、算术运算、专用计数器、定时器、以及专用的AD转换器等功能。它具有RS一232和RS一485通讯口,通讯功能强,可与上位机、下位机进行有效通讯,所有输入点均为光电隔离,输出点为继电器驱动。在本系统中,由于可编程控制器处于中间位置,它既要负责与上位机PC和下位机控制器交换信息,又要按照现场工艺要求完成总体的逻辑控制,这就要求可编程控制器的功能应比较强,本系统中可编程控制器的基本配置如下。输入: 32点 模块数输出: 32点 模块数(3)下位机(控制器)采用STC12C5A08S2单片机作核心,具备单独的输入按键以及显示器,独立完成输

13、入信号的采集工作。(4)RS一485通讯接口部分采用多机通讯技术,使用上位机原有的串行口与中位机,中位机与多台下位机进行联络。(5)MCGS是众多监控软件中的一种,是一套用于快速构造和生成计算机监控系统的组态软件,它能够在基于Microsoft的各种32位Windows平台上运行,通过对现场数据的采集处理,以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决实际问题的方案,在工业控制领域有着广泛的应用。 第二章 数字量输入(DI)模块数字量输入(Digital Input,DI)模块分为硬件部分和软件部分,协同完成工业设备上数字量的采集工作。把数字量输入模块拆开,我们可以看到,其实

14、它是分两个板的,下面分别介绍。如图2-1是数字量输入模块实物图。图 2-1 数字量输入模块实物图2.1数字量输入(Digital Input,DI)部分工作原理数字量输入模块拆开,它是分两个板的,称之为数字量输入模块CPU板(DI CPU board)和数字量输入模块采集板(DI acquisition board),其中,数字量输入模块CPU板位于上层。而下层则是数字量输入模块采集板。它们之间通过接插件连接。通过数字量输入可以实现数字量的外部24V电平信号的采集的功能。在本课题中,上层板CPU板 和下层板采集板通过 J1、 J2 和 J3三个接插口连接。完成两个板之间的数据传输功能。在工业设

15、备上,将需要采集的数据连接到数字量输入端口,端口采集的数字量经过电压转换,然后通过J1和J2传至STC单片机,并通过端口状态显示灯显示。经STC单片机处理数字量,处理后经过485通讯口传送至总线。原理图的设计都是在Protel DXP 2004软件中设计的。2.1.1输入板下层板原理图图2-2 输入模块下层板采集板电路原理图2.1.2 输入板下层板原件清单 表2-1 输入下层板板电路的原件清单序号名称封装数量阻值1电容CC3216-1206320.1uF2电阻CR2012-0805324K73光电耦合器DIP-4324电阻CR2012-0805321K5电阻CC3225-12103210K61

16、0孔端子排PCBComponent_1275孔端子排PCBComponent_1284孔端子排PCBComponent_12942排针HDR2X4_CEN11082排针HDR2X8_CEN211九针串口DSUB1.385-2H91 图2-3 数字量输入模块采集板2.1.3输入板下层板工作原理下面对DI模块原理图设计做详细介绍。图2-4 输入底板的设计【1】32个输入端口采集的+24V数字量,经过光电耦合器转换为+5V数字量。当输入电信号加到输入端发光器件LED上,LED发光,光接受器件接受光信号并转换成电信号,然后将电信号直接输出,或者将电信号放大处理成标准数字电平输出,这样就实现了“电光电”

17、的转换及传输,在图2-4中,光电耦合器输入端的两个电阻起到分压作用,为光耦的输入部分既发光二极管提供1.5-2V电压,工作电流3-5 mA。根据光耦的导通原理,当D2、D3的端接入24V地低电平时,接通发光源的左边电路就会导通,发光二极管发光,此时,受光器就会导通产生电流。由于受光器的导通后的电阻很小可以忽略,使in24、in25端相当于直接连接5V高电平,即把有效的高电平数据信号传入上层板单片机,并作处理。同时外界对应的指示灯点亮。同理,当D2、D3端接入24V时,发光源不导通,不会发光,受光器就不会产生光电流,使in24、in25端相当于直接连接(5V地)低电平,此时和没有工作时的状态是一

18、样的,单片机不处理数据。光电耦合器有电平转化的作用,输入端的10K电阻使光耦内部的发光二极管工作在正常电压电流范围内(正常的工作电压1.5-2V,工作电压3-5mA),输出端口的电阻4.7k为上拉电阻。输入口1K的电阻和0.1uf的电容组成RC滤波器,对输入端进行滤波。【2】通讯板卡中有485通讯连接端口,见图2-5。此为数字量输入模块采集板的另一部分电路,从中可以看到485通讯接口和J3的接法。图2-5 MAX485 通讯连接图2.2数字量输入(Digital Input,DI)上层板模块数字量输入模块上层板位于上层。即数字量输入模块CPU板(DI CPU board)。它和数字量输入模块采

19、集板(DI acquisition board),即下层板。它们之间通过接插件相连。CPU板电路以STC12C5A08S2为核心,主要实现状态显示、端口控制、数据处理和通讯控制的功能。数字量输入CPU板的电路原理图见下图2-7,STC12C5A08S2是8K Flash的宏晶STC12C5A60S2系列单片机。STC12C5A60S2系列单片机器件是1个时钟/机器周期8051单片机,低功耗、高速、高可靠、强抗静电、强抗干扰。其主要性能如下:高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快8-12倍;宽电压:5.5-3.3V, 2.2-3.6V;增加第二复位功能脚;增加外部掉电

20、检测电路,可在掉电时,及时将数据保存进EEPROM,正常工作时无需操作EEPROM;低功耗设计:空闲模式;低功耗设计:掉电模式;工作频率:0-35MHZ;时钟:外部晶体或内部RC振荡器可选,在ISO下载编程优惠程序时设置8/16/20/32/40/48/52/56/60/62K字节内Flash程序存储器,擦写字数10万次以上;1280字节片内RAM数据存储器;芯片内EEPROM功能,擦写次数10万次以上;ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器;8通道,10位高速ADC,高速可达25万次/秒,2路PWM还可当2路D/A使用;2通道捕获/比较单元;4个16位定时器,兼容普通

21、8051的定时器T0/T1,2路PCA实现2个定时器;可编程时钟输出功能;硬件看门狗;高速SPI串行通信端口;全双工异步串行口;先进的指令集结构;通用I/O接口。上层板电路围绕单片机展开,如图2-7所示。单片机设有32路数据采集端口,可显示输入端口信号状态。但信号端口的指示灯亮,表示接入的为高电平。STC单片机内部有弱上拉,不能驱动IO,故在输出端口串联上拉电阻。通讯端口接MAX485,用差分信号经进行数据传输。MAX485是用于RS-485与RS-422通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器,具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最

22、高250kbps 的无差错数据传输。MAX485的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120uA 至500uA 之间。程序下载5V电源 11.0592M晶振I/O口选择RS485通讯状态显示数字量采集板STC12C5A08S2图2-6 CPU板电路框图2.2.1输入板上层板原理图图 2-7 数字量输入模块上层板(CPU板)电路原理图2.2.2输入板上层板PCB图上层板PCB图如图2-8示。外形设计与模块安装盒完全匹配。单片机下载口使用串口下载,省去了下载线。图2-8 数字量输入 DI 上层板PCB2.2.3 输入板

23、上层板原件清单 表2-2 输入上层板板电路的原件清单序号名称封装数量阻值1电容CR2012-0805222pF2电容CR2012-080560.1uF3发光二极管CD2012-0805364电阻CR2012-080523905电阻CR2012-080512006电阻CR2012-0805362K7电阻CR2012-080525.1K8电阻CR2012-0805247K9电容CAPPR1.5-4x5110uF10电容CAPPR1.5-4x51100uF11电容CAPPR1.5-4x5147uF12电容C-DJ-4110uF13电容CAPPR1.5-4x511uF14电容CAPPR1.5-4x51

24、47uF15电容C-DJ-4110uF16单片机TQFP44117晶振RAD-0.2118三极管BCY-W3/E411942排针HDR2X4_CEN12082排针HDR2X8_CEN221MAX485DIP-812.2.4输入板上层板通讯电路STC单片机同计算机的通讯,采用的是RS485传输线,用到的相关芯片是MAX485。图 2-9是MAX485芯片的顶视图:图2-9 MAX485芯片顶视图MAX485芯片(图2-9)是用于RS-485通讯的低功耗收发器,内含一个驱动器和一个接收器。RS-485通讯采用屏蔽双绞线就可以连接多达128个收发器设备,组成半双工控制网络(半双工:信号可以在载体的两

25、个方向上传送,但不能同时在两个方向上传送的工作方式)。管脚1( RO)为接收器输出端,管脚4( DI为驱动器输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可。和DE端分别为接收和发送的使能端,当为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态。A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。与单片机相连时RS-485的A、B端一般可选100的电阻。VCC端 和GND端分别接+5v电源和地。图2-10 是由MAX485芯片完成485通讯的原理图。图2-10 通讯模块电路图485芯片使能的设

26、计:RS-485芯片工作在半双工状态,所以接收和发送的使能端一起接到三极管8550的集电极,当集电极输出高电平时处于发送状态;当集电极为低电平时,处于接收状态。8550作用:8550PNP三极管基极与单片机的TXD(PD3)端相接,通过三极管的开关作用来触发其接收发送使能。当TXD输出高电平时,集电极输出高电平,处于发送状态;当TXD输出低电平时,集电极输出低电平,处于接收状态。J3排针:连接CPU板和数字量采集板,二极管D1起到稳压作用,防止上电时电压过高烧坏芯片。当需要向计算机传送数据时,PD3输出高电平,使MAX485的管脚 3 为高电平,使能发送端。从计算机PD2输出的0 或 1信号经

27、过MAX485“解释”为端口A和端口B的电压差,计算机从总线上A和B的电压差获取数据。这样,就完成了由芯片到计算机的数据传输。数字量输入模块不是一直读取端口状态然后发送到计算机的。它读取端口状态是受计算机控制的。当计算机发送的指令要求它读取端口状态时,它才会这么做。下面我们看一下数字量输入模块接收命令的过程。数字量输入模块接收计算机的命令,也是通过MAX485从RS485传输线接收。对照图 ,芯片的发送和接收数据是相反的过程。当STC12C5A08S2芯片处理完其它过程,等待从总线接收数据时,PD3输出低电平,使能了MAX485的接收功能,此时,端口A和端口BD的电压差被解释成 0 和 1,由

28、芯片的PD2接收,当接收的内容为一个字节时,保存到芯片内的UDR寄存器,然后改变响应标志位的状态。等到所有的字节都接收完后,通过了命令的检查,才会经历上面的数据采集、处理和传输过程。2.2.5输入板上层板端口状态显示电路 图 2-11 端口状态显示电路我们以图 2-11 端口状态显示电路的P20端口说明其工作原理以其中一部分说明其工作原理。以图2-12所示,当P20为低电平时,发光二极就会发亮。其它端口的情况相同,所有二极管采用共阳极的连接方式。电阻的大小是根据发光二极管的压降(一般为1.5-2V,其工作电流一般取3-5 mA为宜)而选择的,电阻的大小应该满足使发光二极管工作在适当的电流,以提

29、高发光二极管的寿命。图2-12 部分端口显示电路2.2.6输入板上层板晶振模块晶体振荡电路:XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔丝位CKOPT用来选择这两种放大器模式的其中之一。C1和C2的数值要一样,不管使用的是晶体还是谐振器。最佳的数值与使用的晶体或谐振器有关,还与杂散电容和环境的电磁噪声有关。 图 2-13 晶振电路的设计2.2.7输入板所用I/O口 图 2-14 数字量输入模块所用的IO口设计2.3 输入板硬件制作首先要准备一个25W或者35W的电烙铁,烙铁头要细。还要一卷比较细的焊锡丝,最好是直径为0

30、.5mm左右。助焊剂和清洗剂也是必备的焊接工具。焊接时,先将电烙铁插上,待烙铁发热了之后,将助焊剂涂在PCB上需要焊接的地方。先烫化一点焊锡丝在一个焊盘上,然后用镊子夹住器件和焊盘位置重合,再烫化有焊锡丝的焊盘将元件固定住。其余的管脚依次焊上。焊接时应先焊管脚比较多的贴片元件,比如贴片电阻,其次是电容、11.0592MHz晶振。最后是直插件。焊好后用刷子蘸上清洗剂将电路板清洗干净,再用万用表测量电源的正负极,确保电路板不可能短路。2.4 输入板硬件调试1、将上层板与下层板对接后,用万用表欧姆X1档检测是否有短路。接上电源(5V端与24V端都接上),将导线一端接24V地,一端接待测输入点,观察对

31、应的指示灯是否亮。 2、下载程序测试。测试DI模块只要控制管脚和串口1通讯就可以,可设置程序为采集端口数据由串口发送,通过串口调试助手查看。测试时,底板需要测试哪个点,就用短接线将其接地,相应的指示灯亮,则将采集的端口处数据设为1,反之设为0。定时采集的数据都发送给主机。若测试某一点指示灯不亮,则先检查上层板的指示灯,然后再用万用表检测底层板。第三章 数字量输出(D0)模块数字量输出(Digital Output,DO)模块也是由上层板和底层板组成。数字量输入模块可以采集工业设备上的数字量信号,然后传送给计算机;数字量输出模块则是相反的过程,接收计算机的命令,然后发送给工业设备。把数字量输出模

32、块和数字量输入模块做一下对比的话,会发现它们大部分相似:它们的上层板完全一样,只是下层板有稍微的区别。31数字量输出(Digital Output,DO)部分工作原理我们已经知道了数字量输入模块的工作过程。数字量输出模块输出数字量的工作过程和数字量输入模块的工作过程正好相反。计算机发送命令给数字量输出模块CPU板,数字量输出模块CPU板通过J1、 J2向下层板传递数据,传递的数据通过电压的转换和放大芯片的驱动放大,传递数字量控制信息给工业设备。和数字量输入模块基本是一样的。数字量输出模块也以STC12C5A08S2为核心。其中32条口线定义为输出口线,外接光电转换器保证其外部电路为标准24V直

33、流供电。其串口设为RS485接收状态,使用485发送接收核心芯片,可以提供高阻抗系统,保证电平输出的有效性。并且以MODBUS协议为数据载体,使数据的可靠性得到充分的保证。下面介绍数字量输出板的下层板,而上层板可以参考数字量输入模块的上层板,这里不再赘述。311输出板下层板原理图图3-1 数字量输出板电路原理图3.1.2 输出板下层板原件清单 表2-1 输入下层板板电路的原件清单 序号名称封装数量阻值1电容CC3216-1206320.1uF2电阻CR2012-0805324K73光电耦合器DIP-4324电阻CR2012-0805321K5电阻CC3225-12103210K610孔端子排P

34、CBComponent_1275孔端子排PCBComponent_1284孔端子排PCBComponent_12942排针HDR2X4_CEN11082排针HDR2X8_CEN211九针串口DSUB1.385-2H9112功放ULN2003D01653.1.3 输出板下层板电压转换原理DO模块和DI模块的上层板电路完全一样,能提高电路板的利用率,唯一的区别是程序不一样,将输入点改为了输出点。底层板的通讯模块与DI模块的也是一样的,其隔离输入点部分设计原理见图3-2。从图中可以看出,数字量输出板同样利用了电-光-电的转换原理,实现了芯片端口电压到工业所需电压的转换。DI板由+24V转换为+5V,

35、DO板由+5V转换为+24V。STC12C5A08S2单片机芯片通过J1、 J2和输出板相连,其中,通过J2连接各端口。通过32个IO口和32个端口相连,每一路都是相互独立,完全相同的。我们以其中一路查看其工作原理:光电耦合器是一种把红外光发射器件和红外光接受器件以及信号处理电路等封装在同一管座内的器件。当输入电信号加到输入端发光器件LED上,LED发光,光接受器件接受光信号并转换成电信号,然后将电信号直接输出,或者将电信号放大处理成标准数字电平输出,这样就实现了“电光电”的转换及传输,图3-2 输出底板控制端口的原理图和前面的数字量输入板有点相似,对比看一下:图3-3 输入底板控制端口的原理

36、图3.1.3驱动放大电路数字量输出板同数字量采集板还有一点不同就是,数字量输出板要驱动外部设备,还需要将负载能力提升。使用芯片ULN2003可以提升负载能力。使用ULN2003进行反向驱动放大,ULN2003是驱动集成电路,它起反向驱动放大作用.可以解决控制芯片输出的负载能力太低的问题,最大驱动电压=50V,电流=500mA。图3-4 是ULN2003的使用原理图图 3-4 芯片ULN2003在电路中的连接从图3-4中可以看到,每个2003可以驱动7路外部24V信号,使用4个ULN2003芯片就可以实现全部32路的驱动放大。ULN2003的内部结构图图3-5 芯片ULN2003的内部电路图 图

37、3-6 ULN2003管脚排列图 图3-7 ULN2003 功能框图3.14输出板硬件制作与调试底层板焊接时,先焊ULN2003,注意每个管脚的焊接时间不能超过5秒,以免烧毁芯片。成品正面与DI模块也一样,区分时主要看底板,DO底板焊接完成后见图3-6所示。 图3-8 DO模块底板背面数字量输出(Digital Output,DO)模块硬件部分,在调试过程中,遇到了这些问题。1、图3-9中,J1的6脚给了一个低电平,而继电器的线圈没有闭合。首先直接给线圈供电,发现线圈没有闭合,再次用万有表测量线圈,发现线圈是坏 的。 图3-9 DO模块引脚图2、图3-9中J1的8脚给了一个低电平,而继电器线圈

38、没有闭合。首先我直接给线圈供电,发现线圈没有闭合,再次用万有表测量线圈,线圈不是坏的的,我就用万用表依此去直接点元件的管脚,发现我用万用表表针点焊点时,线圈就闭合,原来焊点虚焊。3、图3-9中J2的3脚给了一个低电平,继电器线圈没有闭合。以上的检测办法全用上,线圈就是不会闭合,我就开始测几个关键点的电压。如图3-10:图3-10 输出底板控制端口的原理图图3-11 分析:在图3-10中,A点的电压理论上应该是24V左右,P030端口,即ULN2003的输入端理论上应该是 V左右。而实际测量A点的电压是22.8V,而图3-11中,ULN2003的输入端P030也是22.8V,又测量ULN2003

39、的输出端O24也为22.8V,怀疑ULN2003没有工作,重新换一个新的ULN2003装上,再次测量,线圈闭合。4、软件测试DO模块的硬件是否达到预期的效果,要借助于程序和外围的24V继电器。测试之前,先将所有的测试点都接入外部继电器,之后下载程序。程序可设置成所有的输出点为高低电平相互转化。当所有的测试灯亮(灭)时,所对应的继电器也应为接通(断开)状态,若不同,则检查相应的控制点电路两端。检查所有的输出控制都没问题后,将数据发送和接收以检查485通讯是否正常。 第四章 数字量输入、输出的软件部分4.1通讯部分 在数字量输入、输出的软件部分中,都用到通讯。通讯部分有通讯协议和CRC校验,下面分

40、别介绍。4.1.1通讯协议本课题设计的DI、DO软件部分通讯方式采用MODBUS协议.。MODBUS 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一MODBUS网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消

41、息,决定要产生何种行动。MODBUS通讯协议分为RTU协议和ASCII协议,本课题采用MODBUS-RTU通讯协议,在课题中,之所以选择RTU模式CRC校验,是因为其传输数据量比ASCII模式多,且数据简洁。整个通信控制系统是基于RS485总线传送,系统配置中只有一个主机。通讯中,主机与从机之间采用严格的“一问一答”式的通讯机制a从机接收到主机发过来的数据后都要回复一个应答数据包,来告知主机接收到的数据是否正确。b主机接收到从机发过来的数据后都要回复一个应答数据包,来告知从机接收到的数据是否正确。下面就MODBUS-RTU通讯传送方式简要介绍如下:地址码 = 1 字节功能码 = 1 字节数据区

42、 = N 字节错误校检 = 16位CRC码 地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。功能码:通讯传送的第二个字节。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。CRC校验码:二字节的错误检测码其通

43、讯的流程图如图4-1: 图4-1 通讯部分的流程图4.1.2 CRC校验CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。 生成CRC-16校验字节的步骤如下: 1、预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄存器;2、把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC寄存器的低8位相异或,把结果放于CRC寄存器;3、把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查右移后的移出位;4、如果移出位为0:重复第3步(再次右移一位);

44、如果移出位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;5、重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;6、重复步骤2到步骤5,进行通讯信息帧下一个字节的处理;7、将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换;其CRC校验的流程图如图4-2: 图4-2 CRC校验的流程图4.1.2 数字量输入软件部分1、02功能码解读计算机发送命令:设备地址 命令号01 起始寄存器地址高8位 低8位 读取的寄存器数高8位 低8位 CRC校验的低8位 CRC校验的高8位例:010200000020CRC低CRC高(1)设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号