I have an RMC75e with AA2 and AP2 modules. We use a custom LabVIEW application for technicians to control motion of two actuators, often using curves.
Is there a way for me to read the curve names currently loaded in the controller from within LabVIEW? I can see the curve names in RMCTools, but our rank and file technicians do not access RMCTools, they use a very stripped down function set within Labview.
If it is possible, I would also very much like to download the curve data for a given curve currently loaded in the controller, too. We use the Excel spreadsheet to upload large curves to the controller, but I cannot see any ability to download curve data externally.
Thanks.
Unfortunately, there is no way to read the curve names from the RMC, nor is it possible to directly read curves from the RMC. The assumption is that the controlling device (e.g. PLC or LabVIEW) has prior knowledge about the curves in the RMC and has that info available. In practice, we understand that it would be helpful sometimes to read the info from the RMC, especially if there are multiple other controlling devices, such as Excel and LabVIEW, but at this time, it isn’t possible.
That said, I have in user programs implemented limited methods to read curve values, but it’s rather clunky and only works for curves where the X intervals are known ahead of time, as it’s impossible to read the X intervals from the RMC. Only the first and last X values of the curve can be read. The user program method involves making an expression to read a certain number of Y values of a curve, placing them in the variable table, waiting for the external device to read it, and repeat.
-Jacob
Jacob, thank you for the rapid and complete reply, it’s greatly appreciated. I’m sure our use case is not typical. Reading the curve name would have made some things much easier, but we can work around it now that I know it’s not possible.
I appreciate the offer on reading the Y values through a user program. I’d prefer to avoid clunky on this application. We’ll deal with verification on the front end consistent with your assumption.
FYI, in our application, we have a “super user” who loads curves into the controller. Mostly we’re dealing with earthquake motions, and the desired target motions change from experiment to experiment. A normal user then selects curves to run through a LabVIEW interface when running the experiment. We’ve found the RMCTools interface to be a bit too much for our daily technicians to use, so we strip down available commands using LabVIEW. It would be helpful to programmatically control the LabVIEW interface to match the current set of curves in the controller.
-Dan
Dan,
This ranks in the clunky category, too, but to help program the LabVIEW interface to match the current set of curves in the controller, you could make a user program that uses the CRV_EXISTS function to check which of a set of pre-defined curves numbers exist in the RMC. For example, if you have possible curve numbers from 0-199, you could define 7 DWORD variables in the Variable Table, where each bit in a DWORD corresponds to one of the curves. The user program would have one step that checks the existence of each curve, populating the bits accordingly. Then, LabVIEW could read those variable and know which ones exist.
-Jacob