Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO Precision Time Protocol

 

Try e-mailing the swsync.beta@ni.com for further questions on the beta.

Aashish M
CEO
TransferFi
www.transferfi.com
0 Kudos
Message 11 of 19
(3,377 Views)

Answering the question about whether shared variable and IO variable timestamps will be synchronized to the system time...

 

The IO variable timestamps use the system time so they will be (in turn) synchronized to 1588.

For network-published shared variables (not IO variables), the timestamp of a value is determined when the value reaches the network variable engine.  The NVE also gets timestamps from the system time, but the timestamp will NOT be from when the value is written, it will be slightly later when the value is processed by the NVE.  If the variable is hosted on the same target that is writing the value, this delay will be fairly small.  If not, there will be several milliseconds for the value to propagate over the network. 

Hope this helps.

0 Kudos
Message 12 of 19
(3,321 Views)

My goal is to be able to log IO Variable data, coming from 6 cRIO's, into a common Citadel database.  There does not appear to be a way currently to

progagate the IO Variable timestamp into a NSV timestamp.   Is this a feature that will be forthcoming?  It seems that without such a mechanism the

Software Sync technology will be missing out on some rather large use cases.

0 Kudos
Message 13 of 19
(3,298 Views)

An IO Variable with network publishing enabled will maintain the timestamp from when the IO was acquired when it publishes the value across the network.  However, if you read the IO Variable locally and then write it to a separate network published shared variable for publishing on the network, the timestamp won't be maintained.  In this case, the timestamp corresponds to when the network variable engine received the point and not when the IO data was sampled.  If you're observing something different from this, you should post back so we can try to figure out what's going wrong.

 

As was mentioned earlier, the IO Variable bases its timestamp on the current system time.  Since 1588 synchronizes the system time of multiple RT controllers on the network, it should be possible to accomplish what you want.  You'll also have to incorporate a future time event into your application to start all of the applications on the controllers at the same time.  Without this, the applications on the different controllers won't be in phase.  They shouldn't drift, but they won't be in phase.

0 Kudos
Message 14 of 19
(3,286 Views)

In my application, I must intercept the IOV data for the purposes of custom scaling, filtering and zero offseting.  It would be very nice to be able to programmatically

set the NSV timestamp.  Could you tell me how this is accomplished internally with the IOV->NSV binding that you mentioned?

0 Kudos
Message 15 of 19
(3,284 Views)
The IO Variable is taking advantage of some internal APIs for communicating with the Network Variable Engine server process.  These APIs aren't publicly available.  The customer visible API always communicates with the client process and not the server process.  Your best bet at this point would be to define a cluster datatype for your network variables that includes the IO Variable datatype and the timestamp from the IO Variable.  You can then bundle the IO data and timestamp from IO Variable together before writing to the network variable and sending it across the network.  You could even choose to use a one point waveform datatype if you prefer that over a cluster.  Although this may be overkill since the dt value of the waveform datatype doesn't really serve a purpose if you're only sending one point of IO data.  If you take this approach, you should probably also disable the timestamps on the network variables as you're no longer utilizing that data, and leaving timestamps enabled utilizes more network bandwidth.
0 Kudos
Message 16 of 19
(3,256 Views)

FYI, it is now live. I'm looking forward to hearing everyone's thoughts.

 

IEEE-1588v2 Software Synchronization Beta

 

-Adam

0 Kudos
Message 17 of 19
(3,154 Views)

Does anyone know when the 1588v2 drivers for the PXI-6682 will be available?  Any recommendations on other 1588v2 master controllers that

will work with the PTP drivers on the cRIO?

0 Kudos
Message 18 of 19
(2,843 Views)
Have you seen the NI-Sync 3.1 Beta? It's on the web and we'll have another version in the coming weeks.
0 Kudos
Message 19 of 19
(2,833 Views)