第一节 整理仪器属性和用户界面函数
为了确保仪器的可互换性,国际IVI协会为仪器驱动程序的开发制定了一系列的标准。其中一个重要部分就是制定了标准的通用仪器属性和通用高层接口函数。针对信号发生器部分的文件是《IviFgen Class Specification》。
《IviFgen Class Specification》文件包含了信号发生器的最常用功能,绝大多数的信号发生器都支持这些功能。但每台仪器实现这些功能的方法可能是不同的;仪器与计算机之间的通讯方式和指令也存在较大差别。
驱动程序中,基本上每条属性(Attribute)对应一条仪器设置命令。在开始工作前,要熟悉仪器的命令体系和IVI通用属性(Classic Attribute)及用户界面函数(Classic Function)的定义。
首先,要满足文件《IviFgen Class Specification》 中定义的属性和界面函数。
第二节 使用仪器驱动程序开发向导创建驱动程序文件:
一、 打开LabWindows/CVI的主工作窗口,在“Tools”菜单下选取“Create IVI Instrument Driver”,开始进入驱动程序开发向导。
二、 在“Select an Instrument Driver”对话框中,选取下列驱动程序的信息:
1〉 新建一个驱动程序(Create a new driver)。
2〉 接口总线类型为:GPIB。
3〉 仪器类型为信号发生器(Function Generator)。
按下“Next”键,进行下一步。
三、 在“General Information”对话框中,填写以下信息:
1> 仪器的名称:“TOKOGAWA FG300 Function Generator”;
2> 仪器前缀名:“FG300”;
3> 作者姓名及公司等;
4> 程序放在何目录下。
按下Next键,进行下一步。
四、 在“General Command Strings” 对话框中填写以下信息:
1〉 填写默认的设置命令,FG300可以不需要默认的设置命令。
2〉 列出仪器的通道数,FG300共有两个通道。
按下Next键,进行下一步。
五、 在“Stand Operation”对话框中选择仪器支持的基本操作。
六、 在“ID Query”对话框中填入仪器用来询问ID号的命令,以及希望得到的返回值。
七、 在“Reset”对话框中填入仪器用来进行重设置的命令。
八、 在“Self Test”对话框中填入以下内容:
1〉 在自检命令控制栏中填入自检命令:“*RST?”;
2〉 FG300的自检返回信息中只有状态码;
3〉 选择“%hd”通用符作为格式化模式。
九、 在“Error Query”对话框中填入以下信息:
1〉 FG300的错误查询命令为:“:STAT:ERR?”;
2〉 FG300的错误查询返回值中即包括错误代码,也包含错误信息。
3〉 选择通配符“%ld,\”%256[”\”]”作为格式化模式。
十、 在“Revision”对话框中填入FG300的版本询问命令:“*IDN?”;并选用通配符“%x[^,],%x[^,],%x[^,],%256[^\n]”作为返回信息的格式化模式。
十一、 “Test”对话框:
如果这台仪器已经连在计算机上,你可以在建立驱动程序前,先测试一下你在前面几个对话框中输入的命令是否正确。
1〉 填入仪器的GPIB地址;
2〉 填入仪器的复位时间和自检时间。
3〉 按下Run Tests键,CVI开始检查仪器。
十二、 按下Next键,CVI就会按前面输入的信息生成该仪器驱动程序的程序框架。
第三节 编辑仪器的属性:
当用“仪器驱动程序开发向导”生成了驱动程序的框架后,可以直接装入属性编辑器,也可以在将来的任何时候,通过选择Tools菜单中的Edit Instrument Attributes项来调出属性编辑器编辑仪器属性。
一、 确定仪器属性:
选定你要编辑的属性,按Edit键,或按下Add Attribute添加新的属性,就会进入“Edit Attribute”对话框。在此对话框内,需要填写或修改以下内容:
1〉 属性的名称;
2〉 属性的描述性名称;
3〉 属性的数据类型;
4〉 属性的取值范围表;
5〉 属性的默认值;
6〉 属性需要达到的精度;
7〉 该实行的简要说明;
8〉 属性的一些特殊标志;
9〉 该属性与其它属性或函数之间的关系。
二、 编写或修改属性的Callback函数。
一个仪器的属性可能会用到六个Callback函数。通常,每个Callback函数的作用如下:
1〉 Read Callback函数,用来读取仪器当前的设置值或数据信息,该函数一般由几个询问仪器设置或数据的命令组成。
2〉 Write Callback函数,用来设置仪器的值或把数据传递给仪器,该函数常由一组设置命令组成。
3〉 Compare Callback函数,用来比较属性的值是否改变。
4〉 Range Check Callback函数,察看属性取值范围表,检查赋给属性的值是否在允许的范围内。
5〉 Coerce Callback函数,把赋给属性的值,按规律转换值一定的范围内。
6〉 Range Table Callback函数,用来为仪器的当前状态选择一个合适的取值范围表。
在“Edit Driver Attribute”对话框中,选择要编辑的函数,按下“Go To Callback Source”键,即可找到Callback函数的源代码进行编辑。
三、 删除无用的属性。
由开发向导生成的驱动程序中,有一些属性在FG300中用不到。在编写驱动程序的过程中,应该删除这些属性。
第四节 编辑高层函数。
1、编辑或创立一个高层函数。
用户在使用仪器时,为完成某一任务,通常需要一次设置一组相关的几个属性;而很少需要对某个单个的属性进行设置。因此,IVI驱动程序为用户提供了高层函数,以方便操作。一个高层函数常常由几个设置仪器属性的子函数组成。选择Tools菜单中的“Edit function tree”项,或打开“ykfgxx0.fp”函数面板文件,就会看到驱动程序的函数树列表。我们把函数树中的每一项作为一个结点,每一个结点都对应一个高层函数。修改一个已有的函数或创建一个新的函数可以按以下步骤进行:
1〉 用鼠标右键点击需要修改的结点,或选择Greate菜单中的“Function Panel Window”项创建一个新的结点,就会进入“Edit Node”对话框,此对话框用来编辑结点名及其对应的函数名。
2〉 编辑函数面板。为了方便用户了解和使用一个函数,CVI为每一个函数都设置了一个函数面板。面板中列出了函数的全部参数,并提供了函数及其参数的简要说明。我们同样需要为自己的函数设计一个函数面板,以方便驱动程序的用户。
3〉 如果选中的结点是新建的,先要用“Generate Source For Function Node”项为函数创建源代码。若源代码已经存在,可直接选择“Go To Definition”想找到函数源代码。
4〉 编写源代码。
第五节 建立驱动程序的文档。
1楼
0
0
回复
为了确保仪器的可互换性,国际IVI协会为仪器驱动程序的开发制定了一系列的标准。其中一个重要部分就是制定了标准的通用仪器属性和通用高层接口函数。针对信号发生器部分的文件是《IviFgen Class Specification》。
《IviFgen Class Specification》文件包含了信号发生器的最常用功能,绝大多数的信号发生器都支持这些功能。但每台仪器实现这些功能的方法可能是不同的;仪器与计算机之间的通讯方式和指令也存在较大差别。
驱动程序中,基本上每条属性(Attribute)对应一条仪器设置命令。在开始工作前,要熟悉仪器的命令体系和IVI通用属性(Classic Attribute)及用户界面函数(Classic Function)的定义。
首先,要满足文件《IviFgen Class Specification》 中定义的属性和界面函数。
第二节 使用仪器驱动程序开发向导创建驱动程序文件:
一、 打开LabWindows/CVI的主工作窗口,在“Tools”菜单下选取“Create IVI Instrument Driver”,开始进入驱动程序开发向导。
二、 在“Select an Instrument Driver”对话框中,选取下列驱动程序的信息:
1〉 新建一个驱动程序(Create a new driver)。
2〉 接口总线类型为:GPIB。
3〉 仪器类型为信号发生器(Function Generator)。
按下“Next”键,进行下一步。
三、 在“General Information”对话框中,填写以下信息:
1> 仪器的名称:“TOKOGAWA FG300 Function Generator”;
2> 仪器前缀名:“FG300”;
3> 作者姓名及公司等;
4> 程序放在何目录下。
按下Next键,进行下一步。
四、 在“General Command Strings” 对话框中填写以下信息:
1〉 填写默认的设置命令,FG300可以不需要默认的设置命令。
2〉 列出仪器的通道数,FG300共有两个通道。
按下Next键,进行下一步。
五、 在“Stand Operation”对话框中选择仪器支持的基本操作。
六、 在“ID Query”对话框中填入仪器用来询问ID号的命令,以及希望得到的返回值。
七、 在“Reset”对话框中填入仪器用来进行重设置的命令。
八、 在“Self Test”对话框中填入以下内容:
1〉 在自检命令控制栏中填入自检命令:“*RST?”;
2〉 FG300的自检返回信息中只有状态码;
3〉 选择“%hd”通用符作为格式化模式。
九、 在“Error Query”对话框中填入以下信息:
1〉 FG300的错误查询命令为:“:STAT:ERR?”;
2〉 FG300的错误查询返回值中即包括错误代码,也包含错误信息。
3〉 选择通配符“%ld,\”%256[”\”]”作为格式化模式。
十、 在“Revision”对话框中填入FG300的版本询问命令:“*IDN?”;并选用通配符“%x[^,],%x[^,],%x[^,],%256[^\n]”作为返回信息的格式化模式。
十一、 “Test”对话框:
如果这台仪器已经连在计算机上,你可以在建立驱动程序前,先测试一下你在前面几个对话框中输入的命令是否正确。
1〉 填入仪器的GPIB地址;
2〉 填入仪器的复位时间和自检时间。
3〉 按下Run Tests键,CVI开始检查仪器。
十二、 按下Next键,CVI就会按前面输入的信息生成该仪器驱动程序的程序框架。
第三节 编辑仪器的属性:
当用“仪器驱动程序开发向导”生成了驱动程序的框架后,可以直接装入属性编辑器,也可以在将来的任何时候,通过选择Tools菜单中的Edit Instrument Attributes项来调出属性编辑器编辑仪器属性。
一、 确定仪器属性:
选定你要编辑的属性,按Edit键,或按下Add Attribute添加新的属性,就会进入“Edit Attribute”对话框。在此对话框内,需要填写或修改以下内容:
1〉 属性的名称;
2〉 属性的描述性名称;
3〉 属性的数据类型;
4〉 属性的取值范围表;
5〉 属性的默认值;
6〉 属性需要达到的精度;
7〉 该实行的简要说明;
8〉 属性的一些特殊标志;
9〉 该属性与其它属性或函数之间的关系。
二、 编写或修改属性的Callback函数。
一个仪器的属性可能会用到六个Callback函数。通常,每个Callback函数的作用如下:
1〉 Read Callback函数,用来读取仪器当前的设置值或数据信息,该函数一般由几个询问仪器设置或数据的命令组成。
2〉 Write Callback函数,用来设置仪器的值或把数据传递给仪器,该函数常由一组设置命令组成。
3〉 Compare Callback函数,用来比较属性的值是否改变。
4〉 Range Check Callback函数,察看属性取值范围表,检查赋给属性的值是否在允许的范围内。
5〉 Coerce Callback函数,把赋给属性的值,按规律转换值一定的范围内。
6〉 Range Table Callback函数,用来为仪器的当前状态选择一个合适的取值范围表。
在“Edit Driver Attribute”对话框中,选择要编辑的函数,按下“Go To Callback Source”键,即可找到Callback函数的源代码进行编辑。
三、 删除无用的属性。
由开发向导生成的驱动程序中,有一些属性在FG300中用不到。在编写驱动程序的过程中,应该删除这些属性。
第四节 编辑高层函数。
1、编辑或创立一个高层函数。
用户在使用仪器时,为完成某一任务,通常需要一次设置一组相关的几个属性;而很少需要对某个单个的属性进行设置。因此,IVI驱动程序为用户提供了高层函数,以方便操作。一个高层函数常常由几个设置仪器属性的子函数组成。选择Tools菜单中的“Edit function tree”项,或打开“ykfgxx0.fp”函数面板文件,就会看到驱动程序的函数树列表。我们把函数树中的每一项作为一个结点,每一个结点都对应一个高层函数。修改一个已有的函数或创建一个新的函数可以按以下步骤进行:
1〉 用鼠标右键点击需要修改的结点,或选择Greate菜单中的“Function Panel Window”项创建一个新的结点,就会进入“Edit Node”对话框,此对话框用来编辑结点名及其对应的函数名。
2〉 编辑函数面板。为了方便用户了解和使用一个函数,CVI为每一个函数都设置了一个函数面板。面板中列出了函数的全部参数,并提供了函数及其参数的简要说明。我们同样需要为自己的函数设计一个函数面板,以方便驱动程序的用户。
3〉 如果选中的结点是新建的,先要用“Generate Source For Function Node”项为函数创建源代码。若源代码已经存在,可直接选择“Go To Definition”想找到函数源代码。
4〉 编写源代码。
第五节 建立驱动程序的文档。