感谢迈克尔,我可能会尝试按照您的建议编写一些有限的用户功能请求。与此同时,我进行了更多搜索并研究了面板驱动程序的语法。虽然我有大多数旧HP / Agilent仪器的用户手册
我拥有,这些不包括发送消息控制字符串的语法等。使用面板驱动程序作为编写一些函数的基础是有用的,因为它们充当请求字符串的示例以及解析返回需要做什么
信息等。为了帮助其他人需要了解旧的面板驱动程序代码,这里有一些指示,有用的文档等我发现了一些评论。
--------------------------------------------------
--------------------------- .id驱动程序文件是用Forth方言编写的。
因此,当他们对临时变量使用堆栈操作时,他们使用后缀表示法进行操作。这是Jay Nemeth Jones(前HP)的简短描述,我设法联系:>>>>驱动程序被分成称为组件的单个部分。
每个组件管理一个控件,并且通常与单个命令相关联。
输出和输入是直接调用仪器I / O.
组件也分为组件部分和面板部分。
组件部分管理仪器的状态,面板部分控制面板中显示的信息。面板驱动程序的一个有趣的事情是它们保持每个面板显示器的仪器状态,并将发送必要的命令
从执行过程中的一个面板表示到另一个面板表示。
因此,如果您更改了面板本身的范围或功能,驱动程序将记住这一点,并在执行进行到该面板时跟踪它,仅发送从先前状态到达那里所需的那些命令。
但是,还有一些方法可以覆盖它并为每个实例发送一个学习字符串。
您通常可以在微波和示波器仪器中找到学习字符串行为的示例,而电压表和简单仪器倾向于使用增量状态。>编译ID在您使用ID之前,您需要编译它。
每次从HP DWT菜单中选择“文件”/“另存为...”时,HP DWT都会自动执行此过程。
如果您在运行HP ITG时使用DWT,则DWT将询问您是否要将ID加载到HP ITG中。
如果您将DWT与HP VEE一起使用,则DWT将询问您是否要编译ID。
如果单击“是”,则会编译ID,如果ITG正在运行,则会将其加载到ITG中。
对于HP VEE,使用菜单上的IO / Instruments ...加载ID。如果要在HP DWT之外自行编译ID,请双击HP ITG或HP VEE程序组中的HP ID编译器图标。
然后输入ID文件的完整路径名,如C:/VEE_USER/HPDMM.ID。
然后,HP ID编译器将编译ID,在HP ITG或HP VEE的驱动程序目录中创建文件HPDMM.CID。>> HP Panel Driver Coding标准.ID Writer编码标准修订版0.02 0.02 1993年1月27日本文档的目的是
收集关于写入ID的最佳方式的民间传说,以确保平台之间的良好操作,平台的修订和ID本身的修订。
........希望这有助于其他人,他们正试图与他们过时的HP乐器进行交流!
以上来自于谷歌翻译
以下为原文
Thanks Michael, I may well try writing a few limited userfunction requests as you suggest.
In the meantime I did a bit more searching and looking into the syntax of the panel drivers.
Although I have user manuals for most of the old HP/Agilent instruments I own, these do not include syntax for sending message control strings etc.
Using the panel drivers as a basis for writing a few functions is useful, as they act as examples of what the request strings are and what needs to be done to parse returned information etc.
To help others needing to understand the old panel driver code, here are a few pointers,useful documents etc I found along with a few comments.
-----------------------------------------------------------------------------
The .id driver files are written in a dialect of Forth. So when they use stack operations for temporary variables, they use postfix notation for operations.
Here is a short description from Jay Nemeth Jones, (ex HP) who I managed to contact:
>>>>
Drivers were broken into individual pieces called components.
Each component managed a single control, and was often associated with a single command.
The outputs and enters were direct calls into instrument I/O.
Components were also broken into component section and panel section.
The component section managed the state of the instrument, and the panel section controlled the information displayed in the panel.
One interesting thing about the panel drivers was that they maintained the state of the instrument for each panel display and would send the commands necessary to get from one panel representation to another as execution progressed.
Thus, if you changed range or function on the panel itself, the driver would remember this and track it as execution progressed to that panel, sending only those commands necessary to get there from the previous state.
However, there were also methods to override this and send a learn string for every instance.
You can generally find examples of learn string behavior in the microwave and oscilloscope instruments, while the voltmeters and simple instruments tended to use incremental state.
>
Compiling the ID
Before you can use your ID, you need to compile it. HP DWT helps automate this process each time you choose File/Save As... from the HP DWT menu. If you are using the DWT with HP ITG running, then DWT will ask if you want to load the ID into HP ITG. If you are using the DWT with HP VEE, then DWT will ask if you want to compile the ID. If you click on Yes, the ID is compiled, and if ITG is running, it will be loaded into ITG. For HP VEE, load the ID using IO/Instruments... on the menu.
If you want to compile the ID yourself outside of HP DWT, double click on the HP ID Compiler icon in the program group of HP ITG or HP VEE. Then type in the full pathname of the ID file, like C:/VEE_USER/HPDMM.ID. The HP ID Compiler will then compile the ID, creating file HPDMM.CID in the drivers directory for HP ITG or HP VEE.
>>
HP Panel Driver Coding standards.
Coding Standards for ID Writers Revision 0.02 January 27, 1993
The purpose of this document is to collect the folklore which has been circulating concerning the best way of writing ids to ensure good operaton between platforms, revisions of platforms, and revisions of the ids themselves.
........
<<<
Hope this helps others, who are trying to communicate with their obsolete HP instruments!
感谢迈克尔,我可能会尝试按照您的建议编写一些有限的用户功能请求。与此同时,我进行了更多搜索并研究了面板驱动程序的语法。虽然我有大多数旧HP / Agilent仪器的用户手册
我拥有,这些不包括发送消息控制字符串的语法等。使用面板驱动程序作为编写一些函数的基础是有用的,因为它们充当请求字符串的示例以及解析返回需要做什么
信息等。为了帮助其他人需要了解旧的面板驱动程序代码,这里有一些指示,有用的文档等我发现了一些评论。
--------------------------------------------------
--------------------------- .id驱动程序文件是用Forth方言编写的。
因此,当他们对临时变量使用堆栈操作时,他们使用后缀表示法进行操作。这是Jay Nemeth Jones(前HP)的简短描述,我设法联系:>>>>驱动程序被分成称为组件的单个部分。
每个组件管理一个控件,并且通常与单个命令相关联。
输出和输入是直接调用仪器I / O.
组件也分为组件部分和面板部分。
组件部分管理仪器的状态,面板部分控制面板中显示的信息。面板驱动程序的一个有趣的事情是它们保持每个面板显示器的仪器状态,并将发送必要的命令
从执行过程中的一个面板表示到另一个面板表示。
因此,如果您更改了面板本身的范围或功能,驱动程序将记住这一点,并在执行进行到该面板时跟踪它,仅发送从先前状态到达那里所需的那些命令。
但是,还有一些方法可以覆盖它并为每个实例发送一个学习字符串。
您通常可以在微波和示波器仪器中找到学习字符串行为的示例,而电压表和简单仪器倾向于使用增量状态。>编译ID在您使用ID之前,您需要编译它。
每次从HP DWT菜单中选择“文件”/“另存为...”时,HP DWT都会自动执行此过程。
如果您在运行HP ITG时使用DWT,则DWT将询问您是否要将ID加载到HP ITG中。
如果您将DWT与HP VEE一起使用,则DWT将询问您是否要编译ID。
如果单击“是”,则会编译ID,如果ITG正在运行,则会将其加载到ITG中。
对于HP VEE,使用菜单上的IO / Instruments ...加载ID。如果要在HP DWT之外自行编译ID,请双击HP ITG或HP VEE程序组中的HP ID编译器图标。
然后输入ID文件的完整路径名,如C:/VEE_USER/HPDMM.ID。
然后,HP ID编译器将编译ID,在HP ITG或HP VEE的驱动程序目录中创建文件HPDMM.CID。>> HP Panel Driver Coding标准.ID Writer编码标准修订版0.02 0.02 1993年1月27日本文档的目的是
收集关于写入ID的最佳方式的民间传说,以确保平台之间的良好操作,平台的修订和ID本身的修订。
........希望这有助于其他人,他们正试图与他们过时的HP乐器进行交流!
以上来自于谷歌翻译
以下为原文
Thanks Michael, I may well try writing a few limited userfunction requests as you suggest.
In the meantime I did a bit more searching and looking into the syntax of the panel drivers.
Although I have user manuals for most of the old HP/Agilent instruments I own, these do not include syntax for sending message control strings etc.
Using the panel drivers as a basis for writing a few functions is useful, as they act as examples of what the request strings are and what needs to be done to parse returned information etc.
To help others needing to understand the old panel driver code, here are a few pointers,useful documents etc I found along with a few comments.
-----------------------------------------------------------------------------
The .id driver files are written in a dialect of Forth. So when they use stack operations for temporary variables, they use postfix notation for operations.
Here is a short description from Jay Nemeth Jones, (ex HP) who I managed to contact:
>>>>
Drivers were broken into individual pieces called components.
Each component managed a single control, and was often associated with a single command.
The outputs and enters were direct calls into instrument I/O.
Components were also broken into component section and panel section.
The component section managed the state of the instrument, and the panel section controlled the information displayed in the panel.
One interesting thing about the panel drivers was that they maintained the state of the instrument for each panel display and would send the commands necessary to get from one panel representation to another as execution progressed.
Thus, if you changed range or function on the panel itself, the driver would remember this and track it as execution progressed to that panel, sending only those commands necessary to get there from the previous state.
However, there were also methods to override this and send a learn string for every instance.
You can generally find examples of learn string behavior in the microwave and oscilloscope instruments, while the voltmeters and simple instruments tended to use incremental state.
>
Compiling the ID
Before you can use your ID, you need to compile it. HP DWT helps automate this process each time you choose File/Save As... from the HP DWT menu. If you are using the DWT with HP ITG running, then DWT will ask if you want to load the ID into HP ITG. If you are using the DWT with HP VEE, then DWT will ask if you want to compile the ID. If you click on Yes, the ID is compiled, and if ITG is running, it will be loaded into ITG. For HP VEE, load the ID using IO/Instruments... on the menu.
If you want to compile the ID yourself outside of HP DWT, double click on the HP ID Compiler icon in the program group of HP ITG or HP VEE. Then type in the full pathname of the ID file, like C:/VEE_USER/HPDMM.ID. The HP ID Compiler will then compile the ID, creating file HPDMM.CID in the drivers directory for HP ITG or HP VEE.
>>
HP Panel Driver Coding standards.
Coding Standards for ID Writers Revision 0.02 January 27, 1993
The purpose of this document is to collect the folklore which has been circulating concerning the best way of writing ids to ensure good operaton between platforms, revisions of platforms, and revisions of the ids themselves.
........
<<<
Hope this helps others, who are trying to communicate with their obsolete HP instruments!
举报