[DEPRECATED in version 1.02] The ProductionProgramType will be replaced by the job management defined in OPC 40001-3 in future versions of this specification. Hence the 0:IsDeprecated Reference was added.
The ProductionProgramType is the representation of a program. A program is a list of operations that the controller performs in sequence. It's usually a machine-readable file which is needed for the controller to fulfil the job.
The ProductionProgramType is formally defined in Table 40.
Table 40 – ProductionProgramType Definition
| 
 Attribute  | 
        
 Value  | 
||||
| 
 BrowseName  | 
        
 ProductionProgramType  | 
||||
| 
 IsAbstract  | 
        
 False  | 
||||
| 
 References  | 
        
 Node Class  | 
        
 BrowseName  | 
        
 DataType  | 
        
 TypeDefinition  | 
        
 Other  | 
| 
 Subtype of the 0:BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node  | 
|||||
| 
 0:HasProperty  | 
        
 Variable  | 
        
 Name  | 
        
 0:String  | 
        
 0:PropertyType  | 
        
 M, RO  | 
| 
 0:HasComponent  | 
        
 Object  | 
        
 State  | 
        
 
  | 
        
 ProductionProgramStateMachineType  | 
        
 O  | 
| 
 0:HasInterface  | 
        
 ObjectType  | 
        
 0:IOrderedObjectType  | 
        
 
  | 
        
 
  | 
        
 
  | 
| 
 
  | 
        
 
  | 
        
 
  | 
        
 
  | 
        
 
  | 
        
 
  | 
| 
 Applied from 0:IOrderedObjectType  | 
|||||
| 
 0:HasProperty  | 
        
 Variable  | 
        
 0:NumberInList  | 
        
 0:UInt16  | 
        
 0:PropertyType  | 
        
 M, RO  | 
| 
 0:IsDeprecated  | 
        
 Object  | 
        
 MachineTool_v102  | 
        
 
  | 
        
 0:BaseObjectType  | 
        
 
  | 
| 
 Conformance Units  | 
|||||
| 
 MachineTool MachineToolType Mandatory Nodes  | 
|||||
| 
 MachineTool Production Basic  | 
|||||
The Name is used to distinguish and identify programs on a machine.
State is an instance representation of the ProductionProgramStateMachineType. It indicates the current state the part is in and the transition used to get into this state.
0:NumberInList is used to enumerate ProductionProgramType instances used as list elements. This index shall be 0 for the first list element and increase by one for each subsequent list element. If nodes are deleted from the list or inserted into the list, the 0:NumberInList has to be adjusted for all following nodes in the list, such that the 0:NumberInList elements always form a sequential series of numbers.