<< Click to Display Table of Contents > 

Client Control Interface Manual > Other > Scan Head

Scan Head
Previous pageReturn to chapter overviewNext page

Entity Head ID

Get Scanner Position

Head ID

Head Status

Head Count

Redpointer for ScMoveAbs

ScMoveAbs

ScSwitchLaser

Update Scanner Position

XY Status

 

Entity Head ID
 

Set

Get

DLL Function,

int CCI_Return = ScSetEntityLongData(string Entity_Name, int Data_ID, int Head_ID)

int Head_ID = ScGetEntityLongData(string Entity_Name, int Data_ID)

ASCII Function

int CCI_Return = ScCciSetEntityLongData(string Entity_Name, int Data_ID, int Head_ID)

int Head_ID = ScCciGetEntityLongData(string Entity_Name, int Data_ID)

Description

In case of MultiHead, it is possible to assign an entity to a specific HeadID.

Entity_Name

Type: string

Unit: none

Specify the entity based on the name.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlFlags

scComSAMLightClientCtrlLongDataIdManualHead

150

Head_ID

Type: int

Index:

Location: none

Auto (Automatic entity assignment)

-2

All (Assign to all Heads)

-1

Head0

0

Head1

1

Head2

2

Head3

3

Head4

4

Head5

5

 

6-15

CCI_Return

Type: int

CCI error number, see error list.

Notes

Do not set during marking operation.

C# Example: Assign Entity "Text_1" to Head1:

 

int CCI_Return = cci.ScSetEntityLongData("Text_1", (int)ScComSAMLightClientCtrlFlags.scComSAMLightClientCtrlLongDataIdManualHead, 1);

C# Example: Get assigned HeadID of Entity "Text_1":

 

int Head_ID = cci.ScgetEntityLongData("Text_1", (int)ScComSAMLightClientCtrlFlags.scComSAMLightClientCtrlLongDataIdManualHead);

Table 365: Entity Head ID

Get Scanner Position
 

Set

Get

DLL Function

double Scanner_Pos = ScGetDoubleValue(int Value_Type)

ASCII Function

double Scanner_Pos = ScCciGetDoubleValue(int Value_Type)

Description

Get the x, y or z position of the scanner in mm.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlDoubleValueTypeScannerXPos

12

Get the current x position of the scanner.

scComSAMLightClientCtrlDoubleValueTypeScannerYPos

13

Get the current position of the scanner.

scComSAMLightClientCtrlDoubleValueTypeScannerZPos

14

Get the current z position of the scanner.

Scanner_Pos

Type: double

Unit: mm*

Get the x, y or z position of the scanner.

CCI_Return

Type: int

CCI return number, see error list.

Notes

Before requesting the scanner positions with these three constants, they must be updated with Update scanner position

Not recommended during marking.

C# Example: Get x position of the scanner:
 
double Scanner_X_Pos = cci.ScGetDoubleValue(( int)ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlDoubleValueTypeScannerXPos);

Table 366: Get Scanner Position

Head ID
 

Set

Get

DLL Function

int CCI_Return = ScSetHead (int Head_ID)

int CCI_Return = ScGetHead (int Head_ID)

ASCII Function

int CCI_Return = ScCciSetHead(int Head_ID)

int Head_ID = ScCciGetHead()

Description

This function is for MultiHead and MultiCard applications. It specifies a head that is used with the commands that follow after ScSetHead or returns the ID of the active head. HeadID can have a number in range 0..n which is the ID of the active head or -1 to apply commands for all heads.

Head_ID

Type: int

Unit: none

Enter the ID of the head to select.

CCI_Return

Type: int

CCI return number, see error list.

Notes

-1 is for all heads which are connected.

C# Example: Set head 2:
 

int CCI_Return = cci.ScSetHead(2);

C# Example: Get active head:

 
int Head_ID = 1;

int CCI_Return = cci.ScGetHead( ref Head_ID );

Table 367: Head ID

Head Status
 

☐  Set

Get

DLL Function

int Flag = ScGetLongValue(int Value_Type)

ASCII Function

int Flag = ScCciGetLongValue(int Value_Type)

Description

Returns the status of the primary or secondary head. For different card types (USC-1, USC-2/3, RTC), different values can be returned, also a combination of them. If you use more than one card, you have to select the card with ScSetHead first.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeHeadStatus

2

Returns the status of the primary head.

scComSAMLightClientCtrlLongValueTypeHead2Status

75

Returns the status of the secondary head.

Flag

Type: int

Flag:

Location: none

Temperature OK

0x1

Only for RTC cards, the temperature status is available.

Power OK

0x2

Only for RTC cards, the power status is available.

Position OK

0x4

Only for RTC cards, the position status is available.

Out of data with laser on

0x1024

For all cards, the state out of data with laser on is available.

Notes

Depending on the specific type of card, different flags are available.

C# Example: Get head status:
 
int Head_Status = cci.ScGetLongValue((int)ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeHeadStatus);

Table 368: Head Status

Head Count
 

☐  Set

Get

DLL Function

int Head_Count = ScGetLongValue(int Value_Type)

ASCII Function

