The VM3 utility allows you to view and alter data stored in memory on the RMP motion controller. When using VM3 to alter data on motion controllers, exercise extreme caution at all times: DANGER! Changes made to memory take effect immediately, including data designed for motion components such as motors and encoders. Verify that personnel are clear of the movement zone and equipment is safeguarded BEFORE making any changes to memory data. Always operate equipment with an emergency off switch (EMO) at the ready, especially when writing and testing new software configurations.
Board Data panel. XMP board configuration.
Commands panel. Data organized by command number.
Auto panel. Memory organized by object. Data is automatically displayed in most commonly used form, either hexadecimal or decimal.
Hex panel. Memory organized by object. All data is displayed in hexadecimal form.
Decimal panel. Memory organized by object. All data is displayed in decimal form.
Float panel. Memory organized by object. All data is displayed in floating decimal point form.
Recorder panel. (Not implemented in this version.)
Dump/Save panel. Dumps xmp memory to xmpdump.bin.
Within panels, various control keys permit you to move the cursor between lines of data, and between objects:
Moves forward-backward through data.
Ctrl + PgUp / PgDn
Moves to next class of object.
Moves to next instance within the object class.
Jumps to first memory address.
Jumps to last memory address.
Moves to beginning of RipTide Data.
Follows data pointer, pushing current location onto address stack.
Pops pointer from address stack, making it the current location.
The start-up panel contains data about the controller board, including software and hardware configuration.
Board Type -- RMP controller board installed. FPGA Prom Version -- FGPA (Field Programmable Gate Array) Version type on controller board. Undetermined -- Undetermined is standard value. Board Revision -- Unknown is standard value. Signature -- Only one signature is used: C0FFEE. This confirms that firmware has been successfully loaded onto the board. Any other signature--or a missing signature--indicates that the board lacks firmware and/or is malfunctioning. Maximum Axes -- Maximum number of axes configurable on the RMP controller. This is hardware-dependent, and ranges between 1 and 64 axes. Enabled Motors -- Number of Motors currently configured for the RMP controller. Enabled Filters -- Number of Filters currently configured for the RMP controller. Enabled Axes -- Number of Axes currently configured for the RMP controller. This number cannot exceed the Maximum Axes value. Enabled Motion Supervisors -- Number of Motion Supervisors currently configured for the RMP controller. Enabled Program Sequencers -- Number of Program Sequencers currently configured for the RMP controller. Software ID -- Firmware number. This is usually a three-digit number (e.g., 266, etc.). Revision -- Firmware revision number. Sub-Revision -- Firmware minor revision number. Developmental -- N/A. Option -- Optional number for custom firmware identifier. Timer -- Cumulative timer counts. To reset the motion controller and zero the timer, use the F9 key. Sample Period -- Samples per second. Default is 20 kHz (19999). Each tick is 50 nanoseconds. Command Buffer Address -- Location of command buffer. Map File -- Map file utilized in current configuration
Pressing the F2 key displays external memory (i.e. memory located in the RMP), organized by command number.
Pressing F3 displays memory data, arranged by object, with data values displayed in either hexadecimal, decimal, or float format. Objects with pointers have their data preceded by an asterisk. The choice of which data format to use is determined automatically, with data generally displayed in its most commonly used format.
Pressing F4 displays memory data, arranged by object, with data values displayed in hexadecimal format only.
Pressing F5 displays memory data, arranged by object, with data values displayed in decimal format only.
Pressing F6 displays memory data, arranged by object, with data values displayed in floating decimal format.
Pressing F8 dumps memory data to the file, "meimem.dmp" in the local directory. This file can be loaded later into VM3 for further inspection.
VM3 supports eight command line options: -delay, -load, -save.
-delay The -delay option determines how often the VM3 screen is refreshed. The default value is 10 milliseconds. Setting the delay to a smaller value will cause the screen to be updated more frequently. Setting the delay to 0 will update the screen as fast as possible, but will cause noticeable delay in other applications. Since most video monitors do not refresh more often than every 10 milliseconds, there is usually no advantage gained by lowering the delay. For example, the command: vm3 -delay 8 will cause the screen to refresh every 8 milliseconds -load The -load option causes VM3 to browse the firmware memory image from a file. Almost all controller memory is loaded, including FPGA registers and SynqNet buffers. This feature works in conjunction with the -save option. For example, the command: vm3 -load meiMem.dmp will load the previously saved "meiMem.dmp" file for viewing. -saveFileName The -save option specifies the name to be used for saving memory images when F8 is pressed. The -save option does not need to be specified to save memory images when F8 is pressed. The default is "whatever.dmp." For example, the command: vm3 -saveFileName whatever.dmp will save the memory images to the "whatever.dmp" file. Memory images will continue to be saved to this file when F8 is pressed for the remainder of the session.