<< Click to Display Table of Contents > 

SAMLight Manual > Motion Control Settings > Other motion controller > Type 11 - Jena Ecostep100

Type 11 - Jena Ecostep100
Previous pageReturn to chapter overviewNext page

The ECOSTEP 100 motion controller series is supported directly. To enable it, please configure the drive type number 11 like it was described above.

For configuring the ECOSTEP controller interface, a configuration file sc_motion_jenaecostep100_settings.txt is required in the same location where the general motion settings file exists. The ECOSTEP configuration file can be used to specify different parameters like the COM port, the data rate, the initialization and others more. The file itself is a plain text file that contains different statements. Additionally there can be comments within the file that begin with a # sign directly at the beginning of a line. These comments are ignored completely. Following parameters, that have to start exactly at the beginning of a line, are supported for configuring the interface:

DisableHomingDuringStartUp=x: Specifies if the homing during startup should be disabled or not.

0: Homing during startup.

1: No Homing during startup.

 

PortName=xxx : Specifies to which port the ECOSTEP controller is connected to, here for "xxx" e.g. COM1 has to be set.

PortBaudRate=yyyy : Defines the data rate (in bps) the COM port has to work with, the default and only value that is used by ECOSTEP 100 controllers is 9600.

PortParity=y : This parameter changes the parity mode for the port. Here for y the following values are supported:

0 - No parity

1 - Odd parity

2 - Even parity

3 - Mark parity

4 - Space parity

PortRTS=y : Using this parameter the ready to send behaviour can be configured like it is necessary for some serial protocols. Here the following values are possible for y:

0 - disable RTS fully

1 - enable standard RTS mode

2 - enable RTS handshake mode

3 - enable RTS in control toggle mode

TimeOut=yy : This value specifies how long the interface shall retry to access the communication interface until it fails with a time out in case such an operation is not successful.

Debug=y : For special debugging purposes it is possible to log several information into a file sc_motion_jenaecostep100_debuglog.txt that will be created at the position where the settings file is located at. With the value 1 the debugging mode is turned on, when it is set to 0 debugging is disabled and no data are put into the log file.

note

There can be huge amounts of data that are logged into such a file so enable this option only if it is necessary. With (Debug=1) additional status request commands are send to the controller (and are reported in the log).

All these values are global ones and therefore they are valid for everything that is controlled by that motion controller. This is important for the multi-axes-mode where it is possible to handle up to five axes using this controller interface. Each of these axes can be configured in a different way. To do that, the axis statement that defines for which axis the following parameters are valid has to be used. In the worst case when three axes have to be used with completely different configurations all the following parameters have to exist five times, separated by the different calls of axis:

axis=y : Specifies for which axis the following configuration parameters are valid for. If this statement is not used somewhere in a configuration file it is assumed that the third axis is used. Else a value out of the allowed range 0..4 can be set here. The axis number is also used as address for the controller. It has to be configured with the same number so that the controller is able to access it.

mode=POSITION : The ECOSTEP motion controller supports two operational modes for an axis: ANGLE and POSITION that can be set using this statement. Depending on this mode values can be entered in degrees or mm (inch/bits) only. A mixture between angular and planar movements is not possible for the same axis. Depending on that mode some of the following settings are ignored.

llimit=yyy : This parameter defines the lower limit the motion controller can drive to with the specified axis (in unit increments). Independent from the values that are sent from the program, the controller will never be driven to a value that is smaller than the one set here. This value is used for the mode POSITION.

hlimit=yyy : This parameter defines the higher limit the motion controller can drive to using the current axis (in unit increments). Independent from the values that are sent from the program, the controller will never be driven to a value that is bigger than the one set here. So with llimit and hlimit a range can be defined where the motion controller is allowed to work within. This value is used for the mode POSITION.

sfactor=yyy : For the speed conversion from mm/sec to increments/sec or from degrees/sec to increments/sec the speed factor parameter sfactor is used. Here it has to be specified how many increments/sec are equal to a speed of one mm/sec or one degree/sec. The distinction between the unit mm/sec or degree/sec is made by the current operational mode, the first one is true for mode POSITION, the second for ANGLE.

hslimit=yyy : This parameter can be used to set a maximum speed in unit increments/second. If a speed value sent from the application is larger than the value yyy after conversion using the sfactor, the speed setting sent to the drive is limited to the value given with this parameter. The high speed limit parameter is used for both operation modes.

defspeed=yyy : Using this parameter only the behaviour of the user interface is influenced, but not the functionality of the drive. Here a default speed value yyy can be set in unit mm/second that is displayed within the scanner application by default.

incperrot=yyy : Comparing to the correction table that defines the conversion factors from increments to positions and back this value has to be used to define a factor that specifies the relation between the number of increments and the appropriate angle for an axis. With incperrot it has to be specified how many increments are equal to one complete rotation (360°). This value is used for the operation mode ANGLE.

DevnoEcoId=c : Device No. / ECO Id. represents the device id of the ECOSTEP host base station. Allowed values are: 1 .. 15.

