Option Explicit Private m_intComUsing As Integer '打开的串口号 Private m_blnConnectStatus As Boolean '与串口通讯状态 Private blnBusy As Boolean '串口忙碌的标记,若忙,不接收其他的指令 Private strReceiver As String '从串口接收的字符 Private strSender As String '给串口发送的字符 Private blnReadComFinish As Boolean '判断从串口回来的字符是否已经完全读取完毕 Private intComMode As Integer 'mscomm控件中Oncom事件中处理字符的模式'仪器参数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private intGratingDeskNO As Integer '光栅台台号 Private m_lngSpecTotalSteps As Long '光谱台转动一圈,步进电机走动的总步数Private m_strSpecNo As String '光谱仪的编号 Private m_intSpecGratingCounts As Integer '光谱仪可安装的光栅数'光栅参数 Private dblGratingEmendationParameter(2) As Double '光栅的校正系数 Private lngGratingZeroPos(2) As Long '光栅的零级位置 Private m_intGratingLineCounts(2) As Integer '光栅的刻线数 Private m_lngGratingBlazeWaveL(2) As Double '光栅的闪耀波长 Private m_blnGratingStatus(2) As Boolean '安装的光栅状态,false表示没有安装,True表示已安装 '开机定位位置以及切换位置 Private m_intSpecStartAnchor As Integer '开机的定位方式,1代表指定位置,0代表上次关机的位置 Private lngGratingChangePos(2) As Long '光栅的切换位置 Private m_dblGratingChangeWaveL(2) As Double '光栅的切换波长 Private lngSpecStartPos As Long '开机定位位置 Private m_strSpecStartWaveL As String '开机的定位波长,形式:1,234.46'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''滤光片轮参数------------------------------------------------------------------- Private m_intFilterStatus As Integer '滤光片轮的状态,2代表未设置,0代表关闭,1代表开启 Private lngFilterTotalSteps As Long '滤光片轮的总步数 Private lngFilterAnchorPos(8) As Long '各个滤光片的定位位置 'Private lngFilterTopPos(2, 7) As Long '各个滤光片在每块光栅的工作上限位置 'Private m_dblFilterTopWaveL(2, 7) As Double '各个滤光片在每块光栅的工作上限波长 Private lngFilterTopPos(8) As Long '各个滤光片在每块光栅的工作上限位置 Private m_dblFilterTopWaveL(8) As Double '各个滤光片在每块光栅的工作上限波长 Private m_intFilterCounts As Integer '滤光片轮可安装的滤光片的数目 Private m_intFilterCurrentCounts As Integer '当前实际使用的滤光片数目 Private m_intFirstFilterAnchor As Integer '第一块滤光片的定位位置 '--------------------------------------------------------------------------------- '数据采集系统参数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private m_intDASStatus As Integer '0表示联接失败,1表示联接成功,2表示未设置参数 Private m_intIntegrationCounts As Integer '积分次数1-32 Private m_lngSamplingDelayTime As Long '采样延时时间1-65535,数值当量是微秒 Private m_intLineFilter As Integer '工频抑制方式,0代表关闭,1代表60HZ,2代表50HZ Private m_intInputMode(1) As Integer '输入通道A和B的输入模式,等于0代表电压输入,等于1代表电流输入 Private m_intSamplingInputChannel As Integer '0代表采样通道A,1代表采样通道B,2代表先采样通道A,再采样通道B,同理3。 Private m_dblOutChannelVoltage(1) As Double '直流输出通道I和II的输出电压 Private m_intChannelGain(1) As Integer '通道的增益值'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''反射镜参数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private m_lngMirrorPos '反射镜当前位置 Private m_intMirrorStatus '反射镜当前状态 0:零出口 ,1:1出口 ,2:不在0或者1出口 Private m_lngMirrorAnchor '反射镜1出口定位位置 Private m_dblMirrorSwitchWL '反射镜自动切换波长 '运行参数-------------------------------------------------------------------- Private m_intRunSpeed As Integer '波长走动的速度,0-255 Private lngCurrentPos As Long '当前的位置步数 Private m_dblCurrentWaveL As Double '当前的波长位置 Private m_intCurrentGrating As Integer '------------------------------------------------------------------------------ '其他参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'Private m_intSpecExitSlit As Integer '单色仪的出缝选择,1代表正面出射,2代表侧面出射 Private blnCanntStopRun As Boolean '某些情况,比如切换光栅、重新定位时,不能有停止命令 Private strArray() As String '从strReceiver里用split方法分离出的字符存在这个数组中 Private m_strEdition As String Private Allowfilter As Boolean'********************************************************************************************** '********************************************************************************************** '********************************************************************************************** '缺省属性值: Const m_def_ID = 0 'Const m_def_ID = "0" '属性变量: Dim m_ID As Long 'Dim m_ID As String
无非就是声明一大串模块级变量罢了Private m_intComUsing As Integer '打开的串口号 Private m_blnConnectStatus As Boolean '与串口通讯状态 Private blnBusy As Boolean '串口忙碌的标记,若忙,不接收其他的指令 Private strReceiver As String '从串口接收的字符 Private strSender As String '给串口发送的字符 Private blnReadComFinish As Boolean '判断从串口回来的字符是否已经完全读取完毕 Private intComMode As Integer 'mscomm控件中Oncom事件中处理字符的模式 ...int m_intComUsing; BOOL m_blnConnectStatus; BOOL blnBusy; LPSTR strReceiver; LPSTR strSender; BOOL blnReadComFinish; int intComMode; ...
Private m_intComUsing As Integer '打开的串口号
Private m_blnConnectStatus As Boolean '与串口通讯状态
Private blnBusy As Boolean '串口忙碌的标记,若忙,不接收其他的指令
Private strReceiver As String '从串口接收的字符
Private strSender As String '给串口发送的字符
Private blnReadComFinish As Boolean '判断从串口回来的字符是否已经完全读取完毕
Private intComMode As Integer 'mscomm控件中Oncom事件中处理字符的模式'仪器参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private intGratingDeskNO As Integer '光栅台台号
Private m_lngSpecTotalSteps As Long '光谱台转动一圈,步进电机走动的总步数Private m_strSpecNo As String '光谱仪的编号
Private m_intSpecGratingCounts As Integer '光谱仪可安装的光栅数'光栅参数
Private dblGratingEmendationParameter(2) As Double '光栅的校正系数
Private lngGratingZeroPos(2) As Long '光栅的零级位置
Private m_intGratingLineCounts(2) As Integer '光栅的刻线数
Private m_lngGratingBlazeWaveL(2) As Double '光栅的闪耀波长
Private m_blnGratingStatus(2) As Boolean '安装的光栅状态,false表示没有安装,True表示已安装
'开机定位位置以及切换位置
Private m_intSpecStartAnchor As Integer '开机的定位方式,1代表指定位置,0代表上次关机的位置
Private lngGratingChangePos(2) As Long '光栅的切换位置
Private m_dblGratingChangeWaveL(2) As Double '光栅的切换波长
Private lngSpecStartPos As Long '开机定位位置
Private m_strSpecStartWaveL As String '开机的定位波长,形式:1,234.46'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''滤光片轮参数-------------------------------------------------------------------
Private m_intFilterStatus As Integer '滤光片轮的状态,2代表未设置,0代表关闭,1代表开启
Private lngFilterTotalSteps As Long '滤光片轮的总步数
Private lngFilterAnchorPos(8) As Long '各个滤光片的定位位置
'Private lngFilterTopPos(2, 7) As Long '各个滤光片在每块光栅的工作上限位置
'Private m_dblFilterTopWaveL(2, 7) As Double '各个滤光片在每块光栅的工作上限波长
Private lngFilterTopPos(8) As Long '各个滤光片在每块光栅的工作上限位置
Private m_dblFilterTopWaveL(8) As Double '各个滤光片在每块光栅的工作上限波长
Private m_intFilterCounts As Integer '滤光片轮可安装的滤光片的数目
Private m_intFilterCurrentCounts As Integer '当前实际使用的滤光片数目
Private m_intFirstFilterAnchor As Integer '第一块滤光片的定位位置
'---------------------------------------------------------------------------------
'数据采集系统参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private m_intDASStatus As Integer '0表示联接失败,1表示联接成功,2表示未设置参数
Private m_intIntegrationCounts As Integer '积分次数1-32
Private m_lngSamplingDelayTime As Long '采样延时时间1-65535,数值当量是微秒
Private m_intLineFilter As Integer '工频抑制方式,0代表关闭,1代表60HZ,2代表50HZ
Private m_intInputMode(1) As Integer '输入通道A和B的输入模式,等于0代表电压输入,等于1代表电流输入
Private m_intSamplingInputChannel As Integer '0代表采样通道A,1代表采样通道B,2代表先采样通道A,再采样通道B,同理3。
Private m_dblOutChannelVoltage(1) As Double '直流输出通道I和II的输出电压
Private m_intChannelGain(1) As Integer '通道的增益值'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''反射镜参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private m_lngMirrorPos '反射镜当前位置
Private m_intMirrorStatus '反射镜当前状态 0:零出口 ,1:1出口 ,2:不在0或者1出口
Private m_lngMirrorAnchor '反射镜1出口定位位置
Private m_dblMirrorSwitchWL '反射镜自动切换波长
'运行参数--------------------------------------------------------------------
Private m_intRunSpeed As Integer '波长走动的速度,0-255
Private lngCurrentPos As Long '当前的位置步数
Private m_dblCurrentWaveL As Double '当前的波长位置
Private m_intCurrentGrating As Integer
'------------------------------------------------------------------------------
'其他参数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Private m_intSpecExitSlit As Integer '单色仪的出缝选择,1代表正面出射,2代表侧面出射
Private blnCanntStopRun As Boolean '某些情况,比如切换光栅、重新定位时,不能有停止命令
Private strArray() As String '从strReceiver里用split方法分离出的字符存在这个数组中
Private m_strEdition As String
Private Allowfilter As Boolean'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************
'缺省属性值:
Const m_def_ID = 0
'Const m_def_ID = "0"
'属性变量:
Dim m_ID As Long
'Dim m_ID As String
Private m_blnConnectStatus As Boolean '与串口通讯状态
Private blnBusy As Boolean '串口忙碌的标记,若忙,不接收其他的指令
Private strReceiver As String '从串口接收的字符
Private strSender As String '给串口发送的字符
Private blnReadComFinish As Boolean '判断从串口回来的字符是否已经完全读取完毕
Private intComMode As Integer 'mscomm控件中Oncom事件中处理字符的模式
...int m_intComUsing;
BOOL m_blnConnectStatus;
BOOL blnBusy;
LPSTR strReceiver;
LPSTR strSender;
BOOL blnReadComFinish;
int intComMode;
...
真理掌握在你手里了。