Table of contents |

Using Multiple KFLOP/Kogna Boards

The KMotion Driver Library allows multiple PC processes (applications), each running multiple threads of execution, to communicate with multiple KFLOP/Kogna boards simultaneously. Each KFLOP/Kogna board is identified by a 32 bit integer.

A value of:

0 - Requests use of the first KFLOP or Kogna board that is discovered

< 0x00FFFFFF - indicates a USB Location ID of a KFLOP

0xFF000XXX - specifies to use a Kogna board discovered that has Serial Number XXX

Otherwise - specifies a static IP Address (big endian) where 0xC0A80A64 would correspond to 192.168.10.100

USB devices are arranged in a tree structure of hubs and nodes. Each hexadecimal digit of the USB location specifies a branch in the tree structure. For the purposes of the KMotion Driver Library, a USB location identifier may simply be considered a unique integer that will remain the same as long as the structure of the USB tree is not altered. Adding or removing USB devices will not change the location of a connected KMotion board.

Selecting the USB/IP Locations menu of the KMotion Setup and Tuning application, will display a list of all currently connected KMotion boards (KFLOPs and/or Kognas). The Checkmark indicates which board the application is currently communicating with. To switch to a different board, select the USB location from the list.

Multiple boards

 

To enter a IP Address manually select Manual IP and the entry form below will be shown.

 

When launching the KMotion Setup and Tuning application, a command line parameter may be specified to connect to a specific USB/IP location (see below on how to setup a shortcut to connect to a specific location). Multiple shortcuts may be setup to connect to individual boards. A hexadecimal value preceded with 0x may be specified or an IP Address can be specified with the -i option such as -i 192.168.10.100

Multiple boards Multiple boards

The KMotion Driver Library has a function to list the locations of all currently discovered KFLOP/Kogna boards. See:

int ListLocations(int *nlocations, int *list);

The reurned list will contain all the KFLOP and Kogna's discovered. Each KFLOP discovered will have one entry containing the USB Location ID where it is connected. Each Kogna discovered will have 2 entries. The first as the Ethernet IP Address. The second will contain the Kogna's Serial Number in the format 0xFF000XXX where XXX is the hexadecimal serial number.

PC Applications specify the Board ID as a parameter when creating a CKMotionDLL object to communicate with a board. For example:

CKMotionDLL *KM = new CKMotionDLL(ID);