0 引言
现场总线作为生产过程自动化发展的重点,对推动自动化技术起到巨大的推动作用,是现代化工业的标志。MODBUS作为现场总线的一种通信协议,它实现了PLC控制器、工控仪表与设备间的通讯和信息交换。具有MODBUS功能的工控仪表虽然应用比较广泛,但是工控仪表和PLC控制器价格较高并且没有形成自主知识产权的产品,阻碍了它的进一步发展。本文从这个问题着手,设计基于MODBUS协议的单片机控制系统,设计合理,价格低廉,自主性强,在工业控制领域具有广泛的应用前景。
1 系统总体设计
系统中计算机PC作为主机,AVR单片机作为从机,采用RS-485工业现场总线通信。由于计算机的串口采用RS232总线标准,因此在主机的串行通信端口必须增加RS485-RS232电平转换器,在计算机串行端口由该电平转换器实现RS-232电平与RS-485电平转换,主机与从机通过MOD-BUS通信协议在RS-485总线上进行数据通信和交换,在整个RS-485总线上最多可以接255台从机。系统的总体结构如图1所示。
2 系统硬件设计
整个硬件电路包括:PC机、RS485-RS232电平转换器、电源、复位电路、晶振电路、AVR单片机控制系统。本系统上位机由PC机和串口组成,下位机由两个单片机控制系统组成。两个从机设备地址为01和02,每个单片机系统由Atmega32单片机,TSl2864A-3型LCD液晶显示器,传感器,PWM脉宽调制控制电路组成。下位机基于Atmega32单片机,通过传感器对采集数据再经过A/D转换后在LCD液晶屏显示,Atmega32单片机带有MAX485串口,通过RS-485总线与上位机通讯,系统的总体硬件原理图如图2所示。
3.系统软件设计
3.1 MODBUS通信协议
软件Modbua协议包括ASCII、RTU、TCP等,标准的Modbus采集器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、命令和应答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验。[page]
在上位机监控界面上建立ADOData控件,ID为IDC_ADODCl,在通用属性的连接中输入服务器名称COMPUTER,选择数据库MASTER,点击测试连接,如果显示测试成功,表示连接SQLsever2000数据库成功。再在数据库中新建一个TABLEI表,表中包括时间,实际数据,设定数据字段,记录源的命令文本中SQL命令为select*from TABLEl;其次在监控界面上建立DataGrid控件,在datasource属性中选择IDC_ADODCl,与ADOData控件建立起联系,通过以上的步骤就实现了VC++6.O监控界面对数据库的访问。在VC++6.0环境完成程序编写,运行得到控制系统的数据显示界面如图4。
当上位机MODBUS串口程序把下位机的实际数据采集上来并显示界面中后,就可以对实际数据绘制动态曲线图。动态曲线横坐标是时间,纵坐标是实际数据值,两个坐标确定一个动态点。动态曲线的显示过程是把动态的数据值放到一个数组中,每采集一个新的数据值存放在数组的最低位,数组中的所有数据位向前移一位,最高的数据位移出;在MSCOMM控件OnOnCommMscomm函数中得到当前具体的时、分、秒,再将具体时间显示在横坐标相应位置,然后把数组中的所有数字以及每个数字所对应的时间的坐标点用线连接起来就构成了动态曲线图,动态曲线图如图5所示。
4 结束语
本系统由AVR单片机,数据采集模块,控制电路三部分组成。下位机采用C语言编程,上位机采用VC++6.O编程,以SQLever2000作为后台数据库,上位机与下位机之间采用RS-485总线通讯,研究并编写基于MODBUS协议的工控软件。实验测试表明,本系统实现了上下位机基于MODBUS协议的RS-485总线通讯,在下位机LCD和上位机VC界面显示数据值,在数据库中保存实际数据值,并且绘制实际数据曲线,实时显示数据误差不超过l℃。本控制系统符合工业控制系统设计的要求,有较好的扩展性和多功能的特点,可以扩展到255个设备多点的温度、湿度、压力、流量等数据监测控制,在橡胶、石油、冶金、食品加工、环境监测等工业自动化控制系统中可以取代工控仪表和PLC的检测和控制作用,开发具有自主知识产权产品并降低成本具有重要的现实意义,本文提出的方法对于采用MODBUS协议的智能控制系统的研究与开发也具有一定的理论研究和实用价值。
参考文献:
[1]. RS-485 datasheet http://www.dzsc.com/datasheet/RS-485_584821.html.
[2]. PLC datasheet http://www.dzsc.com/datasheet/PLC_1248813.html.
[3]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[4]. RS-232 datasheet http://www.dzsc.com/datasheet/RS-232_584855.html.
[5]. Atmega32 datasheet http://www.dzsc.com/datasheet/Atmega32_144707.html.
[6]. MAX485 datasheet http://www.dzsc.com/datasheet/MAX485_859396.html.
[7]. LRC datasheet http://www.dzsc.com/datasheet/LRC_2405503.html.
关键字:MODBUS协议 智能控制系统 AVR单片机
引用地址:
基于MODBUS协议智能控制系统设计
推荐阅读最新更新时间:2024-03-16 13:30
AVR单片机(ATMEGA16)控制蜂鸣器
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int #define DELAY 500 void delay(uint z) //1ms { uint x,y; for(x=z;x 0;x--) for(y=157;y 0;y--); } void main(void) { DDRA |=BIT(0); while(1) { PORTA &=~BIT(0); delay(DELAY); PORTA |=BIT
[单片机]
avr单片机proteus仿真第四课:控制继电器
继电器(Relay),作用是用弱电控制强电。比如,我们用avr单片控制一个220V电压的灯泡,这就必须用到继电器。 本课用avr单片机来控制继电器的吸合与断开。 Proteus仿真实验器件: 1 atmega128一块 2 button,按键一个 3 relay,通用继电器一个,并把继电器的Component Value设置为5V 4 pnp三极管一个 5 LAMP,灯泡一个改为220V 6 resistor 1k 7 DIODE 二极管一个 这个程序实际上很简单,主要要学习继电器的用法,注意的是,继电器必须接一个二极管。 仿真程序如下: #include avr/io.h #include util/delay.h #def
[单片机]
CAN总线在停车场灯光智能控制系统中的应用
CAN(Controller Area Network——控制器局域网)是一种有效支持分布式控制和实时控制的串行通信网络,具有可靠性高、成本低、配置灵活、数据传输距离远、数据传输速率快等优点,已经成为国际上应用最广泛的现场总线之一。 目前大部分的地下停车场都需要大量的照明设备进行长期照明,采用传统的连续照明方式或声控照明方式很难实现照明的自动控制,且会造成巨大的能源浪费和设备损耗。国外虽然有类似的灯光智能控制系统,但价格很高,限制了它的广泛应用。本文提出了一种基于CAN总线技术开发的分布式停车场灯光智能控制系统,能够解决停车场内照明智能控制问题,降低停车场内的布线复杂度,减少安装费用并大大延长停车场内照明设备的使用
[嵌入式]
红外遥控芯片BA5104的软件解码方法探讨
用BA5104芯片构成的红外遥控发射器电路具有外接元件少、成本低廉、器件本身功耗低、电源电压适应范围宽、工作稳定可靠等特点,因此广泛应用于遥控风扇、灯器、电热水器等各类家用电器中。BA5104芯片解码常用BA5204、BA820X系列、SM5032C等芯片进行硬件解码,这种解码方法缺乏灵活性。目前许多电子产品和电气设备以单片机作为核心控制器且逐渐采用红外遥控器进行操作,采用软件解码代替硬件解码,对于设备的升级和改造提供极大的灵活性,降低开发成本。 1 BA5104芯片构成的红外遥控发射器电路 由红外遥控芯片BA5104构成的红外遥控发射器电路如图1所示。K1~K8为遥控器的输入按键,由于BA5104的按键输入端内接有上拉
[单片机]
基于RS485接口Modbus协议的PLC与多机通讯
1 引言 在自动控制领域,PLC 和单片机都受到广泛应用。PLC 具有稳定可靠,抗干扰能力强, 功能强大且使用方便等特点 ,单片机具有成本低廉,使用灵活,功能多样等特点。PLC 与 单片机结合,互相联系,互相通讯,将扩展控制功能,更好的控制复杂的系统。 在研究混合动力电动汽车驱动系统 时, 采用PLC 作为主控制器,控制电机变频器和发 动机节气门控制器,实现对电机和发动机功率的 综合控制。因为PLC 和变频器均是艾默生公司 的产品,均支持RS485 接口和MODBUS 协议, 所以控制系统统一采用RS485 接口和MODBUS 协议。而发动机节气门控制器采用89C51 单片 机,所以要通过建立PLC 与单片机的通讯
[单片机]
基于AVR单片机的ISP1362OTG设计
0 引言 随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。 1 ISP1362芯片的内部结构 Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个U
[单片机]
AVR单片机RC触摸
RC电容触摸感应按键 1:RC感应原理 RC采样原理就是通过测量感应极电容的微小变化,来感知人体对电容式感应器(按键、轮键或者滑条)的感应。电极电容(C)通过一个固定的电阻(R)周期性地充放电。 iframe id="iframe_0.8223286713473499" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://cache.ourdev.cn/bbs_upload782111/files_16/ourdev_458296.png?_=3186888%22%20style=%22border:none;max-width:1333px
[单片机]
AVR单片机性能简介
什么是AVR单片机?AVR单片机有什么优点?为什么要选择AVR单片机? AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点: 1:在相同的系统时钟下AVR运行速度最快; 2: 芯片内部的Flsah、EEPROM、SRAM容量较大; 3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); 4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; 5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; 6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI
[单片机]