The ProductionType provides a job management structure to manage the machine capacity utilization and is formally defined in Table 16.
Table 16 – ProductionType Definition
Attribute |
Value |
||||
BrowseName |
ProductionType |
||||
IsAbstract |
false |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
0:HasComponent |
Method |
ChangePositionInList |
|
|
Optional |
0:HasComponent |
Method |
DeleteJob |
|
|
Optional |
0:HasComponent |
Method |
InsertJob |
|
|
Optional |
0:HasComponent |
Object |
ProductionPlan |
|
ProductionPlanType |
Mandatory |
0:HasProperty |
Variable |
JobListIsRecommendation |
0:Boolean |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
MaxCountOfJobs |
0:UInt32 |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
CurrentCountOfJobs |
0:UInt32 |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
SupportedMaterialTypes |
0:NodeId[] |
0:PropertyType |
Optional |
ProductionPlan defines a folder for the placeholders of jobs and keeps all information regarding the jobs. The job list contains all jobs that should be processed with this machine. The jobs are sorted in the ProductionPlan, but that sorting can be changed. If a job is ended, the machine decides which Job will be processed next.
JobListIsRecommendation is a flag which indicates that the sequence in the ProductionPlan is a recommendation. That means that the machine and/or the operator can modify the sequence. If the first job in the sequence is interrupted or idled/queued another job can be processed. The sequence in the JobList is fixed if the flag is false and if the first job cannot be processed, an interaction is necessary.
MaxCountOfJobs contains the maximum amount of jobs, which the server is able to handle within its memory capacity. CurrentCountOfJobs contains the current number of jobs, which are stored on the server at the moment.
SupportedMaterialTypes contains the NodeId of all MaterialTypes (subtypes of the BaseMaterialType) that can be used in this machine.
This method requests a change of the PositionInList to modify the processing order. The new position is specified by the NodeId of another job. If the flag ´before´ is true, the new position is before the given job. If the flag ´before´ is false, the new position will be after the given job. For example, the list contains 3 jobs (job_a, job_b, job_c), if the method is called for job_c with the NodeId of job_a and before is true, the new list is job_c, job_a, job_b. If the same method is called with the flag false, the new list is job_a, job_c, job_b.
The signature of this Method is specified below in Table 17 and Table 18 which specify the Arguments and AddressSpace representation, respectively.
Signature
ChangePositionInList (
[in]LimitedString64Target,
[in]LimitedString64Source,
[in]0:BooleanBefore);
Table 17 – ChangePositionInList Method Arguments
Argument |
Description |
Target |
NodeID of the target job |
Source |
NodeID of the source job |
Before |
Boolean: If it is true the actual Job is moved before the target in list, if it is false the actual Job if moved behind. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4 for a general description. |
Table 18 – ChangePositionInList Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
ChangePositionInList |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
Method to delete a specific job. The HLS sends a deletion request to the machine. As a result, the job is removed from the job list. This is only possible, if the job has been suspended before. Suspend acts as a parking place.
The signature of this Method is specified below in Table 19 and Table 20 which specify the Arguments and AddressSpace representation, respectively.
Signature
DeleteJob (
[in] LimitedString64Identifier
);
Table 19 – DeleteJob Method Arguments
Argument |
Description |
Identifier |
Unique Identifier for the job |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4 for a general description. |
Table 20 – DeleteJob Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
DeleteJob |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
Method to create a new job. HLS creates and sends a job into the job list on the machine. The JobState is suspended (= default job state).
The signature of this Method is specified below in Table 21 and Table 22 which specify the Arguments and AddressSpace representation, respectively.
The AddressSpace definition can be omitted if there are no Properties other than InputArguments and OutputArguments.
Signature
InsertJob (
[in]LimitedString64Identifier,
[in]LimitedString64Name,
[in]0:NodeId[]InputMaterial,
[in]0:NodeId[]OutputMaterial
[out]0:NodeIdJobNodeId
);
Table 21 – InsertJob Method Arguments
Argument |
Description |
Identifier |
Unique ID for the job |
Name |
Human readable name of the job |
InputMaterial |
Optional: Describes the materials to be processed within the job. Can include MaterialBaseType, RawGlassType, (Surface)GlassType |
OutputMaterial |
Optional: Describes the material-result of processing from the materials side. |
JobNodeId |
Optional: NodeId of the new created Job object (subtype of ProductionJobType) |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4 for a general description. |
Table 22 – InsertJob Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
InsertJob |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
0:HasProperty |
Variable |
0:OutputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |