<< Click to Display Table of Contents > 

Client Control Interface Manual > Pen Settings

Pen Settings
Previous pageReturn to chapter overviewNext page

The following chapter explains all commands, which can be used to edit the Pen Settings. There are subchapters for each tab in the SAMLight Pen Settings:

Advanced Settings

Main

Laser-Specials

Scanner

Misc

Drill

Ramping

Path

Bitmap

 

The following commands are described in this chapter:

Copy Pen

Entity Pen Assignment

Group Flags

Override Parameter

Override Pen

Pen Enable Flags

Pen Name

Pen Number

Protected Pen

Special Pen parameters

 

Copy selected Pen
 

Set

Get

DLL Function

int CCI_Return = ScSetLongValue(int Value_Type, int Index)

int Index = ScGetLongValue(int Value_Type)

ASCII Function

int CCI_Return = ScCciSetLongValue(int Value_Type, int Index)

int Index = ScCciGetLongValue(int Value_Type)

Description

Copy previously selected pen to new pen.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeCopyCurrentPenToOtherPen

156

Parameter

Type: int

Index:

Pen number to copy to.

CCI_Return

Type: int

CCI return number, see error list.

Notes

 

C# Example: Copy pen 1 to pen 2:

 

int CCI_Pen = cci.ScSetPen( 1 );

int Copy = cci.ScSetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeCopyCurrentPenToOtherPen, 2 );

Table 73: Copy Pen

Entity Pen Assignment

 

Set

Get

DLL Function

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

int Pen_Number = ScGetEntityLongData(string Entity_Name, int Data_ID)

ASCII Function

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

int Pen_Number = ScCciGetEntityLongData(string Entity_Name, int Data_ID)

Description

Set or get the corresponding pen assigned to the entity.

Entity_Name

Type: string

Unit: none

Specify the entity based on the name.

Data_ID

Type: int

ID:

Location: ScComSAMLightClientCtrlFlags

scComSAMLightClientCtrlLongDataIdEntitySetPen

60

Set pen number.

scComSAMLightClientCtrlLongDataIdEntityGetPen

74

Get pen number.

Pen_Number

Type: int

Unit: none

Pen number [1, 255]

CCI_Return

Type: int

CCI return number, see error list.

Notes

Entity_Name together with the flag scComSAMLightClientCtrlModeFlagEntityNamesSeparatedBySemicolon can include more than one entity name. Therefore the names of the entities have to be separated by a semicolon. If more than one entity with a given name exists, all of them are marked.

C# Example: Set pen number 3 to "Entity1":
 
int CCI_Return = cci.ScSetEntityLongData( "Entity1", ( int )ScComSAMLightClientCtrlFlags.scComSAMLightClientCtrlLongDataIdEntitySetPen, 3 );

C# Example: Get the pen number of "Entity1":

 

int Pen_Number = cci.ScGetEntityLongData( "Entity1", ( int )ScComSAMLightClientCtrlFlags.scComSAMLightClientCtrlLongDataIdEntityGetPen );

Table 74: Entity Pen Assignment

Group Flags
 

Set

Get

DLL Function

int CCI_Return = ScSetLongValue(int Value_Type, int Index)

int Index = ScGetLongValue(int Value_Type)

ASCII Function

int CCI_Return = ScCciSetLongValue(int Value_Type, int Index)

int Index = ScCciGetLongValue(int Value_Type)

Description

Related flag for the currently selected pen.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsSet

8

Index

Type: int

Index:

Location: ScComSAMLightClientCtrlValueTypes

scComStandardDeviceEnableFlagGroupStyle

0

Set the flags values manually.

scComStandardDeviceEnableFlagGroupOptoOut

1

The flag values correspond to the OptoOut bits of the scanner control card.

CCI_Return

Type: int

CCI return number, see error list.

Notes

This function is used to choose the input regime for the DeviceEnableFlagsValue.

Default Value: 0

C# Example: Set flags manually:

 

int CCI_Return = cci.ScSetLongValue((int)ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsSet,0);

Table 75: Group Flags

Override Parameter
 

Set

Get

DLL Function

int CCI_Return = ScSetDoubleValue(int Value_Type, double Parameter)

double Parameter = ScGetDoubleValue(int Value_Type)

ASCII Function

int CCI_Return = ScCciSetDoubleValue(int Value_Type, double Parameter)

double Parameter = ScCciGetDoubleValue(int Value_Type)

Description

Set or get global (for all pens) SAMLight override parameter.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlDoubleValueTypeOverrideSpeed

1

Global SAMLight override speed.

