Is it possible to simulate an input with RMP?
For example, I want to test some probing behavior. It would be nice if I could create an input that gets set high when an axis reaches a specific position (or is within a range of positions).
Is there any way to simulate an input (or hijack a real input) so that I can programmatically control its state?
We don’t have a way to override the data you get back from the network. (Only a way to override the data you’d send out on the network.) However, I’m sure we can come up with something that would work for testing.
Are you currently leveraging the UserBuffer? You could set this value when you want and monitor it with UserLimits (etc) for changes. You can use MotionController::AddressGet(RSIControllerAddressTypeUSER_BUFFER) to access it. It has 1024 (64 bit) entries if you need more than one.
Is there any documentation about the user buffer?
How do I get (host?) addresses of the the other 1023 buffers? Do I just use the overloaded
How can I get the value out of it (on the host side)?
Just the API documentation, we don’t have a topic. The AddressGet Function has an Overload which lets you specify the objectIndex 0 (Default) - 1023. AddressGet returns a host address. MemoryGet and MemorySet both use Host Addresses so no extra steps needed.