组态王驱动
今天简单的总结下组态王驱动的添加和编写,主要是对整个驱动的流程做一个梳理,为具体的编写做个引导。
驱动的添加步骤:
1.将Debug里生成的dll文件复制到DRIVER里面
2.添加submit里的注册表项
3.添加设备:将Device Manage Tool里的devman.exe打开,新建设备,设备名称要和驱动名称一样,ID号为Readme.txt里的MBCS,描述不能为空,将生成的DevLst.Dat复制到组态王安装文件夹下,并运行DevLstUpdate.exe
4.打开组态王,新建工程,新建设备,新建变量(IO离散类型),建画面(离散输入(指从外设输入到组态王))
驱动的编写:
1.首先新建一个基于组态驱动的工程(VS2003),把设备类Dev……中的static DEVICE_INFO gsDeviceInfo[]=中的_T(……)写成文件名。
2.在static REG_INFO gsRegInfo[]=里添加寄存器的名字,地址,类型等,其次在下面的#define中添加宏定义,方便以后的调用。
3.总体顺序是这样的:
首先调用processPacket2,其中调用函数GetSendString,将要发送的数据打包,然后调用CopyMemory(m_bySndBuf,StrSend.GetBuffer(StrSend.GetLength()
),StrSend.GetLength())函数,将要发送的数据放到缓冲区。
其次调用Transmission函数,不用修改,主要作用是处理发送的过程。
然后调用PreProcessData,对接收到的数据进行处理,其中,接收数据调用CopyMemory(StrRecBuf.GetBufferSetLength(nExpectedLen),m_byR ecBuf,nExpectedLen);。