scComSAMLightClientCtrlDoubleValueTypeOverridePower

2

Global SAMLight override power.

scComSAMLightClientCtrlDoubleValueTypeOverrideFrequency

3

Global SAMLight override frequency.

scComSAMLightClientCtrlDoubleValueTypeOverridePower2

22

Global SAMLight override power2.

Parameter

Type: double

Unit: [%]

The corresponding override value.

CCI_Return

Type: int

CCI return number, see error list.

Notes

-

C# Example: Set override power to 95.0%:

 

int CCI_Return = cci.ScSetDoubleValue( (int) ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlDoubleValueTypeOverridePower, 95.0 );

C# Example: Get current override power:

 

double Override_Frequency = cci.ScGetDoubleValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlDoubleValueTypeOverridePower );

Table 76: Override Parameter

Override Pen
 

Set

Get

DLL Function

int CCI_Return = ScSetLongValue(int Value_Type, int Override_Pen)

int Override_Pen = ScGetLongValue(int Value_Type)

ASCII Function

int CCI_Return = ScCciSetLongValue(int Value_Type, int Pen_Number)

int Override_Pen = ScCciGetLongValue(int Value_Type)

Description

Set or get the pen number used to mark all entities in the job. The pen numbers that are assigned to these entities in SAMLight will be ignored.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeOverridePen

16

Override_Pen

Type: int

Unit: none

0: Disable pen override feature

1-255: Pen number

CCI_Return

Type: int

CCI return number, see error list.

Notes

-

C# Example: Use pen number 3 for all entities:
 
int CCI_Return = cci.ScSetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeOverridePen, 3 );

C# Example: Get override pen number:

 

int Override_Pen = cci.ScGetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeOverridePen );

Table 77: Override Pen

Pen Enable Flags
 

Set

Get

DLL Function

int CCI_Return = ScSetLongValue(int Value_Type, int Pen_Enable_Flags)

int Pen_Enable_Flags = ScGetLongValue(int Flag_Value)

ASCII Function

int CCI_Return = ScCciSetLongValue(int Value_Type, int Pen_Enable_Flags)

int Pen_Enable_Flags = ScCciGetLongValue(int Flag)

Description

Set or get various pen enable flags of the current selected pen.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsValue

9

Pen_Enable_Flags

Type: int

Flag:

Location: None

Pen → Main → LongDelay Enable

0x1

Pen → Main → Power Control Enable

0x2

Pen → Scanner → Wobble Enable

0x8

Pen → Main → Pen Standby Enable (RTC YAG only)

0x20

Pen → Bitmap → Pixel Hardware Mode Enable

0x40

Pen → Misc → SkyWriting Enable

0x2000

Pen → Drill → Drill Enable

0x4000

Pen → Misc → Defocus Enable

0x10000

Pen → Drill → CO2Power Enable

0x20000

Pen → Bitmap → Pen PixelMap Enable

0x80000

Pen → Drill → Use Geometry Enable

0x100000

Pen → Misc → Apply power changes after jump Enable

0x200000

Pen → Drill → Point Power Map Enable

0x400000

Pen → Bitmap → Pen Power as Max Power Enable

0x800000

Pen → Bitmap → Use Vector Delays Enable

0x1000000

Pen → Misc → RTC5/6 SkyWriting Enable and Mode 1

0x2000000

Pen → Misc → RTC5/6 SkyWriting Mode 2

0x4000000

Pen → Misc → RTC5/6 SkyWriting Mode 3

0x8000000

Pen → Drill → Power Ramp for Points Enable

0x10000000

 

Pen → Main → Power2 Control Enable

0x20000000

CCI_Return

Type: int

CCI return number, see error list.

Notes

DeviceEnableFlagsSet must be set to 0.

The pen number has to be set by ScSetPen.

To prevent incorrect operation please read chapter How to work with flags.

This list is incomplete. There are further flags for internal use.

To set RTC5/6 SkyWriting Mode 2 or 3, the RTC5/6 SkyWriting Enable Flag needs to be set as well.

C# Example: Enable long delay and don't change all other flags:
 

int Pen_Enable_Flags = cci.ScGetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsValue );

Pen_Enable_Flags = Pen_Enable_Flags | 0x1;

int CCI_Return = cci.ScSetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsValue, Pen_Enable_Flags );

C# Example: Disable long delay and don't change all other flags:
 

int Pen_Enable_Flags = cci.ScGetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsValue );

Pen_Enable_Flags = Pen_Enable_Flags & ~0x1;

int CCI_Return = cci.ScSetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeDeviceEnableFlagsValue, Pen_Enable_Flags );

