OPC UA Companion-Specification

OPC 30060

OPC UA for Tobacco Machines

 

Release 1.00

2017-11-08

 

 

 

 

 

 

 


Page

 

1     Scope......................................................................................................... 1

2     Reference documents..................................................................................... 1

3     Terms, definitions, and conventions.................................................................... 1

3.1    Use of terms......................................................................................... 1

3.2    OPC UA for TMC Information Model terms................................................... 2

3.2.1    Glossary.................................................................................... 2

3.3    Abbreviations and symbols....................................................................... 2

3.4    Conventions used in this document............................................................. 2

3.4.1    Conventions for Node descriptions.................................................... 2

3.4.2    NodeIds and BrowseNames............................................................ 4

3.4.2.1    NodeIds......................................................................... 4

3.4.2.2    BrowseNames................................................................. 4

3.4.3    Common Attributes....................................................................... 5

3.4.3.1    General......................................................................... 5

3.4.3.2    Objects.......................................................................... 5

3.4.3.3    Variables........................................................................ 5

3.4.3.4    VariableTypes................................................................. 5

4     General information to Tobacco Machine Communication and OPC UA....................... 6

4.1.1    Introduction to Tobacco Machine Communication................................. 6

4.1.2    Introduction to OPC Unified Architecture............................................ 6

4.1.2.1    General......................................................................... 6

4.1.2.2    Graphical Notation............................................................ 7

5     Tobacco Machine Communication Model Overview................................................ 9

5.1    Modeling concepts.................................................................................. 9

5.2    Model Overview................................................................................... 12

6     OPC UA ObjectTypes.................................................................................... 13

6.1    MachineModuleType............................................................................. 13

6.1.1    General.................................................................................... 13

6.1.2    ObjectType definition................................................................... 14

6.1.3    Properties included in DeviceType.................................................. 14

6.1.3.1    Manufacturer................................................................. 14

6.1.3.2    Model.......................................................................... 14

6.1.3.3    RevisionCounter............................................................. 14

6.1.3.4    Serial........................................................................... 14

6.1.4    Additional Objects of the MachineModuleType................................... 14

6.1.4.1    Object LiveStatus........................................................... 14

6.1.4.2    Object Production........................................................... 14

6.1.4.3    Object SetUp................................................................. 15

6.1.4.4    Object Configuration........................................................ 15

6.1.4.5    Object Specification........................................................ 15

6.1.4.6    Object PastSpecificationRecords........................................ 15

6.1.4.7    Object UIInfo................................................................. 15

6.1.4.8    Object <DefectDetectionSensors>...................................... 15

6.1.4.9    Object <MaterialRejectionTraps>........................................ 15

6.1.4.10  Object <MaterialLoadingPoints>......................................... 15

6.1.4.11  Object <MaterialOutputs>................................................. 15

6.2    MachineModuleLiveStatusType................................................................ 16

6.2.1    General.................................................................................... 16

6.2.2    ObjectType definition................................................................... 16

6.2.3    ObjectType Description................................................................ 16

6.2.3.1    Variable ControlMode...................................................... 16

6.2.3.2    Variable IdleEnergySavingMode......................................... 17

6.2.3.3    Variable State................................................................ 17

6.2.3.4    Method SendCommand.................................................... 18

6.2.3.5    Method SetControlMode................................................... 19

6.2.3.6    Method SetIdleEnergySavingMode...................................... 20

6.3    MachineModuleConfigurationType............................................................ 20

6.3.1    General.................................................................................... 20

6.3.2    ObjectType definition................................................................... 21

6.3.3    ObjectType Description................................................................ 21

6.3.3.1    Variable UserMachineName.............................................. 21

6.3.3.2    Variable LocationName.................................................... 21

6.3.3.3    Variable DataSetList........................................................ 21

6.3.3.4    Variable StopReasonList.................................................. 23

6.3.3.5    Variable RootCauseList.................................................... 23

6.3.3.6    Variable RootCauseGroupList............................................ 24

6.3.3.7    Variable LongestMicroStopDuration.................................... 24

6.3.3.8    Variable LastChangeDate................................................. 24

6.3.3.9    Variable RootCauseListInputIsMandatory............................. 24

6.3.3.10  Method GetDatasetList.................................................... 24

6.3.3.11  Method GetRootCauseList................................................ 25

6.3.3.12  Method GetStopReasonList............................................... 25

6.3.3.13  Method GetRootCauseGroupList........................................ 25

6.3.3.14  Method SetRootCauseLists............................................... 26

6.4    MachineModuleSpecificationType............................................................. 26

6.4.1    General.................................................................................... 26

6.4.2    ObjectType definition................................................................... 27

6.4.3    ObjectType Description................................................................ 27

6.4.3.1    Object DocumentationRep................................................ 27

6.4.3.2    Variable MaterialLoadingPoints.......................................... 28

6.4.3.3    Variable MaterialStorageBuffers......................................... 28

6.4.3.4    Variable TotalRunningHours.............................................. 29

6.4.3.5    Variable ValidSince......................................................... 29

6.4.3.6    Method LoadMachineModuleDocumentation.......................... 29

6.4.3.7    Method SetNewSpecification............................................. 29

6.5    MachineModuleHistoricalRecordType........................................................ 30

6.5.1    General.................................................................................... 30

6.5.2    ObjectType definition................................................................... 31

6.5.3    ObjectType Description................................................................ 31

6.5.3.1    Object MachineModuleSpecification.................................... 31

6.5.3.2    Variable ValidUntil.......................................................... 31

6.6    MachineModuleProductionType................................................................ 31

6.6.1    General.................................................................................... 31

6.6.2    ObjectType definition................................................................... 32

6.6.3    ObjectType Description................................................................ 32

6.6.3.1    Variable ProductionOrder................................................. 32

6.6.3.2    Variable ProductionStatus................................................. 32

6.6.3.3    Method StartProductionOrder............................................ 33

6.6.3.4    Method StopProductionOrder............................................. 33

6.7    MachineModuleSetupType...................................................................... 34

6.7.1    General.................................................................................... 34

6.7.2    ObjectType definition................................................................... 34

6.7.3    ObjectType Description................................................................ 34

6.7.3.1    Variable DataSet............................................................ 34

6.7.3.2    Object MachanicalAdjustments.......................................... 35

6.7.3.3    Method ValidateDataSet................................................... 35

6.7.3.4    Method LoadDataSet....................................................... 36

6.7.3.5    Method SelectiveLoadDataSet........................................... 36

6.8    MaterialLoadingPointType....................................................................... 37

6.8.1    General.................................................................................... 37

6.8.2    ObjectType definition................................................................... 38

6.8.3    ObjectType Description................................................................ 38

6.8.4    Properties included in DeviceType.................................................. 38

6.8.4.1    Manufacturer................................................................. 38

6.8.4.2    Model.......................................................................... 38

6.8.4.3    RevisionCounter............................................................. 38

6.8.4.4    Serial........................................................................... 38

6.8.5    Additional Objects of the MaterialLoadingPointType............................ 38

6.8.5.1    Variable LoadingPoint...................................................... 39

6.8.5.2    Variable MaterialIntegrityAgent.......................................... 39

6.8.5.3    Variable ExpectedMaterial................................................ 39

6.8.5.4    Variable TotalLoadedLot................................................... 39

6.8.5.5    Variable ActualConsumptionRate........................................ 39

6.8.5.6    Variable NominalConsumptionRate..................................... 39

6.8.5.7    Variable UpstreamHold.................................................... 39

6.8.5.8    Object UIInfo................................................................. 39

6.8.5.9    Method MaterialIntegrityCheck........................................... 40

6.8.5.10  Method UnloadMaterials................................................... 40

6.9    MaterialStorageBufferType..................................................................... 41

6.9.1    General.................................................................................... 41

6.9.2    ObjectType definition................................................................... 41

6.9.3    Properties included in DeviceType.................................................. 42

6.9.3.1    Manufacturer................................................................. 42

6.9.3.2    Model.......................................................................... 42

6.9.3.3    RevisionCounter............................................................. 42

6.9.3.4    Serial........................................................................... 42

6.9.4    Additional Objects of the MaterialStorageBufferType........................... 42

6.9.4.1    Variable ID.................................................................... 42

6.9.4.2    Variable MES_ID............................................................ 42

6.9.4.3    Variable NonMixing......................................................... 42

6.9.4.4    Variable TotalStorageCapacity........................................... 42

6.9.4.5    Variable StorageLogic...................................................... 42

6.9.4.6    Variable LoadingRate...................................................... 42

6.9.4.7    Variable StoredLot.......................................................... 42

6.9.4.8    Variable UnloadingRate.................................................... 42

6.9.4.9    Object UIInfo................................................................. 43

6.10  MaterialRejectionTrapType..................................................................... 43

6.10.1  General.................................................................................... 43

6.10.2  ObjectType definition................................................................... 44

6.10.3  Properties included in DeviceType.................................................. 44

6.10.3.1  Manufactu..................................................................... 44

6.10.3.2  Model.......................................................................... 44

6.10.3.3  RevisionCounter............................................................. 44

6.10.3.4  Serial........................................................................... 44

6.10.4  Additional Objects of the MaterialRejectionTrapType........................... 44

6.10.4.1  Variable Description........................................................ 44

6.10.4.2  Variable DisplayName...................................................... 44

6.10.4.3  Variable MaterialRejectedRatio.......................................... 45

6.10.4.4  Variable MaterialQuantityRejectedTotal................................ 45

6.10.4.5  Variable MaterialQuantityRejectedMasterTotal....................... 45

6.10.4.6  Variable RejectionCountTotal............................................ 45

6.10.4.7  Variable RejectionCountMasterTotal.................................... 45

6.10.4.8  Variable RejectionMode................................................... 45

6.10.4.9  Variable RejectionRatio.................................................... 45

6.10.4.10 Object UIInfo................................................................. 45

6.10.4.11 Method ResetRejectionTotals............................................ 46

6.10.4.12 Method SetRejectionMode................................................ 46

6.11  DefectDetectionSensorType.................................................................... 46

6.11.1  General.................................................................................... 46

6.11.2  ObjectType Definition.................................................................. 47

6.11.3  Properties included in DeviceType.................................................. 47

6.11.3.1  Manufacturer................................................................. 47

6.11.3.2  Model.......................................................................... 48

6.11.3.3  RevisionCounter............................................................. 48

6.11.3.4  Serial........................................................................... 48

6.11.4  Additional Objects of the DefectDetectionSensorType.......................... 48

6.11.4.1  Variable Description........................................................ 48

6.11.4.2  Variable DetectionCountTotal............................................ 48

6.11.4.3  Variable DetectionCountMasterTotal................................... 48

6.11.4.4  Variable DetectionMode................................................... 48

6.11.4.5  Variable DisplayName...................................................... 48

6.11.4.6  Variable SensorValue...................................................... 48

6.11.4.7  Object UIInfo................................................................. 49

6.11.4.8  Method LoadReferenceImages........................................... 49

6.11.4.9  Method ResetDetectionCountTotal...................................... 49

6.11.4.10 Method SetDetectionMode................................................ 49

6.12  MaterialOutputType............................................................................... 50

6.12.1  General.................................................................................... 50

6.12.2  ObjectType Definition.................................................................. 51

6.12.3  Properties included in DeviceType.................................................. 51

6.12.3.1  Manufacturer................................................................. 51

6.12.3.2  Model.......................................................................... 51

6.12.3.3  RevisionCounter............................................................. 51

6.12.3.4  Serial........................................................................... 51

6.12.4  Additional Objects of the MaterialOutputType.................................... 51

6.12.4.1  Variable UnloadPoint....................................................... 51

6.12.4.2  Variable DownstreamHeld................................................. 51

6.12.4.3  Variable OutputRate........................................................ 52

6.12.4.4  Variable TotalOutput....................................................... 52

6.12.4.5  Variable MasterTotalOutput............................................... 52

6.12.4.6  Object UIInfo................................................................. 52

6.12.4.7  Method ResetTotal.......................................................... 52

6.13  ControlsHWType.................................................................................. 52

6.13.1  General.................................................................................... 52

6.13.2  ObjectType Definition.................................................................. 53

6.13.3  Properties included in DeviceType.................................................. 53

6.13.3.1  Manufacturer................................................................. 54

6.13.3.2  Model.......................................................................... 54

6.13.3.3  RevisionCounter............................................................. 54

6.13.3.4  Serial........................................................................... 54

6.13.4  Additional Objects of the ControlsHWType........................................ 54

6.13.4.1  Variable IOImageIsSupported............................................ 54

6.13.4.2  Variable LiveStreamIsSupported........................................ 54

6.13.4.3  Variable RemoteConnectionIsSupported.............................. 54

6.13.4.4  Variable ScreenshotIsSupported........................................ 54

6.13.4.5  Variable SystemDumpIsSupported...................................... 54

6.13.4.6  Variable IOImage............................................................ 54

6.13.4.7  Method GetIOImage........................................................ 56

6.13.4.8  Method GetLiveStream.................................................... 57

6.13.4.9  Method GetRemoteConnection.......................................... 57

6.13.4.10 Method GetScreenshot.................................................... 57

6.13.4.11 Method GetSupportedFeatures.......................................... 58

6.13.4.12 Method GetSystemDump.................................................. 59

6.14  ControlsSWType.................................................................................. 59

6.14.1  General.................................................................................... 59

6.14.2  ObjectType Definition.................................................................. 60

6.14.3  Properties included in DeviceType.................................................. 60

6.14.3.1  Manufacturer................................................................. 60

6.14.3.2  Model.......................................................................... 60

6.14.3.3  RevisionCounter............................................................. 60

6.14.3.4  Serial........................................................................... 60

6.14.4  Additional Objects of the ControlsSWType........................................ 60

6.14.4.1  Variable InstallSoftwarePackageRemotelyIsSupported............. 60

6.14.4.2  Variable SoftwarePackageRepositoryIsSupported................... 60

6.14.4.3  Method InstallSoftwarePackageRemotely............................. 60

6.14.4.4  Method GetSupportedFeatures.......................................... 61

6.14.4.5  Method TransferSoftwarePackageFromRepository.................. 61

6.14.4.6  Method TransferSoftwarePackageToRepository..................... 62

6.15  TMCServerType................................................................................... 62

6.15.1  General.................................................................................... 62

6.15.2  ObjectType Definition.................................................................. 63

6.15.3  ObjectType Description................................................................ 63

6.15.3.1  Variable AggregatedServers.............................................. 63