int Head_Count = ScCciGetLongValue(int Value_Type)

Description

Returns the total number of heads (cards).

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeGetHeadCount

61

Head_Count

Type: int

Unit: none

Get the number of heads.

Notes

Head count counts the number of cards which are present in the settings file, not the number of heads which are selected for one card.

C# Example: Get the current head count:
 
int Head_Count = cci.ScGetLongValue((int)ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeGetHeadCount);

Table 369: Head Count

Redpointer for absolute scanner move
 

Set

Get

DLL Function

int CCI_Return = ScSetLongValue(int Value_Type, int RP_On_Off)

ASCII Function

int CCI_Return = ScCciSetLongValue(int Value_Type, int RP_On_Off)

Description

With this flag, the behaviour of the ScMoveAbs command is completely different. The ScMoveAbs commands will be executed as a list.

The red pointer move list is

* started and cleared by setting SelectRedpointerForMoveAbs to '1'.

* filled by one or multiple ScMoveAbs commands.

* executed by setting SelectRedpointerForMoveAbs to '0'. After the execution the list is cleared.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeSelectRedpointerForMoveAbs

57

Use the red pointer move list.

RP_On_Off

Type: int

Unit: none

0: Redpointer selection for ScMoveAbs off

1: Redpointer selection for ScMoveAbs on

CCI Return

Type: int

CCI return number, see error list.

Notes

Use this flag before ScMoveAbs.

C# Example:
 
CCI_Return = cci.ScSetLongValue((int)ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeSelectRedpointerForMoveAbs, 1 )

Table 370: Redpointer for absolute scanner move

Absolute scanner move
 

Set

Get

DLL Function

int CCI_Return = ScMoveAbs(double X_Position, double Y_Position, double Z_Position)

ASCII Function

int CCI_Return = ScCciMoveAbs(double X_Position, double Y_Position, double Z_Position)

Description

Jumps with the defined pen directly to the new position specified by x, y and z.  During the jump the laser emission is turned off by default and can be turned on with ScSwitchLaser().

X_Position

Type: double

Unit: [mm]

X value of the target position.

Y_Position

Type: double

Unit: [mm]

Y value of the target position.

Z_Position

Type: double

Unit: [mm]

Z value of the target position.

CCI_Return

Type: int

CCI return number, see error list.

Notes

Define the pen which should be used for the jump using ScSetPen().

Without pen definition, pen #1 will be taken as default.

The values will be affected by the correction file as well.

C# Example: Move the scanner to x = 10mm, y = 10mm and z = 22mm:
 
int CCI_Return = cci.ScMoveAbs( 10, 10, 22 );

Table 371: Absolute scanner move

Switch laser on / off
 

Set

Get

DLL Function

int CCI_Return = ScSwitchLaser(int On_Off)

ASCII Function

int CCI_Return = ScCciSwitchLaser(int On_Off)

Description

Switches the laser_gate signal of a USC card on or off, depending on the On_Off parameter.

On_Off

Type: int

Unit: none

0: Laser_Gate signal off

1: Laser_Gate signal on

CCI_Return

Type: int

CCI return number, see error list.

Notes

The on or off switch of laser_gate will be done immediately.

Can be used together with ScMoveAbs.

Do not use this command together with regular job because ScSwitchLaser stops the marking process.

C# Example: Switch the laser_gate signal on:
 
int CCI_Return = cci.ScSwitchLaser( 1 );

Table <%HMTABLECOUNTER%>: Switch laser on / off

Update Scanner Position
 

☒  Set

Get

DLL Function

int CCI_Return = ScExecCommand(int Cmd_ID)

ASCII Function

int CCI_Return = ScCciExecCommand(int Cmd_ID)

Description

Updates the position information of the scanner.

Cmd_ID

Type: int

ID:

Location:ScComSAMLightClientCtrlExecCommandConstants

scComSAMLightClientCtrlExecCommandUpdateScannerPos

9

CCI_Return

Type: int

CCI return number, see error list.

Notes

-

C# Example: Create new job:

 

int CCI_Rerturn = cci.ScExecCommand((int)ScComSAMLightClientCtrlExecCommandConstants.scComSAMLightClientCtrlExecCommandUpdateScannerPos);

Table 372: Update Scanner Position

XY Status
 

☐  Set

Get

DLL Function

int XY_Status = ScGetLongValue(int Value_Type)

ASCII Function

int XY_Status = ScCciGetLongValue(int Value_Type)

Description

Returns the status of the scanner (head 0 or head 1) based on the status signal X of the XY2-100 interface of the selected USC-2 or USC-3 card. If you use more than one USC-2 or USC-3 card, you have to select the card with ScSetHead first.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeXYStatus

68

Get the status of head 0.

scComSAMLightClientCtrlLongValueTypeXYStatus1

69

Get the status of head 1.

XY_Status

Type: int

Unit: none

Returns the status of the head.

Notes

The status will be updated every 100 ms (approximately).

For the interpretation of this signal please refer to your scanner manual.

C# Example: Get XY status of the scanner connected to head 0:
 
int XY_Status = cci.ScGetLongValue((int)ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeXYStatus);

Table 373: XY Status