Centroid API 1.0.0
Centroid API for C# and VB.Net
CentroidAPI.CNCPipe Class Reference

Documentation

Class for getting and setting different system variables.

Class for getting DRO data from CNC12.

Classes

class  Axis
 Class for setting and getting axis info. More...
 
class  Csr
 Contains methods for getting and setting CSR angles. More...
 
class  Dro
 Class to get DRO information from CNC12. More...
 
class  InboundComm
 Handles inbound communications from CNC12. More...
 
class  Job
 A class for constructing and running jobs. More...
 
class  MessageWindow
 Class for getting status window information. More...
 
class  Parameter
 Handles getting and setting of machine parameters. More...
 
class  Plc
 A class with functions related to PLC programming and state information. More...
 
class  Screen
 Class to get screen and viewport info. More...
 
class  State
 Holds info relating to system state, e.g. move mode, position mode, feedrate, spindle speed, etc. More...
 
class  Sys
 A class for getting system-related information. More...
 
class  Tool
 Class to handle Mill Tool Info. More...
 
class  VB_Axis
 Visual Basic version of the Axis class. More...
 
class  VB_Csr
 Visual Basic version of the Csr class. More...
 
class  VB_Dro
 Visual Basic version of the Dro class. More...
 
class  VB_InboundComm
 Visual Basic version of the InboundComm class. More...
 
class  VB_Job
 Visual Basic version of the Job class. More...
 
class  VB_MessageWindow
 Visual Basic version of the Message Window class. More...
 
class  VB_Parameter
 Visual Basic version of the Parameter class. More...
 
class  VB_Plc
 Visual Basic version of the Plc class. More...
 
class  VB_Screen
 Visual Basic version of the Screen class. More...
 
class  VB_State
 Visual Basic version of the State class. More...
 
class  VB_System
 Visual Basic version of the System class. More...
 
class  VB_Tool
 Visual Basic version of the Tool class. More...
 
class  VB_Wcs
 Visual Basic version of the Dro class. More...
 
class  Wcs
 Class for getting and setting values involving work coordinate system. More...
 

Public Types

enum  Axes {
  AXIS_1 , AXIS_2 , AXIS_3 , AXIS_4 ,
  AXIS_5 , AXIS_6 , AXIS_7 , AXIS_8
}
 A list of axes. More...
 
enum  ReturnCode {
  ERROR_CLIENT_LOCKED , ERROR_INVALID_ARGUMENT , ERROR_INVALID_AXIS , ERROR_INVALID_PLC_BIT_NUMBER ,
  ERROR_INVALID_PLC_BIT_TYPE , ERROR_INVALID_REQUEST , ERROR_INVALID_SKINNING_DATA_WORD_INDEX , ERROR_JOB_IN_PROGRESS ,
  ERROR_PIPE_IS_BROKEN , ERROR_PLC_SEND_SKINNING_DATA , ERROR_SAVE_CONFIGURATION , ERROR_SEND_COMMAND ,
  ERROR_SEND_PID_SETUPS , ERROR_SEND_SETUPS , ERROR_OUT_OF_RANGE , ERROR_CONVERSION ,
  ERROR_UNKNOWN , ERROR_VALIDATION , STATUS_UNKNOWN , ERROR_DEPRECATED ,
  ERROR_LICENSE_GENERAL_FAILURE , ERROR_LICENSE_MISMATCHED_VERSIONS , ERROR_LICENSE_MISMATCHED_SERIAL_NUMBER , ERROR_LICENSE_LOCKED ,
  ERROR_INVALID_RETURN , ERROR_EXPERIMENTAL_FEATURE , ERROR_NOT_HOMED , SUCCESS
}
 The possible return codes for api functions. More...
 

Public Member Functions

 CNCPipe (int timeout=1)
 Class constructor. If successful, it will open a pipe for communicating with CNC12.
 
 CNCPipe ()
 Class constructor for calling with no arguments.
 
 CNCPipe (bool useVcpPipe=false, int timeout=1)
 Class constructor. If successful, it will open a pipe for communicating with CNC12.
 
bool IsConstructed ()
 Tells if the class instance was successfully constructed.
 
void StartListening ()
 Begin listening for messages from CNC12.
 
void StopListening ()
 Stop listening for messages from CNC12.
 
void ClearUnhandledMessages ()
 Clear any unhandled messages from CNC12.
 
bool TryPopUnhandledMessage (out InboundComm.CommPacket packet)
 Try pop an unhandled message from CNC12.
 

Public Attributes

Axis axis
 Class for getting/setting axis info.
 
Csr csr
 Class for getting/setting csr info.
 
Dro dro
 Class for getting dro info.
 
Job job
 Class for creating or running jobs.
 
Parameter parameter
 Class for getting/setting machine parameter values.
 
Plc plc
 Class for getting/setting plc bits.
 
Screen screen
 Class for getting screen and viewport info.
 
State state
 Class for getting state info (feedrate, spindle speed, etc.)
 
Sys system
 Class for getting system related info.
 
Tool tool
 Class for getting and setting tool info.
 
