论文导读:串行通信使用一条数据线,将数据一位一位地依次传输,处理的数据电压只有一个准位,因此不容易漏失数据。VisualBasic(VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位具有精简指令集的、超低功耗的混合信号处理器(MixedSignalProcessor)。同时,该监控软件能对多台石蜡成型机同时监控,将这些控制信号发送到单片机。
关键词:石蜡成型机,串行通信,单片机,VisualBasic
本系统的目标是:通过相关软件、硬件的设计,实现由主机(上位机)通过单片机(下位机)通讯实现对石蜡车间现场石蜡成型机工作状态的监控。即利用主机的监控软件与单片机进行通信,以实现对石蜡成型机的监控功能。本系统应具备如下功能:
(1) 界面设计清晰,功能齐全,实时准确的显示石蜡成型机所有参数及状态
(2) 上位机与下位机能进行可靠、实时的通信。
(3) 查询历史记录功能
1软硬件的选取及上下位机间通信协议的定义
基于上述目标与功能,要实现本系统,首先要解决以下几个问题:
1.1 上位机与单片机之间通信方式的选取
串行通信使用一条数据线,将数据一位一位地依次传输,处理的数据电压只有一个准位,因此不容易漏失数据。串行通信端口(RS-232)是每部计算机上的必要配备,它不仅实用简单,而且价格便宜。发表论文。因此本系统采用RS-232串行通信方式用于上、下位机间的通信。
1.2 监控软件开发平台的选取
VisualBasic(VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。所以,本系统采用VB作为监控软件平台。
1.3 单片机型号以及芯片的选取
MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位具有精简指令集的、超低功耗的混合信号处理器(Mixed SignalProcessor)。由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。本系统采用MSP430单片机。
1.4 上位机与单片机之间的通信协议
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。本系统采用Modbus通讯协议进行通讯,采用16位CRC校验以保证数据传输的准确性。
通信参数设置
波特率 |
起始位 |
数据位 |
停止位 |
57600 |
n |
8 |
1 |
数据读写
地址 |
功能码 |
变量起始地址高字节 |
变量起始地址低字节 |
变量高字节 |
变量低字节 |
校验码低字节 |
校验码高字节 |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
功能码
代码 |
意 义 |
实 现 功 能 |
03H |
读数据 |
读取一个或多个变量的当前二进制值 |
06H |
预置单寄存器 |
用一个特定的二进制值改写一个变量的值 |
10H |
预置多寄存器 |
用特定的二进制值改写多个变量的值 |
错误处理
地址 |
功能码 |
错误值高字节 |
错误值低字节 |
校验码低字节 |
校验码高字节 |
XXH |
86H |
XXH |
XXH |
XXH |
XXH |
单片机回应数据格式
地址 |
功能码 |
变量起始地址高字节 |
变量起始地址低字节 |
变量的个数高字节 |
变量的个数低字节 |
变量的总字节数 |
变量值高字节 |
变量值低字节 |
变量值高字节 |
变量值低字节 |
变量值高字节 |
变量值低字节 |
…… |
…… |
校验码低字节 |
校验码高字节 |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
XXH |
2系统总体设计模块
根据本系统要实现的功能,可以将系统划分为如图1所示的5个模块。

图1
2.1 实时显示部分
实时显示分为实时数据显示和实时曲线显示。上位机通过读取单片机的数据并运算得出需要的结果显示在界面上,并将这些数据绘制成实时曲线。发表论文。
2.2 仪器地址设置部分
该部分用于设定要访问的仪器地址,以便软件可以对不同仪器进行监控。
2.3 历史记录查询部分
该模块的主要功能是记录成型机连续运行时各个时间段的状态,并提供查询功能,使下一班接班人员知道该成型机在上一班或者更早时间的运行情况。
2.4报警记录查询部分
该模块的主要功能是记录成型机的每个报警值,并提供查询功能。
3主界面设计
用户界面应具备如下的特性:
(1)使用简单:界面简洁明了、操作方便。
(2)具有容错能力:具有错误诊断、修正错误以及出错保护的功能;
(3)系统能够按照用户的希望和需要,提供不同详细程度的系统响应信息,包括反馈信息、提示信息、帮助信息、出错信息等;
(4)在完成特定功能的前提下,使用户界面越简单越好。用户界面应能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。
本系统界面如图2

图2
4 通信设置
4.1 通信控件MSComm的设置
本系统对控件的具体设置如下:
MSComm1.CommPort=1 ‘使用COM1作为通信端口
MSComm1.PortOpen=True ‘打开通信端口
MSComm1.InputMode=comInputModeBinary‘以二进制方式读取数据
MSComm1.Settings=″57600,n,8,1″ ‘通信参数设置,波特率57600,不作奇偶校验,8位数据位,1位停止位
对于微机与单片机组成的数据采集处理系统,由于数据的传输多采用十六进制方式,所以将MSComm设置为以二进制方式读取数据。发表论文。
4.2 单片机端口初始化设置
本系统使用com1口进行通讯,由于com1口的管脚为P3.6和P3.7,因此对P3口进行初始化,代码如下:
VoidInit_port(void)
{
//将所有的管脚在初始化的时候设置为输入方式
P3DIR=0;
//将所有的管脚设置为一般I/O口
P3SEL=0;
Return;
}
4.3 com1口初始化设置
VoidInit_UART1(void)
{
//将寄存器的内存清零
U1CTL=0X00;
//数据位为8bit
U1CTL+=CHAR;
//将寄存器的内存清零
U1TCTL=0X00;
//波特率发生器选择SMCLK
U1TCTL+=SSEL1;
//波特率为57600波特/秒
UBR0_1=0X8B;
UBR1_1=0X00;
//调整寄存器
UMCTL_1=0X00;
//设置P3.6为UART1的TXD
P3SEL|=BIT6;
//设置P3.7为UART1的RXD
P3SEL|=BIT7;
//P3.6为输出管脚
P3SEL|=BIT6;
return;
}
5 系统的安全性、可靠性和实时性
5.1 系统的安全性
本系统对所有历史记录文件加密,使得不知道密码的人无权访问和修改,以避免数据被篡改引起历史数据的丢失。
本系统对仪器地址的修改加密,没有权限不能随便修改仪器地址,否则会因监测数据的丢失造成不可避免的经济损失。
5.2 系统的可靠性
5.2.1 通信可靠性
对通信的可靠性检查就需要‘校验’,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复。本系统上位机和下位机均采用CRC16位冗余校验,使得传递的数据更加准确。
5.2.2 系统可靠性
本系统提供了较完善的出错处理机制及丰富的提示信息,从而提高了系统操作的可靠性。如:输入地址不存在,与仪器通讯失败,输入错误密码等等。
5.3 系统的实时性
在上位机与下位机通信时,系统根据要接收的数据长度定义了不同的超时时限,以保证系统的实时性。
6 总 结
在本系统中,单片机负责采集石蜡成型车间现场的数据,主机通过该系统的监控软件,可以得到单片机采集到的监测信号,在界面上显示出来。同时,该监控软件能对多台石蜡成型机同时监控,将这些控制信号发送到单片机。当单片机接收到这些控制信号之后,能驱动相应的模拟器件,将这些信号在硬件上反映出来并反馈信号给主机,从而在软件界面上显示出模拟状态。本系统已在某石蜡成型车间试运行并得到了很好的评价。
【参考文献】
1王国荣.Visual Basic 6.0实战讲座.北京:人民邮电出版社,1999
2 李玉东,李雷编.Visual Basic 6.0中文版控件大全.北京:电子工业出版社,2000
3 范逸之.Visual Basic与分布式监控系统.北京:清华大学出版社,2002
4 MPS430单片机C语言应用程序设计 电子工业出版社.北京 秦龙 2006
5李朝青.PC机及单片机数据通信技术.北京:北京航空航天大学出版社,2000
|