Important Things to Know for MechaWare 04.00.01
The MechaWare 04.00 release contains several new features and improvements since the 03.02.xx series. This section provides a summary of the changes that were implemented for the 04.00 release.
Important Notes and Requirements
Note: MechaWare is not supported on XMP and eXMP-SynqNet controllers.
Installation Note: The MPI 4.0 library must be installed before installing MechaWare. For more information about instructions on installing the MPI Library, see Installing the Motion Development Kit (MDK).
WARNING! MechaWare 04.00 requires Microsoft Visual Studio 2005 with Service Pack 1. For more information, see System Requirements.
MechaWare 4.0 is built on top of the MPI 4.0 software library. Several MPI 4.0 key features apply to MechaWare 4.0. For more information about MPI 4.0 features, see Important Things To Know.
64-bit Trajectory Calculations
The trajectory calculator of the controller was upgraded to use 64-bit double data types from 32-bit float data types. This increased resolution provides the following benefits:
Note: If the trajectory parameter values are beyond +/- 52-bits, the MPI and controller double position data has precision loss in the least significant bits.
MPI and controller firmware was expanded in MPI 4.0 to support up to 64 axes (MS, Axis, Filter, and Motor objects). MechaWare was also upgraded to support up to 64 Model objects.
The memory allocation of the controller was changed from static to dynamic which allows scaling to fit the motion system. While dynamic memory allocation provides exact fit flexibility, it also requires initial planning for applications that need to support multiple network topologies or need to scale the object counts of the controller during operation. The control object count configuration now has two parts, dynamicMemAlloc and enabled. The dynamicMemAlloc count determines the memory allocated to the number of objects and enabled determines how many objects are processed by the controller.
During SynqNet network initialization, the memory of the controller is dynamically allocated and initialized with dynamicMemAlloc and enabled object counts (MS, Axis, Model, Motor, etc.) matching the discovered network topology. For example, if 2x nodes are discovered with 2x motors each, then the controller is automatically configured to allocate and enable 4 MS, Axis, Model, and Motor objects.
If your application uses the discovered object count, then no control object count configuration is necessary. If it is desired to decrease the number of controller objects, reduce the enabled count to reduce the processing load of the controller. To increase the number of controller objects, re-configure the dynamicMemAlloc and enabled object counts of the controller.
WARNING! Configuring the control dynamicMemAlloc object counts will clear the dynamic memory of the controller and any configurations previously written to the dynamic memory of the controller is lost.
Note: It is highly recommended to configure the control dynamicMemAlloc object counts first before configuring other objects.
For more information, see Addressing, MPIControlConfigDynamicMemAlloc, and MPIControlConfigEnabled.
Integrated Flash Interface
The MechaWare C++ API was simplified to reflect changes in the way the MPI 4.0 manages flash. The controller’s flash provides non-volatile storage for the controller’s executable code (firmware and FPGA) and configurations.
Note: The MechaWare C++ API no longer provides methods for saving specific objects to flash. Instead, user applications should use mpiControlFlashSaveAll(…). The mpiControlFlashSaveAll(…) copies entire contents of the dynamic memory configuration including MechaWare Models to flash. These Models are automatically restored from flash on reset.
For more information, see the diagram Saving/Clearing a SynqNet Topology and mpiControlFlashSaveAll.
Installation (Directories, Device Driver, and Environment Variables)
MechaWare 4.0 offers a variety of new blocks to allow users to design applications with inverse kinematics support. This release fills in the gaps in math blocks by adding the remaining inverse trigonometric functions. Combined with the Actual Position Output and Origin blocks, these provide the model designer everything they need to command moves and set limits in world coordinates rather than joint space. Several examples of these blocks are found in the Samples director located at C:\Program Files\MEI\MDK\04.00.01\MechaWare\Samples.
MechaWare 4.0 was designed alongside the new 4.0 version of the BodeTool, leading to better integration between those two utilities. The BodeTool can now recognize the differences between MechaWare firmware and non-MechaWare firmware, and displays the appropriate information accordingly. The BodeTool can also configure parameters for the PID, PIV, and BiQuad blocks in MechaWare firmware, as well as select which noise sources to be used for measurement. Additionally, the redesigned Torque Output block and new Demand block eliminates the need to add Noise blocks to your models.
|| | Copyright © 2001-2021 Motion Engineering|