Motion can be directed in a variety of ways. Programs can run directly on the controller itself. Motion can also be directed from a PC or PLC. Consider the following methods in light of your system objectives. All of these methods
support directing motion, manipulating IO, sharing various types of data between a host and the controller, and managing resident tasks that have been placed in the controller. In order to provide the most relevant information with the least amount of clutter there is a seperate
manual for each product and method-of-use combination.
Snap2Motion
Snap2Motion is used to describe controller-resident programs using a combination of block graphical programming and text oriented programming.
Many applications can be directed by the controller itself and have no need of host PC or PLC.
Programs written in Snap2Motion are compiled and run in the native object code of the controller's processor.
This makes application programs extremely fast operating at command rates of several Mhz. Even if a PC or PLC is used to direct the controller it is likely
that Snap2Motion will still be used to delegate to the controller those time-critical tasks that cannot be effectively handled by the host. Snap2Motion has a block programming manual for ease of use as well as a more advanced text programming manual.
ASCII Commands
This method uses 3 letter commands to direct the controller. Ascii Commands can be sent by a host computer or manually from a terminal emulator acting as a host for convient testing and problem isolation.
This is a reactive interpreter with a Hash Table architecture implemented as a Snap2Motion application. This interpreter can be
extended with new commands or tailored to meet application specific requirements. Ascii commands can be sent over RS232, RS485, or TCP/IP.
Binary Commands
This method uses small and efficient binary data packets to perform controller operations. This protocol can support multiple controllers over one communication channel using either node or resource
based addressing. Self-addressing ring topologies and node-addressed multidrop topologies are supported based on the communication method chosen. This method employs a Windows DLL. The controller-side is implemented as a Snap2Motion application this can be modified
to meet application specific needs.
Serial Commands
For operating systems other than Windows where serial communication is desired this method explains the low-level packet details necessary to direct the controller.
Modbus Slave
The popular Modbus protocol can be used to direct the controller through a mapping named "Modbus Motion Interface" (MMI). Modbus register operations direct the controller and report status usually with a single transaction. Modbus Slave protocols over RS232, RS485 and TCP/IP
are supported allowing the controller to be directed through third party Modbus libraries available on a variety of operating systems and languages.
MotionLib32
This method permits a host PC to compile and download programs into the controller. Beyond resident programs that are saved as part of the project development, MotionLib32 allows a host PC to write a program, place it in the controller, and direct it for both maximum flexibility
and maximum performance. This is a more advanced method best used when both flexibility and performance are required. This is the back end cross-compiler used by Snap2Motion.
External Signals
In some cases a master device, such as a PLC, may want to convey motion intent with electrical signals. Such signals could be step/dir signals that the controller is intended to follow or could be signals requesting a certain resident behavior be performed. This category contains
various ways external signals can influence the controller.
Custom Application
Requirements such as non-reactive protocols, tagged concurrent commands, and protocol impersonation for system integration convenience can be built as application programs to meet project specific needs.