是德科技
直播中

刘琨

7年用户 200经验值
私信 关注
[问答]

HP编写器驱动程序工具HPWDT是否仍然可用?

似乎面板驱动程序现在已被删除,但对于我的大多数旧HP GPIB仪器,没有IVI驱动程序,只有面板驱动程序。
HP编写器驱动程序工具(HPWDT)是否仍然可用?
是否有关于面板驱动程序文件使用的语言语法的文档?我认为旧的面板驱动程序文件将是一个很好的起点,为我的旧的,否则不支持的惠普仪器制作新的驱动程序。
但这需要一些驱动程序文件语法知识。使用文本编辑器读取驱动程序文件,显示有两个部分:COMPONENTS:用于存储/发送/读取用于设置设备操作状态值的常量/字符串.PANELS:UI
用于控制和显示的框,图形和按钮搜索威廉希尔官方网站 板,之前有一些相关的线程,但没有指向文档或硬信息的链接。感谢任何帮助.tim Hughes

以上来自于谷歌翻译


     以下为原文

  It seems panel drivers are now depricated, but for most of my old HP GPIB instruments,  there are no IVI drivers, only panel drivers.

Is the HP writer driver tool (  HPWDT) still available?
Is there any documentation on the syntax of the language used for the panel driver files?

I was thinking that the old panel driver files would be an excellent starting point, for making new drivers for my old, otherwise unsupported, HP instruments. But this requires some knowledge of the driver file syntax.

Reading the driver files with a text editor, shows there are two parts:  
COMPONENTS :  for storing/sending/reading the constants/strings used to set up device operating state values.
PANELS :      UI boxes ,graphics and buttons for control and display

Searching the board, there were a few related threads previously, but no links to docs or hard information.

Thanks for any help.

Tim Hughes  

回帖(1)

刘琨

2019-3-29 10:44:33
感谢迈克尔,我可能会尝试按照您的建议编写一些有限的用户功能请求。与此同时,我进行了更多搜索并研究了面板驱动程序的语法。虽然我有大多数旧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!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分