Function Blocks
Bu içerik henüz dilinizde mevcut değil.
One block per row, with the variables it is called through. A block is called on the
PLCopen interface: the axis, channel or group goes in as a reference, Execute or
Enable starts it, and the answer comes back on the block’s own outputs rather than on
the channel’s status.
The plain libraries come first. The packages after them are modules, so their blocks are in a project only when that module is.
Motion_Applications
Section titled “Motion_Applications”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
MC_Jog | Axis : AXIS_REF | JogForward : BOOL, JogBackwards : BOOL, Mode : MC_JOG_MODE, Position : LREAL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
Motion_Camming
Section titled “Motion_Camming”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
MC_CamIn | Master : AXIS_REF, Slave : AXIS_REF | Execute : BOOL, CamTableId : MC_CAM_ID, StartMode : MC_START_MODE, MasterOffset : LREAL, SlaveOffset : LREAL, MasterScaling : LREAL, SlaveScaling : LREAL | Done : BOOL, Busy : BOOL, Active : BOOL, InSync : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_CamOut | Axis : AXIS_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_CamTableSelect | Axis : AXIS_REF | Execute : BOOL, CamTable : MC_CAM_REF, CamTableId : MC_CAM_ID | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
Motion_Channel
Section titled “Motion_Channel”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
MC_BlockSearch | Channel : CHANNEL_REF | Execute : BOOL, LineNumber : UDINT | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_ChannelDisable | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_ChannelEnable | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_ChannelReadError | Channel : CHANNEL_REF | Enable : BOOL | Valid : BOOL, Error : BOOL, ErrorID : MC_ErrorCode |
MC_ChannelReadStatus | Channel : CHANNEL_REF | Enable : BOOL | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, ErrorStop : BOOL, Disabled : BOOL, Stopping : BOOL, Standby : BOOL, Moving : BOOL, Homing : BOOL, ActualFeedRate : LREAL, ActualOverride : LREAL, ActualRapidOverride : LREAL, ActProgramLine : UDINT, CycleStarted : BOOL, FeedHold : BOOL, QueueBusy : BOOL, ItpFbState : FB_STATE |
MC_ChannelReset | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_CycleStart | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_CycleStop | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_ExecuteRepos | Channel : CHANNEL_REF | Execute : BOOL, SubprogramNumber : UDINT | Done : BOOL, Busy : BOOL, Active : BOOL, Error : BOOL, ErrorID : WORD |
MC_ExecuteSubprogram | Channel : CHANNEL_REF | Execute : BOOL, SubprogramNumber : UDINT, Staged : BOOL | Done : BOOL, Busy : BOOL, Active : BOOL, Error : BOOL, ErrorID : WORD |
MC_FeedHold | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_FeedResume | Channel : CHANNEL_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_ProgramSelect | Channel : CHANNEL_REF | Execute : BOOL, ProgramName : STRING(63) | Done : BOOL, Busy : BOOL, Active : BOOL, Error : BOOL, ErrorID : WORD, Result : E_ProgramSelectResult |
MC_SetBlockDelete | Channel : CHANNEL_REF | Execute : BOOL, Enable : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetChannelOverride | Channel : CHANNEL_REF | Execute : BOOL, OverrideValue : LREAL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetDryRun | Channel : CHANNEL_REF | Execute : BOOL, Enable : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetMachineLock | Channel : CHANNEL_REF | Execute : BOOL, Enable : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetOperationMode | Channel : CHANNEL_REF | Execute : BOOL, Mode : UINT | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetOptionalStop | Channel : CHANNEL_REF | Execute : BOOL, Enable : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetSingleBlock | Channel : CHANNEL_REF | Execute : BOOL, Enable : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
SequentialChannelCommandHelper | Channel : CHANNEL_REF | Execute : BOOL, WaitForMacroCompletion : BOOL | Done : BOOL, Busy : BOOL, Active : BOOL, Error : BOOL, ErrorID : WORD, SendCommand : BOOL |
SequentialChannelStateHelper | Channel : CHANNEL_REF | Execute : BOOL, TargetState : MC_AXES_GROUP_STATE, AcceptAnyExcept : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, SendCommand : BOOL |
MC_ProgramSelect.Result is an E_ProgramSelectResult:
| Value | Meaning |
|---|---|
PSR_NONE | not refused. On a channel error Result stays here and ErrorID carries the channel’s code |
PSR_NO_MATCH | no program carries the name |
PSR_AMBIGUOUS_PROGRAM | several programs carry it |
PSR_AMBIGUOUS_CHANNEL | several channels, and none was named |
PSR_CHANNEL_BUSY | a program is running or held on the channel |
PSR_NO_INTERPRETER | no interpreter is bound to the channel |
PSR_BUFFER_UNAVAILABLE | the channel’s command buffer is not available |
PSR_LOAD_FAILED | the kernel refused or could not parse the program |
PSR_NOT_SERVED | the program catalogue did not answer in time |
Motion_Coordinated
Section titled “Motion_Coordinated”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
GroupSequentialExecutionHelper | AxesGroup : AXES_GROUP_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD, SendCommand : BOOL |
MC_GroupDisable | AxesGroup : AXES_GROUP_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_GroupEnable | AxesGroup : AXES_GROUP_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_GroupHalt | AxesGroup : AXES_GROUP_REF | Execute : BOOL, Deceleration : LREAL, Jerk : LREAL, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_GroupReset | AxesGroup : AXES_GROUP_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_GroupStop | AxesGroup : AXES_GROUP_REF | Execute : BOOL, Deceleration : LREAL, Jerk : LREAL, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_MoveLinearAbsolute | AxesGroup : AXES_GROUP_REF | Execute : BOOL, Position : ARRAY[?..?] OF LREAL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL, CoordSystem : MC_COORD_SYSTEM, BufferMode : MC_BUFFER_MODE, TransitionMode : MC_TRANSITION_MODE, TransitionParameter : ARRAY[?..?] OF LREAL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_MoveLinearRelative | AxesGroup : AXES_GROUP_REF | Execute : BOOL, Distance : ARRAY[?..?] OF LREAL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL, CoordSystem : MC_COORD_SYSTEM, BufferMode : MC_BUFFER_MODE, TransitionMode : MC_TRANSITION_MODE, TransitionParameter : ARRAY[?..?] OF LREAL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
Motion_Core
Section titled “Motion_Core”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
MC_Halt | Axis : AXIS_REF | Execute : BOOL, Deceleration : LREAL, Jerk : LREAL, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_Home | Axis : AXIS_REF | Execute : BOOL, Position : LREAL, HomingMode : MC_HomingMode, BufferMode : MC_BUFFER_MODE, Options : ST_HomingOptions, bCalibrationCam : BOOL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : UDINT |
MC_MoveAbsolute | Axis : AXIS_REF | Execute : BOOL, Position : LREAL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL, Direction : MC_DIRECTION, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_MoveAdditive | Axis : AXIS_REF | Execute : BOOL, Distance : LREAL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_MoveRelative | Axis : AXIS_REF | Execute : BOOL, Distance : LREAL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_MoveVelocity | Axis : AXIS_REF | Execute : BOOL, Velocity : LREAL, Acceleration : LREAL, Deceleration : LREAL, Jerk : LREAL, Direction : MC_DIRECTION, BufferMode : MC_BUFFER_MODE | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD, InVelocity : BOOL |
MC_Power | Axis : AXIS_REF | Enable : BOOL, EnablePositive : BOOL, EnableNegative : BOOL | Status : BOOL, Valid : BOOL, Error : BOOL, ErrorID : WORD |
MC_ReadActualPosition | Axis : AXIS_REF | Enable : BOOL | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, Position : LREAL |
MC_ReadActualTorque | Axis : AXIS_REF | Enable : BOOL | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, Torque : LREAL |
MC_ReadActualVelocity | Axis : AXIS_REF | Enable : BOOL | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, Velocity : LREAL |
MC_ReadAxisError | Axis : AXIS_REF | Enable : BOOL | Valid : BOOL, Error : BOOL, ErrorID : MC_ErrorCode, AxisErrorID : MC_ServoErrorCode |
MC_ReadAxisInfo | Axis : AXIS_REF | Enable : BOOL | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, HomeAbsSwitch : BOOL, LimitSwitchPos : BOOL, LimitSwitchNeg : BOOL, Simulation : BOOL, CommunicationReady : BOOL, ReadyForPowerOn : BOOL, PowerOn : BOOL, IsHomed : BOOL, AxisWarning : BOOL |
MC_ReadBoolParameter | Axis : AXIS_REF | Enable : BOOL, ParameterNumber : INT | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, Value : BOOL |
MC_ReadMotionState | Axis : AXIS_REF | Enable : BOOL, Source : MC_SOURCE | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, ConstantVelocity : BOOL, Accelerating : BOOL, Decelerating : BOOL, DirectionPositive : BOOL, DirectionNegative : BOOL |
MC_ReadParameter | Axis : AXIS_REF | Enable : BOOL, ParameterNumber : INT | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, Value : LREAL |
MC_ReadStatus | Axis : AXIS_REF | Enable : BOOL | Valid : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD, ErrorStop : BOOL, Disabled : BOOL, Stopping : BOOL, Homing : BOOL, StandStill : BOOL, DiscreteMotion : BOOL, ContinuousMotion : BOOL, SynchronizedMotion : BOOL |
MC_Reset | Axis : AXIS_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetOverride | Axis : AXIS_REF | Enable : BOOL, VelFactor : LREAL, AccFactor : LREAL, JerkFactor : LREAL | Enabled : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_SetPosition | Axis : AXIS_REF | Execute : BOOL, Position : LREAL, Relative : BOOL, ExecutionMode : MC_EXECUTION_MODE | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_Stop | Axis : AXIS_REF | Execute : BOOL, Deceleration : LREAL, Jerk : LREAL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD |
MC_WriteBoolParameter | Axis : AXIS_REF | Execute : BOOL, ParameterNumber : INT, Value : BOOL, ExecutionMode : MC_EXECUTION_MODE | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_WriteParameter | Axis : AXIS_REF | Execute : BOOL, ParameterNumber : INT, Value : LREAL, ExecutionMode : MC_EXECUTION_MODE | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
SequentialExecutionHelper | Axis : AXIS_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Active : BOOL, CommandAborted : BOOL, Error : BOOL, ErrorID : WORD, SendCommand : BOOL |
Motion_Group
Section titled “Motion_Group”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
MC_AddAxisToGroup | AxesGroup : AXES_GROUP_REF, Axis : AXIS_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_RemoveAxisFromGroup | AxesGroup : AXES_GROUP_REF, Axis : AXIS_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
MC_UngroupAllAxes | AxesGroup : AXES_GROUP_REF | Execute : BOOL | Done : BOOL, Busy : BOOL, Error : BOOL, ErrorID : WORD |
Standard
Section titled “Standard”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
BLINK | ENABLE : BOOL, TIMELOW : TIME, TIMEHIGH : TIME | OUT : BOOL | |
CTD | CD : BOOL, LOAD : BOOL, PV : WORD | Q : BOOL, CV : WORD | |
CTU | CU : BOOL, RESET : BOOL, PV : WORD | Q : BOOL, CV : WORD | |
CTUD | CU : BOOL, CD : BOOL, RESET : BOOL, LOAD : BOOL, PV : WORD | QU : BOOL, QD : BOOL, CV : WORD | |
FB_Alarm | |||
FB_Arguments | |||
FB_Message | |||
FILTER_PT1 | IN : REAL, T : REAL, RESET : BOOL | OUT : REAL | |
F_TRIG | CLK : BOOL | Q : BOOL | |
HYSTERESIS | IN : REAL, HIGH : REAL, LOW : REAL | Q : BOOL | |
LIN_TRAFO | IN : REAL, IN_MIN : REAL, IN_MAX : REAL, OUT_MIN : REAL, OUT_MAX : REAL | OUT : REAL, ERROR : BOOL | |
PID | ACTUAL : REAL, SET_POINT : REAL, KP : REAL, TN : REAL, TV : REAL, Y_MIN : REAL, Y_MAX : REAL, MANUAL : BOOL, Y_MANUAL : REAL, RESET : BOOL | Y : REAL, ERROR : REAL, LIMIT_H : BOOL, LIMIT_L : BOOL | |
RAMP | IN : REAL, ASCEND : REAL, DESCEND : REAL, RESET : BOOL | OUT : REAL | |
RS | S : BOOL, R1 : BOOL | Q1 : BOOL | |
R_TRIG | CLK : BOOL | Q : BOOL | |
SR | S1 : BOOL, R : BOOL | Q1 : BOOL | |
TOF | IN : BOOL, PT : TIME | Q : BOOL, ET : TIME | |
TON | IN : BOOL, PT : TIME | Q : BOOL, ET : TIME | |
TP | IN : BOOL, PT : TIME | Q : BOOL, ET : TIME | |
ESEL | function | E : BOOL, VAL : REAL, DEF : REAL | returns REAL: DEF while E, else VAL |
SEL2 | function | G1 : BOOL, G2 : BOOL, IN0 : REAL, IN1 : REAL, IN2 : REAL, IN3 : REAL | returns REAL: one of the four inputs, picked by G2 G1 |
System
Section titled “System”| Block | Called on | Inputs | Outputs |
|---|---|---|---|
RTC | IN : BOOL, PDT : DT | Q : BOOL, CDT : DT | |
TIME | function | returns TIME: the current system time |
CNC_Core
Section titled “CNC_Core”A CNC module, so this is in a project only when the module is.
| Block | Called on | Inputs | Outputs |
|---|---|---|---|
FB_MacroExecutor | Execute : BOOL | Channel : CHANNEL_REF, Enable : BOOL, SubprogramNumber : UDINT, Staged : BOOL | Busy : BOOL, Done : BOOL, Error : BOOL, Blocked : BOOL |
FB_ManualAxisControl | Axis : AXIS_REF | Enable : BOOL, Reset : BOOL, Request : E_AxisRequest, StepMode : E_StepMode, HomeExecute : BOOL, HomeSensor : BOOL, MotionAllowed : BOOL, MpgActive : BOOL, MpgDeltaDistance : LREAL | Ready : BOOL, Error : BOOL, Homed : BOOL, HomeDone : BOOL |
CNC_Mpg
Section titled “CNC_Mpg”A CNC module, so this is in a project only when the module is.
| Block | Called on | Inputs | Outputs |
|---|---|---|---|
FB_QuadDecoder | A : BOOL, B : BOOL | Count : DINT |
The packages this list was read from
Section titled “The packages this list was read from”| Package | Version |
|---|---|
CNC_AutoLevel | 1.0.0 |
CNC_Core | 1.0.0 |
CNC_Mpg | 1.0.0 |
CNC_Probing | 1.0.0 |
Motion_Applications | 1.0.0 |
Motion_Camming | 1.0.0 |
Motion_Channel | 1.0.0 |
Motion_Coordinated | 1.0.0 |
Motion_Core | 1.0.0 |
Motion_Group | 1.0.0 |
Standard | 1.0.0 |
System | 1.0.0 |
Where to go next
Section titled “Where to go next”- Global Variables: the variables the CNC packages publish and read.
- Built-in Functions: what the compiler provides without a package.
- What Your Code Owns: the line between a package and your logic.