6.15.3.2  Variable Aggregating....................................................... 63

6.15.3.3  Method GetTMCImplementedLevel..................................... 64

6.15.3.4  Method SetServerTime.................................................... 65

6.16  UIInformationType................................................................................ 66

6.16.1  General.................................................................................... 66

6.16.2  ObjectType Definition.................................................................. 67

6.16.3  ObjectType Description................................................................ 67

6.16.3.1  Variable PositionX.......................................................... 67

6.16.3.2  Variable PositionY.......................................................... 67

6.16.3.3  Variable Width............................................................... 67

6.16.3.4  Variable Resizable.......................................................... 67

6.16.3.5  Object UIResources........................................................ 67

6.17  UserInterfaceType................................................................................ 67

6.17.1  General.................................................................................... 67

6.17.2  ObjectType Definition.................................................................. 68

6.17.3  ObjectType Description................................................................ 68

6.17.3.1  Variable ControlPanelVURO.............................................. 68

6.17.3.2  Variable ControlPanelVURW............................................. 69

6.17.3.3  Variable KPIVU.............................................................. 69

6.17.3.4  Variable LoopVUReferences.............................................. 69

6.17.3.5  Variable OverVU............................................................ 69

6.17.3.6  Variable ZoomedVU........................................................ 69

6.18  ProcessItemType.................................................................................. 69

6.18.1  General.................................................................................... 69

6.18.2  ObjectType Definition.................................................................. 70

6.18.3  Objects and Properties of the ProcessItemType................................. 70

6.18.3.1  Variable DisplayFormat.................................................... 70

6.18.3.2  Variable EffectivePrecision............................................... 70

6.18.3.3  Variable HH.................................................................. 70

6.18.3.4  Variable H..................................................................... 70

6.18.3.5  Variable L..................................................................... 70

6.18.3.6  Variable LL................................................................... 70

6.18.3.7  Variable AnalogMeasurement............................................ 70

6.18.3.8  Variable EngineeringUnits................................................. 70

6.18.3.9  Object UIInfo................................................................. 71

6.19  LogbookEvent...................................................................................... 71

6.19.1  LogbookEvent Definition............................................................... 71

6.19.2  ControlModeChangeLogType......................................................... 71

6.19.3  DataSetChangeLogType............................................................... 72

6.19.4  DefectDetectedLogType............................................................... 72

6.19.5  DefectDetectionSensorDisabledLogType.......................................... 73

6.19.6  DowntimeLogType...................................................................... 73

6.19.7  GoodOutputProducedLogType....................................................... 73

6.19.8  LoadingPointIsUnloadedLogType.................................................... 74

6.19.9  MachineModuleSpecificationChangeLogType.................................... 74

6.19.10 MaterialIsConsumedLogType......................................................... 74

6.19.11 MaterialRejectedLogType............................................................. 75

6.19.12 MaterialRejectionTrapDisabledLogType............................................ 75

6.19.13 MaterialUnloadingIsRequiredLogType.............................................. 75

6.19.14 NewSystemDumpIsGeneratedLogType............................................. 76

6.19.15 POChangeLogType..................................................................... 76

6.19.16 RootCauseListChangeLogType...................................................... 76

6.19.17 RootCauseGroupListChangeLogType.............................................. 76

6.19.18 StateChangeLogType.................................................................. 77

6.19.19 StopReasonListChangeLogType..................................................... 77

6.19.20 IntegrityRejectedMaterialLogType................................................... 78

6.19.21 NewPresentedMaterialLogType...................................................... 78

6.19.22 ProductionLogType..................................................................... 78

7     OPC UA Reference Types.............................................................................. 79

7.1    General.............................................................................................. 79

7.2    FlowsTo Reference Type........................................................................ 79

7.3    IsControlledBy Reference Type................................................................ 80

7.4    IsInstalledOn Reference Type.................................................................. 80

7.5    Precedes Reference Type....................................................................... 80

7.6    TriggersRejection Reference Type............................................................ 80

7.7    ConnectsTo Reference Type................................................................... 80

7.8    HasUIShapeSelector ReferenceType......................................................... 80

7.9    IsDisplayedBy ReferenceType................................................................. 81

8     OPC UA VariableTypes................................................................................. 82

8.1    MaterialQuantityType............................................................................. 82

8.1.1    General.................................................................................... 82

8.1.2    VariableType Definition................................................................ 83

8.1.3    Properties included in DataItemType............................................... 83

8.1.3.1    ValuePrecision............................................................... 83

8.1.4    Additional Objects of the MaterialQuantityType.................................. 83

8.1.4.1    Variable DisplayFormat.................................................... 83

8.1.4.2    Variable EngineeringUnits................................................. 83

8.2    MaterialQuantitiesType.......................................................................... 83

8.2.1    General.................................................................................... 83

8.2.2    VariableType Definition................................................................ 84

8.2.3    Properties included in MaterialQuantityType...................................... 84

8.2.4    Additional Objects of the MaterialQuantitiesType................................ 84

8.2.4.1    Variable QuantityInLUoM.................................................. 84

8.3    MaterialLotType................................................................................... 84

8.3.1    General.................................................................................... 84

8.3.2    VariableType Definition................................................................ 84

8.3.3    Properties included in MaterialQuantitiesType.................................... 84

8.3.4    Additional Objects of the MaterialLotType......................................... 85

8.3.4.1    Variable Material............................................................ 85

8.4    MaterialRateType................................................................................. 85

8.4.1    General.................................................................................... 85

8.4.2    VariableType Definition................................................................ 85

8.4.3    Properties included in MaterialQuantitiesType.................................... 85

9     Profiles and Namespaces............................................................................... 86

9.1    Namespace Metadata............................................................................ 86

9.2    OPC UA Conformance Units and Profiles................................................... 86

9.2.1    Server Facets............................................................................ 86

9.2.2    Client Facets............................................................................. 87

9.3    Handling of OPC UA namespaces............................................................. 87

Annex A (normative): TMC Namespace and Mappings................................................ 89

A.1    Namespace and identifiers for TMC Information Model................................... 89

A.2    Profile URIs for TMC Information Model..................................................... 89

 


 

Figures

Figure 1 – OPC UA Graphical Notation for NodeClasses............................................... 7

Figure 2 – OPC UA Graphical Notation for References................................................. 8

Figure 3 – OPC UA Graphical Notation Example......................................................... 8

Figure 4 – Maker Reference Diagram....................................................................... 9

Figure 5 – Product Flow in the Maker Reference Diagram........................................... 10

Figure 6 –Control architecture in the Maker Reference Diagram.................................... 11

Figure 7 – Instances vs Types in the Maker Reference Diagram.................................... 12

Figure 8 – MachineModuleType overview................................................................ 13

Figure 9 – MachineModuleLiveStatusType overview................................................... 16

Figure 10 – MachineModuleConfigurationType overview............................................. 20

Figure 11 – Subsetting with UserSubset and Dependency........................................... 23

Figure 12 – MachineModuleSpecificationType overview.............................................. 27

Figure 13 – MachineModuleHistoricalRecordType overview......................................... 30

Figure 14 – MachineModuleProductionType overview................................................. 31

Figure 15 – MachineModuleSetupType overview....................................................... 34

Figure 16 – MaterialLoadingPointType overview........................................................ 37

Figure 17 – MaterialStorageBufferType overview....................................................... 41

Figure 18 – MaterialRejectionTrapType overview...................................................... 43

Figure 19 – DefectDetectionSensorType overview..................................................... 47

Figure 20 – MaterialOutputType overview................................................................ 50

Figure 21 – ControlsHWType overview................................................................... 53

Figure 22 – ControlsSWType overview................................................................... 59

Figure 23 – TMCServerType overview.................................................................... 63

Figure 24 – UIInformationType overview................................................................. 66

Figure 25 – UserInterfaceType overview................................................................. 68

Figure 26 – ProcessItemType overview................................................................... 70

Figure 27 – Reference Type Hierarchy.................................................................... 79

Figure 28 – MaterialQuantityType overview.............................................................. 82

 

 

 

Tables

Table 1 – Type Definition Table.............................................................................. 2

Table 2 – Examples of DataTypes........................................................................... 3

Table 3 – Common Node Attributes......................................................................... 5

Table 4 – Common Object Attributes........................................................................ 5

Table 5 – Common Variable Attributes..................................................................... 5

Table 6 – Common VariableType Attributes............................................................... 5

Table 7 – MachineModuleType Definition................................................................ 14

Table 8 – MachineModuleLiveStatusType Definition................................................... 16

Table 9 – ControlModeEnumeration Definition.......................................................... 17

Table 10 – StateEnumeration Definition.................................................................. 17

Table 11 – CommandEnumeration Definition............................................................ 18

Table 12 – MethodExecutionFeedbackType Definition................................................ 19

Table 13 – MessageType Definition....................................................................... 19

Table 14 – MachineModuleConfigurationType Definition.............................................. 21

Table 15 – DataSetListType Definition.................................................................... 22

Table 16 – DataDescriptionType Definition.............................................................. 22

Table 17 – ParameterDependencyEnumeration Definition............................................ 23

Table 18 – RootCauseMessageType Definition......................................................... 23

Table 19 – RootCauseGroupType Definition............................................................. 24

Table 20 – MachineModuleSpecificationType Definition.............................................. 27

Table 21 – LoadUnloadPointType Definition............................................................. 28

Table 22 – MaterialType Definition......................................................................... 28

Table 23 – MaterialStorageBufferDataType Definition................................................. 28

Table 24 – StorageLogicEnumeration Definition........................................................ 29

Table 25 – MachineModuleHistoricalRecordType Definition.......................................... 31

Table 26 – MachineModuleProductionType Definition................................................. 32

Table 27 – POType Definition............................................................................... 32

Table 28 – ProductionStatusEnumeration Definition................................................... 32

Table 29 – MachineModuleSetupType Definition....................................................... 34

Table 30 – DataSetType Definition......................................................................... 35

Table 31 – DataSetEntryType Definition.................................................................. 35

Table 32 – MaterialLoadingPointType Definition........................................................ 38

Table 33 – MaterialIntegrityAgentEnumeration Definition............................................. 39

Table 34 – MaterialStorageBufferType Definition....................................................... 41

Table 35 – MaterialRejectionTrapType Definition....................................................... 44

Table 36 – DefectDetectionSensorType Definition..................................................... 47

Table 37 – MaterialOutputType Definition................................................................ 51

Table 38 – ControlsHWType Definition.................................................................... 53

Table 39 – IOPointType Definition......................................................................... 54

Table 40 – IOValueType Definition......................................................................... 55

Table 41 – IOMetaType Definition.......................................................................... 55

Table 42 – IOTypeEnumeration Definition................................................................ 56

Table 43 – ControlsHWFeaturesEnumeration Definition.............................................. 58

Table 44 – ControlsSWType Definition.................................................................... 60

Table 45 – ControlsSWFeaturesEnumeration Definition.............................................. 61

Table 46 – TMCServerType Definition.................................................................... 63

Table 47 – TMCImplementedLevelEnumeration Definition........................................... 64

Table 48 – UIInformationType Definition.................................................................. 67

Table 49 – UserInterfaceType Definition.................................................................. 68

Table 50 – ProcessItemType Definition................................................................... 70

Table 51 – LogbookEvent Type Definition................................................................ 71

Table 52 – ControlModeChangeLogType Definition.................................................... 72

Table 53 – DataSetChangeLogType Definition.......................................................... 72

Table 54 – DefectDetectedLogType Definition.......................................................... 72

Table 55 – DefectDetectionSensorDisabledLogType Definition..................................... 73

Table 56 – DowntimeLogType Definition................................................................. 73

Table 57 – GoodOutputProducedLogType Definition.................................................. 73

Table 58 – LoadingPointIsUnloadedLogType Definition............................................... 74

Table 59 – MachineModuleSpecificationChangeLogType Definition................................ 74

Table 60 – MaterialIsConsumedLogType Definition.................................................... 74

Table 61 – MaterialRejectedLogType Definition........................................................ 75

Table 62 –  MaterialRejectionTrapDisabledLogType Definition...................................... 75

Table 63 –  MaterialUnloadingIsRequiredLogType Definition........................................ 75

Table 64 –  NewSystemDumpIsGeneratedLogType Definition....................................... 76

Table 65 –  POChangeLogType Definition............................................................... 76

Table 66 –  RootCauseListChangeLogType Definition................................................. 76

Table 67 –  RootCauseListChangeLogType Definition................................................. 77

Table 68 –  StateChangeLogType Definition............................................................. 77

Table 69 –  StopReasonListChangeLog Definition..................................................... 77

Table 70 –  IntegrityRejectedMaterialLogType Definition............................................. 78

Table 71 –  NewPresentedMaterialLogType Definition................................................ 78

Table 72 –  ProductionLogType Definition................................................................ 78

Table 73 – MaterialQuantityType Definition.............................................................. 83

Table 74 – MaterialQuantitiesType Definition............................................................ 84

Table 75 – MaterialLotType Definition..................................................................... 84

Table 76 – MaterialRateType Definition................................................................... 85

Table 77 – NamespaceMetadata Object for this Specification....................................... 86

Table 78 – TMC Server Facet Definition.................................................................. 86

Table 79 – TMC Client Facet Definition................................................................... 87

Table 80 – Namespaces used in a TMC OPC UA Server............................................. 88

Table 81 – Namespaces used in this specification..................................................... 88

Table 82 – Profile URIs....................................................................................... 89


TMC / OPC Foundation

____________

 

AGREEMENT OF USE

COPYRIGHT RESTRICTIONS

·       This document is provided "as is" by the OPC Foundation and the TMC.

·       Right of use for the Mapping Document is restricted to the Mapping Document.

·       Right of use for the Mapping Document will be granted without cost.

·       The Mapping Document may be distributed through computer systems, printed or copied as long as the content remains unchanged and the document is not modified.

·       OPC Foundation and TMC do not guarantee usability for any purpose and shall not be made liable for any case using the content of this document.