dname=c : Sets the character this device has to be displayed with.

ival=sssss : These parameters can contain sequences of Jena ECOSTEP 100 commands as hex-numbers that perform operations on the drive during initialization. For a detailed description of these parameters please refer to the specifications of the controller.

note

The checksum and the deviceID do not have to be added to the command sequences. This is done automatically. An optional command identifier text (is logged in Debug mode), separated by a blank character, terminates the line.

E.g.:

# The following three commands enable the drive to move (may be axis specific).

# After the motion Controller default initialization no moving is possible

# due to end position monitoring.

ival=0x23 0x70 0x21 0x00 0x00 0x00 0x00 0x00 inputPolarityToDefault

ival=0x23 0x71 0x21 0x02 0x00 0x00 0x00 0x00 pLockConfiguration

ival=0x23 0x72 0x21 0x02 0x00 0x00 0x00 0x00 nLockConfiguration

hval=sssss : These parameters can contain sequences of Jena ECOSTEP 100 commands as hex-numbers that perform operations on the drive during a homing sequence. For a detailed description of these parameters please refer to the specifications of the controller.

note

The checksum and the deviceID do not have to be added to the command sequences. This is done automatically.

E.g.:

# homing to zero position (normal absolute positioning operation with default speed to zero position)

hval=0x23 0x81 0x60 0x00 0x00 0x7E 0x04 0x00 setSpeed

hval=0x23 0x7A 0x60 0x00 0x00 0x00 0x00 0x00 setPos

hval=0x23 0x60 0x60 0x00 0x01 0x00 0x00 0x00 modeAbsolutPositioning

hval=0x23 0x40 0x60 0x00 0x3F 0x00 0x00 0x00 executeRun

eval=sssss : These parameters can contain sequences of Jena EcoStep100 commands as hex-numbers that perform operations on the drive during a program exit. For a detailled description of these parameters please refer to the specifications of the controller.

note

The checksum and the deviceID do not have to be added to the command sequences. This is done automatically.

E.g.:

# store all parameters permanent

eval=

0x23                        - readWrite

0x10                        - objLsb

0x10                        - objMsb

0x01                        - subIndex

0x73                        - data0

0x61                        - data1

0x76                        - data2

0x65                        - data3

storeAllParameters        - (for SAMLight Debug purposes)

ECOSTEP 100 / 200 Command format

 

 byte     id;

// id of ecostep100 station [ 1 .. 15 ]

 

 byte     readWrite;

// Send from PC to ECO controller:

// - 23 hex = Send command 4 Byte data ( Byte 4..7 contain an 32Bit-value )

// - 2B hex = Send command 2 Byte data ( Byte 4, 5 contain an 16Bit-value )

// - 2F hex = Send command 1 Byte data ( Byte 4 contains an 8Bit-value )

// - 40 hex = Read data object from slave

//

// Send from ECO controller to PC:

// - 43 hex = Command 40 successfully send, Byte 4..7 contain an 32Bit-value

// - 4B hex = Command 40 successfully send, Byte 4, 5 contain an 16Bit-value

// - 4F hex = Command 40 successfully send, Byte 4 contains an 8Bit-value

// - 60 hex = Commands 23 or 2B or 2F successfully send

// - 80 hex = Commands 23 or 2B or 2F or 40 not successfully send, Byte 4..7 contain error

 

 byte     objLsb;

// obj id: last significant Byte

 

 byte     objMsb;

// obj id: most significant Byte

 

 byte     subIndex;

// obj subIndex

 

 byte     data0;

// if controlword:

// Bit0 = Switch On

// Bit1 = Disable Voltage

// Bit2 = Quick Stop

// Bit3 = Enable Operation

// Bit4 = operating specific

// Bit5 = operating specific

// Bit6 = operating specific

// Bit7 =  Fault Reset

//

// if statusword:

// Bit0 = Ready to Switch on

// Bit1 = Switched On

// Bit2 = Operation Enable

// Bit3 = Fault

// Bit4 = Voltage Disabled

// Bit5 = Quick Stop

// Bit6 = Switch on Disable

// Bit7 = Warning

 

 byte     data1;

// if controlword:

// Bit0 = Halt

// Bit1 = reserved

// Bit2 = reserved

// Bit3 = manufacturer specific

// Bit4 = manufacturer specific

// Bit5 = manufacturer specific

// Bit6 = manufacturer specific

// Bit7 = manufacturer specific

//

// if statusword:

// Bit0 = manufacturer specific

// Bit1 = Reserved

// Bit2 = Setpoint reached

// Bit3 = Limit reached

// Bit4 = Setpoint confirmation / halt / found reference

// Bit5 = Contouring error / reserved / reference error

// Bit6 = Commutation found

// Bit7 =  Reference found

 

 byte     data2;

// data byte 2

 

 byte     data3;

// data byte 3

 

 byte     checksum;

// inverted sum( Byte 0 .. Byte 8 )

 

 string   szPacketName;

// for debug purposes