基于LabView的上下位机串口通讯系统设计.doc
《基于LabView的上下位机串口通讯系统设计.doc》由会员分享,可在线阅读,更多相关《基于LabView的上下位机串口通讯系统设计.doc(33页珍藏版)》请在沃文网上搜索。
1、智能仪表综合训练设计说明书中文摘要以PC作为上位机,以调制解调器(Modem)、串行打印机、各种监控模块、PLC、摄像头云台、数控机床、单片机及智能设备等作为下位机广泛应用于测控领域。LabVIEW是目前应用最广泛的虚拟仪器开发平台软件之一,LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。测试测量:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。关
2、键词:虚拟仪器;液位控制;PID;Labview;串口通信;单片机;LCD目录第1章 前言.1第2章 总体方案设计22.1控制理论22.2控制规律的选择22.3串口的介绍和使用42.3.1串口VI介绍42.3.2使用说明5第3章 上位机软件设计73.1各系统应用模块程序7第4章 系统软件的具体实现94.1 系统监控界面94.2调试结果104.3 接收的PID数据与液位的显示值104.4 发送PID数据与串口数据接收11第5章 下位机125.1单片机的硬件连接125.2硬件介绍135.3单片机电路135.3.1 STC89C52单片机135.3.2主要性能参数145.4输入设备175.5显示设备
3、185.6 MAX232 芯片195.6.1 RS-232电气特性205.6.2串口通信连线205.7软件流程图21第6章 设计总结22参考文献23附录一 源程序24第1章 前言随着现代软件和硬件技术的飞速发展,仪器的智能化和虚拟化已经成为未来各级实验室以及研究机构发展的方向。自动化,测试仪器仪表行业中,虚拟仪器概念的出现。是对传统仪器概念的重大突破。“软件就是仪器”测底打破了传统仪器由厂家定义,用户无法改变的模式,使用户将数据采集,数据分析,仪器控制,硬件以及现有的仪器设备予以整合集成,来建立完全符合自己特殊要求的虚拟仪器控制系统。在计算机分布式测控系统中,经常要利用串行通信方式进行数据通信
4、。它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。串口通信具有连接简单,使用灵活方便、数据传输可靠等优点,在工业和日常生活中等有了广泛的应用,尤其是在数据采集和工业监控中更是不可替代的技术。本文设计一种基于单片机和labview 上位机数据采集。主要包括键盘设计,LCD或LED显示的,还有对数据的接收和发送。在用labview开发上位机,实现数据的显示,和对下位机的数据控制。以及对控制效果的显示。第2章 总体方案设计 PC通过串行口将数字(00,01,02,03.,十六进制)发送给单片机,单片机收到后回传这个数字,PC接
5、收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。启始符是数字00,结束符是数字FF。完成对液位数据的读取。2.1控制理论PID控制器(比例-积分-微分控制器),由比例单元P积分单元 I 和微分单元 D 组成。通过Kp,Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态性不随时间变化的系统。 图2.12.2控制规律的选择尽管不同类型的控制器,其结构、原理各不相同,但是基本控制规律只有三个:比例(P)控制、积分(I)控制和微分(D)控制。这几种控制规律可以单独使用,但是更多场合是组合使用。如比例(P)控制、比例-积分(PI)控制、比例-积分-微分(P
6、ID)控制等。 比例(P)控制单独的比例控制也称“有差控制”,输出的变化与输入控制器的偏差成比例关系,偏差越大输出越大。实际应用中,比例度的大小应视具体情况而定,比例度太大,控制作用太弱,不利于系统克服扰动,余差太大,控制质量差,也没有什么控制作用;比例度太小,控制作用太强,容易导致系统的稳定性变差,引发振荡。 对于反应灵敏、放大能力强的被控对象,为提高系统的稳定性,应当使比例度稍大些;而对于反应迟钝,放大能力又较弱的被控对象,比例度可选小一些,以提高整个系统的灵敏度,也可以相应减小余差。 单纯的比例控制适用于扰动不大,滞后较小,负荷变化小,要求不高,允许有一定余差存在的场合。工业生产中比例控
7、制规律使用较为普遍。 比例积分(PI)控制比例控制规律是基本控制规律中最基本的、应用最普遍的一种,其最大优点就是控制及时、迅速。只要有偏差产生,控制器立即产生控制作用。但是,不能最终消除余差的缺点限制了它的单独使用。克服余差的办法是在比例控制的基础上加上积分控制作用。 积分控制器的输出与输入偏差对时间的积分成正比。这里的“积分”指的是“积累”的意思。积分控制器的输出不仅与输入偏差的大小有关,而且还与偏差存在的时间有关。只要偏差存在,输出就会不断累积(输出值越来越大或越来越小),一直到偏差为零,累积才会停止。所以,积分控制可以消除余差。积分控制规律又称无差控制规律。 积分时间的大小表征了积分控制
8、作用的强弱。积分时间越小,控制作用越强;反之,控制作用越弱。 积分控制虽然能消除余差,但它存在着控制不及时的缺点。因为积分输出的累积是渐进的,其产生的控制作用总是落后于偏差的变化,不能及时有效地克服干扰的影响,难以使控制系统稳定下来。所以,实用中一般不单独使用积分控制,而是和比例控制作用结合起来,构成比例积分控制。这样取二者之长,互相弥补,既有比例控制作用的迅速及时,又有积分控制作用消除余差的能力。因此,比例积分控制可以实现较为理想的过程控制。比例积分控制器是目前应用最为广泛的一种控制器,多用于工业生产中液位、压力、流量等控制系统。由于引入积分作用能消除余差,弥补了纯比例控制的缺陷,获得较好的
9、控制质量。但是积分作用的引入,会使系统稳定性变差。对于有较大惯性滞后的控制系统,要尽量避免使用。 比例微分(PD)控制比例积分控制对于时间滞后的被控对象使用不够理想。所谓“时间滞后”指的是:当被控对象受到扰动作用后,被控变量没有立即发生变化,而是有一个时间上的延迟,比如容量滞后,此时比例积分控制显得迟钝、不及时。为此,人们设想:能否根据偏差的变化趋势来做出相应的控制动作呢?犹如有经验的操作人员,即可根据偏差的大小来改变阀门的开度(比例作用),又可根据偏差变化的速度大小来预计将要出现的情况,提前进行过量控制,“防患于未然”。这就是具有“超前”控制作用的微分控制规律。微分控制器输出的大小取决于输入
10、偏差变化的速度。 微分输出只与偏差的变化速度有关,而与偏差的大小以及偏差是否存在与否无关。如果偏差为一固定值,不管多大,只要不变化,则输出的变化一定为零,控制器没有任何控制作用。微分时间越大,微分输出维持的时间就越长,因此微分作用越强;反之则越弱。当微分时间为0时,就没有微分控制作用了。同理,微分时间的选取,也是需要根据实际情况来确定的。 微分控制作用的特点是:动作迅速,具有超前调节功能,可有效改善被控对象有较大时间滞后的控制品质;但是它不能消除余差,尤其是对于恒定偏差输入时,根本就没有控制作用。因此,不能单独使用微分控制规律。比例和微分作用结合,比单纯的比例作用更快。尤其是对容量滞后大的对象
11、,可以减小动偏差的幅度,节省控制时间,显著改善控制质量。 比例积分微分(PID)控制最为理想的控制当属比例-积分-微分控制规律。它集三者之长:既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。当偏差阶跃出现时,微分立即大幅度动作,抑制偏差的这种跃变;比例也同时起消除偏差的作用,使偏差幅度减小,由于比例作用是持久和起主要作用的控制规律,因此可使系统比较稳定;而积分作用慢慢把余差克服掉。只要三个作用的控制参数选择得当,便可充分发挥三种控制规律的优点,得到较为理想的控制效果。2.3串口的介绍和使用2.3.1串口VI介绍LabVIEW的串口通讯VI位于Instrument
12、 I/O Platte的Serial中,包括:VI名称VI功能VISA Configure Serial Port初始化VISA resource name指定的串口通讯参数VISA Write将输出缓冲区中的数据发送到VISA resource name指定的串口VISA Read将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中VISA Serial Break向VISA resource name指定的串口发送一个暂停信号VISA Bytes at Serial Port查询VISA resource name指定的串口接收缓冲区中的数据
13、字节数VISA Close结束与VISA resource name指定的串口资源之间的会话VISA Set I/O Buffer Size设置VISA resource name指定的串口的输入输出缓冲区大小VISA Flush I/O Buffer清空VISA resource name指定的串口的输入输出缓冲区2.3.2使用说明在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。图2.2串口操作数据流图首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。图2.3初始化
14、串口如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。图2.4从串口发送数据图2.5从串口接收数据在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Si
15、ze;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。图2.6设置缓冲区大小图2.7清空缓冲区图2.8结束会话/线程具体的例子可以参考:examplesinstrsmplserl.llb。第3章 上位机软件设计3.1各系统应用模块程序(1)主要的采集参数的设置包括采样与输出通道的选择,采样模式、采样周期等。图3.1串口接收与数据采集(2)接收PID和液位数值显示程序串口输出的字符串,由字符串由字符数组转换,转变成数组然后在对应的位置显示。图3.2接收PID和液位
16、数值显示(3) 发送PID数值和处理的程序发送PID由字节数组至字符串转换原件,把不带符号的字节数组转换为字符串。图3.3 PID的发送第4章 系统软件的具体实现4.1 系统监控界面LABVIEW前面板对VISA,参数的选择,主要是发送和接收PID的显示。图4.1 PID、液位上位机的显示4.2调试结果图4.24.3 接收的PID数据与液位的显示值图4.3 PID、液位的显示4.4 发送PID数据与串口数据接收 通过串口助手代替下位机进行发送接收。 图4.4 第5章 下位机5.1单片机的硬件连接单片机完成通信数据的收发功能主要分为2个步骤。 串口波特率的设定通常使用单片机的串口时,选用的晶振比
17、较固定,常用于何微机通信的波特率也相对固定。本设计设定通讯波特率为9600。 串口初始化串口初始化主要是设置产生波特率的定时器1、串行口控制和串口的中断控制。具体步骤如下。确定定时器1的工作方式写TMOD寄存器。计算定时器1的初值装载TH1、TL1。启动定时器1写TCON中的TR1位。确定串口的控制写SCON。使用串口中断方式时,开CPU和中断源写IE寄存器。本设计设定定时器T1工作在模式2,串行口工作于方式3。5.2硬件介绍 图5.1硬件主要由主芯片ATC89C52,五个独立按键,一块RS-232接口, LCD1602显示屏, 晶振,以及相应的电容与电阻等组成。5.3单片机电路5.3.1 S
18、TC89C52单片机单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥
19、有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 5.3.2主要性能参数兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源 共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能图5.25.3.3 STC89C52单片机 各引脚功能及管脚电压P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“
20、1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
15 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabView 上下 串口 通讯 系统 设计