·       The user of the document agrees to indemnify OPC Foundation and TMC and their officers, directors and agents harmless from all demands, claims, actions, losses, damages (including damages from personal injuries), costs and expenses (including attorneys' fees) which are in any way related to activities associated with its use of content from the Mapping Document.

·       The document shall not be used in conjunction with company advertising, shall not be sold or licensed to any party.

·       The intellectual property and copyright is solely owned by the OPC Foundation and TMC.

 

PATENTS

The attention of adopters is directed to the possibility that compliance with or adoption of OPC or TMC specifications may require use of an invention covered by patent rights. OPC Foundation or TMC shall not be responsible for identifying patents for which a license may be required by any OPC or TMC specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OPC or TMC specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.

WARRANTY AND LIABILITY DISCLAIMERS

WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE OPC FOUDATION NOR TMC WORKING GROUP MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OPC FOUNDATION NOR TMC WORKING GROUP BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The entire risk as to the quality and performance of software developed using this specification is borne by you.

RESTRICTED RIGHTS LEGEND

This Specification is provided with Restricted Rights. Use, duplication or disclosure by the U.S. government is subject to restrictions as set forth in (a) this Agreement pursuant to DFARs 227.7202-3(a); (b) subparagraph (c)(1)(i) of the Rights in Technical Data and Computer Software clause at DFARs 252.227-7013; or (c) the Commercial Computer Software Restricted Rights clause at FAR 52.227-19 subdivision (c)(1) and (2), as applicable. Contractor / manufacturer are the OPC Foundation, 16101 N. 82nd Street, Suite 3B, Scottsdale, AZ, 85260-1830

COMPLIANCE

The combination of TMC and OPC Foundation shall at all times be the sole entities that may authorize developers, suppliers and sellers of hardware and software to use certification marks, trademarks or other special designations to indicate compliance with these materials as specified within this document. Products developed using this specification may claim compliance or conformance with this specification if and only if the software satisfactorily meets the certification requirements set by TMC or the OPC Foundation. Products that do not meet these requirements may claim only that the product was based on this specification and must not claim compliance or conformance with this specification.

Trademarks

Most computer and software brand names have trademarks or registered trademarks. The individual trademarks have not been listed here.

GENERAL PROVISIONS

Should any provision of this Agreement be held to be void, invalid, unenforceable or illegal by a court, the validity and enforceability of the other provisions shall not be affected thereby.

This Agreement shall be governed by and construed under the laws of Germany.

This Agreement embodies the entire understanding between the parties with respect to, and supersedes any prior understanding or agreement (oral or written) relating to, this specification.


1     Scope

This specification was created by a joint working group of the OPC Foundation and TMC. It defines an OPC UA Information Model to represent the TMC models.

OPC Foundation

The OPC Foundation defines standards for online data exchange between automation systems. They address access to current data (OPC DA), alarms and events (OPC A&E) and historical data (OPC HDA). Those standards are successfully applied in industrial automation.

The new OPC Unified Architecture (OPC UA) unifies the existing standards and brings them to state-of-the-art technology using service-oriented architecture (SOA). Platform-independent technology allows the deployment of OPC UA beyond current OPC applications only running on Windows-based PC systems. OPC UA can also run on embedded systems as well as Linux / UNIX based enterprise systems. The provided information can be generically modelled and therefore arbitrary information models can be provided using OPC UA.

TMC Working Group

The Tobacco Machine Communication (TMC) Working Group was formed to help secondary machine manufacturers design their machines to meet the harmonised requirements of its clients, both in terms of machine-to-machine communication and in terms of machine-to-manufacturing system communication.

At the time of writing the TMC Working Group consists of the following members:

     British American Tobacco

     Imperial Tobacco Group

     JT International

     Philip Morris International

2     Reference documents

OPC 10000-1, OPC Unified Architecture - Part 1: Overview and Concepts

OPC 10000-3, OPC Unified Architecture - Part 3: Address Space Model

OPC 10000-4, OPC Unified Architecture - Part 4: Services

OPC 10000-5, OPC Unified Architecture - Part 5: Information Model

OPC 10000-6, OPC Unified Architecture - Part 6: Mappings

OPC 10000-7, OPC Unified Architecture - Part 7: Profiles

OPC 10000-8, OPC Unified Architecture - Part 8: Data Access

OPC 10000-9, OPC Unified Architecture - Part 9: Alarms and Conditions

OPC 10000-11, OPC Unified Architecture - Part 11: Historical Access

3     Terms, definitions, and conventions

3.1   Use of terms

Defined terms of OPC UA specifications, types and their components defined in OPC UA specifications and in this specification are highlighted with italic in this document.

3.2      OPC UA for TMC Information Model terms

3.2.1   Glossary

 

Term

Explanation

Machine Module

A mechanical artifact that performs a single elementary process step in manufacturing cigarettes, e.g. hopper, rod maker, etc.

Workcentre

A set of machine modules connected to each other so that the finished product can be progressively assembled while materials flow through.

End User

An organisation that runs one or more workcentres to produce cigarettes.

OEM

Original Equipment Manufacturer: a manufacturer of machine modules.

Downtime

A period of time when a machine module is not available for production, e.g. because of a malfunction.

Stop Reason

A message that is reported by the control system of a machine module when a malfunction occurs.

Root Cause

The root cause that caused a malfunction and the consequent downtime.

State Machine

A common approach to control machine modules by means of defining states and transitions. Machine modules perform a function indefinitely in a state. Transitions occur on phsycial and logical conditions.

Energy saving mode

An automatic mode of operation for a machine module that reduces the energy consumption.

Parameter

A piece of information that affects the operation of a machine module.

Validation

The process that verifies that a machine module can operate under a certain set of parameters.

Underlying System

The system that the OPC UA Server is interfacing to higher-level systems like SCADA, MES.

 

 

3.3      Abbreviations and symbols

A&E            Alarms & Events

ANSI           American National Standards Institute

API             Application Program Interface

DA              Data Access

HDA            Historical Data Access

HMI             Human-Machine Interface

IEC             International Electrotechnical Commission

IP               Internet Protocol - RFC 791

ISO             International Organization for Standardization

LAN            Local Area Network

MES            Manufacturing Execution System

MoM           Manufacturing Operation Management

NaN            "Not a Number", a unique binary pattern representing an invalid number

                  (see ANSI/IEEE 754-1985)

NAT            Network Address Translation - RFC 2663

UA              Unified Architecture

UTC            Universal Time Coordinated

XML            Extensible Markup Language

 

3.4      Conventions used in this document

3.4.1   Conventions for Node descriptions

Node definitions are specified using tables (See Table 1)

Table 1 – Type Definition Table

Name

Value

 

 

 

 

Attribute name

Attribute value. If it is an optional Attribute that is not set “--“ will be used.

 

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

ReferenceType name

NodeClass of the TargetNode.

BrowseName of the target Node. If the Reference is to be instantiated by the server, then the value of the target Node’s BrowseName is “--“.

Attributes of the referenced Node, only applicable for Variables and Objects.

 

Referenced ModellingRule of the referenced Object.

Notes –

Notes referencing footnotes of the table content.

 

Attributes are defined by providing the Attribute name and a value, or a description of the value.

References are defined by providing the ReferenceType name, the BrowseName of the TargetNode and its NodeClass.

·      If the TargetNode is a component of the Node being defined in the table the Attributes of the composed Node are defined in the same row of the table. That implies that the referenced Node has a HasModelParent Reference with the Node defined in the Table as TargetNode (see OPC 10000-3 for the definition of ModelParents).

·      The DataType is only specified for Variables; “[<number>]” indicates a single-dimensional array, for multi-dimensional arrays the expression is repeated for each dimension (e.g. [2][3] for a two-dimensional array). For all arrays the ArrayDimensions is set as identified by <number> values. If no <number> is set, the corresponding dimension is set to 0, indicating an unknown size. If no number is provided at all the ArrayDimensions can be omitted. If no brackets are provided, it identifies a scalar DataType and the ValueRank is set to the corresponding value (see OPC 10000-3). In addition, ArrayDimensions is set to null or is omitted. If it can be Any or ScalarOrOneDimension, the value is put into “{<value>}”, so either “{Any}” or “{ScalarOrOneDimension}” and the ValueRank is set to the corresponding value (see OPC 10000-3) and the ArrayDimensions is set to null or is omitted. In Table 2 examples are given.

Table 2 – Examples of DataTypes

Notation

Data­Type

Value­Rank

Array­Dimensions

Description

Int32

Int32

-1

omitted or NULL

A scalar Int32

Int32[]

Int32

1

omitted or {0}

Single-dimensional array of Int32 with an unknown size

Int32[][]

Int32

2

omitted or {0,0}

Two-dimensional array of Int32 with unknown sizes for both dimensions

Int32[3][]

Int32

2

{3,0}

Two-dimensional array of Int32 with a size of 3 for the first dimension and an unknown size for the second dimension

Int32[5][3]

Int32

2

{5,3}

Two-dimensional array of Int32 with a size of 5 for the first dimension and a size of 3 for the second dimension

Int32{Any}

Int32

-2

omitted or NULL

An Int32 where it is unknown if it is scalar or  array with any number of dimensions

Int32{ScalarOrOneDimension}

Int32

-3

omitted or NULL

An Int32 where it is either a single-dimensional array or a scalar

 

·      The TypeDefinition is specified for Objects and Variables.

·      The TypeDefinition column specifies a NodeId of a TypeDefinitionNode, i.e. the specified Node points with a HasTypeDefinition Reference to the corresponding TypeDefinitionNode. The symbolic name of the NodeId is used in the table.

·      The ModellingRule of the referenced component is provided by specifying the symbolic name of the rule in the ModellingRule column. In the AddressSpace, the Node shall use a HasModellingRule Reference to point to the corresponding ModellingRule Object.

If the NodeId of a DataType is provided, the symbolic name of the Node representing the DataType shall be used.

Nodes of all other NodeClasses cannot be defined in the same table; therefore only the used ReferenceType, their NodeClass and their BrowseName are specified. A reference to another of this document points to their definition.

If no components are provided, the DataType, TypeDefinition and ModellingRule columns may be omitted and only a Comment column is introduced to point to the Node definition.

Components of Nodes can be complex, i.e. containing components by themselves. The TypeDefinition, NodeClass, DataType and ModellingRule can be derived from the type definitions, and the symbolic name can be created as defined in 3.4.2.1. Therefore those containing components are not explicitly specified; they are implicitly specified by the type definitions.

3.4.2   NodeIds and BrowseNames

3.4.2.1   NodeIds

The NodeIds of all Nodes described in this document are only symbolic names. Annex A defines the actual NodeIds.

The symbolic name of each Node defined in this document is its BrowseName, or, when it is part of another Node, the BrowseName of the other Node, a “.”, and the BrowseName of itself. In this case “part of” means that the whole has a HasProperty or HasComponent Reference to its part. Since all Nodes not being part of another Node have a unique name in this document, the symbolic name is unique.

The namespace for this specification is defined in Annex A. The NamespaceIndex for all NodeIds defined in this specification is server specific and depends on the position of the namespace URI in the server namespace table.

Note: This specification does not only define concrete Nodes, but also requires that some Nodes have to be generated, for example one for each device type available in the frame application. The NodeIds of those Nodes are server-specific, including the Namespace. But the NamespaceIndex of those Nodes cannot be the NamespaceIndex used for the Nodes defined by this specification, because they are not defined by this specification but generated by the Server.

3.4.2.2   BrowseNames

The text part of the BrowseNames for all Nodes defined in this specification is specified in the tables defining the Nodes. The NamespaceIndex for all BrowseNames defined in this specification is server specific and depends on the position of the namespace URI defined in this specification in the server namespace table.

If the BrowseName is not defined by this specification, a namespace index prefix like ‘0:EngineeringUnits’ is added to the BrowseName. This is typically necessary if a Property of another specification is overwritten or used in the OPC UA types defined in this specification. Table 81 provides a list of namespaces used in this specification.

3.4.3   Common Attributes

3.4.3.1   General

For all Nodes specified in this specification, the Attributes named in Table 3 shall be set as specified in the table.

Table 3 – Common Node Attributes

Attribute

Value

DisplayName

The DisplayName is a LocalizedText. Each server shall provide the DisplayName identical to the BrowseName of the Node for the LocaleId “en”. Whether the server provides translated names for other LocaleIds is vendor specific.

Description

Optionally a vendor specific description is provided

NodeClass

Shall reflect the NodeClass of the Node

NodeId

The NodeId is described by BrowseNames as defined in 3.4.2.1 and defined in Annex A.

WriteMask

Optionally the WriteMask Attribute can be provided. If the WriteMask Attribute is provided, it shall set all Attributes to not writeable that are not said to be vendor-specific. For example, the Description Attribute may be set to writeable since a Server may provide a server-specific description for the Node. The NodeId shall not be writeable, because it is defined for each Node in this specification.

UserWriteMask

Optionally the UserWriteMask Attribute can be provided. The same rules as for the WriteMask Attribute apply.

 

3.4.3.2   Objects

For all Objects specified in this specification, the Attributes named in Table 4 shall be set as specified in the table.

Table 4 – Common Object Attributes

Attribute

Value

EventNotifier

Whether the Node can be used to subscribe to Events or not is vendor specific

 

3.4.3.3   Variables

For all Variables specified in this specification, the Attributes named in Table 5 shall be set as specified in the table.

Table 5 – Common Variable Attributes

Attribute

Value

MinimumSamplingInterval

Optionally, a vendor-specific minimum sampling interval is provided

AccessLevel

The access level for Variables used for type definitions is vendor-specific, for all other Variables defined in this part, the access level shall allow a current read; other settings are vendor specific.

UserAccessLevel

The value for the UserAccessLevel Attribute is vendor-specific. It is assumed that all Variables can be accessed by at least one user.

Value

For Variables used as InstanceDeclarations, the value is vendor-specific; otherwise it shall represent the value described in the text.

ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behaviour is vendor-specific.

If the ValueRank specifies an array of a specific dimension (i.e. ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the Variable.

 

3.4.3.4   VariableTypes

For all VariableTypes specified in this specification, the Attributes named in Table 6 shall be set as specified in the table.

Table 6 – Common VariableType Attributes

Attributes

Value

Value

Optionally a vendor-specific default value can be provided

ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behaviour is vendor-specific.

If the ValueRank specifies an array of a specific dimension (i.e. ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the VariableType.

 

 

 

4   General information to Tobacco Machine Communication and OPC UA

4.1.1   Introduction to Tobacco Machine Communication

Secondary tobacco machines produce cigarettes and pack them ready for shipping as required by the product specification which consists of a complex bill of materials. Secondary tobacco machines produce different brands, i.e. product specifications, in production lots or batches.

A given secondary tobacco machine ordinarily produces different brands, sometimes within the same day: flexibility is a necessary requirement. Switching from brand to brand on the same machine, called brand change, sometimes requires mechanical adjustments which take several hours of highly skilled technicians’ time and is followed by a production ramp up to tune the machine to the required efficiency for the new brand.

Brands differ because of the different materials, tobacco and non-tobacco making up the shipping goods. Thus brand integrity, i.e. making sure that the finished product is made of the specified materials, is of paramount importance.

Modern secondary machines (maker, packer, filter maker, wrapper, overwrapper, case packer) are high production volume machines provided with state-of-the-art motion controls and organized in a group called workcentre to perform the full secondary production process. Within one workcentre, secondary machines are regularly provided by different OEMs and work together because highly modular in their mechanical design. Within a workcentre older generation machines are often found due to the machines’ long life-cycle. Each machine has its own HMI (sometimes more than one) and control system which sometimes is proprietary (older generations) or legacy.

Other systems (MES, MOM, SCADA, etc.) are required to exchange information with the machines primarily in the areas of production specification, performance and quality.

In most tobacco factories, the information exchange with such a varied landscape of machine is not harmonized in terms of (a) information content, (b) communication mechanism and (c) data format and structures. As a consequence, interoperability and flexibility is very limited making development efforts for integration is huge.

The TMC Working group have set out for the present companion specification to be a significant step in the direction of specifying how to have an interoperable shop floor equipment for cigarette manufacturing.

4.1.2   Introduction to OPC Unified Architecture

4.1.2.1   General

The main use case for OPC standards is the online data exchange between devices and HMI or SCADA systems using Data Access functionality. In this use case the device data is provided by an OPC server and is consumed by an OPC client integrated into the HMI or SCADA system. OPC DA provides functionality to browse through a hierarchical namespaces containing data items and to read, write and to monitor these items for data changes. The classic OPC standards are based on Microsoft COM/DCOM technology for the communication between software components from different vendors. Therefore classic OPC server and clients are restricted to Windows PC based automation systems.

OPC UA incorporates all features of classic OPC standards like OPC DA, A&E and HDA but defines platform independent communication mechanisms and generic, extensible and object-oriented modelling capabilities for the information a system wants to expose. 

The OPC UA network communication part defines different mechanisms optimized for different use cases. The first version of OPC UA is defining an optimized binary TCP protocol for high performance intranet communication as well as a mapping to accepted internet standards like Web Services. The abstract communication model does not depend on a specific protocol mapping and allows adding new protocols in the future. Features like security, access control and reliability are directly built into the transport mechanisms. Based on the platform independence of the protocols, OPC UA servers and clients can be directly integrated into devices and controllers.

The OPC UA Information Model provides a standard way for Servers to expose Objects to Clients. Objects in OPC UA terms are composed of other Objects, Variables and Methods. OPC UA also allows relationships to other Objects to be expressed.

The set of Objects and related information that an OPC UA Server makes available to Clients is referred to as its AddressSpace. The elements of the OPC UA Object Model are represented in the AddressSpace as a set of Nodes described by Attributes and interconnected by References. OPC UA defines eight classes of Nodes to represent AddressSpace components. The classes are Object, Variable, Method, ObjectType, DataType, ReferenceType and View. Each NodeClass has a defined set of Attributes.

This specification makes use of three essential OPC UA NodeClasses: Objects, Methods and Variables.

Objects are used to represent components of a system. An Object is associated to a corresponding ObjectType that provides definitions for that Object.

Methods are used to represent commands or services of a system.

Variables are used to represent values. Two categories of Variables are defined, Properties and DataVariables.

Properties are Server-defined characteristics of Objects, DataVariables and other Nodes. Properties are not allowed to have Properties defined for them. An example for Properties of Objects is the UserMachineName Property of a MachineModuleConfigurationType ObjectType.

DataVariables represent the contents of an Object. DataVariables may have component DataVariables. This is typically used by Servers to expose individual elements of arrays and structures. This specification uses DataVariables to represent data like the GoodProductTotal of a MachineModuleProductionType Object.

4.1.2.2   Graphical Notation

OPC UA defines a graphical notation for an OPC UA AddressSpace. It defines graphical symbols for all NodeClasses and how different types of References between Nodes can be visualized. Figure 1 shows the symbols for the six NodeClasses used in this specification. NodeClasses representing types always have a shadow.

Figure 1 – OPC UA Graphical Notation for NodeClasses

Figure 2 shows the symbols for the ReferenceTypes used in this specification. The Reference symbol is normally pointing from the source Node to the target Node. The only exception is the HasSubType Reference. The most important References like HasComponent, HasProperty, HasTypeDefinition and HasSubType have special symbols avoiding the name of the Reference. For other ReferenceTypes or derived ReferenceTypes the name of the ReferenceType is used together with the symbol.

Figure 2 – OPC UA Graphical Notation for References

Figure 3 shows a typical example for the use of the graphical notation. Object_A and Object_B are instances of the ObjectType_Y indicated by the HasTypeDefinition References. The ObjectType_Y is derived from ObjectType_X indicated by the HasSubType Reference. The Object_A has the components Variable_1, Variable_2 and Method_1.

To describe the components of an Object on the ObjectType the same NodeClasses and References are used on the Object and on the ObjectType like for ObjectType_Y in the example. The instance Nodes used to describe an ObjectType are instance declaration Nodes.

To provide more detailed information for a Node, a subset or all Attributes and their values can be added to a graphical symbol.

Figure 3 – OPC UA Graphical Notation Example

5   Tobacco Machine Communication Model Overview

5.1      Modeling concepts

In Figure 4 below an example is depicted to highlight the general modelling concepts that inform the design of the present OPC UA Companion Specification. The right hand side in white background shows the representation of the components of a cigarette maker machine, also simply Maker.

Figure 4 – Maker Reference Diagram

Special attention is paid to represent the flow of the product through the Maker components as depicted in Figure 5 by means of brown arrows. The model is required to identify all the components that interact with the product so that the flow procedes without interruption to the output of the machine. The product flow is modelled by means of a non-hierarchical reference named FlowsTo.

Figure 5 – Product Flow in the Maker Reference Diagram

The right-hand side of the diagram in white background is called Instance Space, i.e. the set of objects derived from the objects shown in the left-hand side of the diagram in grey background, the Type Space. The relationship between the instances and the types is conveniently shown in Figure 7.

Figure 6 –Control architecture in the Maker Reference Diagram

 

Figure 7 – Instances vs Types in the Maker Reference Diagram

 

 

5.2      Model Overview

The main construct is the MachineModuleType Object type which is derived from an OPC 10000-100 DeviceType containing additional Information, Historical Configuration, Production, LiveStatus and SetUp objects. A MachineModuleType Object may also contain one or more MaterialLoadingPoint objects.

The MachineModuleType may contain other MachineModuleTypes and is therefore suitable to model workcentres and machine modules belonging to the workcentres alike.


6   OPC UA ObjectTypes

6.1   MachineModuleType

6.1.1   General

This OPC UA MachineModuleType ObjectType represents a machine module or workcentre.

Figure 8 shows an overview for the MachineModuleType with related Objects. It is formally defined in Table 7.

Figure 8MachineModuleType overview

 

6.1.2   ObjectType definition

The MachineModuleType is formally defined in Table 7.

Table 7 – MachineModuleType Definition

Attribute

Value

BrowseName

MachineModuleType

IsAbstract

False

References

Node Class

BrowseName

Data Type

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100

HasComponent

Object

LiveStatus

 

MachineModuleLiveStatusType

Mandatory

HasComponent

Object

Production

 

MachineModuleProductionType

Mandatory

HasComponent

Object

SetUp

 

MachineModuleSetUpType

Mandatory

HasComponent

Object

Configuration

 

MachineConfigurationType

Mandatory

HasComponent

Object

Specification

 

MachineModuleSpecificationType

Mandatory

HasComponent

Object

PastSpecificationRecords

 

FolderType

Mandatory

HasComponent

Object

UIInfo

 

UIInformationType

Mandatory

HasComponent

Object

<MaterialLoadingPoints>

 

MaterialLoadingPointType

OptionalPlaceholder

HasComponent

Object

<MaterialRejectionTraps>

 

MaterialRejectionTrapType

OptionalPlaceholder

HasComponent

Object

<DefectDetectionSensors>

 

DefectDetectionSensorType

OptionalPlaceholder

HasComponent

Object

<MaterialOutputs>

 

MaterialOutput

OptionalPlaceholder

 

The MachineModuleType ObjectType is a concrete type and can be used directly.

6.1.3   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.1.3.1   Manufacturer

The Manufacturer property provides the name of the OEM that supplied the machine module (e.g. "ITM").

6.1.3.2   Model

The Model property provides the name of the machine module as identified by the OEM (e.g. "").

6.1.3.3   RevisionCounter

The RevisionCounter property provides the revision level of the machine module as identified by the OEM (e.g. "").

6.1.3.4   Serial

The Serial property provides the serial number of the machine module as identified uniquely by the OEM.

6.1.4   Additional Objects of the MachineModuleType

The following Objects are defined to extend the DeviceType.

6.1.4.1   Object LiveStatus

The Object LIveStatus of type MachineModuleLiveStatusType contains information about the real time status of the machine module and provides affordances to control the machine module remotely in real time.

6.1.4.2   Object Production

The Object Production of type MachineModuleProductionType contains information about the current production order and quantity produced as well as affordances to start/stop a production order and reset totals for the machine module.

6.1.4.3   Object SetUp

The Object SetUp of type MachineModuleSetUpType contains the value of all the settings (including mechanical adjustments) required to run production as well as affordances to validate and load settings for the machine module.

6.1.4.4   Object Configuration

The Object Configuration of type MachineModuleConfigurationType contains the descriptions (metadata) for settings, stop reasons and root causes as well as affordances to make modifications.

6.1.4.5   Object Specification

The Object Specification of type MachineModuleSpecificationType contains the specification about the machine as currently operating including capabilities, internal buffers and loading points.

6.1.4.6   Object PastSpecificationRecords

The Object PastSpecificationRecords of type FolderType contains the information about the machine as was operating in a previous period of time.

6.1.4.7   Object UIInfo

The Object UIInfo contains information about the User Interface (UI) of the machine module. When an Object does not have own UIInfo, then the Object does not require visualisation.

6.1.4.8   Object <DefectDetectionSensors>

The Object <DefectDetectionSensors> of type DefectDetectionSensorType describes the sensor(s) fitted to the machine module that detect product defects.

6.1.4.9   Object <MaterialRejectionTraps>

The Object <MaterialRejectionTraps> of type MaterialRejectionTrapType describes the device(s) that are capable of rejecting product away from the product flow.

6.1.4.10   Object <MaterialLoadingPoints>

The Object <MaterialLoadingPoints> of type MaterialLoadingPointType describes the loading points and the materials being loaded, as well as the brand integrity checks required.

6.1.4.11   Object <MaterialOutputs>

The Object <MaterialOutputs> of type MaterialOutputType describes the output(s) of the machine module.

 


6.2   MachineModuleLiveStatusType

6.2.1   General

This OPC UA MachineModuleLiveStatusType ObjectType contains information about the real time status of the machine module and provides affordances to control the machine module remotely in real time.

Figure 9 shows an overview for the MachineModuleLiveStatusType with related Objects. It is formally defined in Table 8.

Figure 9MachineModuleLiveStatusType overview

               

6.2.2   ObjectType definition

The MachineModuleLiveStatusType is formally defined in Table 8.

Table 8 – MachineModuleLiveStatusType Definition

Attribute

Value

BrowseName

MachineModuleLiveStatusType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasProperty

Variable

ControlMode

ControlModeEnumeration

PropertyType

Mandatory

HasProperty

Variable

IdleEnergySavingMode

Boolean

PropertyType

Mandatory

HasProperty

Variable

State

StateEnumeration

PropertyType

Mandatory

HasComponent

Method

SendCommand

 

 

Mandatory

HasComponent

Method

SetControlMode

 

 

Mandatory

HasComponent

Method

SetIdleEnergySavingMode

 

 

Mandatory

GeneratesEvent

ObjectType

ControlModeChangeLogType

 

 

 

GeneratesEvent

ObjectType

DowntimeLogType

 

 

 

GeneratesEvent

ObjectType

StateChangeLogType

 

 

 

 

The MachineModuleLiveStatusType ObjectType is a concrete type and can be used directly.

6.2.3   ObjectType Description

6.2.3.1   Variable ControlMode

The ControlMode property describes the control mode of the machine. The ControlMode has Data Type ControlModeEnumeration which is defined in Table 9 according to PackML Unit/Machine implementation guide.

Table 9 – ControlModeEnumeration Definition

EnumString

Value

Description

OTHER

0

This state is used if no other state below applies.

PRODUCTION

1

Primary Mode used for all production activities, All PackML model states will be utilized. PackTags are active and reporting. The unit/machine executes relevant logic in response to commands which are mainly coming from External Systems, or entered directly by the operator.

MAINTENANCE

2

Used for routine preventive Maintenance or planned maintenance. Shall be utilized to document planned maintenance occurrence and duration.

This mode allows authorized personnel to run the unit/machine independent of other systems. This mode would typically be used for fault finding, machine trials, or testing operational improvements.

For example: The cleaning of a print head is maintenance.

MANUAL

3

Used for fault diagnosis of unplanned technical intervention.

CHANGE OVER

4

Used specifically for format or recipe change over, includes “cleaning” operations.

CLEAN

5

Used for Routine Cleaning requirements example: as specified by factory maintenance procedures.

SET UP

6

Used for set up or adjustments example: mechanical adjustments and testing.

EMPTY OUT

7

Used to empty out machine example: end of a block of shifts prior to factory weekend shut down, empty out resident product within the machine that could be sent to finished product and minimize part finished “rework”.

REMOTE SERVICE

8

Used when the state machine accepts commands from OPC UA clients, e.g. for remote service.
Remark. The Remote Service mode fulfil the safety requirements of the
harmonized norm EN415-10:2011 (Safety of packaging machines).

 

6.2.3.2   Variable IdleEnergySavingMode

The IdleEnergySavingMode Property is set to True when the energy saving mode during the idle phase is set.

6.2.3.3   Variable State

The Property State describes the status of the state machine controlling the machine module. The Property States has Data Type StateEnumeration which is defined in Table 10 according to the PackML definitions.

Table 10 – StateEnumeration Definition

EnumString

Value

Description

Required

Stopped

0

The state of the machine module is stopped.

Yes

Resetting

1

The state of the machine module is resetting.

 

Idle

2

The state of the machine module is idle.

Yes

Starting

3

The state of the machine module is starting.

 

Execute

4

The state of the machine module is execute.

Yes

Completing

5

The state of the machine module is completing.

 

Complete

6

The state of the machine module is complete.

 

Aborting

7

The state of the machine module is aborting.

 

Aborted

8

The state of the machine module is aborted.

Yes

Stopping

9

The state of the machine module is stopping.

 

Clearing

10

The state of the machine module is clearing.

 

Suspending

11

The state of the machine module is suspending.

 

Suspended

12

The state of the machine module is suspended.

 

Un-suspending

13

The state of the machine module is un-suspending.

 

Holding

14

The state of the machine module is holding.

 

Held

15

The state of the machine module is held.

 

Un-holding

16

The state of the machine module is un-holding.

 

 

The minimum set of states that the machine module shall manage is identified
above in the required column.

6.2.3.4   Method SendCommand

The Method SendCommand sends a command to change the state of the machine module state machine remotely.

 

Signature

SendCommand (

   [in] CommandEnumeration              Command

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

Command

The command to be sent to the machine module.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

The Enumeration Data Type CommandEnumeration is defined in Table 11 according to the PackML definitions.

Table 11 – CommandEnumeration Definition

EnumString

Value

Description

Abort

0

Command to transition the state of the machine module to Aborted.

Start

1

Command to transition the state of the machine module to Execute.

Stop

2

Command to transition the state of the machine module to Stopped.

Reset

3

Command to transition the state of the machine module to Idle.

Hold

4

Command to transition the state to machine module to Held (or Idle when only the minimum set of states required is implemented).

Un-Hold

5

Command to transition the state to Execute.

Clear

6

Command to transition the state to Idle

 

The underlying system will execute commands provided with the SendCommand Method when the Command Argument equals “Abort”, “Stop”, “Hold”.

The underlying system will execute commands provided with the SendCommand Method when the Command Argument equals “Start”, “Reset”, Un-Hold”, “Clear” and the ControlMode equals “REMOTE SERVICE”.

The underlying system will execute local commands regardless of the value of ControlMode.

The underlying system shall comply with harmonised norms EN415-10:2011 (Safety of packaging machines).

The Structure Data Type MethodExecutionFeedbackType is defined in Table 12 and will be extensively used for method calls in the present document. The Structure DataType MessageType is defined in Table 13.

Table 12 – MethodExecutionFeedbackType Definition

Name

Type

Description

MethodExecutionFeedbackType

Structure

The exended feedback returning a detailed message in case of failure.

Success

Boolean

Returns True in case of successful execution. In case of success.

Message

Array of [MessageType]

Array of detailed messages describing the reason of the unsuccesful execution or notice for the user.

 

When a SendCommand Method is executed by the underlying system, the Message in MethodExecutionFeedback is suitably displayed on the machine HMI to inform the machine user, e.g. “A remote Stop command was executed. Requested by MES Client”.

Table 13 – MessageType Definition

Name

Type

Description

MessageType

Structure

 

ID

String

Unique identifier for the message.

LocalText

LocalizedText

Plain English message.

 

Method Result Codes

The following results codes are returned without any user application development.

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.2.3.5   Method SetControlMode

The Method SetControlMode sets the control mode of the machine module.

Signature

SetControlMode (

   [in] ControlModeEnumeration                ControlModeToSet

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

ControlModeToSet

The control mode that the client requires to be set to the state machine od the machine module.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

The Type MethodExecutionFeedbackType is defined in Table 12. The Enumeration Data Type ControlModeEnumeration is defined in Table 9.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.2.3.6   Method SetIdleEnergySavingMode

The Method SetIdleEnergySavingMode turns on the energy saving mode when the machine module is idle.

Signature

SetIdleEnergySavingMode (

   [in] Boolean                         IdleEnergySavingMode

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

IdleEnergySavingMode

When IdleEnergyMode is True (False), the energy saving mode is turned on (off) when the machine module state is idle.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

The type MethodExecutionFeedbackType is defined in Table 12.

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.3   MachineModuleConfigurationType

6.3.1   General

This OPC UA MachineModuleConfigurationType ObjectType contains the descriptions for settings, stop reasons and root causes as well as affordances to make modifications.

Figure 10 shows an overview for the MachineModuleConfigurationType with related Objects. It is formally defined in Table 14.

Figure 10 – MachineModuleConfigurationType overview

 

6.3.2   ObjectType definition

The MachineModuleConfigurationType is formally defined in Table 14.

Table 14 – MachineModuleConfigurationType Definition

Attribute

Value

BrowseName

MachineModuleConfigurationType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasProperty

Variable

DataSetList

DataSetListType

PropertyType

Mandatory

HasProperty

Variable

UserMachineName

String

PropertyType

Mandatory

HasProperty

Variable

LocationName

String

PropertyType

Mandatory

HasProperty

Variable

TimeZone

UtcTime

PropertyType

Mandatory

HasProperty

Variable

StopReasonList

MessageType[]

PropertyType

Mandatory

HasProperty

Variable

RootCauseList

MessageType[]

PropertyType

Mandatory

HasProperty

Variable

RootCauseGroupList

RootCauseGroupType[]

PropertyType

Mandatory

HasProperty

Variable

RootCauseListInputIsMandatory

Boolean

PropertyType

Mandatory

HasProperty

Variable

LongestMicroStopDuration

Double

PropertyType

Mandatory

HasProperty

Variable

LastChangeDate

UtcTime

PropertyType

Mandatory

HasComponent

Method

GetDataSetList

 

 

Mandatory

HasComponent

Method

GetRootCauseList

 

 

Mandatory

HasComponent

Method

GetRootCauseGroupList

 

 

Mandatory

HasComponent

Method

GetStopReasonList

 

 

Mandatory

HasComponent

Method

SetRootCauseLists

 

 

Mandatory

GeneratesEvent

ObjectType

RootCauseGroupListChangeLogType

 

 

 

GeneratesEvent

ObjectType

RootCauseListChangeLogType

 

 

 

GeneratesEvent

ObjectType

StopReasonListChangeLogType

 

 

 

 

The MachineModuleConfigurationType ObjectType is a concrete type and can be used directly.

6.3.3   ObjectType Description

6.3.3.1   Variable UserMachineName

The Property UserMachineName of type String contains the name used by the user to identify the machine module.

6.3.3.2   Variable LocationName

The Property LocationName of type String contains the location of the machine module within the user production site. The Property LocationName will contain the following: Country/City/Department/Floor/Bay/Position.

6.3.3.3   Variable DataSetList

The Property DataSetList of type DataSetListType contains the descriptors for all the parameters uset to set up the machine.

The type DataSetListType is defined in

Table 15.

Table 15 – DataSetListType Definition

Name

Type

Description

DataSetListType

Structure

 

DataSetListID

String

Unique identifier for the whole data set list.

DataSetListDescription

LocalizedText

Plain English description of the whole data set.

DataDescriptions

DataDescriptionType[]

Set (array) of data descriptions.

 

The type DataDescriptionType is defined in Table 16.

Table 16 – DataDescriptionType Definition

Name

Type

Description

DataDescriptionType

Structure

Metadata about the parameter.

ID

String

Unique identifier for the parameter description.

MES_ID

String

Unique identifier for the parameter description in an external system, e.g. MES.

EngineeringUnits

EUInformation

Unit of measure

DisplayFormat

String

Display format for visualisation. The same display format shall be used in the HMI.

Dependency

ParameterDependencyEnumeration

The type of dependency of the parameter.

DataType

NodeId

The NodeId identifying the OPC UA Base Data Type node.

UserSubet

Boolean

UserSubset is True when the machine module end user identifies it.

ControlRange

Range

The parameter shall have values within this range.

AlarmRange

Range

When the value of the parameter is outside the range, then the underlying system shall generate an alarm.

 

The types EUInformation and Range are defined in OPC 10000-8. The enumeration ParameterDependencyEnumeration is defined in Table 17.

The UserSubset and Dependency allow identifying commonly used subset of parameters as shown in below in Figure 11.

Figure 11 – Subsetting with UserSubset and Dependency

Table 17 – ParameterDependencyEnumeration Definition

Enumstring

Value

Description

Machine

0

The parameter depends solely from the machine and does not vary with the brand.

Brand

1

The parameter depends solely from the brand being produced and does not vary with the machine.

Machine and Brand

2

The parameter depends both from the machine and the brand being produced.

 

6.3.3.4   Variable StopReasonList

The Property StopReasonList is a list containing the descriptors for all the possible machine module stop messages or warning messages. The list is created by the OEM. The Property StopReasonList is a list of MessageType objects. The MessageType is defined in Table 13.

6.3.3.5   Variable RootCauseList

The Property RootCauseList is a list containing all of the root causes that the end user has defined to classify and organise the downtime due to the machine module stops. The Property RootCauseList is a list of RootCauseMessageType objects. The type RootCauseMessageType is defined in Table 18.

Table 18 – RootCauseMessageType Definition

Name

Type

Description

RootCauseMessageType

Structure

 

GroupID

String

Root causes are grouped in familiies, e.g. electrical, mechanical, controls, etc. GroupID identifies uniquely each group.

 

6.3.3.6   Variable RootCauseGroupList

The Property RootCauseGroupList is the list of groups that root causes can be grouped in. They are defined by the end user as well as the RootCauseList property.

The Property RootCauseGroupList is a list of RootCauseGroupType objects. The type RootCauseGroupType is defined in Table 19.

Table 19 – RootCauseGroupType Definition

Name

Type

Description

RootCauseGroupType

Structure

 

ID

String

Unique identifier for the root cause group.

ParentID

String

The ID of the group containing the present RootCauseGroupType. By means of the ParentID, multiple nested groups are allowed.

Description

LocalizedText

The human-readable description of the RootCauseGroupType.

 

6.3.3.7   Variable LongestMicroStopDuration

The Property LongestMicroStopDuration is the maximum duration of a micro-stop in seconds, longer stops are not micro-stops. Operators are not required to enter a root cause for micro-stops.

6.3.3.8   Variable LastChangeDate

The Property LastChangeDate is the date and time of the last change applied to the machine module configuration.

6.3.3.9   Variable RootCauseListInputIsMandatory

The Property RootCauseListInputIsMandatory is true when the operator is mandatorily required to select the root cause that best describes the current stop situation. For micro-stops such requirement does not apply.

6.3.3.10   Method GetDatasetList

The Method GetDatasetList returns the list of descriptions for parameters of the dataset filtered by the dependency and subset created by the user. Typically, the method GetDatasetList is used for clients to visualise the parmeters’ descriptions and other metadata.

Signature

GetDatasetList (

[in] Boolean                               CompleteSet

   [in] ParameterDependencyEnumeration        Dependency

   [in] Boolean                             UserSubset

   [out] DatasetListType                      DatasetList

   [out] MethodExecutionFeedbackType            ExecutionFeedback

 

   );

 

Argument

Description

CompleteSet

If CompleteSet is True then the method returns the complete dataset without considering the input parameters Dependency and UserSubset.

Dependency

The method filters parameters that have the required dependency and per this input parameter.

UserSubset

The method filters parameters that are in the user subset as required by this input parameter.

DatasetList

The list of parameter descriptions filtered by the input parameters: dependency, user subset.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.3.3.11   Method GetRootCauseList

The Method GetRootCauseList returns the complete list of root causes as stored in the OPC UA Server.

Signature

GetRootCauseList (

   [out] RootCauseMessageType[]                     RootCauseList

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

RootCauseList

The complete list of root cause messages.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.3.3.12   Method GetStopReasonList

The method GetStopReasonList returns the complete list of stop reasons as stored in the OPC UA Server.

Signature

GetStopReasonList (

   [out] MessageType[]                   StopReasonList

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

StopReasonList

The complete list of stop reason messages.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.3.3.13   Method GetRootCauseGroupList

The Method GetRootCauseGroupList returns the complete list of root causes groups as stored in the OPC UA Server.

Signature

GetRootCauseGroupList (

   [out] RootCauseGroupType[]            RootCauseGroupList

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

RootCauseGroupList

The list of groups the root causes are grouped in.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.3.3.14   Method SetRootCauseLists

The Method SetRootCauseLists sets both the RootCauseList and RootCauseGroupList according to the input arguments. The Properties RootCauseList and RootCauseGroupList are set together to ensure consistency of root causes with the relevant groups.

Signature

SetRootCauseLists (

[in] RootCauseMessageType[]                RootCauseList

   [in] RootCauseGroupType[]            RootCauseGroupList

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

RootCauseList

The list of root causes to be transferred to the OPC UA Server.

RootCauseGroupList

The list of root cause groups to be transferred to the OPC UA Server.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.4   MachineModuleSpecificationType

6.4.1   General

This OPC UA MachineModuleSpecificationType ObjectType contains the specification of the machine module as currently operating including capabilities, internal buffers and loading points.

Figure 12 shows an overview for the MachineModuleSpecificationType with related Objects. It is formally defined in Table 20.

Figure 12 – MachineModuleSpecificationType overview

 

6.4.2   ObjectType definition

The MachineModuleSpecificationType is formally defined in Table 20.

Table 20 – MachineModuleSpecificationType Definition

Attribute

Value

BrowseName

MachineModuleSpecificationType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasComponent

Object

DocumentationRep

 

FolderType

Mandatory

HasProperty

Variable

MaterialLoadingPoints

LoadUnloadPointType

PropertyType

Mandatory

HasProperty

Variable

MaterialStorageBuffers

MaterialStorageBufferType

PropertyType

Mandatory

HasProperty

Variable

TotalRunningHours

Counter

PropertyType

Mandatory

HasProperty

Variable

ValidSince

DateTime

PropertyType

Mandatory

HasComponent

Method

LoadMachineModuleDocumentation

 

 

Mandatory

HasComponent

Method

SetNewSpecification

 

 

Mandatory

GeneratesEvent

ObjectType

MachineModuleSpecificationChangeLogType

 

 

 

 

The MachineModuleSpecificationType ObjectType is a concrete type and can be used directly.

6.4.3   ObjectType Description

6.4.3.1   Object DocumentationRep

The Object DocumentationRep is the sole repository for the machine module documentation resources. The DocumentationRep is accessed, for example, by clients and HMIs.

6.4.3.2   Variable MaterialLoadingPoints

The Property MaterialLoadingPoints identifies the loading points of the machine module and their capability in terms of what materials can be loaded at a loading point. The Property MaterialLoadingPoints is defined as a list of objects of type LoadUnloadPointType.

The type LoadUnloadPointType is defined in Table 21.

Table 21LoadUnloadPointType Definition

Name

Type

Description

LoadUnloadPointType

Structure

Description of a loading/unloading point.

ID

String

Unique identifier for the loading/unloading point.

MES_ID

String

Unique identifier for the loading/unloading point for higher level systems, e.g. MES, ERP.

UserName

String

Name of the loading/unloading point given by the end user.

Description

LocalizedText

Human readable identification of the loading/unloading point.

MaterialCapability

MaterialType[]

List of materials that can be loaded to the machine at this loading point or list of materials that may be unloaded at this unloading point.

 

The type MaterialType is defined in Table 22.

Table 22MaterialType Definition

Name

Type

Description

MaterialType

Structure

Description of a material.

Group

String

Material group of the material.

ID

String

Unique identifier for the material.

BatchID

String

Batch ID for the material. Can be empty (null) when the material is not batch managed.

Description

LocalizedText

Human readable identification of the material.

MES_ID

String

Material ID as stored in the MES/ERP system.

BaseUoM

EUInformation

The material base unit of measure. For each material one single base unit of measure is defined.

 

6.4.3.3   Variable MaterialStorageBuffers

The Property MaterialStorageBuffers describes the buffers inside the machine module and their current status. The Property MaterialStorageBuffers is a list of objects of type MaterialStorageBufferDataType.

The type MaterialStorageBufferDataType is defined in Table 23.

Table 23MaterialStorageBufferDataType Definition

Name

Type

Description

MaterialStorageBufferDataType

Structure

Description of a material storage buffer.

ID

String

Unique identifier for the storage buffer.

MES_ID

String

Unique identifier for the storage buffer for a higher level system, e.g. MES, ERP.

StoredMaterial

MaterialType

The material that is stored in the buffer.

EngineeringUnits

EUInformation

Unit of measure

TotalStorageCapacity

Double

The maximum quantity that can be stored in the buffer in the EngineeringUnits unit of measure.

StorageLogic

StorageLogicEnumeration

The way the storage is loaded/unloaded.

 

The type MaterialType is defined in Table 22. The StorageLogicEnumeration is defined in Table 24.

Table 24StorageLogicEnumeration Definition

Enumstring

Value

Description

Other

0

None of the below.

FIFO

1

The first product entering the storage buffer is the first to leave the storage buffer.

LIFO

2

The last product entering the storage buffer is the first to leave the storage buffer.

FEFO

3

The first expired material is the first to leave the storage buffer.

 

6.4.3.4   Variable TotalRunningHours

The Property TotalRunningHours counts the number of hours the machine module has been in operation since the last time its configuration was changed. More specifically, time is counted when the machine module state is different from: Stopping, Stopped, Aborting, Aborted, Clearing.

The Value of the Property TotalRunningHours shall be persisted both in the OPC UA Server and in the underlying system so that if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.4.3.5   Variable ValidSince

The Property ValidSince is the date since the configuration was last modified.

6.4.3.6   Method LoadMachineModuleDocumentation

The Method LoadMachineModuleDocumentation allows to securely load any machine module documentation to the documentation repository DocumentationRep folder where it can be reached by applications.

Signature

LoadMachineModuleDocumentation (

[in] ByteString                            DocumentToBeLoaded

   [out] MethodExecutionFeedbackType           ExecutionFeedback

   );

 

Argument

Description

DocumentToBeLoaded

The document, as a byte string, to be transferred to the DocumentationRep folder.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.4.3.7   Method SetNewSpecification

The Method SetNewSpecification saves its arguments as the new specification for the machine module. Prior to that it saves the previous specification into the PastSpecification Records Object of the same machine module.

Signature

SetNewSpecification (

[in] LoadUnloadPointType[]                 NewMaterialLoadingPoints

[in] MaterialStorageBufferDataType[] NewMaterialStorageBuffers

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

NewMaterialLoadingPoints

The information about the material loading points that will be valid after the machine specification is changed.

NewMaterialStorageBuffers

The information about the storage buffers that will be valid after the machine specification is changed.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.5   MachineModuleHistoricalRecordType

6.5.1   General

This OPC UA MachineModuleHistoricalRecordType ObjectType contains the specifications of the machine module that have been valid in the past. When the machine module manufacturer modifies the machine in a way that impact the OPC UA server specification, the machine module manufacturer will save an object of type MachineModuleHistoricalType to the organising folder PastSpecificationRecords which is a component of the relevant MachineModule.

Figure 13 shows an overview for the MachineModuleHistoricalRecordType with related Objects. It is formally defined in Table 25.

Figure 13 – MachineModuleHistoricalRecordType overview

 

6.5.2   ObjectType definition

The MachineModuleHistoricalRecordType is formally defined in Table 25.

Table 25 – MachineModuleHistoricalRecordType Definition

Attribute

Value

BrowseName

MachineModuleSpecificationTypevi

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasComponent

Object

MachineModuleSpecification

 

MachineModuleSpecifcationType

Mandatory

HasProperty

Variable

ValidUntil

DateTime

PropertyType

Mandatory

 

The MachineModuleHistoricalRecordType ObjectType is a concrete type and can be used directly.

6.5.3   ObjectType Description

6.5.3.1   Object MachineModuleSpecification

The Object MachineModuleSpecification contains a specification that was valid in the past.

6.5.3.2   Variable ValidUntil

The Property ValidUntil contains the date of the last day the MachineModuleSpecification was valid. The Property ValidUntil shall be set by the OEM when changes that impact the machine module specification are made.

6.6   MachineModuleProductionType

6.6.1   General

This OPC UA MachineModuleProductionType ObjectType contains information about the currently running production and produced product master total.

Figure 14 shows an overview for the MachineModuleProductionType with related Objects. It is formally defined in Table 26.

Figure 14MachineModuleProductionType overview

 

6.6.2   ObjectType definition

The MachineModuleProductionType is formally defined in Table 26.

Table 26 – MachineModuleProductionType Definition

Attribute

Value

BrowseName

MachineModuleProductionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasProperty

Variable

ProductionOrder

POType

PropertyType

Mandatory

HasProperty

Variable

ProductionStatus

ProductionStatusEnumeration

PropertyType

Mandatory

HasComponent

Method

StartProductionOrder

 

 

Mandatory

HasComponent

Method

StopProductionOrder

 

 

Mandatory

GeneratesEvent

ObjectType

POChangeLogType

 

 

 

 

The MachineModuleProductionType ObjectType is a concrete type and can be used directly.

6.6.3   ObjectType Description

6.6.3.1   Variable ProductionOrder

The Property ProductionOrder contains information about the currently running production order. The Type POType is defined in Table 27.

Table 27POType Definition

Name

Type

Description

POType

Structure

Description of a production order (PO)

Number

String

PO identification number

ProducedMaterial

MaterialType

The finished good that the material is produced under the current PO.

TargetQuantity

Double

The quantity of material that is requested by the PO

ContinueAtJobEnd

Boolean

When ContinueAtJobEnd is True, then the operator may continue production (overproduction) after fulfilling the required order quantity

TargetStartTime

DateTime

The target time for the PO to be started according to the planning

TargetEndTime

DateTime

The target time for the PO to be completed according to the planning

DatasetID

String

The ID of the parameters’ dataset to be used for this PO

DatasetDescription

String

The description of the parameters’ dataset to be used for this PO

 

The Type MaterialType is defined in Table 22.

6.6.3.2   Variable ProductionStatus

The Property ProductionStatus describes the status of the ProductionOrder. The Enumeration ProductionStatusEnumeration is defined in Table 28.

Table 28ProductionStatusEnumeration Definition

Enumstring

Value

Description

Other

0

None of the below.

Brand Change

1

The PO materials are still present in the workcentre and are being removed for a different brand.

Production

2

The PO is being produced.

No Production

3

There is no PO being produced.

 

6.6.3.3   Method StartProductionOrder

The Method StartProductionOrder sends a command to start the ProductionOrder to the underlying system. If the production order is started, the ProductionOrderStatus is set to Production by the underlying system. If there are materials at the machine module that are not compatible with the materials required by the production order, then the ProductionOrderStatus is set to Brand Change.

Signature

StartProductionOrder (

   [in] POType                          POToStart

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

POToStart

The production order to be started.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.6.3.4   Method StopProductionOrder

The Method StopProductionOrder sends a command to the underlying system to stop the ProductionOrder. The underlying system sets the ProductionOrderStatus accordingly.

Signature

StopProductionOrder (

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

When a StopProductionOrder Method is executed by the underlying system, the Message in MethodExecutionFeedback is suitably displayed on the machine HMI to inform the machine user and provide useful instructions, e.g. “A remote production stop was executed. Run the machine empty. Requested by MES Client”.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.7   MachineModuleSetupType

6.7.1   General

This OPC UA MachineModuleSetupType ObjectType contains the value of all the settings (including mechanical adjustments) required to run production as well as affordances to validate and load settings for the machine module.

Figure 15 shows an overview for the MachineModuleSetupType with related Objects. It is formally defined in Table 29.

Figure 15MachineModuleSetupType overview

 

6.7.2   ObjectType definition

The MachineModuleSetupType is formally defined in Table 29.

Table 29 – MachineModuleSetupType Definition

Attribute

Value

BrowseName

MachineModuleSetupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasProperty

Variable

DataSet

DataSetType

PropertyType

Mandatory

HasComponent

Object

MechanicalAdjustments

 

FolderType

Mandatory

HasComponent

Method

LoadDataSet

 

 

Mandatory

HasComponent

Method

ValidateDataSet

 

 

Mandatory

HasComponent

Method

SelectiveLoadDataset

 

 

Mandatory

GeneratesEvent

ObjectType

DataSetChangeLogType

 

 

 

 

 

The MachineModuleSetupType ObjectType is a concrete type and can be used directly.

6.7.3   ObjectType Description

6.7.3.1   Variable DataSet

The Property DataSet contains all the digital settings (other than the mechanical settings stored in the folder MechanicalAdjustments) required by the machine module. The Type DataSetType is defined in Table 30.

Table 30DataSetType Definition

Name

Type

Description

DataSetType

Structure

Set of parameters

DataSetID

String

The unique ID of the dataset

DataSetDescription

LocalizedText

The human-readable description of the dataset

DataValues

DataSetEntryType[]

List of data values

DataSetCRC

Double

Cyclic Redundancy Check compute over DataValues (reference standard ???)

 

 

 

 

 

The Type DataSetEntryType is defined in Table 31.

Table 31DataSetEntryType Definition

Name

Type

Description

DataSetEntryType

Structure

Single parameter.

ID

String

The unique ID of the datavalue

Value

BaseDataType

The value of the parameter

 

6.7.3.2   Object MachanicalAdjustments

The Object MechanicalAdjustments contains the non-digital settings required to setup the machine, e.g. mechanical adjustments. The Object MechanicalAdjustments has Data Type Folder.

6.7.3.3   Method ValidateDataSet

The Method ValidateDataSet passes a dataset to the underlying system and returns the result of the validation.

Signature

ValidateDataSet (

   [in]       DataSetType                      DataSet

   [out]      DataSetType                     ValidationFailedDataSet

[out]      MessageType     []              FailedValidationMessages

   [out]      MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

DataSet

The dataset to be valdated by the underlying system.

ValidationFailedSet

The list of parameters (in a dataset) that failed the validation by the underlying system.

FailedValidationMessages

The list of messages describing the problems encountered with the parameters in the ValidationFailedSet.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.7.3.4   Method LoadDataSet

The Method LoadDataSet loads the whole dataset to the underlying system after having validated that (a) the dataset is complete and (b) the dataset is validated. If the validation is not successfully passed, then the data set is not loaded to the underlying system rolling back any data change and a specific message shall be returned via ExecutionFeedback. For detailed validation diagnostics, the Method ValidateDataSet shall be used.

Signature

LoadDataSet (

   [in]       DataSetType                     DataSet

   [out]      MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

DataSet

The dataset to be loaded to the underlying system.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.7.3.5   Method SelectiveLoadDataSet

The Method SelectiveLoadDataSet loads any subset of the whole dataset to the underlying system after having the dataset validated. If the validation is not successfully passed, then the data set is not loaded to the underlying system rolling back any data change and a specific message shall be returned via ExecutionFeedback. For detailed validation diagnostics, the Method ValidateDataSet shall be used.

Signature

SelectiveLoadDataSet (

   [in] DataSetType                          DataSet

   [out] MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

DataSet

The dataset to be loaded to the underlying system.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.8   MaterialLoadingPointType

6.8.1   General

This OPC UA MaterialLoadingPointType ObjectType describes the locations where materials are loaded (both manually and by means of an automated system) and the materials being loaded, as well as the brand integrity checks required.

Figure 16 shows an overview for the MaterialLoadingPointType with related Objects. It is formally defined in Table 32.

Figure 16MaterialLoadingPointType overview

 

6.8.2   ObjectType definition

The MaterialLoadingPointType is formally defined in Table 32.

Table 32 – MaterialLoadingPointType Definition

Attribute

Value

BrowseName

MaterialLoadingPointType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100.

HasProperty

Variable

LoadingPoint

LoadUnloadPointType

PropertyType

Mandatory

HasProperty

Variable

MaterialIntegrityAgent

MaterialIntegrityAgentEnumeration

PropertyType

Mandatory

HasComponent

Variable

TotalLoadedLot

Double

MaterialLotType

Mandatory

HasComponent

Variable

NominalConsumptionRate

Double

MaterialRateType

Mandatory

HasComponent

Variable

ActualConsumptionRate

Double

MaterialRateType

Mandatory

HasComponent

Variable

UpstreamHold

Boolean

BaseDataVariableType

Mandatory

HasComponent

Method

MaterialIntegrityCheck

 

 

Mandatory

HasComponent

Method

UnloadMaterials

 

 

Mandatory

HasComponent

Variable

ExpectedMaterial

MaterialType

PropertyType

Mandatory

HasComponent

Object

UIInfo

 

UIInformationType

Mandatory

GeneratesEvent

ObjectType

IntegrityRejectedMaterialLogType

 

 

 

GeneratesEvent

ObjectType

LoadingPointIsUnloadedLogType

 

 

 

GeneratesEvent

ObjectType

MaterialIsConsumedLogType

 

 

 

GeneratesEvent

ObjectType

MaterialUnladingIsRequiredLogType

 

 

 

GeneratesEvent

ObjectType

NewPresentedMaterialLogType

 

 

 

 

The MachineModuleSetupType ObjectType is a concrete type and can be used directly.

6.8.3   ObjectType Description

6.8.4   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.8.4.1   Manufacturer

The Manufacturer property provides the name of the manufacturer that supplied the part (e.g. "Siemens”).

6.8.4.2   Model

The Model property provides the name of the part as identified by the manufacturer (e.g. "S7- CPU 1515-2 PN").

6.8.4.3   RevisionCounter

The RevisionCounter property provides the revision level of the part as identified by the manufacturer (e.g. "").

6.8.4.4   Serial

The Serial property provides the serial number of the part as identified uniquely by the manufacturer.

6.8.5   Additional Objects of the MaterialLoadingPointType

The following Objects are defined to extend the DeviceType.

6.8.5.1   Variable LoadingPoint

The Property LoadingPoint contains the identification of the loading point and the material that will be loaded. The Variable LoadingPoint has type LoadUnloadPointType.

Type LoadUnloadPointType is defined in Table 21.

6.8.5.2   Variable MaterialIntegrityAgent

The Property MaterialIntegrityAgent identifies which system is responsible for checking the integrity of the brand by controlling the loaded material. The Enumeration MaterialIntegrityAgentEnumeration is defined in Table 33.

Table 33MaterialIntegrityAgentEnumeration Definition

Enumstring

Value

Description

Other

0

None of the below.

MES

1

The MES system is in charge of material integrity checks.

Local

2

The local underlying system is in charge

None

3

The material integrity checks are performed visually by operators.

 

6.8.5.3   Variable ExpectedMaterial

The Property ExpectedMaterial contains the description of the material that is expected. It is duty of the underlying system to fill in the Property ExpectedMaterial from the production parameters.

 The Property ExpectedMaterial has type MaterialType which is defined in Table 22.

6.8.5.4   Variable TotalLoadedLot

The Variable TotalLoadedLot indicates the complete lot of material loaded into the machine since the last reset.

The Variable TotalLoadedLot has type MaterialLotType which is defined in section 8.3.

The Value of the Variable TotalLoadedLot shall be persisted both in the OPC UA Server and in the underlying system so that, if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.8.5.5   Variable ActualConsumptionRate

The Variable ActualConsumptionRate is the actual rate at which the material is consumed. The Variable ActualConsumptionRate has type MaterialRateType which is defined in section 8.4.

6.8.5.6   Variable NominalConsumptionRate

The Variable NominalConsumptionRate is the nominal rate at which the material is consumed. The Variable NominalConsumptionRate has type MaterialRateType which is defined in section 8.4.

6.8.5.7   Variable UpstreamHold

When the LoadingPoint cannot receive the product flow, the upstream machine is required to hold the transfer of product to the LoadingPoint.

The Variable UpstreamHold is intended to be used with OPC UA Time Sensitive Networks.

6.8.5.8   Object UIInfo

The Object UIInfo contains information about the User Interface (UI) of the loading point. When an Object does not have own UIInfo, then the Object does not require visualisation.

6.8.5.9   Method MaterialIntegrityCheck

The Method MaterialIntegrityCheck validates a presented, e.g. via bar code scanning, material against the material that is accepted at the loading point. The result of the validation of the material and its quantity is returned. When the result of the validation is positive, then the quantity is added to the material totals.

Signature

MaterialIntegrityCheck (

   [in]       MaterialType               Material

   [in]       Double                     MaterialQuantity

   [out]      MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

Material

The material presented to the loading point.

MaterialQuantity

The quantity of the material presented to the loading point.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.8.5.10   Method UnloadMaterials

The Method UnloadMaterials requires the materials loaded at the loading point to be unloaded. In some implementations the unloading is automated, in other the unloading is performed by the user. The Method UnloadMaterials may be triggered by an MES client to request a material subject to brand change to be unloaded.

Signature

UnloadMaterials (

   [out]      MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

When an UnloadMaterials Method is executed by the underlying system, the Message in MethodExecutionFeedback is suitably displayed on the machine HMI to inform the machine user and provide useful instructions, e.g. “A remote materials unloading is requested by […]”, […] contains the client name.

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.9   MaterialStorageBufferType

6.9.1   General

This OPC UA MaterialStorageBufferType ObjectType describes locations where the product is stored both within and outside a machine module.

Figure 17 shows an overview for the MaterialStorageBufferType with related Objects. It is formally defined in Table 34.

Figure 17MaterialStorageBufferType overview

 

6.9.2   ObjectType definition

The MaterialStorageBufferType is formally defined in Table 34.

Table 34 – MaterialStorageBufferType Definition

Attribute

Value

BrowseName

MaterialStorageBufferType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType

HasProperty

Variable

ID

String

PropertyType

Mandatory

HasProperty

Variable

MES_ID

String

PropertyType

Mandatory

HasProperty

Variable

NonMixing

Boolean

PropertyType

Mandatory

HasProperty

Variable

TotalStorageCapacity

Double

PropertyType

Mandatory

HasProperty

Variable

StorageLogic

StorageLogicEnumeration

PropertyType

Mandatory

HasComponent

Variable

LoadingRate

Double

MaterialRateType

Mandatory

HasComponent

Variable

UnloadingRate

Double

MaterialRateType

Mandatory

HasComponent

Variable

StoredLot

Double

MaterialLotType

Mandatory

HasComponent

Object

UIInfo

 

UIInformation

Mandatory

 

The MaterialStorageBufferType ObjectType is a concrete type and can be used directly.

6.9.3   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.9.3.1   Manufacturer

The Manufacturer property provides the name of the manufacturer that supplied the part (e.g. "”).

6.9.3.2   Model

The Model property provides the name of the part as identified by the manufacturer (e.g. "").

6.9.3.3   RevisionCounter

The RevisionCounter property provides the revision level of the part as identified by the manufacturer (e.g. "").

6.9.3.4   Serial

The Serial property provides the serial number of the part as identified uniquely by the manufacturer.

6.9.4   Additional Objects of the MaterialStorageBufferType

The following Objects are defined to extend the DeviceType.

6.9.4.1   Variable ID

The property ID is the unique identifier of the material buffer storage.

6.9.4.2   Variable MES_ID

The property MES_ID is the unique identifier of the material buffer storage according to a higher level system, e.g. MES or ERP.

6.9.4.3   Variable NonMixing

When the property NonMixing is True, the buffer storage shall be emptied before a different material can be loaded to the buffer storage. When the property NonMixing is False, a different material can be added without prior emptying the buffer storage.

6.9.4.4   Variable TotalStorageCapacity

The property TotalStorageCapacity represents the total storage capacity of the buffer storage.

6.9.4.5   Variable StorageLogic

The property StorageLogic identifies the logic used at the buffer storage to store and retrieve material.

The property StorageLogic has type StorageLogicEnumeration which is defined in Table 24.

6.9.4.6   Variable LoadingRate

The variable LoadingRate describes the rate at which the material is consumed at the loading point. The variable LoadingRate indicates the quantity of the material consumed in 60 seconds.

The variable LoadingRate has type MaterialRateType and is defined in section 8.4.

6.9.4.7   Variable StoredLot

The variable StoredLot describes a lot, i.e. a defined quantity of a material.

The variable StoredLot has type MaterialLotType and is defined in section 8.3.

6.9.4.8   Variable UnloadingRate

The variable UnloadingRate describes the rate at which the material is produced at the unloading point. The variable UnloadingRate indicates the quantity of the material produced in 60 seconds.

The variable LoadingRate has type MaterialRateType and is defined in section 8.4.

6.9.4.9   Object UIInfo

The Object UIInfo contains information about the User Interface (UI) of the storage buffer. When an Object does not have own UIInfo, then the Object does not require visualisation.

6.10   MaterialRejectionTrapType

6.10.1   General

This OPC UA MaterialRejectionTrapType ObjectType describes a device that is capable of rejecting product away from the product flow. Some devices are triggered by defect sensors, other devices may be triggered by the user to sample the mass flow when it is not reachable by the user. The latter are called sampling traps and are modelled by the MaterialRejectionTrapType.

Figure 18 shows an overview for the MateriaRejectionTrapType with related Objects. It is formally defined in Table 35.

Figure 18MaterialRejectionTrapType overview

 

6.10.2   ObjectType definition

The MaterialRejectionTrapType is formally defined in Table 35.

Table 35 – MaterialRejectionTrapType Definition

Attribute

Value

BrowseName

MaterialRejectionTrapType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100

HasProperty

Variable

Description

LocalizedText

PropertyType

Mandatory

HasProperty

Variable

DisplayName

LocalizedText

PropertyType

Mandatory

HasComponent

Variable

MaterialRejectedRatio

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

MaterialQuantityRejectedTotal

Double

MaterialLotType

Mandatory

HasComponent

Variable

MaterialQuantityRejectedMasterTotal

Double

MaterialLotType

Mandatory

HasComponent

Variable

RejectionCountTotal

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

RejectionCountMasterTotal

Double

BaseDataVariableType

Mandatory

HasProperty

Variable

RejectionMode

Boolean

PropertyType

Mandatory

HasComponent

Variable

RejectionsRatio

Double

BaseDataVariableType

Mandatory

HasComponent

Obejct

UIInfo

 

UIInformationType

Mandatory

HasComponent

Method

ResetRejectionTotals

 

 

Mandatory

HasComponent

Method

SetRejectionMode

 

 

Mandatory

GeneratesEvent

ObjectType

MaterialRejectedLogType

 

 

 

GeneratesEvent

ObjectType

MaterialRejectionTrapDisabledLogType

 

 

 

 

The MaterialRejectionTrapType ObjectType is a concrete type and can be used directly.

6.10.3   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.10.3.1   Manufactu

The Manufacturer property provides the name of the manufacturer that supplied the part (e.g. "Siemens”).

6.10.3.2   Model

The Model property provides the name of the part as identified by the manufacturer (e.g. "S7- CPU 1515-2 PN").

6.10.3.3   RevisionCounter

The RevisionCounter property provides the revision level of the part as identified by the manufacturer (e.g. "").

6.10.3.4   Serial

The Serial property provides the serial number of the part as identified uniquely by the manufacturer.

6.10.4   Additional Objects of the MaterialRejectionTrapType

The following Objects are defined to extend the DeviceType.

6.10.4.1   Variable Description

The Property Description describes the rejection trap device.

6.10.4.2   Variable DisplayName

The Property DisplayName is the identification of the rejection trap device used on displaying systems, e.g. HMI and SCADA.

6.10.4.3   Variable MaterialRejectedRatio

The Variable MaterialRejectedRatio is the ratio of the total material rejected (MaterialRejectedTotal) over the total good product and is computed by the underlying system.

Remark. The unit of measure of the rejected material is the same as in the MaterialOutput (see MaterialOutputType 6.12) of the same machine module.

6.10.4.4   Variable MaterialQuantityRejectedTotal

The Variable MaterialRejectedTotal totalises the material rejected since the last time the total was reset to zero using the Method ResetRejectionTotals, see below.

The Type MaterialLotType is defined in Table 75.

The Value of the Variable MaterialQuantityRejectedTotal shall be persisted both in the OPC UA Server and in the underlying system so that, if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.10.4.5   Variable MaterialQuantityRejectedMasterTotal

The Variable MaterialQuantityRejectedMasterTotal totalises the material rejected and is never reset.

The Type MaterialLotType is defined in Table 75.

The Value of the Variable MaterialQuantityRejectedMasterTotal shall be persisted both in the OPC UA Server and in the underlying system so that, if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.10.4.6   Variable RejectionCountTotal

The Variable RejectionCountTotal totalises the number of times a rejection device was triggered to reject since the last time the total was reset to zero using the Method ResetRejectionTotals, see below.

The Value of the Variable RejectionCountTotal shall be persisted both in the OPC UA Server and in the underlying system so that, if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.10.4.7   Variable RejectionCountMasterTotal

The Variable RejectionCountMasterTotal totalises the number of times a rejection device was triggered to reject and is never reset.

The Value of the Variable RejectionCountTotal shall be persisted both in the OPC UA Server and in the underlying system so that, if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.10.4.8   Variable RejectionMode

The Property RejectionMode is True when the MaterialRejectionTrap is operational and discharges material when triggered.

6.10.4.9   Variable RejectionRatio

The Variable RejectionRatio is the ratio between the good product output total and the rejected quantity total.

6.10.4.10   Object UIInfo

The Object UIInfo contains information about the User Interface (UI) of the rejection trap. When an Object does not have own UIInfo, then the Object does not require visualisation.

6.10.4.11   Method ResetRejectionTotals

The Method ResetRejectionTotals resets the MaterialQuantityRejectedTotal and RejectionCountTotal to zero.

Signature

ResetRejectionTotals (

   [out]      MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.10.4.12   Method SetRejectionMode

The Method SetRejectionMode turns the rejection on or off.

Signature

ResetRejectionTotals (

   [in]       Boolean                    RejectionMode  

   [out]      MethodExecutionFeedbackType ExecutionFeedback    

   );

 

Argument

Description

RejectionMode

When true, the rejection trap rejects. When false, the rejection trap does not reject.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.11   DefectDetectionSensorType

6.11.1   General

This OPC UA DefectDetectionSensorType ObjectType describes a sensor fitted to the machine module that detect product defects.

Figure 19 shows an overview for the DefectDetectionSensorType with related Objects. It is formally defined in Table 36.

Figure 19DefectDetectionSensorType overview

 

6.11.2   ObjectType Definition

The DefectDetectionSensor is formally defined in Table 36.

Table 36DefectDetectionSensorType Definition

Attribute

Value

BrowseName

DefectDetectionSensorType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100

HasProperty

Variable

Description

LocalizedText

PropertyType

Mandatory

HasComponent

Variable

DetectionCountMasterTotal

Int64

BaseDataVariableType

Mandatory

HasComponent

Variable

DetectionCountTotal

Int64

BaseDataVariableType

Mandatory

HasProperty

Variable

DetectionMode

Boolean

PropertyType

Mandatory

HasProperty

Variable

DisplayName

LocalizedText

PropertyType

Mandatory

HasComponent

Variable

SensorValue

Double

AnalogItemtype

Mandatory Placeholder

HasComponent

Object

UIInfo

 

UIInformation

Mandatory

HasComponent

Method

ResetDetectionCountTotal

 

 

Mandatory

HasComponent

Method

SetDetectionMode

 

 

Mandatory

HasComponent

Method

LoadReferenceImages

 

 

Optional

GeneratesEvent

ObjectType

DefectDetectedLogType

 

 

 

GeneratesEvent

ObjectType

DefectDetectionSensorDisabledType

 

 

 

 

The DefectDetectionSensorType ObjectType is a concrete type and can be used directly.

6.11.3   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.11.3.1   Manufacturer

The Manufacturer property provides the name of the manufacturer that supplied the part (e.g. "Siemens”).

6.11.3.2   Model

The Model property provides the name of the part as identified by the manufacturer (e.g. "S7- CPU 1515-2 PN").

6.11.3.3   RevisionCounter

The RevisionCounter property provides the revision level of the part as identified by the manufacturer (e.g. "").

6.11.3.4   Serial

The Serial property provides the serial number of the part as identified uniquely by the manufacturer.

6.11.4   Additional Objects of the DefectDetectionSensorType

The following Objects are defined to extend the DeviceType.

6.11.4.1   Variable Description

The Property Description describes the defect detected and detection sensor.

6.11.4.2   Variable DetectionCountTotal

The DetectionCountTotal Variable counts how many times a defect was detected by the sensor while the DetectionMode is true. Increments at every detection, never reset to zero.

The Value of the Variable DetectionCountTotal shall be persisted both in the OPC UA Server and in the underlying system so that if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.11.4.3   Variable DetectionCountMasterTotal

The DetectionCountMasterTotal Variable counts how many times a defect was detected by the sensor while the DetectionMode is true. The Value of theVariable DetectionCountMasterTotal is never reset.

The Value of the Variable DetectionCountMasterTotal shall be persisted both in the OPC UA Server and in the underlying system so that if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.11.4.4   Variable DetectionMode

The DetectionMode Variable indicates if the defection sensor is active (when the value is True) or not active (when the value is false).

6.11.4.5   Variable DisplayName

The DisplayName Variable represents an identification to be used for the defect detection sensor in displays and HMI faceplates.

6.11.4.6   Variable SensorValue

The Variable SensorValue is the value of the quantity sensed by the sensor.

A defect detection sensor device may measure multiple physical properties, e.g. net tobacco weight, moisture, foreign matters etc.. Each property measured shall be modelled as a separate SensorValue Variable, which is to this purpose a Mandatory Placeholder Variable.

The type of the Variable SensorValue is AnalogItemType and is defined in OPC 10000-8. Thus SensorValue inherits the Definition Property that shall be used to define the physical property measured. The Definition Property is used to identify the semantics of the measurement, e.g “Measurement of the cigarette diameter” or “Measurement of the cigarette circumference”.

6.11.4.7   Object UIInfo

The Object UIInfo contains information about the User Interface (UI) of the defect sensor. When an Object does not have own UIInfo, then the Object does not require visualisation.

6.11.4.8   Method LoadReferenceImages

The Method LoadReferenceImages loads to the underlying system images to be used as references for visual defect detection.

Signature

LoadReferenceImages (

[in]       Image[]                    Images    

[out]      MethodExecutionFeedbackType ExecutionFeedback

   );

 

Argument

Description

Images

The list of images to be used as references for an image detection system.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.11.4.9   Method ResetDetectionCountTotal

The Method ResetDetectionCountTotal resets to zero the DetectionCountTotal.

Signature

ResetDetectionCountTotal (

[out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.11.4.10   Method SetDetectionMode

The Method SetDetectionMode enables or disables the defect detection sensor.

Signature

GetPage (

[in] Boolean                    Enable

[out] MethodExecutionFeedbackType ExecutionFeedback

   );

 

Argument

Description

Enable

Specifies if the method enables or disables the defect detection sensor

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.12   MaterialOutputType

6.12.1   General

This OPC UA MaterialOutputType ObjectType describes the capability and real time information about the hand-over point of material from one machine module to another.

Figure 20 shows an overview for the MaterialOutputType with related Objects. It is formally defined in Table 36.

 

Figure 20MaterialOutputType overview

 

6.12.2   ObjectType Definition

The MaterialOutputType is formally defined in Table 37.

Table 37MaterialOutputType Definition

Attribute

Value

BrowseName

MaterialOutputType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100

HasProperty

Variable

UnloadPoint

LoadUnloadPointType

PropertyType

Mandatory

HasComponent

Variable

DownstreamHeld

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

OutputRate

Double

MaterialRateType

Mandatory

HasComponent

Variable

TotalOutput

Double

MaterialLotType

Mandatory

HasComponent

Variable

MasterTotalOutput

Double

MaterialLotType

Mandatory

HasComponent

Object

UIInfo

 

UIInformationType

Mandatory

HasComponent

Method

ResetTotal

 

 

Mandatory

GeneratesEvent

ObjectType

GoodOutputProducedLogType

 

 

 

 

The MaterialOutputType ObjectType is a concrete type and can be used directly.

6.12.3   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.12.3.1   Manufacturer

The Manufacturer property provides the name of the manufacturer that supplied the part (e.g. "Siemens”).

6.12.3.2   Model

The Model property provides the name of the part as identified by the manufacturer (e.g. "S7- CPU 1515-2 PN").

6.12.3.3   RevisionCounter

The RevisionCounter property provides the revision level of the part as identified by the manufacturer (e.g. "").

6.12.3.4   Serial

The Serial property provides the serial number of the part as identified uniquely by the manufacturer.

6.12.4   Additional Objects of the MaterialOutputType

The following Objects are defined to extend the DeviceType.

6.12.4.1   Variable UnloadPoint

The Property UnloadPoint contains the identification of the material output physical location and the material capabilities.

6.12.4.2   Variable DownstreamHeld

When the downstream machine module cannot receive the product flow, the upstream machine is required to hold the transfer of product to the downstream machine module.

The Variable DownstreamHeld is True when the corresponding Variable UpstreamHold (see 6.8.5.7) in the connected MaterialLoadingPoint is True. The connection is made by the FlowsTo Reference.

The underlying system shall interlock the product flow of the MaterialOutput Object accordingly.

The Variable DownstreamHeld is intended to be used with OPC UA Time Sensitive Networks.

6.12.4.3   Variable OutputRate

The Variable OutputRate is the quantity of output from the MaterialOutputType Object during 60 seconds.

6.12.4.4   Variable TotalOutput

The Variable TotalOutput is the total material output since the last time it was reset via the relevant ResetTotal Method.

The Value of the Variable TotalOutput shall be persisted both in the OPC UA Server and in the underlying system so that if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.12.4.5   Variable MasterTotalOutput

The Variable MasterTotalOutput is the total material output. The value of MasterTotalOutput Variable is not affected by the ResetTotal Method.

The Value of the Variable MasterTotalOutput shall be persisted both in the OPC UA Server and in the underlying system so that if one fails and/or is replaced, the other will allow restoring the Value when the OPC UA Server and underlying system are on separate hardware infrastructure.

6.12.4.6   Object UIInfo

The Object UIInfo contains information about the User Interface (UI) of the material output. When an Object does not have own UIInfo, then the Object does not require visualisation.

6.12.4.7   Method ResetTotal

The Method ResetTotal sets to zero the Property TotalOutput. The Property MasterTotalOutput is unaffected.

Signature

ResetTotal

[out]      MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.13   ControlsHWType

6.13.1   General

This OPC UA ControlsHWType ObjectType describes the hardware component that is used in the control architecture of the machine modules or workcentre and exposes the supported capabilities to clients.

Figure 21 shows an overview for the ControlsHWType with related Objects. It is formally defined in Table 38.

 

Figure 21ControlsHWType overview

 

6.13.2   ObjectType Definition

The ControlsHWType is formally defined in Table 38.

Table 38 – ControlsHWType Definition

Attribute

Value

BrowseName

ControlsHWType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100

HasComponent

Variable

IOImageIsSupported

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

LiveStreamIsSupported

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

RemoteConnectionIsSupported

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

ScreenshotIsSupported

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

IOImage

IOPointType[]

BaseDataVariableType

Mandatory

HasComponent

Variable

SystemDumpIsSupported

Boolean

BaseDataVariableType

Mandatory

HasComponent

Method

GetIOImage

 

 

Mandatory

HasComponent

Method

GetLiveStream

 

 

Mandatory

HasComponent

Method

GetRemoteConnection

 

 

Mandatory

HasComponent

Method

GetScreenshot

 

 

Mandatory

HasComponent

Method

GetSupportedFeatures

 

 

Mandatory

HasComponent

Method

GetSystemDump

 

 

Mandatory

GeneratesEvent

ObjectType

NewSystemDumpIsGenerated

 

 

 

 

The ControlsHWType ObjectType is a concrete type and can be used directly.

6.13.3   Properties included in DeviceType

The following properties are already included in the DeviceType.

6.13.3.1   Manufacturer

The Manufacturer property provides the name of the manufacturer that supplied the part (e.g. "Siemens”).

6.13.3.2   Model

The Model property provides the name of the part as identified by the manufacturer (e.g. "S7- CPU 1515-2 PN").

6.13.3.3   RevisionCounter

The RevisionCounter property provides the revision level of the part as identified by the manufacturer (e.g. "").

6.13.3.4   Serial

The Serial property provides the serial number of the part as identified uniquely by the manufacturer.

6.13.4   Additional Objects of the ControlsHWType

The following Objects are defined to extend the DeviceType.

6.13.4.1   Variable IOImageIsSupported

When the IOImageIsSupported Variable is true, the controls' hardware component supports requests of the IO Image, i.e. a synchronous snapshot of all the inputs and outputs of the controls element at the time the method is invoked.

6.13.4.2   Variable LiveStreamIsSupported

When the LiveStreamIsSupported Variable is true, the controls' hardware component supports live stream, i.e. remotely connecting to the local HMI and streaming the live view of the HMI application back to the client.

6.13.4.3   Variable RemoteConnectionIsSupported

When the RemoteConnectionIsSupported Variable is true, the controls' hardware component supports remote connection, i.e. remotely connecting to the local HMI, including streaming and remote control.

6.13.4.4   Variable ScreenshotIsSupported

When the ScreenshotIsSupported Variable is true, the controls' hardware component supports taking a screenshot of the HMI screen at the time of the method invocation.

6.13.4.5   Variable SystemDumpIsSupported

When the SystemDumpIsSupported Variable is true, the controls' hardware component supports saving complete system dumps.

6.13.4.6   Variable IOImage

The Variable IOImage contains the current snapshot of the inputs and outputs of the ControlsHW Object.

The Variable IOImage is a list of items of type IOPointType. The Type IOPointType is defined in Table 39.

Table 39 IOPointType Definition

Name

Type

Description

IOPointType

Structure

Single IO Point

IOPointMeta

IOMetaType

The meta-data describing the IO point.

IOPointValue

IOValueType

The value of the IO point.

 

The Variable IOValueType is defined in Table 40.

Table 40 IOValueType Definition

Name

Type

Description

IOValueType

Structure

The value of a single IO point.

TimeStamp

UtcTime

The time the value of the IO point was read in the underlying system.

RawValue

BaseDataType

The raw value of the IO point read at time TimeStamp.

EngValue

BaseDataType

The engineering value of the IO point read at time TimeStamp.

 

The Variable IOMetaType is defined in Table 41.

Table 41 IOMetaType Definition

Name

Type

Description

IOMetaType

Structure

Meta-data describing a single IO point.

Description

String

The description of the IO point.

Address

String

The address of the IO point, e.g. PEW1.

IOType

IOTypeEnumeration

The data type of the IO point in the underlying system.

 

The Data Type  IOTypeEnumeration is defined in accordance with IEC 6-1131 Part 3 in Table 42.

Table 42IOTypeEnumeration Definition

Enumstring

Value

Description

BYTE

0

Byte

WORD

1

Word

DWORD

2

Double Word

LWORD

3

Long Word

SINT

4

Signed Integer

INT

5

Integer

DINT

6

Double Integer

LINT

7

Long Integer

USINT

8

Unsigned Short Integer

UINT

9

Unsigned Integer

UDINT

10

Unsigned Double Integer

ULINT

11

Unsigned Long Integer

REAL

12

Real

LREAL

13

Long Real

TIME

14

Time

LTIME

15

Long Time

DATE

16

Date

LDATE

17

Long Date

TIME_OF_DAY

18

Clock Time

LTIME_OF_DAY

19

Long Clock Time

DATE_AND_TIME

20

Date and Time

LDATE_AND_TIME

21

Long Date and Time

CHAR

22

Character

WCHAR

23

 

STRING

24

 

WSTRING

25

 

 

6.13.4.7   Method GetIOImage

The Method GetIOImage returns a file that represents the IO image of the controls’ hardware component. The format of the file may vary according to the proprietary nature of the controls’ hardware component.

Signature

GetIOImage (

[out] IOPointType[]                         IOImage

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

IOImage

IO image as a file.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.13.4.8   Method GetLiveStream

The Method GetLiveStream returns the URL that the client connects to to get the video stream.

Signature

GetLiveStream (

[out] String                          ScreenStreamURL

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

ScreenStreamURL

The url of the video stream.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.13.4.9   Method GetRemoteConnection

The Method GetRemoteConnection establishes a remote connection between an OPC UA Client and an object of type ControlHWType.

Signature

GetRemoteConnection (

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.13.4.10   Method GetScreenshot

The Method GetScreenshot returns a screenshot of the controls’ hardware HMI at the time the method is invoked.

Signature

GetScreenshot (

[out] Image                           CurrentScreenshot

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

CurrentScreenshot

The screenshot in jpg, gif, bmp or png format.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.13.4.11   Method GetSupportedFeatures

The Method GetSupportedFeatures returns the list of features that the controls’ hardware component supports.

Signature

GetSupportedFeatures (

[out] ControlsHWFeatureEnumeration[]   SupportedFeatures

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

SupportedFeatures

The list of supported features.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

The Enumeration ControlsHWFeaturesEnumeration is defined in Table 43.

Table 43ControlsHWFeaturesEnumeration Definition

Enumstring

Value

Description

Other

0

None of the below.

IOImage

1

The controls’ hardware components supports IO image retrieval.

LiveStream

2

The controls’ hardware components supports live stream.

RemoteConnection

3

The controls’ hardware components supports remote connection.

ScreenshotCurrentPage

4

The controls’ hardware components supports  screenshot retrieval.

SystemDump

5

The controls’ hardware components supports system dump.

 

Method Result Codes

ResultCode

Description

BadNodeIdUnknown

See table 173 in OPC 10000-4 for the description of these result codes.

BadTypeMismatch

BadOutOfRange

BadNotWritable

BadNotFound

 

6.13.4.12   Method GetSystemDump

The Method GetSystemDump returns a file containing the system dump. The system dump file format may be proprietary.

Signature

GetSystemDump (

[out] ByteString                      SystemDump

   [out] MethodExecutionFeedbackType      ExecutionFeedback

   );

 

Argument

Description

SystemDump

The system dump file.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

 

Method Result Codes