MceRunInformJobIO

0.1.0

IO data for the MceRunInformJob function.

Version history

0.1.0

  deGroot

Changes

Added:
  • initial release

Overview

nametypedefaultcomment
bExternalConditionsOkBOOL1input: external conditions for running INFORM jobs
bEnableBOOL0input: start INFORM job. Abort job when FALSE
bHoldRestartBOOL0input: hold/restart (uses rising edge)
nJobNumberUSINT0input: job number (0-15), used for switch-case in INFORM job
bIdleBOOLoutput: state machine: idle
bHoldActiveBOOLoutput: state machine: held. INFORM job is paused
bRunningBOOLoutput: state machine: running. INFORM job is active but might be paused
bBusyBOOLoutput: state machine: busy
bDoneBOOLoutput: state machine: done
nSmRunInformUINT0in/out: state machine 1: run INFORM job
nSmHoldUINT0in/out: state machine 2: handle hold/restart/abort

Details

bExternalConditionsOk

BOOL
(default: 1)

Used as input

Chain all required external conditions for running INFORM jobs to this input. Typical conditions are:

  • Machine operating mode
  • Safety circuit OK (fence/light curtains etc.)

Note: internal conditions (e.g. communication ok or pendant keyswitch) are already handled in the function and do not need to be connected here.

bEnable

BOOL
(default: 0)

Used as input

Run the INFORM job.

In a normal scenario, bEnable needs to stay TRUE until the job has completed ( bDone ).

Setting bEnable to FALSE will reset the job:

  • Motion is stopped by a job hold command.
  • A restart is only possible from the beginning of the job.

For pausing the INFORM job, use bHoldRestart .

bHoldRestart

BOOL
(default: 0)

Used as input

A rising edge of this input will hold/restart the INFORM job.

  • If the INFORM job is active, a rising edge on this signal will hold it.
  • If the INFORM job is held ( bHoldActive is TRUE), a rising edge will resume it.

This input can be connected to an HMI momentary button.

Note

Besides this bHoldRestart input, you can also use the green and white button on the classic pendant to hold/restart the INFORM job.

nJobNumber

USINT
(default: 0)

Used as input

Job number (range: 0-15), used for switch-case instruction in INFORM job.

bIdle

BOOL

Used as output

State machine is in idle state.

bHoldActive

BOOL

Used as output

State machine is in held state. INFORM job is paused.

bRunning

BOOL

Used as output

State machine is in running state. INFORM job is active, but might be paused due to a hold.

bBusy

BOOL

Used as input output in/out

State machine is in busy state.

bDone

BOOL

Used as output

The INFORM job has completed. Stays TRUE until MceRunInformJob is reset by switching bEnable to FALSE.

nSmRunInform

UINT
(default: 0)

Used as in/out

State machine 1: run INFORM job.

valueexplanation
0idle, not ready for start
1ready for start
10reset MASTER job (cursor to top)
20start MASTER job
30running MASTER job
40wait until no longer busy
50done

nSmHold

UINT
(default: 0)

Used as in/out

State machine 2: handle hold/restart/abort.

valueexplanation
0idle
10issue hold command
20hold active
30resume

Source code

Declarations

(*IO data for the MceRunInformJob function*)
TYPE MceRunInformJobIO : 

(*
 * -----------------------------------------------------------------------------
 * Name               : MceRunInformJobIO
 * Version            : 0.1.0
 * Date               : 2026-02-23
 * Author             : deGroot
 * Family             : YaskawaMce
 * Organisation       : github.com/YaskawaEurope/mlx-examples
 * 
 * -----------------------------------------------------------------------------
 * IO data for the MceRunInformJob function
 * -----------------------------------------------------------------------------
 *)

STRUCT
  bExternalConditionsOk : BOOL := 1; (*input: external conditions for running INFORM jobs*)
  bEnable : BOOL := 0; (*input: start INFORM job. Abort job when FALSE*)
  bHoldRestart : BOOL := 0; (*input: hold/restart (uses rising edge)*)
  nJobNumber : USINT := 0; (*input: job number (0-15), used for switch-case in INFORM job*)
  bIdle : BOOL; (*output: state machine: idle*)
  bHoldActive : BOOL; (*output: state machine: held. INFORM job is paused*)
  bRunning : BOOL; (*output: state machine: running. INFORM job is active but might be paused*)
  bBusy : BOOL; (*output: state machine: busy*)
  bDone : BOOL; (*output: state machine: done*)
  nSmRunInform : UINT := 0; (*in/out: state machine 1: run INFORM job*)
  nSmHold : UINT := 0; (*in/out: state machine 2: handle hold/restart/abort*)
END_STRUCT
END_TYPE

Pages built with Hugo - 04 Mar 2026 16:05 CET