Wcs wcs
 Class for getting/setting wcs info.
 
MessageWindow message_window
 Class for getting status window information.
 
InboundComm inbound_communications
 Class for setting inbound communications preferences.
 

Protected Member Functions

virtual bool OnMessageReceived (InboundComm.CommPacket data)
 
virtual bool OnPipeDisconnected ()
 

Properties

bool BurstMode [get, set]
 Sets if the skinning app is saving after every command or not.
 

Events

EventHandler< MessageReceivedEventArgsMessageReceived
 Event handler for Messages from CNC12.
 
EventHandler< PipeDisconnectedEventArgsPipeDisconnected
 Event handler for Pipe Disconnected.
 

Member Enumeration Documentation

◆ Axes

A list of axes.

Enumerator
AXIS_1 

Axis 1.

AXIS_2 

Axis 2.

AXIS_3 

Axis 3.

AXIS_4 

Axis 4.

AXIS_5 

Axis 5.

AXIS_6 

Axis 6.

AXIS_7 

Axis 7.

AXIS_8 

Axis 8.

◆ ReturnCode

The possible return codes for api functions.

Enumerator
ERROR_CLIENT_LOCKED 

The machine is not allowed to move at this time.

ERROR_INVALID_ARGUMENT 

The value could not be interpreted as a number by CNC12.

ERROR_INVALID_AXIS 

Axis was not found to be in range 1 - 8.

ERROR_INVALID_PLC_BIT_NUMBER 

Invalid plc bit number was selected.

ERROR_INVALID_PLC_BIT_TYPE 

Invalid plc bit type was selected.

ERROR_INVALID_REQUEST 

Request cannot be granted under current configuration.

ERROR_INVALID_SKINNING_DATA_WORD_INDEX 

The index was out of range.

ERROR_JOB_IN_PROGRESS 

A value could not be set because a job is running.

ERROR_PIPE_IS_BROKEN 

CNC12 closed while you were trying to use the pipe.

ERROR_PLC_SEND_SKINNING_DATA 

Could not send skinning data to the plc.

ERROR_SAVE_CONFIGURATION 

Could not save the configuration that was changed.

ERROR_SEND_COMMAND 

The command was not sent successfully to CNC12.

ERROR_SEND_PID_SETUPS 

CNC12 could not send PID setups to the MPU.

ERROR_SEND_SETUPS 

CNC12 could not send setups to the MPU.

ERROR_OUT_OF_RANGE 

The value is out of range for the PC.

ERROR_CONVERSION 

Could not convert value to a valid number.

ERROR_UNKNOWN 

An unknown error occurred.

ERROR_VALIDATION 

CNC12 could not set value because it is not valid.

STATUS_UNKNOWN 

Centroid API received unknown response from CNC12.

ERROR_DEPRECATED 

Centroid API received call to deprecated function.

ERROR_LICENSE_GENERAL_FAILURE 

License failed to import due to unknown reason.

ERROR_LICENSE_MISMATCHED_VERSIONS 

License failed to import due to mismatched cnc12 version.

ERROR_LICENSE_MISMATCHED_SERIAL_NUMBER 

License failed to import due to mismatched serial number.

ERROR_LICENSE_LOCKED 

Feature requires a greater license than is currently loaded.

ERROR_INVALID_RETURN 

Requested Return Point is not valid.

ERROR_EXPERIMENTAL_FEATURE 

Feature is experimental. Return code indiciates success but makes no guarantee the call will continue to work in this way.

ERROR_NOT_HOMED 

Requested action is not available due to the unhomed status of the machine.

SUCCESS 

No errors occurred.

Constructor & Destructor Documentation

◆ CNCPipe() [1/2]

CentroidAPI.CNCPipe.CNCPipe ( int timeout = 1)

Class constructor. If successful, it will open a pipe for communicating with CNC12.

Parameters
timeoutThe number of seconds to wait for a connection with CNC12.

◆ CNCPipe() [2/2]

CentroidAPI.CNCPipe.CNCPipe ( bool useVcpPipe = false,
int timeout = 1 )

Class constructor. If successful, it will open a pipe for communicating with CNC12.

Parameters
timeoutThe number of seconds to wait for a connection with CNC12.
useVcpPipeSet to true to use the named pipe dedicated for VCP.

Member Function Documentation

◆ IsConstructed()

bool CentroidAPI.CNCPipe.IsConstructed ( )

Tells if the class instance was successfully constructed.

Returns
true if construction was successful; false otherwise

◆ OnMessageReceived()

virtual bool CentroidAPI.CNCPipe.OnMessageReceived ( InboundComm.CommPacket data)
protectedvirtual
Parameters
data
Returns

◆ OnPipeDisconnected()

virtual bool CentroidAPI.CNCPipe.OnPipeDisconnected ( )
protectedvirtual
Returns

◆ TryPopUnhandledMessage()

bool CentroidAPI.CNCPipe.TryPopUnhandledMessage ( out InboundComm.CommPacket packet)

Try pop an unhandled message from CNC12.

Returns
True if message is available to pop, false otherwise