<< Click to Display Table of Contents > 

SAMLight Manual > Motion Control Settings > Other motion controller > Type 10 - SHS 2000 Star

Type 10 - SHS 2000 Star
Previous pageReturn to chapter overviewNext page

The SHS Star 2000 motion controller series is supported directly. To enable it, please configure the drive type number 10 like it was described above.

For configuring the SHS controller interface, a configuration file sc_motion_shstar2000_settings.txt is required in the same location where the general motion settings file exists. The SHS Star 2000 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:

PortName=xxx : Specifies to which port the SHS 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 value that is used by most SHS controllers is 19200.

PortParity=y : This parameter changes the parity mode for the port, here for y 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 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 : The TimeOut 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_shstar2000_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.

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 use. 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 an 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 SHS Star 2000 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.

corr1 mm inc

corr2 mm inc

corr3 mm inc

corr4 mm inc

corr5 mm inc

The corr commands define a conversion and correction table from metric positions to incremental positions of the currently specified (or default) axis. This table consists of 5 entries where corr1 defines the smallest possible value and corr5 the biggest one. Here more than only a factor is given to allow it a user to equalize non-linear variances. The syntax of the corr table commands requires a metric value in millimeters and the appropriate incremental value that is equal to this metric position.

note

The incremental value of corr1 must be smaller or equal than the parameter llimit and the incremental value of corr5 must be equal or bigger than the value of parameter hvalue that are described below. These values are used for the mode POSITION.

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.

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.

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.

dname=c : When the motion controller is operated in party mode, that means with more than only one SHS at the same communication line, a single controller hardware needs to be accessed by using its device name. The parameter dname specifies such a name for the current axis. That name has to consist of a single char and it of course has to be configured and saved directly at the SHS motion controller hardware itself. Setting this name is necessary when more than one axis is configured using the axis command. Here for every axis a different name has to be specified. In case the axis command is not used and the controller operates using the default axis number two, the party mode for the motion controller interface and the hardware has to be set by sending the initialization command PY 1 explicitly (please see the command ival below). Elsewhere the motion controller interfaces does not assume a party mode operation and ignores this name.

ival=sssss : The initialization of a single axis of the controller can be done using every command the drive supports. To specify, which of these controller commands have to be used during the initialization of it, the ival parameter can be used. Different to the preceding parameters this one can exist more than once in a configuration file. Here a second ival will not overwrite the value of the preceding one. So for every controller command that has to be sent one single line starting with this parameter has to be set. The controller commands are executed in the same order as the ival parameters appear in the settings file. The commands sssss that are defined with this parameter are used for initialization and are therefore sent as very first to the drive. The commands that can be set here are equal to the ones that are sent to the drive. Since the SHS controllers work with binary data they have to be entered as single byte hexadecimal values separated by a space without the CRC. This checksum is added to every command byte sequence automatically. So for an example such an entry could look like this:

ival=0xFC 0x20 0x01

Here 0xFC is the start byte, 0x20 defines the axis number the command is valid for and the length of it (according to the specification of the SHS Star 2000 commands), 0x01 is the command itself. The missing CRC byte does not has to be set, it is added by the controller automatically for every command.

hval=sssss : Similar to the ival parameter hval can be used to define the operation during a movement to the home position for the current or the default axis. Here the operation that has to be performed to reach the home position has to be programmed using one or more hval parameters that are executed in the same order as they appear in the configuration file. The syntax of the byte value commands is the same like described above for the ival command.

The original sc_motion_shstar2000_settings.txt settings file that is delivered with this scanner software contains some default settings that have to be changed according to the target environment of the motion controller. Additionally there are some example initialization and homing sequences defined within this file for several scenarios. Here the desired parts of these examples simply have to be uncommented. Other default parameters may have to be removed or commented out. As it can be seen there for both, the ival and the hval parameter, complete programs can be defined that work within the motion controller to perform the initialization or the homing of it.