05-25-2010
05:45 PM
- last edited on
06-26-2024
01:04 PM
by
Content Cleaner
This thread is dedicated to discussion and feedback around the tutorial Getting Started with CompactRIO - Remotely Monitoring I/O.
Please post any questions or comments here. |
12-05-2016 05:52 AM - edited 12-05-2016 05:54 AM
Hi,
Nice tutorial. I'm a quite a newbie here (to NI ecosystem) so I might be asking some silly questions, please forgive me for that.
Questions.
I/O variables are Network published & synced to Scan Engine (in this example)
Any Ideas or pointers very appreciated.
Cheers
T
12-05-2016 03:08 PM
Hey T,
PSP variables are Publish-Subscribe Protocol variables. When you make an I/O Variable (from the Scan Engine), by default it also gets a PSP variable by the same name. I/O Variables are available locally on the cRIO, and the corresponding PSP variable is published across the network. You can turn off the complementary PSP variable by editing the variable's properties, shown below. Notice the LabVIEW Project icon beside the variable loses a glyph when you turn off Network Publishing:
12-06-2016
04:02 AM
- last edited on
06-26-2024
01:37 PM
by
Content Cleaner
Wow many thanks.
And for other courius newbies like me what I found "enlightening" was:
https://www.ni.com/en/support/documentation/supplemental/06/using-the-labview-shared-variable.html
it is a starter then one can search ni.com for all the stack related info (many links so I'm not adding them here)
look @ performance as well - question might be if NI did anything new in 2016 LbView to net-published vars that might change the performance
https://www.ni.com/docs/en-US/bundle/labview/page/transferring-data-over-a-network.html
https://www.ni.com/docs/en-US/bundle/labview/page/data-communication-methods-in-labview.html
There is obvously much more but I do not want to spam with links - from these 3 one can go further
To answer my own questions (please correct me if I'm wrong):
I/O variables are Network published & synced to Scan Engine (in this example)
1. So are they published to network at the same rate?
- No, by default there is 8kB buffer with 10ms timeout
2.how does the net frame look like for this net-publishing?
- NI does NOT say, this is closed, please look at Datasocket related topics
3. Can I actually assume that messaging pattern is publish-subscribe?
- yes
4. does it run on top of TCP or UDP then?
- TCP
5. I assume Host Running LabView tries to automatically subscribe is that right?
- must deploy first, and proper network must exist (SVE up and running), then yes LabView magic makes it true
6. I assume an Embedded Controller with proper NI software can also subscribe to I/O Variables - like another cRIO controller so that a distributed system can be built?
- yes but SVE must exist on Windows machine
7. Is there a way to not to net publish I/O variables every time scan engine sync?
- yes, look a_clucker answer and also the example given in the topic getting started example [ https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x2HMCAY&l=en-US ]
8. Are I/O Variables available (by default) only via Ethernet Network?
- only Eth
9. Is there a way to restrict LabView related "inter-communication" to exactly 1 eth?
- play with NI-MAX
10. Can third party software capture I/O Variables? - how do others subscribe?
- No, must have is LabView, LabWindows / CVI Datasocket lib / API, or proper AciveX... to use in Excel (... yes that is true)
11. Can I assume it is Data Distribution Service [DDS] related ?
- No it is better not to assume that
Cheers
T