涂小琴,商伟,吴晟
(1.云南师范大学文理学院,昆明 650222;2.昆明理工大学,昆明 650222)
电子天平在珠宝检测系统中的应用研究
涂小琴1,商伟1,吴晟2
(1.云南师范大学文理学院,昆明650222;2.昆明理工大学,昆明650222)
借助MSComm控件,利用.NET平台,实现在珠宝检测系统中自动读取电子天平上的数据。重点介绍如何将电子天平与计算机串口进行连接,实现基于Web的串口通信,给出具体的应用,系统投入使用后,珠宝检测工作效率提高30%。
串口通信;MSComm;电子天平;珠宝检测系统;MIS系统
在珠宝质量检测系统中,例如,黄金首饰的重量是我们要采集的一个指标之一,那么如何来自动的得到相应的检测物品的质量呢?为了减少在秤重时,人工输入天平上的数据带来的错误,以及人工工作效率低等问题时,我们引入了电子天平,那么,电子天平是不是连上计算机就可以通过我们自己开发的珠宝质量检测软件来读取呢?非也,本文阐述了通过设计相应的串口驱动程序,来实现计算机与外部数据源的通信的过程。并提出了利用MSComm控件来实现串口通信。
1.1MSComm控件简介
MSComm是Microsoft Communications Control的简称,是一个ActiveX控件,可以通过该控件来收发电子设备上的数据,例如,电子天平。MSComm有两种方法来处理设备与计算机的通信,事件驱动法(Event driven)与查询法。
1.2常用的MSComm控件属性
为了掌握MSComm控件的使用方法,首先必须熟悉该控件的一些关键且常用的属性,这些属性如下:
可以通过对以上关键属性的设置来实现设备与计算机之间的传输和接收数据,在使用MSComm控件时需注意,每个控件只对应一个串口。
目前,B/S模式是信息管理系统开发的一种主要模式,在B/S模式软件体系结构中串口通信的解决方式有以下两种。
2.1单纯解决服务器端通信
(1)使用.NET Framework2.0提供的类库——Serialport类
有局限性:该方法只能解决服务器端串口通信的问题,不能解决客户端串口通信。
要解决客户端的串口通信一定要调用ActiveX控件,而在SerialPort类不提供调用ActiveX控件的功能。在B/S模式下,服务器端存储的是后台代码,而Ac-tiveX控件只能在前台HTML中调用,不能在后台中调用。所以SerialPort类只能解决服务器端的串口通信,而不能解决客户端的串口通信。
(2)使用MSComm控件
能够解决客户端与服务器端的串口通信,实现的方法,分为以下几种:
使用 ActiveX控件,借助第三方;② 使用Java Script脚本实现。
(3)MSComm控件与SerialPort类的比较
两者都具有串口通信的功能,都是通过调用API实现串口通信。MSComm控件端口属性返回的是short类型,而SerialPort端口属性返回值的类型是string;在MSComm属性中最大支持的端口数为16个,而Serial-Port突破了该限制。MSComm可以解决服务器端、客户端与其他外源数据的串口通信,而SerialPort只能解决服务器端与源数据的串口通信。
2.2解决客户端本地串口驱动
实现的步骤:以JavaScript示例:①进行MSComm的注册;②调用MSComm控件;③编写串口驱动程序;④获取数据;⑤写入浏览器;⑥传送至服务器。总体流程见图1。
图1 MSComm与外部数据通信流程图
串口通信的关键是串口通信设备的初始化、数据的发送和接收及其实现方式。以.NET开发的Web应用系统中读取电子天平数据的为例,详细步骤如下:
将MSComm32.ocx控件复制到windows/system32根 目 录 下 ; ②运 行 regsvr32 C:WINDOWSsystem32MSCOMM32.OCX进行MSComm控件的注册,写入注册表;③将Interop.MSCommLib.dll组件加载到.NET平台中;④在Web应用程序中添加接收端;⑤编写串口通信程序,调用MSComm控件。⑥循环读取电子天平的数据。
调用过程的总体流程图如图2所示:
图2
实现的主要步骤及部份源代码如下:
第一步:串口初始化。主要初始化以下2个属性:①CommPort,②Settings。如:<param NAME="Settings" VALUE="9600,N,8,1">可分别设定。由于是在B/S模式下的Web应用系统,前台串口初始化的原码如下:
根据以上的几步,成功实现了电子天平与计算机的通信,在珠宝检测系统中,检测人员只需将要称重的珠宝放入天平,天平的数据将在5秒内读入计算机,读入后检测人员只需点击“顺延获取”按钮,不需要再做任何计算机上的操作,只需在电子天平中放入另一件要称重的珠宝,数据又会自动的读取到下一组记录中。下面给出具体实现界面。如图3所示:
图3 计算机自动获取电子天平数据
据统计,自该系统开发完成,投入运行后,自动读取电子天平上的数据一项就将整个工作效率提高了30%。
MSComm控件封装了串行通信的API函数,屏蔽了通信过程中的底层操作。适用于Windows的各种操作平台,并且.NET开发的串口通信更具设备无关性。用户对串口的控制相对更容易,并可大大加快开发周期,增加系统的可靠性。在本文的电子天平数据读取中,系统利用MSComm控件很好地实现了对电子天平数据的读取。
[1]聂晶,周正.net下的串口能信及其应用[J].计算机时代,2005 07:27-28
[2]马天才,程全,樊宇.MSComm控件下单片机与计算机串口通信的实现[J].天中学刊,2008,4:60-61
[3]王定远,胡吉朝.基于MSComm32和LabVIEW的串口通信技术[J].国外电子测量技术,2006,4:61:64
[4]胡春燕.基于VC的串口通信的实现[J].福建电脑[J],2005,10:150-151
[5]陈克明,王春平.利用MSComm实现串口通信[J].萍乡高等专科学校学报2006,6 40-42
[6]徐义吉.VC中利用ActiveX控件开发串口通信软件[J].论文之窗,2008,7:46-49.
[7]涂小琴.面向珠宝检测领域软件体系结构的研究与设计[D].昆明理工大学,2011.
Research on the Application of Electronic Balance in Jewelry Detection System
TU Xiao-qin1,SHANG Wei1,WU Sheng2
(1.College of Arts and Sciences,Yunnan Normal University,Kunming 650222;2.Kunming University of Science and Technology,Kunming 650222)
Uses MSComm control in.NET platform,realizes automatically read the electronic balance's data in the jewelry detection system.Describes how to realize connecting to the electronic balance and computer serial port,achieves to serial port communication.Gives case that electronic balance and computer communication,when the jewelry detection system puts into use,jewelry testing efficiency can increase by 30%.
Serial Communication;MSComm;Electronic Balance;Jewelry Detection System;MIS System
1007-1423(2016)27-0077-04DOI:10.3969/j.issn.1007-1423.2016.27.077
涂小琴(1981-),女,江西九江人,硕士,研究方向为计算机软件与理论
2016-06-14
2016-09-16