LabVIEW Time Sensitive Networking (TSN)

Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.
Highlighted
Solved! Go to solution

Setting of the application of IE4000 from NI products

I have a question about Configure Stream End Point.vi (TSN community Tools>>TSN Monitor>>Configure TSN>>Configure Stream End Point.vi).

 

When cRIO streams frames based on Qbv schedule of IE4000,

I think the application of IE4000 calculates start times of communication and streaming, and bring it to the firsLaunchTime of the stream property.

 

Is there any methods to change the start time of communication cycles in the application of IE4000 from NI products?

0 Kudos
Message 1 of 4
(292 Views)
3 REPLIES
Solution
Accepted by topic author T.Miki
12-07-2018 01:17 AM

Re: Setting of the application of IE4000 from NI products

The IE4000 does not have a concept of t0 for an individual stream.  It only has a cycle time and offset.  The global offset for the cycle (when did the first cycle start) is PTP time 0.  In other words if you have a cycle time of 2 ms it will calculate the start of the next cycle based on the the next 2 ms interval starting from PTP time 0 (which is 1970). 

 

On the cRIO you can set-up a coordinated global t0 which may be needed for a measurement or streaming application.  This would need to be done using an out-of-band communication.  However for control applications this is normally not needed.  Instead it is often more reliable to have a state machine that checks for communication with needed nodes before entering into a running state.  This also provides a mechanism to exit the running state or go to a safe state if there is a communication failure. 

Message 2 of 4
(285 Views)

Re: Setting of the application of IE4000 from NI products

Thank you for your reply. While it is very helpful for us I still have some questions related to the topic.

 

1)

Is it correct that the switch settings in CNC and cRIO settings, such as period and cycle time, must match when we use IE4000. Does the setting which must be shared include offset for both devices?

 

2)

Is there any application or sample programs by which cRIO and IE 4000 automatically share Qbv schedule?

 

3)

Is there any application or sample programs by which IE 4000 can send initial time of communication cycle time to cRIO application?

 

4)

When cRIO adjusts initial time of communication cycles with Qbv schedule, does the cRIO calculate and use neighborhood time around PTP time 0 of IE 4000?

0 Kudos
Message 3 of 4
(265 Views)
Solution
Accepted by topic author T.Miki
12-09-2018 11:00 PM

Re: Setting of the application of IE4000 from NI products

1)  Is it correct that the switch settings in CNC and cRIO settings, such as period and cycle time, must match when we use IE4000. Does the setting which must be shared include offset for both devices?

Yes, the period must match.  Also the VLAN settings and DMAC of the stream.  The offset (what offset in each period to TX) should match and that will give optimal performance.  If you transmit outside the window (TX at the wrong time) the switch will store the packet for an additional cycle and send the following cycle. In the future, switch configuration could police this action and discard the packet if it is sent at the wrong time but I don't think this is implemented by Cisco today. 

 

2)

Is there any application or sample programs by which cRIO and IE 4000 automatically share Qbv schedule?

 

The intention long-term is that the full network set-up can be automated and there is a CUC and a CNC.  However the APIs to talk automatically to a CNC are not yet standardized.  Instead today the Cisco CNC is designed to be use interactively (it has a GUI) and really is a mix of a CNC and a CUC. 

  • It can either automatically discover the network and end-nodes or this can be manually configured.  
  • You manually set-up the communication flows and then calculate a schedule. 
  • It can then pass the schedule to the Cisco switches and the results of the schedule creation then need to be manually programmed into the NI end-node. 

This works well for small to medium systems that do not change very frequently.  There are Cisco specific APIs and we have done joint proof of concepts and examples to automate the parameter set-up.  (We have done similar work with Belden who showed automated network set-up of cRIO devices and their switches at the SPS show this year).  We have never shared those externally, partly because they need cleanup and more testing but mostly because the APIs will change as the industry standardizes on an API.

 

3) Is there any application or sample programs by which IE 4000 can send initial time of communication cycle time to cRIO application?

There is no concept of initial time in the IE4000 or the Cisco CNC.  Only a cycle and offset within the cycle. 

 

4)When cRIO adjusts initial time of communication cycles with Qbv schedule, does the cRIO calculate and use neighborhood time around PTP time 0 of IE 4000?

All devices on the network use the PTP time to determine communication cycle time and offsets.  In theory you base the cycle start off the PTP time 0.  However in practice we typically are selecting a time that is divisible into 1 second (an integer number of Hz/kHz) so you can use any second boundary as the cycle start.   

 

 

Message 4 of 4
(232 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.