TD-Scan LabVIEW API是否支持双向边沿检测



主要软件: Driver Software>>NI-HSDIO
主要软件版本: N/A
主要软件修正版本: N/A
次要软件: N/A

问题: 当我使用TSSI TD-Scan LabVIEW API,我试着将我的数据检测从上升沿改到下降沿或者基于上升沿的延时,但似乎无法工作。同样我可以改变输入和输出的检测,但同样不工作。为什么会这样?

解答:

TSSI API需要XML来支持边沿的检测并有与之相关的标签,但是TD-Scan只支持每个信号一个检测。相应的API无法识别TD-Scan输出的标识符,所以默认边沿检测被静态设置为上升沿。因为只有一个检测标签,所以只可以应用在输入或者输出,而无法同时。这是个已知的情况,有相关的解决办法。

为了使用双向的边沿检测,需要修改XML文件识别符以及每个信号的声明。使用16ChanOutput_hws.xml范例作为模板,此文件包含在附件的白皮书的.zip文件中。

DOCTYPE识别符更改前:

<!ELEMENT signal (channelnumber,direction,position,datadelay,state+)>
 <!ATTLIST signal name CDATA #REQUIRED>
 <!ELEMENT channelnumber (#PCDATA)>
 <!ELEMENT direction (#PCDATA)>
 <!ELEMENT position (#PCDATA)>
 <!ELEMENT datadelay (#PCDATA)>
 <!ELEMENT state (#PCDATA)>


更改后:
<!ELEMENT signal (channelnumber,direction,inputposition*,outputposition*,datadelay*,state+)>
 <!ATTLIST signal name CDATA #REQUIRED>
 <!ELEMENT channelnumber (#PCDATA)>
 <!ELEMENT direction (#PCDATA)>
 <!ELEMENT inputposition (position,datadelay*)>
 <!ELEMENT outputposition (position,datadelay*)>
  <!ELEMENT position (#PCDATA)>
 <!ELEMENT datadelay (#PCDATA)>
 <!ELEMENT state (#PCDATA)>

为了避免架构错误。

双向的信号应该如下:
<signal name = "sdb_pad">
 <channelnumber>5</channelnumber>
 <direction>bidir</direction>
 <inputposition>
  <position>delay</position>
  <datadelay>0.1</datadelay>
 </inputposition>
 <outputposition>
  <position>delay</position>
  <datadelay>0.2</datadelay>
 </outputposition>
 <state>1</state>
 <state>0</state>
</signal>

基本的思路是在<outputposition> (或inputposition)标签中包含<position> 和 <datadelay>元素来支持双向信号。如果没有<outputposition>标签,所有信号默认设为上升沿。



相关链接: White Paper: Using TD-Scan with National Instruments High-Speed Digital Devices
Video: Import WGL/STIL files with the TSSI TD-Scan for National Instruments

附件:





报告日期: 03/05/2014
最近更新: 01/03/2015
文档编号: 6J4FT2M3