Back to top

Attached is a sample program showing basic UDP communications between two KAS PxMM controllers. The concepts here can easily be applied to communicating between a PxMM controller and a PC or other non-Kollmorgen product.

The KAS UDP functions udpSendTo and udpRcvFrom are used to send and receive characters between PxMMs.


A KVB project can easily be created from within the KAS IDE software.  Following are the step-by-step instructions.  KVB (Kollmorgen Visualization Builder) is the software used for developing HMI screens and programs for the AKI series HMI panels.  Variables in the KAS program can be linked to tags in KVB using Modbus addresses, but this is all handled quite simply by the KAS IDE.  The term “tag” in KVB refers to a variable.  These tags can be linked directly to objects, such as an analog numeric field, so as to view or edit the value of the tag.  Tags can also

The attached KAS project contains a Registration example used on a real machine. It is a two axis program that uses PLCopen motion functions. It will not work with the simulator because the MC_TouchProbe function block uses the position capture engine of an AKD drive to provide a latched position. No variables need to be mapped to onboard I/O and everything can be run from the built in Control Panel. For offline reference there is a write-up inside of the KAS project included as comments in the ProgramDescription program.

A user found that when passing  structure to a sub-program (UDFB) that the data is shifted within the structure. All values are shifted down by one variable. This is an  IDE display (animation) issue.  The actual underlying data is correct.   The problem only occurs with the first Retain variable.  The immediate work around is to either create a dummy variable as the first Retain variable or if the first Retain variable is a structure, don’t pass it to a UDFB.

The PCMM (Programmable Controller Multi-Axis Master) is a PDMM (Programmable Drive Multi-Axis Master) without an internally integrated AKD drive.  It shares the same electronic hardware, connectors, and signals as the PDMM.  It has the same features, functionality, and performance as the PDMM without the integrated servo drive hardware.  The PCMM form factor is smaller than the PDMM.

The attached demo project shows how to control a servo axis with a KAS controller in Velocity Mode instead fo the default Position Mode.

When Auto start is enabled and PDMM is power cycled, some systems experience E33 error. On restarting the application this error goes away. On further investigation, we found that this error is occurring due to the different boot delays involved with the AKDs and the PDMM. The AKD boot up time depends on the type of feedback and the other configurations of the drive.  When this delay is long enough, if the PDMM boots up and acquires the IP address, it tries to initialize the network. But since the AKD is still booting up, it cannot respond to the PDMM commands.

The attached is a sample.kas project and video showing the PDMM running a 2 axis T-bot mechanism. The T-bot control algorithm was created by adding additional virtual axes to the project and using them in a master/slave configuration to get the T-Bot to move orthogonal,  with X and Z axis motions. The motion in this program moves the T-Bot's X axis, then Z axis, then X axis, then Z Axis  in a repeating rectangular fashion.

Enclosed is a 4 Axis flying knife example using the PLCopen Motion Engine in KAS

The following are guidelines when determining how many AKT-ECT-000-000  Ethercat Coupler modules are required in a KAS application using Remote I/O. Please note that the AKD-PDMM controller/drive, AKD and S700 drives, and PCMM stand alone controller all contain I/O that could be used in an application.Typically these are used first before using Remote I/O to minimize overall system cost.

The remote IO configuration for each AKT coupler (AKT-ECT-000-000 ) must not exceed any of the following limits: