客户端使用VB控件mscomm32.ocx实现自动读取串口电子称称重数据功能
?
客户端使用VB控件mscomm32.ocx实现自动读取串口电子称称重数据功能
?
?
1.查看各不同型号电子称的数据读取格式
如:
型号1,849: ? ?0.000 kg
型号2,kgUT NW + ?14.838
?
读取【kgUT NW + ?14.838】数据格式后,利用JS解析出【14.838】显示在控件上。提交给后台应用.
?
2.设置电子称自动传输数据到所监听的串口应用中。各不同型号电子称设置方式不一样,需按供应商提供的说明书设置。
3.页面加入mscomm32.ocx组件
?
<html> <head> <title>JavaScript MSCOMM32.OCX </title> <script type="text/javascript" >function trim(text){text = text.replace(/^[ |\n|\r|\t|\x0B|\0|?]+/,""); text = text.replace(/[ |\n|\r|\t|\x0B|\0|?]+$/,"");return text;}function isEmpty(str){return ((trim(str) == null)||(trim(str).length == 0));}function isNumber(str){ if(isEmpty(str)) return false; return !isNaN(str) ;}</script><SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>function MSComm1_OnComm() { var len=0; if(MSComm1.CommEvent==1) { window.alert("barcode"); } else if(MSComm1.CommEvent==2) {var value = MSComm1.Input;value = value.replace("kg","");value = trim(value);if(isNumber(value)){document.form1.txtReceive.value=value; } } }function OpenPort() { if(MSComm1.PortOpen==false) { MSComm1.PortOpen=true; MSComm1.Output="#";} else { window.alert("已经开始接收数据!"); } } function autoPort() { if(!MSComm1.PortOpen) { MSComm1.PortOpen=true; //MSComm1.Output="AA 00 03 88 18 0A 99 BB";} } </SCRIPT> <SCRIPT LANGUAGE=javascript FOR=MSComm1 EVENT=OnComm >MSComm1_OnComm();</SCRIPT> </head> <body onload="autoPort();"><OBJECT CLASSID=clsid:648A5600-2C6E-101B-82B6-000000000014 id=MSComm1 name=MSComm1 codebase=mscomm32.ocx type="application/x-oleobject" style="border-style:outset; border-width:0px; WIDTH: 10px; HEIGHT: 10px" > <PARAM NAME="CommPort" VALUE="1"> <PARAM NAME="DTREnable" VALUE="1"> <PARAM NAME="Handshaking" VALUE="0"> <PARAM NAME="InBufferSize" VALUE="1024"> <PARAM NAME="InputLen" VALUE="0"><PARAM NAME="NullDiscard" VALUE="0"> <PARAM NAME="OutBufferSize" VALUE="512"> <PARAM NAME="ParityReplace" VALUE="?"> <PARAM NAME="RThreshold" VALUE="1"> <PARAM NAME="RTSEnable" VALUE="1"> <PARAM NAME="SThreshold" VALUE="2"> <PARAM NAME="EOFEnable" VALUE="0"> <PARAM NAME="InputMode" VALUE="0"> <PARAM NAME="DataBits" VALUE="8"> <PARAM NAME="StopBits" VALUE="1"> <PARAM NAME="BaudRate" VALUE="9600"> <PARAM NAME="Settings" VALUE="9600,N,8,1"> </OBJECT> <form name="form1"> <input type="button" name="Submit" value="commit" onClick="OpenPort()"> <input type="text" name="txtReceive" size=50 value=""> </form> </body> </html>??
?
?
客户端电脑配置
1.运行register.cmd注册mscomm32.ocx至system32下。
2.如使用register.cmd未注册成功,则手工注册,将mscomm32.ocx用C:\Windows\System32\regsvr32.exe运行
3.检查注册表是否有打过安全补丁,如有删除此注册表信息
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{648A5600-2C6E-101B-82B6-000000000014}]
?
?
所有用的配置文件在附件【电子称接口】中,有一个test.html测试页面。
?
1 楼 xiaoliu52013 2012-04-23 请问您这个程序是适用于所有串口电子称吗?