From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
06-16-2008 03:11 AM
06-16-2008 07:21 AM
06-16-2008 07:55 AM
06-16-2008 08:14 AM
09-09-2014 09:46 AM
DFGray:
Hi I am attempting to import a datafile generated with Modelsim in VCD format to the NI HWS format. Once it is converted to HWS we cannot see exactly how the data is arranged in the binary ... I tried opening up the HWS file with the freeware HDFView:
http://www.hdfgroup.org/products/java/release/download.html
and I can view the data vectors and properties now ... but it isn't clear what the meaning is of each section is. Is there timing information stored? Does any of this info control sampling trigger settings in the PXI card? We are using a 6555 DIO card with a PXI chassis.
Thanks.
Ed
09-09-2014 04:21 PM
NI-HWS can contain all sorts of timing and triggering information - or none - depending upon how it is written. It is unclear from your post how you are getting from VCD to HWS, so what the file contains could be highly variable. Can you give me more details of exactly how you are doing the conversion and what types of data you are converting?
09-09-2014 04:44 PM
Sure, thanks for responding. We are using the NI Digital Waveform Editor tool that can import a VCD file that is created by Modelsim.
09-10-2014 07:44 AM
I would expect the NI-HWS file to contain the timing info needed to run the DIO board. NI-HWS supports all features of the digital waveform editor, so if you can see it in the editor, it should be in the NI-HWS file. Digital waveforms are the most complex of the waveform types stored by NI-HWS due to their many options, so the file formatting is not simple. If you have a specific item(s) you need to verify in the file, I can tell you where to find it. Unfortunately, the NI-HWS spec was never put into a publishable form, so I cannot post it.
Note that if you are using the NI-HWS file to drive your 6555 directly, the timing information is not used by default. If you are using niHSDIO Write Named Waveform VI, set the Use rate from waveform (no:F) input to TRUE to use the file timing info.
09-10-2014 10:11 AM
Well by opening up the HWS file with HDFView, it contains the below structure. In the axis0 properties (time axis) there is a field called increment that is the sampling rate I used (5 nanoseconds). But I do NOT see any additional info in terms of triggering modes or delays, etc.
wfm_group0
axes
axis0
axis1
data_vector
data (here is our data, I verified it is correct)
id
traces
trace0 (we don't care about this, I think)
vectors
vector0
data (not sure what the difference is between this and axis1
wfm_group0 (1576, 2)
Group size = 4
Number of attributes = 5
major_version = 2
minor_version = 0
release_version = 6
type = NI-Waveform
writer = NI-HWS
axis0 (7424, 2)
Group size = 0
Number of attributes = 5
implicit? = 1
increment = 5.0E-9
numDigits = 57
ref_time = 0
start = 0.0
09-11-2014 08:12 AM
NI-HWS is arranged in a flexible format that minimizes data copies. This is done by grouping data into three categories - vectors, axes, and traces (id is simply that, an identifier for the waveform group). Starting with the low level, your actual data is in the vectors (vector0 in your case). Axes are the X and Y data (axes) of a data set. In your case, axis0 will contain the timing and triggering (the X axis) while axis1 will contain the Y data (the digital waveform). Axes can be implicit (formula based) or explicit (data based). Usually, the X axis is implicit and the Y axis is explicit. Implicit axes contain the information needed to generate their data as an array of coefficients to an equation. There are around twenty equations supported (to support the digital and analog waveform editors), but your axis0 is almost certainly a simply polynomial with two coefficients (a line). Axes are combined together in the traces. You have a single trace0 which should point back to axis0 and axis1. This is done to allow multiple use of axes, such as the X data from a multi-trace oscilloscope.
This is all information from a very old memory. If you need something more specific, let me know and I will dig up the spec so I can get it to you.