Table 78: Pen Enable Flags

Pen Name
 

Set

Get

DLL Function

int CCI_Return = ScSetStringValue(int Value_Type, string Pen_Name)

int CCI_Return = ScGetStringValue(int Value_Type, ref string Pen_Name)

ASCII Function

int CCI_Return = ScCciSetStringValue(int Value_Type, string Pen_Name)

string Pen_Name = ScCciGetStringValue(int ValueType)

Description

Set or get the name of the current pen.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlStringValueTypeCurrentPenName

22

Pen_Name

Type: string

Unit: none

Name of the pen.

CCI_Return

Type: int

CCI return number, see error list.

Notes

The pen number has to be set by ScSetPen.

C# Example: Change the name of the pen:
 

int CCI_Return = cci.ScSetStringValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlStringValueTypeCurrentPenName, "Welding" );

C# Example: Get the name of the current pen:
 

string Pen_Name = "";

int CCI_Return2 = cci.ScGetStringValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlStringValueTypeCurrentPenName, ref Pen_Name );

Table 79: CCI Pen Name

Pen Number
 

Set

Get

DLL Function

int CCI_Return = ScSetPen(int Pen_Number)

int CCI_Return = ScGetPen(ref int Pen_Number)

ASCII Function

int CCI_Return = ScCciSetPen(int Pen_Number)

int Pen_Number = ScCciGetPen()

Description

Set or get the pen number.

Pen_Number

Type: int

Unit: none

The pen number.

CCI_Return

Type: int

CCI return number, see error list.

Notes

Pen counting starts with 1.

C# Example: Set the current pen to the pen #3:

 

int CCI_Return = cci.ScSetPen( 3 );

C# Example: Get the current applied pen:

 

int PenNumber = 0;

int CCI_Return = cci.ScGetPen( ref PenNumber );

Table 80: Pen Number

Protected Pen

 

Set

Get

DLL Function

int CCI_Return = ScSetLongValue(int Value_Type, int Protected)

int Protected = ScGetLongValue(int Value_Type)

ASCII Function

int CCI_Return = ScCciSetLongValue(int Value_Type, int Protected)

int Protected = ScCciGetLongValue(int Value_Type)

Description

Set or get the protected pen option.

Value_Type

Type: int

ID:

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeProtectedPen

102

Protected

Type: int

Unit: none

0: Disable pen protection.

1: Enable pen protection.

CCI_Return

Type: int

CCI return number, see error list.

Notes

The pen number has to be set by ScSetPen.

C# Example: Protect current selected pen:
 

int CCI_Return = cci.ScSetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeProtectedPen, 1 );

C# Example: Check if current selected pen is protected:
 

int Protected = cci.ScGetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeProtectedPen );

Table 81: Protected Pen

Special Pen parameters

 

Set

Get

DLL Function

int CCI_Return = ScGetEntityStringData(string Pen_Number, int Data_ID, ref string Parameter)

ASCII Function

string Parameter = ScCciGetEntityStringData(string Pen_Number, int Data_ID)

Description

Returns a set of 7 pen parameters for the defined entity. The return parameters are described below. It is possible to get the values for multiple entities.

Pen_Number

Type: string

Unit: none

This string can contain multiple pen numbers separated by semicolon.

Data_ID

Type: int

ID:

Location: ScComSAMLightClientCtrlFlags

scComSAMLightClientCtrlStringDataIdSpecialPenAndMore

34

Pen_Special

Type: string

Unit: depends on parameter

The separator for multiple pens is a vertical tab (\v). For each requested pen the following seven double values with 6 decimal places separated by semicolon are returned:

Mark Speed [mm/s*]

Power [Watt]

Frequency [Hz]

CO2_Power1 [%]

CO2_Power2 [%]

Pulse_Length [μs]

First_Pulse [μs]

CCI_Return

Type: int

CCI return number, see error list.

Notes

If the return string is send via Ethernet, it's maximum length is 512 characters.

If you enter multiple pen numbers, this function will return sets of values for each pen. Each set is separated by a vertical tab '\v'.

C# Example: Get the parameters for pen 1:

 

string Pen_Special = "";

int CCI_Return = cci.ScGetEntityStringData( "1", ( int )ScComSAMLightClientCtrlFlags.scComSAMLightClientCtrlStringDataIdSpecialPenAndMore, ref Pen_Special );

 

 

Example for Pen_Special string:

"5000.000000;8.500000;100000.000000;50.000000;50.000000;5.000000;0.000000"

Table 82: Special Pen Parameters