Just as we have UserLabelSet/Get for Axis and Multiaxis it would be a nice feature to also have it for IOPoints.
In our software we give all IOPoints a meaningful name/description (max 16 characters). When troubleshooting in RapidSetup it could be helpful if this name was displayed in place of the default “Input 0, 1, 2 … 16”.
It would be similar to how for axes the UserLabel is displayed in RapidSetup.
Excellent suggestion! One issue with IOPoint labels is that the IOPoint object resides entirely in software, none of it is stored in RMP memory (like Axis or MultiAxis).
Currently, we support IO labels in RapidSetup. If you edit the names of IO on the IO page for any given node, those names will be stored in a file (same folder as RapidSetup), such as Node_4_IO_Labels.xml.
RapidSetup will use this file naming convention to read and display your IO labels.
We’ll discuss internally the best possible way to implement IOPoint labels. My first thought is that we would move the existing IO label code from RapidSetup to RapidCode, so the IOPoint creation methods could retrieve the labels from the XML files as well. Would this work for you?
Absolutely that will work for us.
I’m all for this idea. We don’t expose RapidSetup to end-user use, but when there are problems, we frequently use it as a low-level test of functionality. It would be nice if I could name the I/O points so that they correspond with names in my application.
For now, the IOPoint objects are still not backed with RMP memory. FWIW, RapidSetup (as of 10.3.10) allows you to display all IO on one page and stores the labels in JSON in a file called “labels.networkio”
I agree this sounds like a great idea. We have an imperfect solution for what todd_mm is asking for, where we keep the node xml files as part of our build and then copy them to the RSI folder during startup, but it’s difficult to keep it updated for the variety of configurations we have. Being able to set the name programmatically would make life a lot simpler.