The Control object memory methods are an exception. Using
the ControlMemory methods, an application may access all memory
on the motion controller at any time, without constraint.
The ControlMemory methods are not thread-safe.
Memory methods for the other objects are generally implemented
by locking the section of memory associated with the object,
and then calling a ControlMemory method.
It is possible to write a motion application using only
a Control object. After creating and initializing the Control
object, the address of motion controller memory can be obtained,
and you can use the ControlMemoryGet/Set methods to access
that memory.
Depending on the type of Control object created, an application
can directly access the motion controller memory without using
the ControlMemoryGet/Set methods. Such an application would
bypass the rest of the MPI library and must implement its
own thread safety, as well as deal with how the motion controller
firmware operates.
|