node-opcua-address-space 2.76.1 → 2.76.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/source/address_space_ts.d.ts +118 -118
- package/dist/source/address_space_ts.js +17 -17
- package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
- package/dist/source/continuation_points/continuation_point_manager.js +195 -195
- package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
- package/dist/source/helpers/adjust_browse_direction.js +11 -11
- package/dist/source/helpers/argument_list.d.ts +33 -33
- package/dist/source/helpers/argument_list.js +258 -258
- package/dist/source/helpers/call_helpers.d.ts +6 -6
- package/dist/source/helpers/call_helpers.js +70 -70
- package/dist/source/helpers/check_event_clause.d.ts +17 -0
- package/dist/source/helpers/check_event_clause.js +53 -0
- package/dist/source/helpers/check_event_clause.js.map +1 -0
- package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
- package/dist/source/helpers/coerce_enum_value.js +33 -33
- package/dist/source/helpers/dump_tools.d.ts +14 -14
- package/dist/source/helpers/dump_tools.js +78 -78
- package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
- package/dist/source/helpers/ensure_secure_access.js +76 -76
- package/dist/source/helpers/make_optionals_map.d.ts +21 -21
- package/dist/source/helpers/make_optionals_map.js +29 -29
- package/dist/source/helpers/multiform_func.d.ts +11 -11
- package/dist/source/helpers/multiform_func.js +75 -75
- package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
- package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
- package/dist/source/index.d.ts +56 -56
- package/dist/source/index.js +83 -83
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -19
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -193
- package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -12
- package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -10
- package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -7
- package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -7
- package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -9
- package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -4
- package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -20
- package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -23
- package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -32
- package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -19
- package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +42 -42
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -7
- package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +25 -25
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -5
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -20
- package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -26
- package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -8
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +2 -2
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -10
- package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
- package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
- package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
- package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
- package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
- package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
- package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
- package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -30
- package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +2 -2
- package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
- package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
- package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
- package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
- package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
- package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
- package/dist/source/loader/decode_xml_extension_object.js +71 -71
- package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
- package/dist/source/loader/ensure_datatype_extracted.js +45 -45
- package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
- package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
- package/dist/source/loader/load_nodeset2.d.ts +16 -16
- package/dist/source/loader/load_nodeset2.js +1461 -1461
- package/dist/source/loader/make_semver_compatible.d.ts +6 -6
- package/dist/source/loader/make_semver_compatible.js +25 -25
- package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
- package/dist/source/loader/make_xml_extension_object_parser.js +325 -325
- package/dist/source/loader/namespace_post_step.d.ts +10 -10
- package/dist/source/loader/namespace_post_step.js +61 -61
- package/dist/source/loader/register_node_promoter.d.ts +2 -2
- package/dist/source/loader/register_node_promoter.js +9 -9
- package/dist/source/namespace.d.ts +6 -6
- package/dist/source/namespace.js +2 -2
- package/dist/source/namespace_alarm_and_condition.d.ts +32 -32
- package/dist/source/namespace_alarm_and_condition.js +2 -2
- package/dist/source/namespace_data_access.d.ts +42 -42
- package/dist/source/namespace_data_access.js +2 -2
- package/dist/source/namespace_machine_state.d.ts +7 -7
- package/dist/source/namespace_machine_state.js +2 -2
- package/dist/source/pseudo_session.d.ts +55 -55
- package/dist/source/pseudo_session.js +203 -203
- package/dist/source/session_context.d.ts +111 -111
- package/dist/source/session_context.js +265 -265
- package/dist/source/set_namespace_meta_data.d.ts +2 -2
- package/dist/source/set_namespace_meta_data.js +59 -59
- package/dist/source/ua_root_folder.d.ts +9 -9
- package/dist/source/ua_root_folder.js +2 -2
- package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
- package/dist/source/ua_two_state_variable_ex.js +2 -2
- package/dist/source/xml_writer.d.ts +9 -9
- package/dist/source/xml_writer.js +2 -2
- package/dist/src/address_space.d.ts +392 -392
- package/dist/src/address_space.js +1392 -1392
- package/dist/src/address_space_change_event_tools.d.ts +6 -6
- package/dist/src/address_space_change_event_tools.js +149 -149
- package/dist/src/address_space_private.d.ts +43 -43
- package/dist/src/address_space_private.js +2 -2
- package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -0
- package/dist/src/alarms_and_conditions/check_where_clause.js +110 -0
- package/dist/src/alarms_and_conditions/check_where_clause.js.map +1 -0
- package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
- package/dist/src/alarms_and_conditions/condition.js +78 -78
- package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -0
- package/dist/src/alarms_and_conditions/condition_info.js +55 -0
- package/dist/src/alarms_and_conditions/condition_info.js.map +1 -0
- package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -26
- package/dist/src/alarms_and_conditions/condition_info_impl.js +54 -54
- package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -0
- package/dist/src/alarms_and_conditions/condition_snapshot.js +667 -0
- package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -0
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -222
- package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +657 -657
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -9
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -61
- package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -0
- package/dist/src/alarms_and_conditions/extract_event_fields.js +90 -0
- package/dist/src/alarms_and_conditions/extract_event_fields.js.map +1 -0
- package/dist/src/alarms_and_conditions/index.d.ts +16 -16
- package/dist/src/alarms_and_conditions/index.js +32 -32
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -44
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -93
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -419
- package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -26
- package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -44
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +183 -183
- package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +153 -153
- package/dist/src/alarms_and_conditions/ua_condition_impl.js +1028 -1028
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -14
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +34 -34
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -24
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -23
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -79
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -24
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -19
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -46
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -166
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -18
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
- package/dist/src/apply_condition_refresh.d.ts +6 -6
- package/dist/src/apply_condition_refresh.js +27 -27
- package/dist/src/base_node_impl.d.ts +281 -281
- package/dist/src/base_node_impl.js +1395 -1395
- package/dist/src/base_node_private.d.ts +61 -61
- package/dist/src/base_node_private.js +705 -705
- package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
- package/dist/src/data_access/add_dataItem_stuff.js +61 -61
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
- package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
- package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
- package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
- package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -0
- package/dist/src/data_access/ua_multistate_value_discrete.js +250 -0
- package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -0
- package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +51 -51
- package/dist/src/data_access/ua_multistate_value_discrete_impl.js +249 -249
- package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -0
- package/dist/src/data_access/ua_two_state_discrete.js +154 -0
- package/dist/src/data_access/ua_two_state_discrete.js.map +1 -0
- package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -25
- package/dist/src/data_access/ua_two_state_discrete_impl.js +153 -153
- package/dist/src/event_data.d.ts +34 -34
- package/dist/src/event_data.js +64 -64
- package/dist/src/extension_object_array_node.d.ts +61 -61
- package/dist/src/extension_object_array_node.js +276 -276
- package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
- package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
- package/dist/src/index_current.d.ts +43 -43
- package/dist/src/index_current.js +74 -74
- package/dist/src/namespace_impl.d.ts +461 -461
- package/dist/src/namespace_impl.js +1732 -1732
- package/dist/src/namespace_private.d.ts +21 -21
- package/dist/src/namespace_private.js +32 -32
- package/dist/src/nodeid_manager.d.ts +36 -36
- package/dist/src/nodeid_manager.js +197 -197
- package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
- package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
- package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
- package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
- package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
- package/dist/src/nodeset_tools/nodeset_to_xml.js +1155 -1155
- package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
- package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
- package/dist/src/reference_impl.d.ts +43 -43
- package/dist/src/reference_impl.js +139 -139
- package/dist/src/role_permissions.d.ts +2 -2
- package/dist/src/role_permissions.js +10 -10
- package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
- package/dist/src/state_machine/finite_state_machine.js +353 -353
- package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -38
- package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
- package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
- package/dist/src/state_machine/ua_two_state_variable.js +331 -331
- package/dist/src/tool_isSupertypeOf.d.ts +17 -17
- package/dist/src/tool_isSupertypeOf.js +108 -108
- package/dist/src/ua_condition_type.d.ts +8 -8
- package/dist/src/ua_condition_type.js +2 -2
- package/dist/src/ua_data_type_impl.d.ts +93 -93
- package/dist/src/ua_data_type_impl.js +371 -371
- package/dist/src/ua_method_impl.d.ts +41 -41
- package/dist/src/ua_method_impl.js +208 -208
- package/dist/src/ua_object_impl.d.ts +35 -35
- package/dist/src/ua_object_impl.js +161 -161
- package/dist/src/ua_object_type_impl.d.ts +48 -48
- package/dist/src/ua_object_type_impl.js +124 -124
- package/dist/src/ua_reference_type_impl.d.ts +43 -43
- package/dist/src/ua_reference_type_impl.js +139 -139
- package/dist/src/ua_variable_impl.d.ts +351 -351
- package/dist/src/ua_variable_impl.js +1604 -1604
- package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
- package/dist/src/ua_variable_impl_ext_obj.js +437 -437
- package/dist/src/ua_variable_type_impl.d.ts +62 -62
- package/dist/src/ua_variable_type_impl.js +570 -570
- package/dist/src/ua_view_impl.d.ts +19 -19
- package/dist/src/ua_view_impl.js +43 -43
- package/distHelpers/add_event_generator_object.d.ts +3 -3
- package/distHelpers/add_event_generator_object.js +64 -64
- package/distHelpers/alarms_and_conditions_demo.d.ts +9 -9
- package/distHelpers/alarms_and_conditions_demo.js +115 -115
- package/distHelpers/assertHasMatchingReference.d.ts +19 -19
- package/distHelpers/assertHasMatchingReference.js +40 -40
- package/distHelpers/boiler_system.d.ts +113 -113
- package/distHelpers/boiler_system.js +395 -395
- package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
- package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
- package/distHelpers/date_utils.d.ts +3 -3
- package/distHelpers/date_utils.js +9 -9
- package/distHelpers/dump_statemachine.js +127 -127
- package/distHelpers/get_address_space_fixture.d.ts +1 -1
- package/distHelpers/get_address_space_fixture.js +30 -30
- package/distHelpers/get_mini_address_space.d.ts +7 -7
- package/distHelpers/get_mini_address_space.js +36 -36
- package/distHelpers/index.d.ts +12 -12
- package/distHelpers/index.js +28 -28
- package/distHelpers/mock_session.d.ts +14 -14
- package/distHelpers/mock_session.js +25 -25
- package/distNodeJS/generate_address_space.d.ts +4 -4
- package/distNodeJS/generate_address_space.js +41 -41
- package/distNodeJS/index.d.ts +1 -1
- package/distNodeJS/index.js +17 -17
- package/package.json +36 -35
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-address-space
|
|
3
|
-
*/
|
|
4
|
-
import { NodeClass } from "node-opcua-data-model";
|
|
5
|
-
import { AttributeIds } from "node-opcua-data-model";
|
|
6
|
-
import { DataValue } from "node-opcua-data-value";
|
|
7
|
-
import { EventNotifierFlags, ISessionContext, UAView } from "node-opcua-address-space-base";
|
|
8
|
-
import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
|
|
9
|
-
export interface InternalViewOptions extends InternalBaseNodeOptions {
|
|
10
|
-
containsNoLoops?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare class UAViewImpl extends BaseNodeImpl implements UAView {
|
|
13
|
-
readonly nodeClass = NodeClass.View;
|
|
14
|
-
readonly containsNoLoops: boolean;
|
|
15
|
-
private _eventNotifier;
|
|
16
|
-
get eventNotifier(): EventNotifierFlags;
|
|
17
|
-
constructor(options: InternalViewOptions);
|
|
18
|
-
readAttribute(context: ISessionContext | null, attributeId: AttributeIds): DataValue;
|
|
19
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { NodeClass } from "node-opcua-data-model";
|
|
5
|
+
import { AttributeIds } from "node-opcua-data-model";
|
|
6
|
+
import { DataValue } from "node-opcua-data-value";
|
|
7
|
+
import { EventNotifierFlags, ISessionContext, UAView } from "node-opcua-address-space-base";
|
|
8
|
+
import { BaseNodeImpl, InternalBaseNodeOptions } from "./base_node_impl";
|
|
9
|
+
export interface InternalViewOptions extends InternalBaseNodeOptions {
|
|
10
|
+
containsNoLoops?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class UAViewImpl extends BaseNodeImpl implements UAView {
|
|
13
|
+
readonly nodeClass = NodeClass.View;
|
|
14
|
+
readonly containsNoLoops: boolean;
|
|
15
|
+
private _eventNotifier;
|
|
16
|
+
get eventNotifier(): EventNotifierFlags;
|
|
17
|
+
constructor(options: InternalViewOptions);
|
|
18
|
+
readAttribute(context: ISessionContext | null, attributeId: AttributeIds): DataValue;
|
|
19
|
+
}
|
package/dist/src/ua_view_impl.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UAViewImpl = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @module node-opcua-address-space
|
|
6
|
-
*/
|
|
7
|
-
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
8
|
-
const node_opcua_data_model_2 = require("node-opcua-data-model");
|
|
9
|
-
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
10
|
-
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
11
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
12
|
-
const node_opcua_address_space_base_1 = require("node-opcua-address-space-base");
|
|
13
|
-
const session_context_1 = require("../source/session_context");
|
|
14
|
-
const base_node_impl_1 = require("./base_node_impl");
|
|
15
|
-
class UAViewImpl extends base_node_impl_1.BaseNodeImpl {
|
|
16
|
-
constructor(options) {
|
|
17
|
-
super(options);
|
|
18
|
-
this.nodeClass = node_opcua_data_model_1.NodeClass.View;
|
|
19
|
-
this.containsNoLoops = !!options.containsNoLoops;
|
|
20
|
-
this._eventNotifier = node_opcua_address_space_base_1.EventNotifierFlags.None;
|
|
21
|
-
}
|
|
22
|
-
get eventNotifier() {
|
|
23
|
-
return this._eventNotifier;
|
|
24
|
-
}
|
|
25
|
-
readAttribute(context, attributeId) {
|
|
26
|
-
context = context || session_context_1.SessionContext.defaultContext;
|
|
27
|
-
const options = {};
|
|
28
|
-
switch (attributeId) {
|
|
29
|
-
case node_opcua_data_model_2.AttributeIds.EventNotifier:
|
|
30
|
-
options.value = { dataType: node_opcua_variant_1.DataType.Byte, value: this.eventNotifier };
|
|
31
|
-
options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
|
|
32
|
-
break;
|
|
33
|
-
case node_opcua_data_model_2.AttributeIds.ContainsNoLoops:
|
|
34
|
-
options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: this.containsNoLoops };
|
|
35
|
-
options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
|
|
36
|
-
break;
|
|
37
|
-
default:
|
|
38
|
-
return super.readAttribute(context, attributeId);
|
|
39
|
-
}
|
|
40
|
-
return new node_opcua_data_value_1.DataValue(options);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.UAViewImpl = UAViewImpl;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UAViewImpl = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-address-space
|
|
6
|
+
*/
|
|
7
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
8
|
+
const node_opcua_data_model_2 = require("node-opcua-data-model");
|
|
9
|
+
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
10
|
+
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
11
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
12
|
+
const node_opcua_address_space_base_1 = require("node-opcua-address-space-base");
|
|
13
|
+
const session_context_1 = require("../source/session_context");
|
|
14
|
+
const base_node_impl_1 = require("./base_node_impl");
|
|
15
|
+
class UAViewImpl extends base_node_impl_1.BaseNodeImpl {
|
|
16
|
+
constructor(options) {
|
|
17
|
+
super(options);
|
|
18
|
+
this.nodeClass = node_opcua_data_model_1.NodeClass.View;
|
|
19
|
+
this.containsNoLoops = !!options.containsNoLoops;
|
|
20
|
+
this._eventNotifier = node_opcua_address_space_base_1.EventNotifierFlags.None;
|
|
21
|
+
}
|
|
22
|
+
get eventNotifier() {
|
|
23
|
+
return this._eventNotifier;
|
|
24
|
+
}
|
|
25
|
+
readAttribute(context, attributeId) {
|
|
26
|
+
context = context || session_context_1.SessionContext.defaultContext;
|
|
27
|
+
const options = {};
|
|
28
|
+
switch (attributeId) {
|
|
29
|
+
case node_opcua_data_model_2.AttributeIds.EventNotifier:
|
|
30
|
+
options.value = { dataType: node_opcua_variant_1.DataType.Byte, value: this.eventNotifier };
|
|
31
|
+
options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
|
|
32
|
+
break;
|
|
33
|
+
case node_opcua_data_model_2.AttributeIds.ContainsNoLoops:
|
|
34
|
+
options.value = { dataType: node_opcua_variant_1.DataType.Boolean, value: this.containsNoLoops };
|
|
35
|
+
options.statusCode = node_opcua_status_code_1.StatusCodes.Good;
|
|
36
|
+
break;
|
|
37
|
+
default:
|
|
38
|
+
return super.readAttribute(context, attributeId);
|
|
39
|
+
}
|
|
40
|
+
return new node_opcua_data_value_1.DataValue(options);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.UAViewImpl = UAViewImpl;
|
|
44
44
|
//# sourceMappingURL=ua_view_impl.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { INamespace } from "node-opcua-address-space-base";
|
|
2
|
-
import { UAFolder } from "node-opcua-nodeset-ua";
|
|
3
|
-
export declare function add_eventGeneratorObject(namespace: INamespace, parentFolder: UAFolder | string): void;
|
|
1
|
+
import { INamespace } from "node-opcua-address-space-base";
|
|
2
|
+
import { UAFolder } from "node-opcua-nodeset-ua";
|
|
3
|
+
export declare function add_eventGeneratorObject(namespace: INamespace, parentFolder: UAFolder | string): void;
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.add_eventGeneratorObject = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @module node-opcua-address-space
|
|
6
|
-
*/
|
|
7
|
-
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
8
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
9
|
-
function add_eventGeneratorObject(namespace, parentFolder) {
|
|
10
|
-
const myEvtType = namespace.addEventType({
|
|
11
|
-
browseName: "MyEventType",
|
|
12
|
-
subtypeOf: "BaseEventType" // should be implicit
|
|
13
|
-
});
|
|
14
|
-
const myObject = namespace.addObject({
|
|
15
|
-
browseName: "EventGeneratorObject",
|
|
16
|
-
eventNotifier: 1,
|
|
17
|
-
organizedBy: parentFolder
|
|
18
|
-
});
|
|
19
|
-
myObject.addReference({
|
|
20
|
-
nodeId: myEvtType,
|
|
21
|
-
referenceType: "AlwaysGeneratesEvent"
|
|
22
|
-
});
|
|
23
|
-
const method = namespace.addMethod(myObject, {
|
|
24
|
-
browseName: "EventGeneratorMethod",
|
|
25
|
-
inputArguments: [
|
|
26
|
-
{
|
|
27
|
-
dataType: node_opcua_variant_1.DataType.String,
|
|
28
|
-
description: { text: "Event Message" },
|
|
29
|
-
name: "message"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
dataType: node_opcua_variant_1.DataType.UInt32,
|
|
33
|
-
description: { text: "Event Severity" },
|
|
34
|
-
name: "severity"
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
outputArguments: []
|
|
38
|
-
});
|
|
39
|
-
method.bindMethod((inputArguments, context, callback) => {
|
|
40
|
-
// xx console.log("In Event Generator Method");
|
|
41
|
-
// xx console.log(this.toString());
|
|
42
|
-
// xx console.log(context.object.toString());
|
|
43
|
-
// xx console.log("inputArguments ", inputArguments[0].toString());
|
|
44
|
-
const message = inputArguments[0].value || "Hello from Event Generator Object";
|
|
45
|
-
const severity = inputArguments[1].value || 0;
|
|
46
|
-
const myEventType = namespace.addressSpace.findEventType("MyEventType", namespace.index);
|
|
47
|
-
context.object.raiseEvent(myEventType, {
|
|
48
|
-
message: {
|
|
49
|
-
dataType: node_opcua_variant_1.DataType.LocalizedText,
|
|
50
|
-
value: { text: message }
|
|
51
|
-
},
|
|
52
|
-
severity: {
|
|
53
|
-
dataType: node_opcua_variant_1.DataType.UInt32,
|
|
54
|
-
value: severity
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
const callMethodResult = {
|
|
58
|
-
outputArguments: [],
|
|
59
|
-
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
60
|
-
};
|
|
61
|
-
callback(null, callMethodResult);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
exports.add_eventGeneratorObject = add_eventGeneratorObject;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.add_eventGeneratorObject = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-address-space
|
|
6
|
+
*/
|
|
7
|
+
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
8
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
9
|
+
function add_eventGeneratorObject(namespace, parentFolder) {
|
|
10
|
+
const myEvtType = namespace.addEventType({
|
|
11
|
+
browseName: "MyEventType",
|
|
12
|
+
subtypeOf: "BaseEventType" // should be implicit
|
|
13
|
+
});
|
|
14
|
+
const myObject = namespace.addObject({
|
|
15
|
+
browseName: "EventGeneratorObject",
|
|
16
|
+
eventNotifier: 1,
|
|
17
|
+
organizedBy: parentFolder
|
|
18
|
+
});
|
|
19
|
+
myObject.addReference({
|
|
20
|
+
nodeId: myEvtType,
|
|
21
|
+
referenceType: "AlwaysGeneratesEvent"
|
|
22
|
+
});
|
|
23
|
+
const method = namespace.addMethod(myObject, {
|
|
24
|
+
browseName: "EventGeneratorMethod",
|
|
25
|
+
inputArguments: [
|
|
26
|
+
{
|
|
27
|
+
dataType: node_opcua_variant_1.DataType.String,
|
|
28
|
+
description: { text: "Event Message" },
|
|
29
|
+
name: "message"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
dataType: node_opcua_variant_1.DataType.UInt32,
|
|
33
|
+
description: { text: "Event Severity" },
|
|
34
|
+
name: "severity"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
outputArguments: []
|
|
38
|
+
});
|
|
39
|
+
method.bindMethod((inputArguments, context, callback) => {
|
|
40
|
+
// xx console.log("In Event Generator Method");
|
|
41
|
+
// xx console.log(this.toString());
|
|
42
|
+
// xx console.log(context.object.toString());
|
|
43
|
+
// xx console.log("inputArguments ", inputArguments[0].toString());
|
|
44
|
+
const message = inputArguments[0].value || "Hello from Event Generator Object";
|
|
45
|
+
const severity = inputArguments[1].value || 0;
|
|
46
|
+
const myEventType = namespace.addressSpace.findEventType("MyEventType", namespace.index);
|
|
47
|
+
context.object.raiseEvent(myEventType, {
|
|
48
|
+
message: {
|
|
49
|
+
dataType: node_opcua_variant_1.DataType.LocalizedText,
|
|
50
|
+
value: { text: message }
|
|
51
|
+
},
|
|
52
|
+
severity: {
|
|
53
|
+
dataType: node_opcua_variant_1.DataType.UInt32,
|
|
54
|
+
value: severity
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const callMethodResult = {
|
|
58
|
+
outputArguments: [],
|
|
59
|
+
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
60
|
+
};
|
|
61
|
+
callback(null, callMethodResult);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
exports.add_eventGeneratorObject = add_eventGeneratorObject;
|
|
65
65
|
//# sourceMappingURL=add_event_generator_object.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AddressSpace, UANonExclusiveLimitAlarmEx, UAExclusiveLimitAlarmEx, UAVariable } from "..";
|
|
2
|
-
export interface IAlarmTestData {
|
|
3
|
-
tankLevel: UAVariable;
|
|
4
|
-
tankLevelCondition: UAExclusiveLimitAlarmEx;
|
|
5
|
-
tankLevel2: UAVariable;
|
|
6
|
-
tankLevelCondition2: UANonExclusiveLimitAlarmEx;
|
|
7
|
-
tankTripCondition: null;
|
|
8
|
-
}
|
|
9
|
-
export declare function construct_demo_alarm_in_address_space(test: IAlarmTestData, addressSpace: AddressSpace): void;
|
|
1
|
+
import { AddressSpace, UANonExclusiveLimitAlarmEx, UAExclusiveLimitAlarmEx, UAVariable } from "..";
|
|
2
|
+
export interface IAlarmTestData {
|
|
3
|
+
tankLevel: UAVariable;
|
|
4
|
+
tankLevelCondition: UAExclusiveLimitAlarmEx;
|
|
5
|
+
tankLevel2: UAVariable;
|
|
6
|
+
tankLevelCondition2: UANonExclusiveLimitAlarmEx;
|
|
7
|
+
tankTripCondition: null;
|
|
8
|
+
}
|
|
9
|
+
export declare function construct_demo_alarm_in_address_space(test: IAlarmTestData, addressSpace: AddressSpace): void;
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.construct_demo_alarm_in_address_space = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @module node-opcua-address-space
|
|
6
|
-
*/
|
|
7
|
-
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
-
function construct_demo_alarm_in_address_space(test, addressSpace) {
|
|
9
|
-
const a = addressSpace;
|
|
10
|
-
if (a.construct_demo_alarm_in_address_space_called) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
a.construct_demo_alarm_in_address_space_called = true;
|
|
14
|
-
addressSpace.installAlarmsAndConditionsService();
|
|
15
|
-
const namespace = addressSpace.getOwnNamespace();
|
|
16
|
-
const tank = namespace.addObject({
|
|
17
|
-
browseName: "Tank",
|
|
18
|
-
description: "The Object representing the Tank",
|
|
19
|
-
eventNotifier: 0x01,
|
|
20
|
-
notifierOf: addressSpace.rootFolder.objects.server,
|
|
21
|
-
organizedBy: addressSpace.rootFolder.objects
|
|
22
|
-
});
|
|
23
|
-
(0, node_opcua_assert_1.assert)(tank.getNotifiers().length === 0, "expecting a notifier now");
|
|
24
|
-
const tankLevel = namespace.addVariable({
|
|
25
|
-
browseName: "TankLevel",
|
|
26
|
-
componentOf: tank,
|
|
27
|
-
dataType: "Double",
|
|
28
|
-
description: "Fill level in percentage (0% to 100%) of the water tank",
|
|
29
|
-
eventSourceOf: tank,
|
|
30
|
-
value: { dataType: "Double", value: 0.5 }
|
|
31
|
-
});
|
|
32
|
-
// assert(tank.getNotifiers().length === 1, "expecting a notifier now");
|
|
33
|
-
// --------------------------------------------------------------------------------
|
|
34
|
-
// Let's create a exclusive Limit Alarm that automatically raise itself
|
|
35
|
-
// when the tank level is out of limit
|
|
36
|
-
// --------------------------------------------------------------------------------
|
|
37
|
-
const exclusiveLimitAlarmType = addressSpace.findEventType("ExclusiveLimitAlarmType");
|
|
38
|
-
if (!exclusiveLimitAlarmType) {
|
|
39
|
-
throw new Error("cannot find ExclusiveLimitAlarmType in namespace 0");
|
|
40
|
-
}
|
|
41
|
-
const tankLevelCondition = namespace.instantiateExclusiveLimitAlarm(exclusiveLimitAlarmType, {
|
|
42
|
-
browseName: "TankLevelCondition",
|
|
43
|
-
componentOf: tank,
|
|
44
|
-
conditionName: "TankLevelCondition",
|
|
45
|
-
conditionSource: tankLevel,
|
|
46
|
-
highHighLimit: 0.9,
|
|
47
|
-
highLimit: 0.8,
|
|
48
|
-
inputNode: tankLevel,
|
|
49
|
-
lowLimit: 0.2,
|
|
50
|
-
optionals: [
|
|
51
|
-
"ConfirmedState",
|
|
52
|
-
"Confirm" // confirm state and confirm Method
|
|
53
|
-
],
|
|
54
|
-
setpointNode: null,
|
|
55
|
-
});
|
|
56
|
-
(0, node_opcua_assert_1.assert)(tankLevelCondition.browseName.toString() === "1:TankLevelCondition");
|
|
57
|
-
(0, node_opcua_assert_1.assert)(tankLevel.findReferences("HasCondition").length === 1);
|
|
58
|
-
(0, node_opcua_assert_1.assert)(tankLevel.findReferencesAsObject("HasCondition", true).length === 1);
|
|
59
|
-
const conditionName = tankLevel.findReferencesAsObject("HasCondition", true)[0].browseName.toString();
|
|
60
|
-
const conditionTypeDefinition = tankLevel.findReferencesAsObject("HasCondition", true)[0].typeDefinitionObj.browseName.toString();
|
|
61
|
-
const conditionJavascriptClass = tankLevel.findReferencesAsObject("HasCondition", true)[0].constructor.name.toString();
|
|
62
|
-
if (false) {
|
|
63
|
-
console.log(conditionName, conditionTypeDefinition, conditionJavascriptClass);
|
|
64
|
-
}
|
|
65
|
-
(0, node_opcua_assert_1.assert)("1:TankLevelCondition" === conditionName);
|
|
66
|
-
(0, node_opcua_assert_1.assert)("ExclusiveLimitAlarmType" === conditionTypeDefinition);
|
|
67
|
-
(0, node_opcua_assert_1.assert)("UAExclusiveLimitAlarmImpl" === conditionJavascriptClass);
|
|
68
|
-
// ----------------------------------------------------------------
|
|
69
|
-
// tripAlarm that signals that the "Tank lid" is opened
|
|
70
|
-
const tripAlarmType = addressSpace.findEventType("TripAlarmType");
|
|
71
|
-
const tankTripCondition = null;
|
|
72
|
-
// to
|
|
73
|
-
// ---------------------------
|
|
74
|
-
// create a retain condition
|
|
75
|
-
// xx tankLevelCondition.currentBranch().setRetain(true);
|
|
76
|
-
// xx tankLevelCondition.raiseNewCondition({message: "Tank is almost 70% full",
|
|
77
|
-
// severity: 100, quality: StatusCodes.Good});
|
|
78
|
-
// -------------------------------------------------------------
|
|
79
|
-
// Let's create a second variable with no Exclusive alarm
|
|
80
|
-
// -------------------------------------------------------------
|
|
81
|
-
const tankLevel2 = namespace.addVariable({
|
|
82
|
-
browseName: "tankLevel2",
|
|
83
|
-
componentOf: tank,
|
|
84
|
-
dataType: "Double",
|
|
85
|
-
description: "Fill level in percentage (0% to 100%) of the water tank",
|
|
86
|
-
eventSourceOf: tank,
|
|
87
|
-
value: { dataType: "Double", value: 0.5 }
|
|
88
|
-
});
|
|
89
|
-
const nonExclusiveLimitAlarmType = addressSpace.findEventType("NonExclusiveLimitAlarmType");
|
|
90
|
-
if (!nonExclusiveLimitAlarmType) {
|
|
91
|
-
throw new Error("!!");
|
|
92
|
-
}
|
|
93
|
-
const tankLevelCondition2 = namespace.instantiateNonExclusiveLimitAlarm(nonExclusiveLimitAlarmType, {
|
|
94
|
-
browseName: "TankLevelCondition2",
|
|
95
|
-
componentOf: tank,
|
|
96
|
-
conditionName: "TankLevel2",
|
|
97
|
-
conditionSource: tankLevel2,
|
|
98
|
-
highHighLimit: 0.9,
|
|
99
|
-
highLimit: 0.8,
|
|
100
|
-
inputNode: tankLevel2,
|
|
101
|
-
lowLimit: 0.2,
|
|
102
|
-
optionals: [
|
|
103
|
-
"ConfirmedState",
|
|
104
|
-
"Confirm" // confirm state and confirm Method
|
|
105
|
-
]
|
|
106
|
-
});
|
|
107
|
-
(0, node_opcua_assert_1.assert)(tankLevel2.findReferences("HasCondition").length === 1);
|
|
108
|
-
(0, node_opcua_assert_1.assert)(tankLevel2.findReferencesAsObject("HasCondition", true).length === 1);
|
|
109
|
-
test.tankLevel = tankLevel;
|
|
110
|
-
test.tankLevelCondition = tankLevelCondition;
|
|
111
|
-
test.tankLevel2 = tankLevel2;
|
|
112
|
-
test.tankLevelCondition2 = tankLevelCondition2;
|
|
113
|
-
test.tankTripCondition = tankTripCondition;
|
|
114
|
-
}
|
|
115
|
-
exports.construct_demo_alarm_in_address_space = construct_demo_alarm_in_address_space;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.construct_demo_alarm_in_address_space = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-address-space
|
|
6
|
+
*/
|
|
7
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
+
function construct_demo_alarm_in_address_space(test, addressSpace) {
|
|
9
|
+
const a = addressSpace;
|
|
10
|
+
if (a.construct_demo_alarm_in_address_space_called) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
a.construct_demo_alarm_in_address_space_called = true;
|
|
14
|
+
addressSpace.installAlarmsAndConditionsService();
|
|
15
|
+
const namespace = addressSpace.getOwnNamespace();
|
|
16
|
+
const tank = namespace.addObject({
|
|
17
|
+
browseName: "Tank",
|
|
18
|
+
description: "The Object representing the Tank",
|
|
19
|
+
eventNotifier: 0x01,
|
|
20
|
+
notifierOf: addressSpace.rootFolder.objects.server,
|
|
21
|
+
organizedBy: addressSpace.rootFolder.objects
|
|
22
|
+
});
|
|
23
|
+
(0, node_opcua_assert_1.assert)(tank.getNotifiers().length === 0, "expecting a notifier now");
|
|
24
|
+
const tankLevel = namespace.addVariable({
|
|
25
|
+
browseName: "TankLevel",
|
|
26
|
+
componentOf: tank,
|
|
27
|
+
dataType: "Double",
|
|
28
|
+
description: "Fill level in percentage (0% to 100%) of the water tank",
|
|
29
|
+
eventSourceOf: tank,
|
|
30
|
+
value: { dataType: "Double", value: 0.5 }
|
|
31
|
+
});
|
|
32
|
+
// assert(tank.getNotifiers().length === 1, "expecting a notifier now");
|
|
33
|
+
// --------------------------------------------------------------------------------
|
|
34
|
+
// Let's create a exclusive Limit Alarm that automatically raise itself
|
|
35
|
+
// when the tank level is out of limit
|
|
36
|
+
// --------------------------------------------------------------------------------
|
|
37
|
+
const exclusiveLimitAlarmType = addressSpace.findEventType("ExclusiveLimitAlarmType");
|
|
38
|
+
if (!exclusiveLimitAlarmType) {
|
|
39
|
+
throw new Error("cannot find ExclusiveLimitAlarmType in namespace 0");
|
|
40
|
+
}
|
|
41
|
+
const tankLevelCondition = namespace.instantiateExclusiveLimitAlarm(exclusiveLimitAlarmType, {
|
|
42
|
+
browseName: "TankLevelCondition",
|
|
43
|
+
componentOf: tank,
|
|
44
|
+
conditionName: "TankLevelCondition",
|
|
45
|
+
conditionSource: tankLevel,
|
|
46
|
+
highHighLimit: 0.9,
|
|
47
|
+
highLimit: 0.8,
|
|
48
|
+
inputNode: tankLevel,
|
|
49
|
+
lowLimit: 0.2,
|
|
50
|
+
optionals: [
|
|
51
|
+
"ConfirmedState",
|
|
52
|
+
"Confirm" // confirm state and confirm Method
|
|
53
|
+
],
|
|
54
|
+
setpointNode: null,
|
|
55
|
+
});
|
|
56
|
+
(0, node_opcua_assert_1.assert)(tankLevelCondition.browseName.toString() === "1:TankLevelCondition");
|
|
57
|
+
(0, node_opcua_assert_1.assert)(tankLevel.findReferences("HasCondition").length === 1);
|
|
58
|
+
(0, node_opcua_assert_1.assert)(tankLevel.findReferencesAsObject("HasCondition", true).length === 1);
|
|
59
|
+
const conditionName = tankLevel.findReferencesAsObject("HasCondition", true)[0].browseName.toString();
|
|
60
|
+
const conditionTypeDefinition = tankLevel.findReferencesAsObject("HasCondition", true)[0].typeDefinitionObj.browseName.toString();
|
|
61
|
+
const conditionJavascriptClass = tankLevel.findReferencesAsObject("HasCondition", true)[0].constructor.name.toString();
|
|
62
|
+
if (false) {
|
|
63
|
+
console.log(conditionName, conditionTypeDefinition, conditionJavascriptClass);
|
|
64
|
+
}
|
|
65
|
+
(0, node_opcua_assert_1.assert)("1:TankLevelCondition" === conditionName);
|
|
66
|
+
(0, node_opcua_assert_1.assert)("ExclusiveLimitAlarmType" === conditionTypeDefinition);
|
|
67
|
+
(0, node_opcua_assert_1.assert)("UAExclusiveLimitAlarmImpl" === conditionJavascriptClass);
|
|
68
|
+
// ----------------------------------------------------------------
|
|
69
|
+
// tripAlarm that signals that the "Tank lid" is opened
|
|
70
|
+
const tripAlarmType = addressSpace.findEventType("TripAlarmType");
|
|
71
|
+
const tankTripCondition = null;
|
|
72
|
+
// to
|
|
73
|
+
// ---------------------------
|
|
74
|
+
// create a retain condition
|
|
75
|
+
// xx tankLevelCondition.currentBranch().setRetain(true);
|
|
76
|
+
// xx tankLevelCondition.raiseNewCondition({message: "Tank is almost 70% full",
|
|
77
|
+
// severity: 100, quality: StatusCodes.Good});
|
|
78
|
+
// -------------------------------------------------------------
|
|
79
|
+
// Let's create a second variable with no Exclusive alarm
|
|
80
|
+
// -------------------------------------------------------------
|
|
81
|
+
const tankLevel2 = namespace.addVariable({
|
|
82
|
+
browseName: "tankLevel2",
|
|
83
|
+
componentOf: tank,
|
|
84
|
+
dataType: "Double",
|
|
85
|
+
description: "Fill level in percentage (0% to 100%) of the water tank",
|
|
86
|
+
eventSourceOf: tank,
|
|
87
|
+
value: { dataType: "Double", value: 0.5 }
|
|
88
|
+
});
|
|
89
|
+
const nonExclusiveLimitAlarmType = addressSpace.findEventType("NonExclusiveLimitAlarmType");
|
|
90
|
+
if (!nonExclusiveLimitAlarmType) {
|
|
91
|
+
throw new Error("!!");
|
|
92
|
+
}
|
|
93
|
+
const tankLevelCondition2 = namespace.instantiateNonExclusiveLimitAlarm(nonExclusiveLimitAlarmType, {
|
|
94
|
+
browseName: "TankLevelCondition2",
|
|
95
|
+
componentOf: tank,
|
|
96
|
+
conditionName: "TankLevel2",
|
|
97
|
+
conditionSource: tankLevel2,
|
|
98
|
+
highHighLimit: 0.9,
|
|
99
|
+
highLimit: 0.8,
|
|
100
|
+
inputNode: tankLevel2,
|
|
101
|
+
lowLimit: 0.2,
|
|
102
|
+
optionals: [
|
|
103
|
+
"ConfirmedState",
|
|
104
|
+
"Confirm" // confirm state and confirm Method
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
(0, node_opcua_assert_1.assert)(tankLevel2.findReferences("HasCondition").length === 1);
|
|
108
|
+
(0, node_opcua_assert_1.assert)(tankLevel2.findReferencesAsObject("HasCondition", true).length === 1);
|
|
109
|
+
test.tankLevel = tankLevel;
|
|
110
|
+
test.tankLevelCondition = tankLevelCondition;
|
|
111
|
+
test.tankLevel2 = tankLevel2;
|
|
112
|
+
test.tankLevelCondition2 = tankLevelCondition2;
|
|
113
|
+
test.tankTripCondition = tankTripCondition;
|
|
114
|
+
}
|
|
115
|
+
exports.construct_demo_alarm_in_address_space = construct_demo_alarm_in_address_space;
|
|
116
116
|
//# sourceMappingURL=alarms_and_conditions_demo.js.map
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { AddReferenceOpts, BaseNode } from "..";
|
|
2
|
-
/**
|
|
3
|
-
* asserts that the provided reference exists in the node references
|
|
4
|
-
*
|
|
5
|
-
* @method assertHasMatchingReference
|
|
6
|
-
*
|
|
7
|
-
* @param node
|
|
8
|
-
* @param reference (Reference}
|
|
9
|
-
* @param reference.referenceType {String}
|
|
10
|
-
* @param reference.nodeId {NodeId}
|
|
11
|
-
* @param reference.isForward {Boolean}
|
|
12
|
-
*
|
|
13
|
-
* @example:
|
|
14
|
-
*
|
|
15
|
-
* assertHasMatchingReference(node,{ referenceType: "Organizes",i sForward:true, nodeId: "ns=1,i=12" });
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
export declare function assertHasMatchingReference(node: BaseNode, reference: AddReferenceOpts): void;
|
|
1
|
+
import { AddReferenceOpts, BaseNode } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* asserts that the provided reference exists in the node references
|
|
4
|
+
*
|
|
5
|
+
* @method assertHasMatchingReference
|
|
6
|
+
*
|
|
7
|
+
* @param node
|
|
8
|
+
* @param reference (Reference}
|
|
9
|
+
* @param reference.referenceType {String}
|
|
10
|
+
* @param reference.nodeId {NodeId}
|
|
11
|
+
* @param reference.isForward {Boolean}
|
|
12
|
+
*
|
|
13
|
+
* @example:
|
|
14
|
+
*
|
|
15
|
+
* assertHasMatchingReference(node,{ referenceType: "Organizes",i sForward:true, nodeId: "ns=1,i=12" });
|
|
16
|
+
*
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export declare function assertHasMatchingReference(node: BaseNode, reference: AddReferenceOpts): void;
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertHasMatchingReference = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @module node-opcua-address-space
|
|
6
|
-
*/
|
|
7
|
-
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
9
|
-
/**
|
|
10
|
-
* asserts that the provided reference exists in the node references
|
|
11
|
-
*
|
|
12
|
-
* @method assertHasMatchingReference
|
|
13
|
-
*
|
|
14
|
-
* @param node
|
|
15
|
-
* @param reference (Reference}
|
|
16
|
-
* @param reference.referenceType {String}
|
|
17
|
-
* @param reference.nodeId {NodeId}
|
|
18
|
-
* @param reference.isForward {Boolean}
|
|
19
|
-
*
|
|
20
|
-
* @example:
|
|
21
|
-
*
|
|
22
|
-
* assertHasMatchingReference(node,{ referenceType: "Organizes",i sForward:true, nodeId: "ns=1,i=12" });
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
function assertHasMatchingReference(node, reference) {
|
|
27
|
-
const addressSpace = node.addressSpace;
|
|
28
|
-
const normalizedReference = addressSpace.normalizeReferenceType(reference);
|
|
29
|
-
(0, node_opcua_assert_1.assert)(normalizedReference.referenceType instanceof node_opcua_nodeid_1.NodeId);
|
|
30
|
-
let refs = node.findReferences(normalizedReference.referenceType, normalizedReference.isForward);
|
|
31
|
-
refs = refs.filter((ref) => {
|
|
32
|
-
return (0, node_opcua_nodeid_1.sameNodeId)(ref.nodeId, normalizedReference.nodeId);
|
|
33
|
-
});
|
|
34
|
-
const dispOpts = { addressSpace };
|
|
35
|
-
if (refs.length !== 1) {
|
|
36
|
-
throw new Error(" Cannot find reference " + JSON.stringify(normalizedReference));
|
|
37
|
-
}
|
|
38
|
-
(0, node_opcua_assert_1.assert)(refs.length === 1);
|
|
39
|
-
}
|
|
40
|
-
exports.assertHasMatchingReference = assertHasMatchingReference;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertHasMatchingReference = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-address-space
|
|
6
|
+
*/
|
|
7
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
9
|
+
/**
|
|
10
|
+
* asserts that the provided reference exists in the node references
|
|
11
|
+
*
|
|
12
|
+
* @method assertHasMatchingReference
|
|
13
|
+
*
|
|
14
|
+
* @param node
|
|
15
|
+
* @param reference (Reference}
|
|
16
|
+
* @param reference.referenceType {String}
|
|
17
|
+
* @param reference.nodeId {NodeId}
|
|
18
|
+
* @param reference.isForward {Boolean}
|
|
19
|
+
*
|
|
20
|
+
* @example:
|
|
21
|
+
*
|
|
22
|
+
* assertHasMatchingReference(node,{ referenceType: "Organizes",i sForward:true, nodeId: "ns=1,i=12" });
|
|
23
|
+
*
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
function assertHasMatchingReference(node, reference) {
|
|
27
|
+
const addressSpace = node.addressSpace;
|
|
28
|
+
const normalizedReference = addressSpace.normalizeReferenceType(reference);
|
|
29
|
+
(0, node_opcua_assert_1.assert)(normalizedReference.referenceType instanceof node_opcua_nodeid_1.NodeId);
|
|
30
|
+
let refs = node.findReferences(normalizedReference.referenceType, normalizedReference.isForward);
|
|
31
|
+
refs = refs.filter((ref) => {
|
|
32
|
+
return (0, node_opcua_nodeid_1.sameNodeId)(ref.nodeId, normalizedReference.nodeId);
|
|
33
|
+
});
|
|
34
|
+
const dispOpts = { addressSpace };
|
|
35
|
+
if (refs.length !== 1) {
|
|
36
|
+
throw new Error(" Cannot find reference " + JSON.stringify(normalizedReference));
|
|
37
|
+
}
|
|
38
|
+
(0, node_opcua_assert_1.assert)(refs.length === 1);
|
|
39
|
+
}
|
|
40
|
+
exports.assertHasMatchingReference = assertHasMatchingReference;
|
|
41
41
|
//# sourceMappingURL=assertHasMatchingReference.js.map
|