Signal Mapping

In the past, machine tool builders typically provided legacy interfaces defined by leading customers in a similar way. Often these interfaces were quasi-standardized as they were integrated in the PLC libraries of the leading control manufacturers. The signal names were often the same.

The following table gives an overview how the standardized variables of OPC 40501-1 could be mapped to these legacy signals.

Legacy Signal

Variables defined by OPC 40501-1 v1.00

Additional variables defined by OPC 40501-1 v1.01

Number of total parts

(Not identical to legacy signal) ProductionStatisticsType/ PartsProducedInLifetime

ProductionJobType/ PartsCompleted

Number of good parts

(Not identical to legacy signal) the information to each part ProductionPartType/ PartQuality

ProductionJobType/ PartsGood

Number of scrap parts

(Not identical to legacy signal) the information to each part ProductionPartType/ PartQuality

Can be calculated directly from

ProductionJobType/ PartsCompleted

minus

ProductionJobType/ PartsGood

Production

ChannelMonitoringType/ ChannelMode

ProductionType ActiveProgram/ CurrentState

ChannelMonitoringType/ FeedOverride

ChannelMonitoringType/ ChannelModifiers

MachineryItemState_StateMachineType/ CurrentState = Executing

AND

MachineryOperationModeStateMachineType/ CurrentState = Processing

Note:

The FeedOverride may also be included.

Motors OFF (Energies OFF)

(Not identical to legacy signal) MachineryItemState_StateMachineType/ CurrentState = OutOfService

Override >=70 to 99

Override >= 100

Override = 0

Override = 100

ChannelMonitoringType/ FeedOverride

as absolute value

Active Program Number

ProductionActiveProgramType/ Name

Automatic Mode

MDA Mode

JOG Mode

ChannelMonitoringType ChannelMode

Start is active

Stop is active

ProductionActiveProgramType/ State/ CurrentState

Spindle running

SpindleMonitoringType/ IsRotating

Program stop in reason of a programmed stop

ChannelMonitoringType/ ChannelModifiers/ OptionalStop

Program aborted in reason of a failure

(incomplete) ProductionActiveProgramType/ CurrentState = Aborted

ProductionActiveProgramType/ CurrentState = Aborted

AND MachineryItemState_StateMachineType/ CurrentState= Processing

AND

MachineryOperationModeStateMachineType/ CurrentState = Processing

Program interrupted in reason of single step

Monitoring/ ChannelModifiers/ SingleStep

Error in general

Occurrence of any Alarm with Severity >= 667

MachineryItemState_StateMachineType/ CurrentState = OutOfService

Technical breakdown

MachineryItemState_StateMachineType/ CurrentState = OutOfService

AND

MachineryOperationModeStateMachineType/ CurrentState = Processing

Organisation breakdown

MachineryItemState_StateMachineType/ CurrentState = NotExecuting

AND

MachineryOperationModeStateMachineType/ CurrentState = Processing

OPC 40501-1 Job Management to OPC 40001-3 Job Management

With version 1.02 of OPC 40501-1, the job management with ProductionJobListType and ProductionActiveProgramType is deprecated. The job management for machine tools is intended to use OPC 40001-3 exclusively in the future.

The following table tries to map the previous 40501-1 variables to the OPC 40001-3 variables. Please note that the general idea for representing jobs, programs and parts in 40501-1 differs from the concept of OPC 40001-3 with job orders, work masters and OPC UA Structures for JobOrderParameters and JobOrderResults.

Most of the table’s contents are derived using section 7 and Annex B.2 of OPC 40001-3.

OPC 40501

OPC 40001-3

ActiveProgram/Name

WorkMaster – ID (ID of ISA95WorkMasterDataType)

ActiveProgram/State

-

ActiveProgram/NumberInList

-

ActiveProgram/JobNodeId

WorkMaster is a Component of ISA95JobOrderReceiverObjectType. Individual JobOrders can reference WorkMasters.

ActiveProgram/JobIdentifier

WorkMaster is a Component of ISA95JobOrderReceiverObjectType. Individual JobOrders can reference WorkMasters.

ProductionPlan/[Job]/CustomerOrderIdentifier

In JobOrderParameters: CustomerOrderNumbers

ProductionPlan/[Job]/Identifier

JobOrderID in ISA95JobOrderReceiverObjectType/JobOrderList

ProductionPlan/[Job]/OrderIdentifier

In JobOrderParameters: OrderNumbers

ProductionPlan/[Job]/PartsCompleted

In JobOrderParameters: ProducedQuantity

ProductionPlan/[Job]/PartsSets/[Set]/Name

Entries for MaterialRequirements in JobOrderDataType for job input

Entries for MaterialActuals in JobResponseDataType for job output

Entries in AsBuiltBOM for job output

ProductionPlan/[Job]/PartsSets/[Set]/PartsPlannedPerRun

Quantity for entries for MaterialRequirements in JobOrderDataType for job input

ProductionPlan/[Job]/PartsSets/[Set]/PartsCompletedPerRun

Quantity for entries for MaterialActuals in JobResponseDataType for job output

ProductionPlan/[Job]/PartsSets/[Set]/PartsPerRun/[Part]/CustomerOrderIdentifier

-

ProductionPlan/[Job]/PartsSets/[Set]/PartsPerRun/[Part]/Name

[same as Identifier]

ItemNumber in entries for MaterialRequirements in JobOrderDataType for job input

ItemNumber in entries for MaterialActuals in JobResponseDataType for job output

ProductionPlan/[Job]/PartsSets/[Set]/PartsPerRun/[Part]/Identifier

[same as name]

ItemNumber in entries for MaterialRequirements in JobOrderDataType for job input

ItemNumber in entries for MaterialActuals in JobResponseDataType for job output

ProductionPlan/[Job]/PartsSets/[Set]/PartsPerRun/[Part]/PartQuality

-

ProductionPlan/[Job]/PartsSets/[Set]/PartsPerRun/[Part]/ProcessIrregularity

Not defined per individual part, but for MaterialActualsProcessIrregularity as Property for the ISA95MaterialDataType

ProductionPlan/[Job]/PartsSets/[Set]/PartsPerRun/[Part]/State

-

ProductionPlan/[Job]/PartsSets/[Set]/ContainsMixedParts

Entries in MaterialRequirements and MaterialActuals allow to represent different kinds of parts

ProductionPlan/[Job]/PartsGood

In JobOrderParameters: GoodQuantity

ProductionPlan/[Job]/ProductionPrograms/[Program]/Name

WorkMaster – ID (ID of ISA95WorkMasterDataType)

ProductionPlan/[Job]/ProductionPrograms/[Program]/State

-

ProductionPlan/[Job]/ProductionPrograms/[Program]/NumberInList

-

ProductionPlan/[Job]/RunsCompleted

In JobOrderParameters: RunsCompleted

ProductionPlan/[Job]/RunsPlanned

In JobOrderParameters: RunsPlanned

ProductionPlan/[Job]/State

Given for a job order with the ISA95JobOrderAndStateDataType / ISA95StateDataType

ProductionPlan/[Job]/NumberInList

-