博达数字传感器软件开发接口
在纯软件数字秤称重方案中,称重软件工作时,计算机需要和数字传感器通讯,获取传感器内码。因此,要用到数字传感器通讯协议。一般情况下,传感器厂家出于安全、防作弊考虑,不对外公开协议。为了方便用户开发称重软件 (本文仅针对博达公司的数字传感器的称重软件),博达公司提供了专用的通讯函数库(ScalePort.dll)。用户在开发软件时,可以通过调用库中的函数,获取数字传感器的内码。使用此函数库时,不需要其他的通讯控件。
软件工作原理图如下所示:
ScalePort.dll 有两种功能:
①从仪表串口读取重量
②从数字传感器读取内码
为了区分仪表和数字传感器,将 RS485- 232转换器获取内码的方式命名为“boast”在 VB6 中调用和调用 Win32 API 类似,源码如下:
①Private Declare Function OpenScalePort Lib“ScalePort.dll” (ByVal ComPort As String, ByValseting As String, ByVal fangshi As String) As Long' 打开称重串口 , 参数 : 串口号 , 通讯参数,“start”
②Private Declare Function CloseScalePort Lib“ScalePort.dll” () As Long' 关闭称重串口
③Private Declare Function LoadCellReadDataLib “ScalePort.dll” (ByVal LoadCellType AsString, ByVal LoadCellNumber As Long, ByValntime As Long) As String
' 数 字 传 感 器 连 续 读 内 码 指 令 ( 参 数 1:“boast”;参数 2:传感器数目;参数 3:单只传感器读写周期(毫秒为单位))
Private Sub Command1_Click()' 打开按钮
If OpenScalePort(Combo2.Text, Text1.Text, Com-bo3.Text)= 1 Then ' 打开串口,①
If Combo1.Text=“boast” Then
Timer1.Enabled=True' 读传感器
End If
Command1.Enabled=False
Else
MsgBox “ 串 口 打 开 不 成 功 !”, vbInforma-tion+vbOKOnly, “提示”
End If
End Sub
Private Sub Command2_Click()' 关闭按钮
Timer1.Enabled=False
e=CloseScalePort' 关闭串口②
Command1.Enabled=True
End Sub
Private Sub Form_Unload(Cancel As Integer)
e=CloseScalePort' 关闭串口②
End Sub
' 通过 485~232 转换器,读数字传感器内码,用户不用担心效率问题,在调用 OpenScalePort ' 函数时,ScalePort.dll 已经在后台创建了独立的串口采集线程,将传感内码存储到内存中
Private Sub Timer1_Timer()' 使用定时器,从内存中读内码。
DoEvents
相关文章
- 2023-10-27光电跟踪测量系统中调光机构的设计
- 2024-01-26常压储罐声发射及漏磁检测技术
- 2023-12-21基于SolidWorks的深孔件冷挤压工艺设计
- 2024-09-17一种索支撑柔性结构轨迹跟踪控制方法
- 2023-12-26基于EdgeCAM的数控加工技术在模具加工中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。