7 OPC UA ObjectTypes

7.1 CalendarType

7.1.1 Overview

The CalendarType provides a list of calendar dates. Each entry in the list describes a specific date or date pattern, or range of dates. The CalendarType ObjectType is formally defined in Table 4.

7.1.2 ObjectType definition

Table 4 – CalendarType Definition
Attribute Value
BrowseNameCalendarType
IsAbstractFalse
DescriptionProvides a list of calendar dates. Each entry in the list describes a specific date or date pattern, or range of dates
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType
0:HasComponentVariablePresentValue0:Boolean0:BaseDataVariableTypeM
0:HasPropertyVariableDateListCalendarEntryType[]0:PropertyTypeM
0:HasComponentMethodAddDateListElementsO
0:HasComponentMethodRemoveDateListElementsO
Conformance Units
Scheduler Calendar Base

This PresentValue indicates the current value of the calendar: True if the current date is in the DateList and False if it is not. For the current date that local time of the OPC UA Server shall be considered.

The DateList is an array of elements of which each is either a specific date or date pattern, or range of dates.

The child Nodes of the CalendarType have additional Attribute values defined in Table 5.

Table 5 – CalendarType Attribute values for child Nodes
BrowsePath Description Attribute
PresentValueIndicates if the current date is in the DateList (true) or not (false)
DateListArray of elements each defining either a specific date or date pattern, or range of dates
AddDateListElementsAdds elements to the DateList
RemoveDateListElementsRemoves elements of the DateList

7.1.3 Method AddDateListElements

This Method adds entries to the DateList Property. Even if one entry cannot be added, the other entries are still processed and added, if possible. The signature of this Method is specified below. Table 6 and Table 7 specify the Arguments and AddressSpace representation, respectively.

Signature

	AddDateListElements (
		[in]		CalendarEntryType[]		CalendarEntries
		[out]	0:Int32[]				EntryResults
		);
Table 6 – AddDateListElements Method Arguments
Argument Description
CalendarEntriesAn array of calendar entries to be added to the DateList Property.
EntryResults

An array of results, one entry per entry in CalendarEntries, indicating if the individual entry could be added. Each result <> 0 indicates, that adding this calendar entry was not successful.

0 – OK

-1 – Duplicate – Entry already in DateList

-2 – Invalid Format – The entry contains an invalid format, e.g. an invalid range

Values larger 0 can be used for vendor-specific errors.

Method Result Codes (defined in Call Service)

Result Code Description
BadNodeIdUnknownSee OPC 10000-4 for a general description.
BadNotWritableSee OPC 10000-4 for a general description.
BadOutOfMemorySee OPC 10000-4 for a general description.
Table 7 – AddDateListElements Method AddressSpace definition
Attribute Value
BrowseNameAddDateListElements
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.1.4 Method RemoveDateListElements

This Method removes entries from the DateList Property. Even if one entry cannot be removed, the other entries are still processed and removed, if possible. The signature of this Method is specified below. Table 8 and Table 9 specify the Arguments and AddressSpace representation, respectively.

Signature

	RemoveDateListElements (
		[in]		CalendarEntryType[]		CalendarEntries
		[out]	0:Int32[]				EntryResults
		);
Table 8 – RemoveDateListElements Method Arguments
Argument Description
CalendarEntriesAn array of calendar entries to be removed from the DateList Property.
EntryResults

An array of results, one entry per entry in CalendarEntries, indicating if the individual entry could be removed. Each result <> 0 indicates, that removing this calendar entry was not successful.

0 – OK

-1 – Not found – Entry is not in DateList

Values larger 0 can be used for vendor-specific errors.

Method Result Codes (defined in Call Service)

Result Code Description
BadNodeIdUnknownSee OPC 10000-4 for a general description.
BadNotWritableSee OPC 10000-4 for a general description.
Table 9 – RemoveDateListElements Method AddressSpace definition
Attribute Value
BrowseNameRemoveDateListElements
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.2 ScheduleType definition

7.2.1 Overview

The ScheduleType defines a periodic schedule that can recur over a range of dates. The schedule may have optional exceptions at arbitrary times or dates. The basic unit of a schedule is days, which are divided into two types: normal days within a week and exception days. A priority mechanism defines which scheduled event is currently valid. The ScheduleType is formally defined in Table 10.

7.2.2 ObjectType definition

Table 10 – ScheduleType definition
Attribute Value
BrowseNameScheduleType
IsAbstractFalse
DescriptionDefines a periodic schedule that can recur over a range of dates. The schedule may have optional exceptions at arbitrary times or dates. The basic unit of a schedule is days, which are divided into two types: normal days within a week and exception days. A priority mechanism defines which scheduled event is currently valid. The schedule includes a PresentValue Variable whose value describes the current state of the schedule, including a default value when no schedules are in effect.
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType
0:HasPropertyVariableExceptionScheduleSpecialEventType[]0:PropertyTypeO
0:HasComponentMethodAddExceptionScheduleElementsO
0:HasComponentMethodRemoveExceptionScheduleElementsO
0:HasPropertyVariableWeeklyScheduleDailyScheduleType[7]0:PropertyTypeO
0:HasPropertyVariable0:LocalTime0:TimeZoneDataType0:PropertyTypeM
0: HasPropertyVariableEffectivePeriodDateRangeType0:PropertyTypeO
0:HasPropertyVariableApplyLastAfterStart0:Boolean0:PropertyTypeM
Conformance Units
Scheduler Scheduling Base

