|
|
 |
专题栏目 |
 |
 |
相关文章 |
 |
|
|
|
|
 |
微克级电子天平串行通信 |
|
|
| 微克级电子天平串行通信 |
|
作者:佚名 文章来源:不详 点击数: 更新时间:2007-05-05 00:21:06  |
|
摘要:介绍了赛多利斯电子天平串行通信的具体规定,并以实例详细说明了如何实现Msc51系列单片机与赛多利斯天平的串行通信,重点解决了通信协议和数据位匹配问题。 关键字:电子天平 单片机 串行通信 Serial Communication of Balance of Gamma Magnitude Abstract:Specific rules of sartorius electronic balance were introduced, and fellow with an example to how to carry out the serial communication between the balance and singlechip of Msc51, problem of communication agreement and data digit were emphatically solved. Key words: sartorius singlechip serial communication 0 引言 在我们所研究的项目——衡重式自动测尘系统中使用到了一台带有RS232串行接口的微克级电子天平,为了实现仪器自动采集数据功能,要求天平能够根据系统流程的规定向目标机器(这里指单片机)周期性的输出数据。本文主要介绍如何实现单片机和电子天平之间通信的思路和具体的技术方案。 1 串行通信 串行通信是以规定的时序进行的,如图1所示。在进行通信之前必须首先设定好通信参数,如:波特率,数据位数和奇偶校正等,才能正常的通信。此外在特定的仪器上又有自己的特别规定或格式(它们以字符串的形式表达),这些规定是因仪器而异的,下面以型号为BP211D,精度为0.01mg赛多利斯电子天平为例加以说明。 图 1 2 赛多利斯串行通信规定[1] 2.1 赛多利斯天平的输入输出格式。 2.1.1 输出字符串格式 赛多利斯电子天平输出格式分:无ID码数据输出,特殊符号输出,和带ID码输出三种。 ⑴ 无ID码数据输出。如表1所示,赛多利斯天平输出的数据由16个字符组成, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +×- × ×1060. ×1050. ×1040.1050× ×1030.1040× ×1020.1030× ×1010.1020× 1000.1010× .1000× × ×U ×U ×U CR CF 注:×=空格;U=单位。 表1 第1个字符表示数值的正负,当所称的物体较初始值小时,显示‘-’;第2和11字符为空格;第3~10为数据位,没有数据时用空格(×)表示,第12~14是重量单位,如:mg,第15是回车,第16是换行。如,+0.01mg表示为: {‘+’, × , × , × , × , × , ‘0’ , ‘.’ , ‘0‘, ‘0’ , ‘1’ , × , ‘m’ , ‘g’ , × , CR , LF } ⑵特殊符号 赛多利斯天平还可以输出一些特殊的代码表示天平的状态,格式如下 {× , × , × , × , × , × , A , B , × , × , × , × , × , × , CR , LF} AB可以为:C×表示校正;H×表示超重;L×表示装载不足;——表示稳定输出; ⑶带ID码数据输出 带ID码输出只是在无ID码前面加6个字符表示ID码,其中ID号是称重值、件数、百分数说明,及其它的标记标识,如:净重数值的标识是在数字前加“N”,相对百分数是在前面加“nREf”,相对重量净值的在前面加“Wxx%”。 2.1.2输入指令格式 ⑴.如下所示,带大写字符或是特殊字符的控制指令, {ESC , K , CR , LF} 其中,ESC:转换字符;K为指令字符。 例如打印数据可以发送指令: {ESC ,’P’, CR , LF} ⑵.带小写字符的控制指令,如下所示: {ESC , ’f’ , 0 , ’_’ , CR , LF} 表示天平菜单按键『F』功能 2.2 赛多利斯与微机的握手协议 赛多利斯与微机的握手协议有两种:硬件方式,软件方式。硬件方式要求有TXD(发送数据)和RXD(数据接收)和地线之外还要加上RTS(清除发送)与DTR(数据终端准备)的辅助线,才能实现硬件方式的通信,软件的通信方式只需TXD、RXD和地线就可以实现通信。但是,软件工作方式必须采用Xon/Xoff协议[2],Xon实际上是十六进制代码0x11,Xoff的代码是0x13,而对于赛多利斯天平在采用Xon/Xoff协议上有特别的要求,必须在发送命令前发送Xoff,而在传送完命令之后才发送Xon,这样才能准确的接收到数据。所以在单片机中实际发送的命令: {Xoff,ESC,’P’,CR,LF,Xon} 表示单片机发送读数据指令 {Xoff,ESC,’T’,CR,LF,Xon} 表示单片机发送清零指令
3 微机通信实例 以下以软件通信方式结合Mcs51单片机为例说明如何实现赛多利斯和微机的通信。 51单片机采用89c52,利用其串行口的TxD和RxD端口,与天平对应的RxD和TxD相连,并如下表设置好参数。 各项参数 单片机 赛多利斯天平 备注 波特率 9600 9600 单片机设置通信方式为1,即工作于8位异步通信。 奇偶性 无 空格校正 停止位 1位 1位 数据位 8位 7位 表2 赛多利斯和单片机在数据位是有区别的:单片机固定为8位,赛多利斯为7位,又奇偶位紧随第七个数据位发送,所以以赛多利斯的奇偶位作为单片机的第8位传输,单片机接收后检测第8位是否为低电平,如果是则提取前7位,作为接收的数据;而单片机发送到赛多利斯的指令中每个字符的第八位均为低电平,刚好满足赛多利斯空格校正的要求。 单片机按照软件握手时的规定发送指令,发送完命令立即变为接收数据状态,由于传送的是字符串,所以一般在接收时,采用循环方式,一边检测每个字符的第八位是不是低电平,一边检测是否出现字符0x0a,当出现第八位不是低电平时,宣布该数据无效,并要求重发;出现0x0a时单片机才停止接收,并将接收到的字符串转化为数字,即得所测数据。流程图和部分程序(以c语言实现)如下: 图2 单片机发送命令流程图 图3 单片机接收数据流程图 经测试,单片机接收到的数据与天平本身显示的数据完全一致,完全实现了单片机对电子天平精确的控制。 4 结束语: 本文介绍的微机通信技术已经在我们所研制的衡重式自动测尘系统中应用,虽然这里以赛多利斯为实例[3],但只要把握好软件通信协议的要求,并结合具体仪器的指令,将该技术用于其他电子天平完全是可行的,这为目前高精度、自动称重系统研究提供了一种具体可行的技术方案。
参考文献: 1.Sartorius Basicplus Electronic Semi-micro-,Analytical and Precision Balances Installation and Operating Instructions. 2.李观勇. visual C++ 串口通信技术与工程实际. 人民邮电出版社; 3.Sartorius——吉尼斯世界纪录保持者——赛多利斯公司 上海计量测试 1998年01期
|
|
| 文章录入:admin 责任编辑:admin |
|
|
上一个文章: 质谱在肽和蛋白分析中的应用 下一个文章: 基于Honeywell DCS的锅炉燃烧稳态优化控制 |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| |
|
|
|
|