node-opcua-address-space 2.71.0 → 2.72.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 +34 -34
- package/dist/source/helpers/argument_list.js +285 -285
- 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 -17
- package/dist/source/helpers/check_event_clause.js +52 -52
- 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 +73 -73
- 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 +40 -40
- package/dist/source/index.js +66 -66
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
- package/dist/source/interfaces/alarms_and_conditions/condition_info_i.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_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 +1468 -1464
- package/dist/source/loader/load_nodeset2.js.map +1 -1
- package/dist/source/loader/make_semver_compatible.d.ts +6 -0
- package/dist/source/loader/make_semver_compatible.js +26 -0
- package/dist/source/loader/make_semver_compatible.js.map +1 -0
- package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
- package/dist/source/loader/make_xml_extension_object_parser.js +325 -315
- package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
- package/dist/source/loader/namespace_post_step.d.ts +6 -6
- package/dist/source/loader/namespace_post_step.js +47 -47
- package/dist/source/loader/register_node_promoter.d.ts +3 -3
- 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 +24 -24
- 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 +1387 -1387
- 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 -4
- package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
- package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
- package/dist/src/alarms_and_conditions/condition.js +80 -80
- package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
- package/dist/src/alarms_and_conditions/condition_info.js +54 -54
- package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
- package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
- package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
- package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
- package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
- package/dist/src/alarms_and_conditions/index.d.ts +18 -18
- package/dist/src/alarms_and_conditions/index.js +34 -34
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +64 -62
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +124 -118
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
- 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 +36 -21
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +115 -25
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +187 -182
- package/dist/src/alarms_and_conditions/ua_condition_impl.js +1024 -1022
- package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +18 -17
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -27
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -9
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +40 -38
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
- 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 +105 -97
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +29 -28
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +26 -25
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +48 -39
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +161 -135
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +17 -16
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
- 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 -51
- package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
- package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
- package/dist/src/data_access/ua_two_state_discrete.js +153 -153
- package/dist/src/event_data.d.ts +29 -29
- package/dist/src/event_data.js +95 -95
- 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 +45 -45
- package/dist/src/index_current.js +77 -77
- package/dist/src/namespace_impl.d.ts +457 -457
- package/dist/src/namespace_impl.js +1733 -1733
- 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 +1143 -1143
- 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 +34 -34
- 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 +368 -368
- 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 -33
- package/dist/src/ua_object_impl.js +162 -156
- package/dist/src/ua_object_impl.js.map +1 -1
- 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 -15
- package/dist/src/ua_view_impl.js +43 -36
- package/dist/src/ua_view_impl.js.map +1 -1
- package/distHelpers/add_event_generator_object.d.ts +3 -3
- package/distHelpers/add_event_generator_object.js +65 -65
- package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
- package/distHelpers/alarms_and_conditions_demo.js +114 -114
- 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 +23 -23
- package/source/loader/load_nodeset2.ts +21 -17
- package/source/loader/make_semver_compatible.ts +23 -0
- package/source/loader/make_xml_extension_object_parser.ts +16 -6
- package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +13 -6
- package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +15 -10
- package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +126 -10
- package/src/alarms_and_conditions/ua_condition_impl.ts +26 -13
- package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +10 -4
- package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -6
- package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +5 -3
- package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +7 -6
- package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +1 -1
- package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +23 -13
- package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +6 -7
- package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +6 -7
- package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +62 -30
- package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +5 -5
- package/src/ua_object_impl.ts +11 -3
- package/src/ua_view_impl.ts +6 -4
- package/test_helpers/test_fixtures/dataType_issue.xml +9 -9
- package/test_helpers/test_fixtures/nodeset_with_guid.xml +1442 -0
- package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +31 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
- package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
- package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
- package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
- package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
- package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
- package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
- package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
- package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
- package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
- package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
- package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
- package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
- package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
- package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
- package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
- package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
- package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
- package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
- package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
- package/dist/source/interfaces/state_machine/state_machine.js +0 -3
- package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
- package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
- package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
- package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
- package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
- package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
- package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
- package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
- package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
- package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
- package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
- package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
- package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
- package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
- package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
- package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
- package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
- package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
- package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
- package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
- package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
- package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
- package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
- package/dist/src/base_node.d.ts +0 -270
- package/dist/src/base_node.js +0 -1299
- package/dist/src/base_node.js.map +0 -1
- package/dist/src/data_access/ua_analog_item.d.ts +0 -13
- package/dist/src/data_access/ua_analog_item.js +0 -37
- package/dist/src/data_access/ua_analog_item.js.map +0 -1
- package/dist/src/data_access/ua_data_item.d.ts +0 -16
- package/dist/src/data_access/ua_data_item.js +0 -66
- package/dist/src/data_access/ua_data_item.js.map +0 -1
- package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
- package/dist/src/data_access/ua_multistate_discrete.js +0 -132
- package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
- package/dist/src/namespace.d.ts +0 -472
- package/dist/src/namespace.js +0 -1759
- package/dist/src/namespace.js.map +0 -1
- package/dist/src/reference.d.ts +0 -43
- package/dist/src/reference.js +0 -138
- package/dist/src/reference.js.map +0 -1
- package/dist/src/session_context.d.ts +0 -4
- package/dist/src/session_context.js +0 -9
- package/dist/src/session_context.js.map +0 -1
- package/dist/src/ua_data_type.d.ts +0 -81
- package/dist/src/ua_data_type.js +0 -259
- package/dist/src/ua_data_type.js.map +0 -1
- package/dist/src/ua_method.d.ts +0 -33
- package/dist/src/ua_method.js +0 -194
- package/dist/src/ua_method.js.map +0 -1
- package/dist/src/ua_object.d.ts +0 -27
- package/dist/src/ua_object.js +0 -153
- package/dist/src/ua_object.js.map +0 -1
- package/dist/src/ua_object_type.d.ts +0 -49
- package/dist/src/ua_object_type.js +0 -123
- package/dist/src/ua_object_type.js.map +0 -1
- package/dist/src/ua_reference_type.d.ts +0 -31
- package/dist/src/ua_reference_type.js +0 -108
- package/dist/src/ua_reference_type.js.map +0 -1
- package/dist/src/ua_variable.d.ts +0 -346
- package/dist/src/ua_variable.js +0 -1651
- package/dist/src/ua_variable.js.map +0 -1
- package/dist/src/ua_variable_type.d.ts +0 -57
- package/dist/src/ua_variable_type.js +0 -530
- package/dist/src/ua_variable_type.js.map +0 -1
- package/dist/src/ua_view.d.ts +0 -16
- package/dist/src/ua_view.js +0 -41
- package/dist/src/ua_view.js.map +0 -1
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-address-space.AlarmsAndConditions
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="node" />
|
|
5
|
-
import { DataType } from "node-opcua-variant";
|
|
6
|
-
import { UAProperty, UAMethod, UAObject } from "node-opcua-address-space-base";
|
|
7
|
-
import { UAShelvedStateMachine_Base, UAState } from "node-opcua-nodeset-ua";
|
|
8
|
-
import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
|
|
9
|
-
import { UAStateMachineImpl } from "./finite_state_machine";
|
|
10
|
-
export interface UAShelvedStateMachineHelper {
|
|
11
|
-
_timer: NodeJS.Timer | null;
|
|
12
|
-
_sheveldTime: Date;
|
|
13
|
-
_unshelvedTime: Date;
|
|
14
|
-
_duration: number;
|
|
15
|
-
}
|
|
16
|
-
export interface UAShelvedStateMachineEx extends Omit<UAShelvedStateMachine_Base, "oneShotShelvedToUnshelved" | "unshelvedToTimedShelved" | "unshelvedToOneShotShelved" | "timedShelvedToUnshelved" | "timedShelvedToOneShotShelved" | "oneShotShelvedToTimedShelved">, UAShelvedStateMachineHelper {
|
|
17
|
-
unshelveTime: UAProperty<number, DataType.Double>;
|
|
18
|
-
unshelved: UAState;
|
|
19
|
-
timedShelved: UAState;
|
|
20
|
-
oneShotShelved: UAState;
|
|
21
|
-
unshelvedToTimedShelved: UATransitionEx;
|
|
22
|
-
unshelvedToOneShotShelved: UATransitionEx;
|
|
23
|
-
timedShelvedToUnshelved: UATransitionEx;
|
|
24
|
-
timedShelvedToOneShotShelved: UATransitionEx;
|
|
25
|
-
oneShotShelvedToUnshelved: UATransitionEx;
|
|
26
|
-
oneShotShelvedToTimedShelved: UATransitionEx;
|
|
27
|
-
timedShelve: UAMethod;
|
|
28
|
-
unshelve: UAMethod;
|
|
29
|
-
oneShotShelve: UAMethod;
|
|
30
|
-
}
|
|
31
|
-
export declare class UAShelvedStateMachineEx extends UAStateMachineImpl implements UAShelvedStateMachineEx {
|
|
32
|
-
static promote(object: UAObject): UAShelvedStateMachineEx;
|
|
33
|
-
}
|
|
34
|
-
export declare function _clear_timer_if_any(shelvingState: UAShelvedStateMachineEx): void;
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space.AlarmsAndConditions
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
import { DataType } from "node-opcua-variant";
|
|
6
|
+
import { UAProperty, UAMethod, UAObject } from "node-opcua-address-space-base";
|
|
7
|
+
import { UAShelvedStateMachine_Base, UAState } from "node-opcua-nodeset-ua";
|
|
8
|
+
import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
|
|
9
|
+
import { UAStateMachineImpl } from "./finite_state_machine";
|
|
10
|
+
export interface UAShelvedStateMachineHelper {
|
|
11
|
+
_timer: NodeJS.Timer | null;
|
|
12
|
+
_sheveldTime: Date;
|
|
13
|
+
_unshelvedTime: Date;
|
|
14
|
+
_duration: number;
|
|
15
|
+
}
|
|
16
|
+
export interface UAShelvedStateMachineEx extends Omit<UAShelvedStateMachine_Base, "oneShotShelvedToUnshelved" | "unshelvedToTimedShelved" | "unshelvedToOneShotShelved" | "timedShelvedToUnshelved" | "timedShelvedToOneShotShelved" | "oneShotShelvedToTimedShelved">, UAShelvedStateMachineHelper {
|
|
17
|
+
unshelveTime: UAProperty<number, DataType.Double>;
|
|
18
|
+
unshelved: UAState;
|
|
19
|
+
timedShelved: UAState;
|
|
20
|
+
oneShotShelved: UAState;
|
|
21
|
+
unshelvedToTimedShelved: UATransitionEx;
|
|
22
|
+
unshelvedToOneShotShelved: UATransitionEx;
|
|
23
|
+
timedShelvedToUnshelved: UATransitionEx;
|
|
24
|
+
timedShelvedToOneShotShelved: UATransitionEx;
|
|
25
|
+
oneShotShelvedToUnshelved: UATransitionEx;
|
|
26
|
+
oneShotShelvedToTimedShelved: UATransitionEx;
|
|
27
|
+
timedShelve: UAMethod;
|
|
28
|
+
unshelve: UAMethod;
|
|
29
|
+
oneShotShelve: UAMethod;
|
|
30
|
+
}
|
|
31
|
+
export declare class UAShelvedStateMachineEx extends UAStateMachineImpl implements UAShelvedStateMachineEx {
|
|
32
|
+
static promote(object: UAObject): UAShelvedStateMachineEx;
|
|
33
|
+
}
|
|
34
|
+
export declare function _clear_timer_if_any(shelvingState: UAShelvedStateMachineEx): void;
|
|
@@ -1,251 +1,251 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @module node-opcua-address-space.AlarmsAndConditions
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports._clear_timer_if_any = exports.UAShelvedStateMachineEx = void 0;
|
|
7
|
-
// --------------------------------------------------------------------------------------------------
|
|
8
|
-
// ShelvingStateMachine
|
|
9
|
-
// --------------------------------------------------------------------------------------------------
|
|
10
|
-
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
11
|
-
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
12
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
13
|
-
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
14
|
-
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
15
|
-
const ua_alarm_condition_impl_1 = require("../alarms_and_conditions/ua_alarm_condition_impl");
|
|
16
|
-
const finite_state_machine_1 = require("./finite_state_machine");
|
|
17
|
-
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
18
|
-
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
19
|
-
class UAShelvedStateMachineEx extends finite_state_machine_1.UAStateMachineImpl {
|
|
20
|
-
static promote(object) {
|
|
21
|
-
const shelvingState = object;
|
|
22
|
-
(0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
|
|
23
|
-
Object.setPrototypeOf(shelvingState, UAShelvedStateMachineEx.prototype);
|
|
24
|
-
shelvingState._timer = null;
|
|
25
|
-
if (shelvingState.unshelve) {
|
|
26
|
-
shelvingState.unshelve.bindMethod(_unshelve_method);
|
|
27
|
-
}
|
|
28
|
-
if (shelvingState.timedShelve) {
|
|
29
|
-
shelvingState.timedShelve.bindMethod(_timedShelve_method);
|
|
30
|
-
}
|
|
31
|
-
if (shelvingState.oneShotShelve) {
|
|
32
|
-
shelvingState.oneShotShelve.bindMethod(_oneShotShelve_method);
|
|
33
|
-
}
|
|
34
|
-
// install unshelveTime
|
|
35
|
-
if (shelvingState.unshelveTime) {
|
|
36
|
-
shelvingState.unshelveTime.minimumSamplingInterval = 500;
|
|
37
|
-
shelvingState.unshelveTime.bindVariable({
|
|
38
|
-
timestamped_get: _unShelveTimeFunc.bind(null, shelvingState)
|
|
39
|
-
}, true);
|
|
40
|
-
}
|
|
41
|
-
(0, node_opcua_assert_1.assert)(shelvingState instanceof UAShelvedStateMachineEx);
|
|
42
|
-
return shelvingState;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.UAShelvedStateMachineEx = UAShelvedStateMachineEx;
|
|
46
|
-
// The Unshelve Method sets the AlarmCondition to the Unshelved state. Normally, the MethodId found
|
|
47
|
-
// the Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId
|
|
48
|
-
// are passed to the Call Service. However, some Servers do not expose Condition instances in the
|
|
49
|
-
// IAddressSpace. Therefore all Servers shall also allow Clients to call the Unshelve Method by
|
|
50
|
-
// specifying ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
|
|
51
|
-
// ShelvedStateMachineType Node.
|
|
52
|
-
// output => BadConditionNotShelved
|
|
53
|
-
function _unshelve_method(inputArguments, context, callback) {
|
|
54
|
-
(0, node_opcua_assert_1.assert)(inputArguments.length === 0);
|
|
55
|
-
// var alarmNode = context.object.parent;
|
|
56
|
-
// if (!(alarmNode instanceof UAAlarmConditionImpl)) {
|
|
57
|
-
// return callback(null, {statusCode: StatusCodes.BadNodeIdInvalid});
|
|
58
|
-
// }
|
|
59
|
-
//
|
|
60
|
-
// if (!alarmNode.getEnabledState() ) {
|
|
61
|
-
// return callback(null, {statusCode: StatusCodes.BadConditionDisabled});
|
|
62
|
-
// }
|
|
63
|
-
const shelvingState = context.object;
|
|
64
|
-
(0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
|
|
65
|
-
if (shelvingState.getCurrentState() === "Unshelved") {
|
|
66
|
-
return callback(null, {
|
|
67
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
shelvingState.setState("Unshelved");
|
|
71
|
-
shelvingState._unsheveldTime = new Date(); // now
|
|
72
|
-
_clear_timer_if_any(shelvingState);
|
|
73
|
-
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
74
|
-
return callback(null, {
|
|
75
|
-
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
function _clear_timer_if_any(shelvingState) {
|
|
79
|
-
if (shelvingState._timer) {
|
|
80
|
-
clearTimeout(shelvingState._timer);
|
|
81
|
-
// xx console.log("_clear_timer_if_any shelvingState = ",shelvingState._timer,shelvingState.constructor.name);
|
|
82
|
-
shelvingState._timer = null;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports._clear_timer_if_any = _clear_timer_if_any;
|
|
86
|
-
function _automatically_unshelve(shelvingState) {
|
|
87
|
-
(0, node_opcua_assert_1.assert)(shelvingState._timer, "expecting timerId to be set");
|
|
88
|
-
shelvingState._timer = null;
|
|
89
|
-
if (doDebug) {
|
|
90
|
-
debugLog("Automatically unshelving variable ", shelvingState.browseName.toString());
|
|
91
|
-
}
|
|
92
|
-
if (shelvingState.getCurrentState() === "Unshelved") {
|
|
93
|
-
// just ignore !!!
|
|
94
|
-
return;
|
|
95
|
-
// throw new Error(StatusCodes.BadConditionNotShelved);
|
|
96
|
-
}
|
|
97
|
-
shelvingState.setState("Unshelved");
|
|
98
|
-
shelvingState._unshelvedTime = new Date(); // now
|
|
99
|
-
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
100
|
-
}
|
|
101
|
-
function _start_timer_for_automatic_unshelve(shelvingState, duration) {
|
|
102
|
-
if (duration < 10 || duration >= Math.pow(2, 31)) {
|
|
103
|
-
throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
|
|
104
|
-
}
|
|
105
|
-
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
106
|
-
shelvingState._sheveldTime = new Date(); // now
|
|
107
|
-
shelvingState._duration = duration;
|
|
108
|
-
if (doDebug) {
|
|
109
|
-
debugLog("shelvingState._duration", shelvingState._duration);
|
|
110
|
-
}
|
|
111
|
-
if (duration !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
|
|
112
|
-
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
113
|
-
shelvingState._timer = setTimeout(_automatically_unshelve.bind(null, shelvingState), shelvingState._duration);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// Spec 1.03:
|
|
117
|
-
// The TimedShelve Method sets the AlarmCondition to the TimedShelved state
|
|
118
|
-
// (parameters are defined in Table 38 and result codes are described in Table 39).
|
|
119
|
-
// Normally, the MethodId found in the Shelving child of the Condition instance and the NodeId of the Shelving object
|
|
120
|
-
// as the ObjectId are passed to the Call Service. However, some Servers do not expose Condition instances in the
|
|
121
|
-
// IAddressSpace. Therefore all Servers shall also allow Clients to call the TimedShelve Method by specifying
|
|
122
|
-
// ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the ShelvedStateMachineType Node.
|
|
123
|
-
//
|
|
124
|
-
// Signature: TimedShelve([in] Duration ShelvingTime);
|
|
125
|
-
//
|
|
126
|
-
// ShelvingTime Specifies a fixed time for which the Alarm is to be shelved. The Server may refuse
|
|
127
|
-
// the provided duration.
|
|
128
|
-
// If a MaxTimeShelved Property exist on the Alarm than the Shelving time shall be less than or equal
|
|
129
|
-
// to the value of this Property.
|
|
130
|
-
// StatusCode :
|
|
131
|
-
// BadConditionAlreadyShelved The Alarm is already in TimedShelved state and the system does not allow
|
|
132
|
-
// a reset of the shelved timer.
|
|
133
|
-
// BadShelvingTimeOutOfRange
|
|
134
|
-
function _timedShelve_method(inputArguments, context, callback) {
|
|
135
|
-
(0, node_opcua_assert_1.assert)(inputArguments.length === 1);
|
|
136
|
-
if (!context.object) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const shelvingState = context.object;
|
|
140
|
-
if (shelvingState.getCurrentState() !== "Unshelved") {
|
|
141
|
-
return callback(null, {
|
|
142
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
// checking duration ...
|
|
146
|
-
const alarmNode = shelvingState.parent;
|
|
147
|
-
// istanbul ignore next
|
|
148
|
-
if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
|
|
149
|
-
return callback(null, {
|
|
150
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
const maxTimeShelved = alarmNode.getMaxTimeShelved();
|
|
154
|
-
(0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
|
|
155
|
-
(0, node_opcua_assert_1.assert)(inputArguments[0].dataType === node_opcua_variant_1.DataType.Double); // Duration
|
|
156
|
-
(0, node_opcua_assert_1.assert)(inputArguments[0] instanceof node_opcua_variant_1.Variant);
|
|
157
|
-
// xx console.log("inputArguments",inputArguments[0].toString());
|
|
158
|
-
const proposedDuration = inputArguments[0].value; // as double (milliseconds)
|
|
159
|
-
if (proposedDuration > maxTimeShelved) {
|
|
160
|
-
return callback(null, {
|
|
161
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
if (proposedDuration < 0) {
|
|
165
|
-
return callback(null, {
|
|
166
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
_clear_timer_if_any(shelvingState);
|
|
170
|
-
shelvingState.setState("TimedShelved");
|
|
171
|
-
_start_timer_for_automatic_unshelve(shelvingState, proposedDuration);
|
|
172
|
-
return callback(null, {
|
|
173
|
-
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
// Spec 1.03:
|
|
177
|
-
// OneShotShelve Method
|
|
178
|
-
// The OneShotShelve Method sets the AlarmCondition to the OneShotShelved state. Normally, the MethodId found in the
|
|
179
|
-
// Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId are passed to the
|
|
180
|
-
// Call Service. However, some Servers do not expose Condition instances in the IAddressSpace. Therefore all Servers
|
|
181
|
-
// shall also allow Clients to call the OneShotShelve Method by specifying ConditionId as the ObjectId. The Method
|
|
182
|
-
// cannot be called with an ObjectId of the ShelvedStateMachineType Node
|
|
183
|
-
function _oneShotShelve_method(inputArguments, context, callback) {
|
|
184
|
-
(0, node_opcua_assert_1.assert)(inputArguments.length === 0);
|
|
185
|
-
const shelvingState = context.object;
|
|
186
|
-
if (shelvingState.getCurrentState() === "OneShotShelved") {
|
|
187
|
-
return callback(null, {
|
|
188
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
// checking duration ...
|
|
192
|
-
const alarmNode = shelvingState.parent;
|
|
193
|
-
// istanbul ignore next
|
|
194
|
-
if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
|
|
195
|
-
return callback(null, {
|
|
196
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
const maxTimeShelved = alarmNode.getMaxTimeShelved();
|
|
200
|
-
(0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
|
|
201
|
-
(0, node_opcua_assert_1.assert)(maxTimeShelved !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration);
|
|
202
|
-
// set automatic unshelving timer
|
|
203
|
-
_clear_timer_if_any(shelvingState);
|
|
204
|
-
shelvingState.setState("OneShotShelved");
|
|
205
|
-
_start_timer_for_automatic_unshelve(shelvingState, maxTimeShelved);
|
|
206
|
-
return callback(null, {
|
|
207
|
-
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
// from spec 1.03 :
|
|
211
|
-
// * UnshelveTime specifies the remaining time in milliseconds until the Alarm automatically
|
|
212
|
-
// transitions into the Un-shelved state.
|
|
213
|
-
// * For the TimedShelved state this time is initialised with the ShelvingTime argument of the
|
|
214
|
-
// TimedShelve Method call.
|
|
215
|
-
// * For the OneShotShelved state the UnshelveTime will be a constant set to the maximum Duration
|
|
216
|
-
// except if a MaxTimeShelved Property is provided.
|
|
217
|
-
function _unShelveTimeFunc(shelvingState) {
|
|
218
|
-
if (shelvingState.getCurrentState() === "Unshelved") {
|
|
219
|
-
return new node_opcua_data_value_1.DataValue({
|
|
220
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
|
|
221
|
-
value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
if (!shelvingState._sheveldTime) {
|
|
225
|
-
return new node_opcua_data_value_1.DataValue({
|
|
226
|
-
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
|
|
227
|
-
value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
|
|
231
|
-
return new node_opcua_data_value_1.DataValue({
|
|
232
|
-
statusCode: node_opcua_status_code_1.StatusCodes.Good,
|
|
233
|
-
value: {
|
|
234
|
-
dataType: node_opcua_variant_1.DataType.Double,
|
|
235
|
-
value: ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
const now = new Date();
|
|
240
|
-
let timeToAutomaticUnshelvedState = shelvingState._duration - (now.getTime() - shelvingState._sheveldTime.getTime());
|
|
241
|
-
// timeToAutomaticUnshelvedState should always be greater than (or equal) zero
|
|
242
|
-
timeToAutomaticUnshelvedState = Math.max(timeToAutomaticUnshelvedState, 0);
|
|
243
|
-
return new node_opcua_data_value_1.DataValue({
|
|
244
|
-
statusCode: node_opcua_status_code_1.StatusCodes.Good,
|
|
245
|
-
value: {
|
|
246
|
-
dataType: node_opcua_variant_1.DataType.Double,
|
|
247
|
-
value: timeToAutomaticUnshelvedState
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module node-opcua-address-space.AlarmsAndConditions
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._clear_timer_if_any = exports.UAShelvedStateMachineEx = void 0;
|
|
7
|
+
// --------------------------------------------------------------------------------------------------
|
|
8
|
+
// ShelvingStateMachine
|
|
9
|
+
// --------------------------------------------------------------------------------------------------
|
|
10
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
11
|
+
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
12
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
13
|
+
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
14
|
+
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
15
|
+
const ua_alarm_condition_impl_1 = require("../alarms_and_conditions/ua_alarm_condition_impl");
|
|
16
|
+
const finite_state_machine_1 = require("./finite_state_machine");
|
|
17
|
+
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
18
|
+
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
19
|
+
class UAShelvedStateMachineEx extends finite_state_machine_1.UAStateMachineImpl {
|
|
20
|
+
static promote(object) {
|
|
21
|
+
const shelvingState = object;
|
|
22
|
+
(0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
|
|
23
|
+
Object.setPrototypeOf(shelvingState, UAShelvedStateMachineEx.prototype);
|
|
24
|
+
shelvingState._timer = null;
|
|
25
|
+
if (shelvingState.unshelve) {
|
|
26
|
+
shelvingState.unshelve.bindMethod(_unshelve_method);
|
|
27
|
+
}
|
|
28
|
+
if (shelvingState.timedShelve) {
|
|
29
|
+
shelvingState.timedShelve.bindMethod(_timedShelve_method);
|
|
30
|
+
}
|
|
31
|
+
if (shelvingState.oneShotShelve) {
|
|
32
|
+
shelvingState.oneShotShelve.bindMethod(_oneShotShelve_method);
|
|
33
|
+
}
|
|
34
|
+
// install unshelveTime
|
|
35
|
+
if (shelvingState.unshelveTime) {
|
|
36
|
+
shelvingState.unshelveTime.minimumSamplingInterval = 500;
|
|
37
|
+
shelvingState.unshelveTime.bindVariable({
|
|
38
|
+
timestamped_get: _unShelveTimeFunc.bind(null, shelvingState)
|
|
39
|
+
}, true);
|
|
40
|
+
}
|
|
41
|
+
(0, node_opcua_assert_1.assert)(shelvingState instanceof UAShelvedStateMachineEx);
|
|
42
|
+
return shelvingState;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.UAShelvedStateMachineEx = UAShelvedStateMachineEx;
|
|
46
|
+
// The Unshelve Method sets the AlarmCondition to the Unshelved state. Normally, the MethodId found
|
|
47
|
+
// the Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId
|
|
48
|
+
// are passed to the Call Service. However, some Servers do not expose Condition instances in the
|
|
49
|
+
// IAddressSpace. Therefore all Servers shall also allow Clients to call the Unshelve Method by
|
|
50
|
+
// specifying ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the
|
|
51
|
+
// ShelvedStateMachineType Node.
|
|
52
|
+
// output => BadConditionNotShelved
|
|
53
|
+
function _unshelve_method(inputArguments, context, callback) {
|
|
54
|
+
(0, node_opcua_assert_1.assert)(inputArguments.length === 0);
|
|
55
|
+
// var alarmNode = context.object.parent;
|
|
56
|
+
// if (!(alarmNode instanceof UAAlarmConditionImpl)) {
|
|
57
|
+
// return callback(null, {statusCode: StatusCodes.BadNodeIdInvalid});
|
|
58
|
+
// }
|
|
59
|
+
//
|
|
60
|
+
// if (!alarmNode.getEnabledState() ) {
|
|
61
|
+
// return callback(null, {statusCode: StatusCodes.BadConditionDisabled});
|
|
62
|
+
// }
|
|
63
|
+
const shelvingState = context.object;
|
|
64
|
+
(0, finite_state_machine_1.promoteToStateMachine)(shelvingState);
|
|
65
|
+
if (shelvingState.getCurrentState() === "Unshelved") {
|
|
66
|
+
return callback(null, {
|
|
67
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
shelvingState.setState("Unshelved");
|
|
71
|
+
shelvingState._unsheveldTime = new Date(); // now
|
|
72
|
+
_clear_timer_if_any(shelvingState);
|
|
73
|
+
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
74
|
+
return callback(null, {
|
|
75
|
+
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function _clear_timer_if_any(shelvingState) {
|
|
79
|
+
if (shelvingState._timer) {
|
|
80
|
+
clearTimeout(shelvingState._timer);
|
|
81
|
+
// xx console.log("_clear_timer_if_any shelvingState = ",shelvingState._timer,shelvingState.constructor.name);
|
|
82
|
+
shelvingState._timer = null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports._clear_timer_if_any = _clear_timer_if_any;
|
|
86
|
+
function _automatically_unshelve(shelvingState) {
|
|
87
|
+
(0, node_opcua_assert_1.assert)(shelvingState._timer, "expecting timerId to be set");
|
|
88
|
+
shelvingState._timer = null;
|
|
89
|
+
if (doDebug) {
|
|
90
|
+
debugLog("Automatically unshelving variable ", shelvingState.browseName.toString());
|
|
91
|
+
}
|
|
92
|
+
if (shelvingState.getCurrentState() === "Unshelved") {
|
|
93
|
+
// just ignore !!!
|
|
94
|
+
return;
|
|
95
|
+
// throw new Error(StatusCodes.BadConditionNotShelved);
|
|
96
|
+
}
|
|
97
|
+
shelvingState.setState("Unshelved");
|
|
98
|
+
shelvingState._unshelvedTime = new Date(); // now
|
|
99
|
+
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
100
|
+
}
|
|
101
|
+
function _start_timer_for_automatic_unshelve(shelvingState, duration) {
|
|
102
|
+
if (duration < 10 || duration >= Math.pow(2, 31)) {
|
|
103
|
+
throw new Error(" Invalid maxTimeShelved duration: " + duration + " must be [10,2**31] ");
|
|
104
|
+
}
|
|
105
|
+
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
106
|
+
shelvingState._sheveldTime = new Date(); // now
|
|
107
|
+
shelvingState._duration = duration;
|
|
108
|
+
if (doDebug) {
|
|
109
|
+
debugLog("shelvingState._duration", shelvingState._duration);
|
|
110
|
+
}
|
|
111
|
+
if (duration !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
|
|
112
|
+
(0, node_opcua_assert_1.assert)(!shelvingState._timer);
|
|
113
|
+
shelvingState._timer = setTimeout(_automatically_unshelve.bind(null, shelvingState), shelvingState._duration);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Spec 1.03:
|
|
117
|
+
// The TimedShelve Method sets the AlarmCondition to the TimedShelved state
|
|
118
|
+
// (parameters are defined in Table 38 and result codes are described in Table 39).
|
|
119
|
+
// Normally, the MethodId found in the Shelving child of the Condition instance and the NodeId of the Shelving object
|
|
120
|
+
// as the ObjectId are passed to the Call Service. However, some Servers do not expose Condition instances in the
|
|
121
|
+
// IAddressSpace. Therefore all Servers shall also allow Clients to call the TimedShelve Method by specifying
|
|
122
|
+
// ConditionId as the ObjectId. The Method cannot be called with an ObjectId of the ShelvedStateMachineType Node.
|
|
123
|
+
//
|
|
124
|
+
// Signature: TimedShelve([in] Duration ShelvingTime);
|
|
125
|
+
//
|
|
126
|
+
// ShelvingTime Specifies a fixed time for which the Alarm is to be shelved. The Server may refuse
|
|
127
|
+
// the provided duration.
|
|
128
|
+
// If a MaxTimeShelved Property exist on the Alarm than the Shelving time shall be less than or equal
|
|
129
|
+
// to the value of this Property.
|
|
130
|
+
// StatusCode :
|
|
131
|
+
// BadConditionAlreadyShelved The Alarm is already in TimedShelved state and the system does not allow
|
|
132
|
+
// a reset of the shelved timer.
|
|
133
|
+
// BadShelvingTimeOutOfRange
|
|
134
|
+
function _timedShelve_method(inputArguments, context, callback) {
|
|
135
|
+
(0, node_opcua_assert_1.assert)(inputArguments.length === 1);
|
|
136
|
+
if (!context.object) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const shelvingState = context.object;
|
|
140
|
+
if (shelvingState.getCurrentState() !== "Unshelved") {
|
|
141
|
+
return callback(null, {
|
|
142
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
// checking duration ...
|
|
146
|
+
const alarmNode = shelvingState.parent;
|
|
147
|
+
// istanbul ignore next
|
|
148
|
+
if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
|
|
149
|
+
return callback(null, {
|
|
150
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
const maxTimeShelved = alarmNode.getMaxTimeShelved();
|
|
154
|
+
(0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
|
|
155
|
+
(0, node_opcua_assert_1.assert)(inputArguments[0].dataType === node_opcua_variant_1.DataType.Double); // Duration
|
|
156
|
+
(0, node_opcua_assert_1.assert)(inputArguments[0] instanceof node_opcua_variant_1.Variant);
|
|
157
|
+
// xx console.log("inputArguments",inputArguments[0].toString());
|
|
158
|
+
const proposedDuration = inputArguments[0].value; // as double (milliseconds)
|
|
159
|
+
if (proposedDuration > maxTimeShelved) {
|
|
160
|
+
return callback(null, {
|
|
161
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
if (proposedDuration < 0) {
|
|
165
|
+
return callback(null, {
|
|
166
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadShelvingTimeOutOfRange
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
_clear_timer_if_any(shelvingState);
|
|
170
|
+
shelvingState.setState("TimedShelved");
|
|
171
|
+
_start_timer_for_automatic_unshelve(shelvingState, proposedDuration);
|
|
172
|
+
return callback(null, {
|
|
173
|
+
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
// Spec 1.03:
|
|
177
|
+
// OneShotShelve Method
|
|
178
|
+
// The OneShotShelve Method sets the AlarmCondition to the OneShotShelved state. Normally, the MethodId found in the
|
|
179
|
+
// Shelving child of the Condition instance and the NodeId of the Shelving object as the ObjectId are passed to the
|
|
180
|
+
// Call Service. However, some Servers do not expose Condition instances in the IAddressSpace. Therefore all Servers
|
|
181
|
+
// shall also allow Clients to call the OneShotShelve Method by specifying ConditionId as the ObjectId. The Method
|
|
182
|
+
// cannot be called with an ObjectId of the ShelvedStateMachineType Node
|
|
183
|
+
function _oneShotShelve_method(inputArguments, context, callback) {
|
|
184
|
+
(0, node_opcua_assert_1.assert)(inputArguments.length === 0);
|
|
185
|
+
const shelvingState = context.object;
|
|
186
|
+
if (shelvingState.getCurrentState() === "OneShotShelved") {
|
|
187
|
+
return callback(null, {
|
|
188
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionAlreadyShelved
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
// checking duration ...
|
|
192
|
+
const alarmNode = shelvingState.parent;
|
|
193
|
+
// istanbul ignore next
|
|
194
|
+
if (!(alarmNode instanceof ua_alarm_condition_impl_1.UAAlarmConditionImpl)) {
|
|
195
|
+
return callback(null, {
|
|
196
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadNodeIdInvalid
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
const maxTimeShelved = alarmNode.getMaxTimeShelved();
|
|
200
|
+
(0, node_opcua_assert_1.assert)(isFinite(maxTimeShelved));
|
|
201
|
+
(0, node_opcua_assert_1.assert)(maxTimeShelved !== ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration);
|
|
202
|
+
// set automatic unshelving timer
|
|
203
|
+
_clear_timer_if_any(shelvingState);
|
|
204
|
+
shelvingState.setState("OneShotShelved");
|
|
205
|
+
_start_timer_for_automatic_unshelve(shelvingState, maxTimeShelved);
|
|
206
|
+
return callback(null, {
|
|
207
|
+
statusCode: node_opcua_status_code_1.StatusCodes.Good
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
// from spec 1.03 :
|
|
211
|
+
// * UnshelveTime specifies the remaining time in milliseconds until the Alarm automatically
|
|
212
|
+
// transitions into the Un-shelved state.
|
|
213
|
+
// * For the TimedShelved state this time is initialised with the ShelvingTime argument of the
|
|
214
|
+
// TimedShelve Method call.
|
|
215
|
+
// * For the OneShotShelved state the UnshelveTime will be a constant set to the maximum Duration
|
|
216
|
+
// except if a MaxTimeShelved Property is provided.
|
|
217
|
+
function _unShelveTimeFunc(shelvingState) {
|
|
218
|
+
if (shelvingState.getCurrentState() === "Unshelved") {
|
|
219
|
+
return new node_opcua_data_value_1.DataValue({
|
|
220
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
|
|
221
|
+
value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
if (!shelvingState._sheveldTime) {
|
|
225
|
+
return new node_opcua_data_value_1.DataValue({
|
|
226
|
+
statusCode: node_opcua_status_code_1.StatusCodes.BadConditionNotShelved,
|
|
227
|
+
value: { dataType: node_opcua_variant_1.DataType.Double, value: 0 }
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
if (shelvingState.getCurrentState() === "OneShotShelved" && shelvingState._duration === ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration) {
|
|
231
|
+
return new node_opcua_data_value_1.DataValue({
|
|
232
|
+
statusCode: node_opcua_status_code_1.StatusCodes.Good,
|
|
233
|
+
value: {
|
|
234
|
+
dataType: node_opcua_variant_1.DataType.Double,
|
|
235
|
+
value: ua_alarm_condition_impl_1.UAAlarmConditionImpl.MaxDuration
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
const now = new Date();
|
|
240
|
+
let timeToAutomaticUnshelvedState = shelvingState._duration - (now.getTime() - shelvingState._sheveldTime.getTime());
|
|
241
|
+
// timeToAutomaticUnshelvedState should always be greater than (or equal) zero
|
|
242
|
+
timeToAutomaticUnshelvedState = Math.max(timeToAutomaticUnshelvedState, 0);
|
|
243
|
+
return new node_opcua_data_value_1.DataValue({
|
|
244
|
+
statusCode: node_opcua_status_code_1.StatusCodes.Good,
|
|
245
|
+
value: {
|
|
246
|
+
dataType: node_opcua_variant_1.DataType.Double,
|
|
247
|
+
value: timeToAutomaticUnshelvedState
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
251
|
//# sourceMappingURL=ua_shelving_state_machine_ex.js.map
|