首页 基于VB的电子秤通信实例[1]

基于VB的电子秤通信实例[1]

举报
开通vip

基于VB的电子秤通信实例[1] 1 引言 电子天平具有称量精确、方便实用、数值快速稳定等特 点,主要用来测定物体的质量、密度等参数。目前广泛应用 于工业企业及实验室等领域。目前国内使用的电子天平种类 众多,但无论量程大小或者精度的高低,其基本构造原理都 很类似。主要的区别在于天平传感器数据采集及处理的方式。 因为传感器本身会随着温湿度、蠕变、各类偏差、线性等因 素改变而产生不同的电压差,其采集到的数据也会随之有所 变化。随着电子秤的广泛应用, 在实际称重过程中, 仅靠电子 秤自身管理、控制, 其局限性日益突出。如果能把电子秤的数 据传至计...

基于VB的电子秤通信实例[1]
1 引言 电子天平具有称量精确、方便实用、数值快速稳定等特 点,主要用来测定物体的质量、密度等参数。目前广泛应用 于工业企业及实验室等领域。目前国内使用的电子天平种类 众多,但无论量程大小或者精度的高低,其基本构造原理都 很类似。主要的区别在于天平传感器数据采集及处理的方式。 因为传感器本身会随着温湿度、蠕变、各类偏差、线性等因 素改变而产生不同的电压差,其采集到的数据也会随之有所 变化。随着电子秤的广泛应用, 在实际称重过程中, 仅靠电子 秤自身管理、控制, 其局限性日益突出。如果能把电子秤的数 据传至计算机处理, 利用其强大的管理和控制功能, 不但可拓 展电子秤的应用范围, 而且其性能价格比、安全可靠性、控制 灵活性、操作简易性、人机交互性、管理自动化均将获得极 大提高。将以市场上主流的电子天平为平台并结合自己的实 践,给出一个通过计算机进行数据采集的实例,如图 1所示。 2 系统硬件配置 2.1 电子天平选型 电子天平选用某公司 (SARTORIUS) BS 系列电子天平, 型号:BS210S;量程 210g,精度:0.1mg,带有 9针数据输出 串口。该仪器具有动态响应快、测量精度高、功能丰富等特 点。内置 RS-232 通信接口,可以方便连接打印机、电脑等外 围设备。 2.2 上位机配置 装有 Windows XP Pro 中文专业版的台式计算机。该计算 机带有与 9针串口,方便与仪器进行数据通信。 2.3 通信电缆 电子天平与电脑的连接电缆采用遵循 RS232协议的数据 连接线,如图 2所示。 3 系统开发平台及协议 3.1 开发平台 开发平台采用 MS VB6.0进行程序编写。基于 VB开发平 台的串行通信程序在工业领域有着广泛的应用。而 VB平台本 身也具有简单、灵活、可扩展性强等特点,非常适合应用于 工业及实验室产品的数据通信软件开发。 基于 VB的电子秤通信实例 王健 1,2 (1. 北方工业大学研究生院,北京 100144;2. 赛多利斯科学仪器(北京) 有限公司,北京 101300) 摘 要: 以电子天平为例 (型号:BS210S),提供了电子天平和计算机进行串口通信时的接口命令及功能控制方法, 并利用 VB 6.0 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 了电子天平的串口通信程序, 实现了数据的双向传输、数据处理等功能, 为实验室研究和工业自 动化领域提供方便可靠的自动采集数据的方法。 关键词: 电子天平; 通信; 程序开发; Visio Basic 6.0 An Example of Electronic Balance Communication Based on VB WANG Jian1, 2 (1. North China University of Technology , Beijing 100144; 2. Sartorius Scientific Instruments (Beijing) Co., Limited , Beijing 101300) Abstract:Provide the interface control order and function of control method Based on Sartorius scales (model :BS210S), For serial ports communication between electronic balance and computers. The use of Microsoft Visual Basic 6.0 design in the scale of the serial interface communication procedure, realizing the two-way data transmission, data processing for the research and industrial automation area to provide convenient and reliable method of collecting data automatically. Key words:Electronic Balance ; Communication ; Program development ; Visual Basic 6.0 ———————————————————————————————————————————————————— 作者简介:王健(1976-),男,硕士(在读),研究方向:计 算机。 收稿日期:2010-08-09图 1 网络与通信NETWORK AND COMMUNICATION 105- - 电脑编程技巧与维护 图 2 数据连接线示意 3.2 通信协议 电脑与电子天平通信时采用 RS232协议。目前电子秤的 通信多以电子秤内置串口与计算机串口或者并口进行数据交 换为主。计算机与电子天平之间用屏蔽多芯电缆通过串口连 接,根据 RS232协议的要求,连接线的距离一般不能超过 15 米,超过这个距离后数据传输就不能保证。更长距离的传输 需要基于 RS485或者 RS422协议。在工业生产对自动化要求 越来越高的今天,利用计算机实行监测和控制已十分普及。 串行通信技术的特点是传输线少、成本低。与并行通信相比 较,其通信响应速度快、传输速率适中、且编程相对简单。 3.3 通信控件 系统开发采用的串行通信可通过 VB6.0中的 MSCOMM 控 件实现。MSCOMM 控件是 Microsoft 提供的扩展控件,用于支 持 VB 程序对串口的访问,该控件包含了大部分串口通信的底 层运行过程和许多繁琐的处理过程,同时支持查询方法和事 件驱动通信的 机制 综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图 ,特别适合基于 Windows系统的串口程序 开发。在串口通信过程中,当发送数据、收到数据或产生传 输错误时,均触发 MSComm 控件的 OnComm 事件,然后可以 通过判断 CommEvent 属性值获得事件类型,再根据事件类型 进行相应数据处理。因此用很少的程序代码就可以实现上位 计算机与底层设备的串口数据通信。 4 通信接口设计 4.1 MSCOMM属性 (1) 通信协议为:无起始位和奇偶校验位、数据位 8 位、 停止位 1 位、波特率 9600bps、传送码为 ASCII码。 (2) CommPort 属性:用于设置并返回通信端口号,即常 说的串口号,可取值为 1~16,默认值为 1。 (3) Setting 属性:用于设置初始化参数,以字符串的形 式设置并返回波特率、奇偶校验、数据位、停止位,默认值 为“9600, N,8,1”。 (4) PortOpen 属性:设置并返回通信端口的状态,也可 以打开和关闭端口,可选值为 True 和 False。使用串口之前必 须先将要使用的串口打开,而使用完毕之后必须关闭该串口。 (5) Input 属性:用于从接收缓冲区返回和删除字符。 (6) Output属性:用于向传输缓冲区写一个字符串。 (7) InBufferSize 属性:用于 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示整个接收缓冲区的大 小, 缺省值是 1024 字节。 (8) InBufferCount属性:用于表示返回接收缓冲区中等待 的字符数。可以把 InBufferCount 属性设置为 0 来清除接收缓 冲区。 (9) OutBufferCount属性:用于表示返回在传输缓冲区中 等待的字符数。为 0 可以清除传输缓冲区。 4.2 通信控制命令 图 3、图 4为赛多利斯天平的通信控制命令形式。控制命 令采用固定的 22位帧地址。地址形式如图 4所示。该协议可 以在开发工具加载串口协议控件后以如图 3中的组合编码方 式进行调用。下面是字符在表中所代表的含义: K代表: ID地址 V代表: +/-符号 W代表: 称重值 E代表: 称量单位 S1/S2代表控制字符 4.3 通信功能命令格式 如图 5所示。 ESC 代表一个空格字符 K 代表一个结构字符 K2 代表另一种结构字符 _ 代表下划线 CR 代表返回一个值 LF 代表对齐格式 电子天平的通信功能控制命令基本相同, 不同型号的电 子天平略有差异,应根据电子天平的型号有所选择。例如:计 算机请求电子天平发送“打印”请求(即从天平读取数据), 只要从计算机串口输出打印控制命令 Esc P CR LF(其 ASCII 码值为: ESC(27),P(80),CR(13),LF(10) 即可,其 中的字符“P”就是用来表示图 4中字符“K”所代表的具体 控制字符。又如向天平发送代码 ESC T CR LF (其 ASCII 码为: ESC(27),T(84),CR(13),LF(10) 即为除皮功 能。 5 系统程序 5.1 用 ASCII码进行通信功能命令控制 要实现计算机与电子天平串行通信,必须开发一个应用 程序,通过它实现两者之间的数据交换。VB 的 MSCOMM 控 件提供两种通信方式:事件驱动方式和查询通信方式,本实 例采用前者,下面具体说明通信程序的编制。通信控制程序 图 3 通信控制命令格式 图 4 通信控制命令地址形式 图 5 通信功能命令格式 106- - 之中, 望而生畏, 对其产生反感。 正是因为三层结构比较复 杂, 所以要成为三层结构的高手, 一定要经过一段较长的时 间和大量项目的锻练。 但三层结构体现了一个开发人员与系 统人员的专业素质 , 因为它涉及太多东西 : 技术工具的选 型 、 模块化和组件化思想 、 前后台功能的分割等 。 从真正 意义上来讲, 只有三层结构的项目才能完整反映软件项目的 每个过程。 参考文献 [1] 王伟雄. 浅谈三层体系结构应用系统. 价值工程, 2010, 23. [2] 胡杰 . 浅谈如何建立三层体系结构的 ASP.NET 应用程序 [J] . 青岛职业技术学院学报, 2005, 04. [3] 王蕙 . 基于 Browser/Server 的三层体系结构简介 . http:// www.nbwater.com/nbgs_read.asp?A001=411, 2009. 的主界面如图 6所示。 当点击图 6 软件上按钮“称量”,计算机将向天平发送 “打印(从天平取称量值)”,程序代码如下所示: Private Sub Command1_Click () MSComm1.OutBufferCount = 0 '发送缓冲清零 MSComm1.Output = Chr (27) '发送 ESC+P+CR+LF,接收数据 MSComm1.Output = Chr (80) MSComm1.Output = Chr (13) MSComm1.Output = Chr (10) End Sub 5.2 主控制程序 Private Sub MSComm1_OnComm () Dim sTemp As String Dim sReceive As String '天平传送的数据保存在 sReceive字符串中 MSComm1.InputLen = 1 Select Case MSComm1.CommEvent Case comEvReceive '接收 22位数据,如图二的表所示 sTemp = MSComm1.Input If sTemp = " +" Or sTemp = " -" Or sTemp = " " Then '判断是否为天平传送首字节 Do While sTemp <> Chr (13) '接收数据,判断是否为 LF sReceive = sReceive & sTemp sTemp = MSComm1.Input Loop End If Case comRxParity '接收错误 MsgBox " 警告: 通 信 格 式 错 ! " '设置错误则给出警告! End Select MSComm1.InBufferCount = 0 '接收缓冲区清零 End Sub 5.3 需要注意的地方 (1) 进行软件编写前需要对 MSComm控件初始化设置: MSComm Settings: 1200,O,7,1(波特率 1200,采用奇 校验 O,7个停止位,1个数据位) (2) 在系统开发过程中, 如不需使用串口时, 应及时关 闭串口,释放系统资源。否则可能会影响系统的其他应用。 (3) 需采用符合天平线序的链接线,如图 2连接电脑与 天平。 (4) 不同型号的赛多利斯天平控制代码略有不同,具体 请参考产品说明 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 。 6 结语 通过一个实例编写了一个基于 RS232协议的串行通信通 信软件,利用 VB6.0 结合串行通信的方式实现了电脑与电子 天平(型号:BS210S) 的通信及数据处理问题。VB 作为一种 成熟的开发平台,可以提供良好的人机界面和面向对象的设 计方法。串行通信作为一种技术成熟、方便可靠的通信方 式, 不失为一种有效的通信手段。程序功能丰富,可以实现 多种方式称量、按需存储、根据用户需求将数据转化成密度 或方差等形式输出等功能。该软件采用了模块化的控制方式, 可扩展性强,非常适合与实验室与工业自动化相关的领域, 可以方便地为用户开发功能强大、实时性强的串口通信程序。 参考文献 [1] Data interface descriptions for GD, GE and TE models, Sartorius AG, 2004. [2] Description of the interface for EA, EB, GD, GE and TE balances/scales, Sartorius AG, 2004. [3] Microsoft公司. Microsoft Visual Basic 6.0 控件参考手册 [Z] . 北京希望电子出版社,2003. [4] 范逸之,陈立元. Visual Basic 与 RS—232 串行通信控制 [M] . 北京:清华大学出版社,2002. [5] 高峰霞,廖彬山. Visual Basic 6.0 中文版提高与应用. 电 子工业出版社,1999. [6] 贺建民,闵锐. 基于 Visual Basic 6.0 多线程的串行通信程 序设计 [J] . 计算机工程与应用,2002, 38 (14): 171-172. 图 6 串行通信应用程序界面 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (上接第 104 页) 网络与通信NETWORK AND COMMUNICATION 107- -
本文档为【基于VB的电子秤通信实例[1]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_444484
暂无简介~
格式:pdf
大小:187KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2012-08-28
浏览量:30