The ExceptionSchedule provides an array of SpecialEventType. If present, each of those special events describes a sequence of schedule actions that take precedence over a normal day’s behaviour on a special day or days.

The WeeklySchedule provides an array of seven DailyScheduleType. Each entry represents one day of the week. The first entry in the array represents Monday, the last Sunday. Each element describes a sequence of times and a list of actions that provides a sequence of schedule actions on one day of the week when no ExceptionSchedule is in effect.

At least one of the two Properties ExceptionSchedule and WeeklySchedule shall be present.

To manipulate the ExceptionSchedule, the Methods AddExceptionScheduleElements and RemoveExceptionScheduleElements should be used. This simplifies adding and removing entries of the array. As the WeeklySchedule is a fixed-size array with a length of 7, there are no corresponding Methods. Instead, an individual entry of the array may be written by the Client to change only the schedule of one weekday.

The 0:LocalTime provides information about the local time of the schedule Object. All scheduled times are UTC time. Clients need to consider this Property to calculate the local time of the schedule. If this Property is changed, it is server-specific whether the times of the schedule are adjusted or not. If the Server and the Object the schedule is defined for are in the same local time, the Object may reference the 0:LocalTime Property of the 0:Server Object.

The EffectivePeriod specifies the range of dates within which the schedule Object is active. Upon entering its effective period, the object shall execute the defined actions at the defined times, otherwise it shall not execute any actions.

The ApplyLastAfterStart Property defines if the last set of actions shall be applied when starting the schedule Object (see 6.3 for details).

The child Nodes of the ScheduleType have additional Attribute values defined in Table 11.

Table 11 – ScheduleType Attribute values for child Nodes
BrowsePath Description Attribute
ExceptionScheduleAn array of special events. If present, each of those special events describes a sequence of schedule actions that take precedence over a normal day’s behaviour on a special day or days.
AddExceptionScheduleElementsAdds elements to the ExceptionSchedule
RemoveExceptionScheduleElementsRemoves elements from the ExceptionSchedule
WeeklyScheduleEach entry represents one day of the week. The first entry in the array represents Monday, the last Sunday. Each element describes a sequence of times and a list of actions that provides a sequence of schedule actions on one day of the week when no ExceptionSchedule is in effect.
0:LocalTimeProvides information about the local time of the schedule Object. All scheduled times are UTC time. Clients need to consider this Property to calculate the local time of the schedule. If this Property is changed, it is server-specific whether the times of the schedule are adjusted or not.
EffectivePeriodSpecifies the range of dates within which the schedule Object is active. Upon entering its effective period, the object shall execute the defined actions at the defined times, otherwise it shall not execute any actions.
ApplyLastAfterStartThe ApplyLastAfterStart Property defines if the last set of actions shall be applied when starting the schedule Object

7.2.3 Method AddExceptionScheduleElements

This Method adds entries to the ExceptionSchedule Property. Even if one entry cannot be added, the other entries are still processed and added, if possible. The signature of this Method is specified below. Table 12 and Table 13 specify the Arguments and AddressSpace representation, respectively.

Signature

	AddExceptionScheduleElements (
		[in]		SpecialEventType[]		SpecialEvents
		[out]	0:Int32[]				EntryResults
		);
Table 12 – AddExceptionScheduleElements Method Arguments
Argument Description
SpecialEventsAn array of special events to be added to the ExceptionSchedule Property.
EntryResults

An array of results, one entry per entry in SpecialEvents, indicating if the individual entry could be added. Each result <> 0 indicates, that adding this special event entry was not successful.

0 – OK

-1 – Duplicate – Entry already in ExceptionSchedule

-2 – Invalid Format – The entry contains an invalid format, e.g. an invalid range

Values larger 0 can be used for vendor-specific errors.

Method Result Codes (defined in Call Service)

Result Code Description
BadNodeIdUnknownSee OPC 10000-4 for a general description.
BadNotWritableSee OPC 10000-4 for a general description.
BadOutOfMemorySee OPC 10000-4 for a general description.
Table 13 – AddExceptionScheduleElements Method AddressSpace definition
Attribute Value
BrowseNameAddExceptionScheduleElements
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.2.4 Method RemoveExceptionScheduleElements

This Method removes entries from the ExceptionSchedule Property. Even if one entry cannot be removed, the other entries are still processed and removed, if possible. The signature of this Method is specified below. Table 14 and Table 15 specify the Arguments and AddressSpace representation, respectively.

Signature

	RemoveExceptionScheduleElements (
		[in]		SpecialEventType[]		SpecialEvents
		[out]	0:Int32[]				EntryResults
		);
Table 14 – RemoveExceptionScheduleElements Method Arguments
Argument Description
SpecialEventsAn array of special events to be removed from the ExceptionSchedule Property.
EntryResults

An array of results, one entry per entry in SpecialEvents, indicating if the individual entry could be removed. Each result <> 0 indicates, that removing this special event entry was not successful.

0 – OK

-1 – Not found – Entry is not in ExceptionSchedule

Values larger 0 can be used for vendor-specific errors.

Method Result Codes (defined in Call Service)

Result Code Description
BadNodeIdUnknownSee OPC 10000-4 for a general description.
BadNotWritableSee OPC 10000-4 for a general description.
Table 15 – RemoveExceptionScheduleElements Method AddressSpace definition
Attribute Value
BrowseNameRemoveExceptionScheduleElements
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory