Job ID and job tracking

The PLCopen specification does not specify how the completed message - i.e. the job status - of several jobs commanded one after the other by MC_MovePath can be identified at the "Done", "Busy" or "Active" pins. It only stipulates that the completed message at the “Done” pin of the MC_MovePath may only become active when no more jobs are active – i.e. when the system is “empty”.

The “Done” status is never active when the machine is at maximum utilisation and the commanding channel is in “continuous mode”. The user can assign a job ID (number) to still receive feedback for each of the commanded jobs and each of the status changes for these jobs.
Three blocks are used to command and request jobs:

MCV_GrpPathMode block

This block is optional and acts on the “mode” (operation mode) of the job to be started (=CNC program) (see also Channel operation mode).

MCV_GrpPathPrepare block

The MCV_GrpPathPrepare module adopts this mode and assigns additional job attributes that can be defined by the user, e.g. the job ID which can be specified by the JobID pin. All attributes are transferred via the “PathData” pin to the MC_MovePath block at job start.

MCV_GrpReadJobAck block

The MCV_GrpReadJobAck block is supplied by the “Fb” pin of the MC_MovePath block. On the rising edge, the block signals on the "Valid" output that a new state is displayed. Each job status change to MC_BUSY, MC_STARTED, MC_ABORTED, MC_DONE and MC_ERROR is displayed for each job started by MC_MovePath,. At the same time, each job ID assigned by the user at job start is displayed.

The figure below shows an example of a job with job ID "1" that was originally started by MCV_GrpPathPrepare and has just been completed.
The MCV_GrpReadJobAck module last showed the MC_DONE status of this job with job ID "1".
Previously, this function block first signalled the MC_BUSY status directly after commanding in MC_MovePath, and then the MC_STARTED status after starting in the decoder.
After starting the job with job ID "2", the MC_BUSY status for job ID "2" is readable in MCV_GrpReadJobAck. The statuses MC_STARTED, MC_DONE or, in the event of an error, MC_ABORTED or MC_ERROR, will follow later.

Passing through the job ID from job start through to the display of a job status change
Passing through the job ID from job start through to the display of a job status change

Notice

notice

If MC_MovePath is executed in conjunction with MCV_GrpPathPrepare, MCV_GrpReadJobAck must be called permanently to read out the job statuses.

If this fails to happen, the internal buffers run full and block new commanded jobs.

As an alternative to the PLC blocks MCV_GrpPathPrepare, MC_MovePath and MCV_GrpReadJobAck, there are CNC objects that allow jobs to be enabled and status messages to be read. See CNC objects

Notice

notice

If the MC_MovePath function is triggered by CNC objects, acknowledgements must be read back by the corresponding CNC objects of the MCV_GrpReadJobAck.

If this fails to happen, the internal buffers of the Job Manager run full and block new commanded jobs.

Notice

notice

If MC_MovePath is started from a CNC program, the status of the commanded job can be monitored as in Synchronisation with agent jobs. Its job ID is required when called.