node-opcua-address-space 2.70.3 → 2.71.0
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/alarms_and_conditions/ua_condition_base_i.d.ts +23 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +3 -0
- package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +6 -0
- package/dist/source/interfaces/data_access/ua_discrete_item.js +3 -0
- package/dist/source/interfaces/data_access/ua_discrete_item.js.map +1 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +25 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete.js +3 -0
- package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +1 -0
- 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.d.ts +27 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +3 -0
- package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +1 -0
- 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.d.ts +17 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete.js +3 -0
- package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +1 -0
- 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.d.ts +19 -0
- package/dist/source/interfaces/data_access/ua_y_array_item.js +3 -0
- package/dist/source/interfaces/data_access/ua_y_array_item.js.map +1 -0
- 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/exclusive_limit_state_machine.d.ts +11 -0
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +70 -0
- package/dist/source/interfaces/state_machine/finite_state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/finite_state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +74 -0
- package/dist/source/interfaces/state_machine/program_finite_state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +1 -0
- package/dist/source/interfaces/state_machine/state_machine.d.ts +342 -0
- package/dist/source/interfaces/state_machine/state_machine.js +3 -0
- package/dist/source/interfaces/state_machine/state_machine.js.map +1 -0
- 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_finite_state_variable.d.ts +18 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +3 -0
- package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +1 -0
- 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_state_variable.d.ts +29 -0
- package/dist/source/interfaces/state_machine/ua_state_variable.js +3 -0
- package/dist/source/interfaces/state_machine/ua_state_variable.js.map +1 -0
- 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/state_machine/ua_two_state_variable.d.ts +26 -0
- package/dist/source/interfaces/state_machine/ua_two_state_variable.js +3 -0
- package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +1 -0
- package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +41 -0
- package/dist/source/interfaces/subscription_diagnostics_variable.js +3 -0
- package/dist/source/interfaces/subscription_diagnostics_variable.js.map +1 -0
- 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 +1464 -1464
- package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
- package/dist/source/loader/make_xml_extension_object_parser.js +315 -315
- 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/base_event_type.d.ts +26 -0
- package/dist/src/alarms_and_conditions/base_event_type.js +41 -0
- package/dist/src/alarms_and_conditions/base_event_type.js.map +1 -0
- 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/shelving_state_machine.d.ts +22 -0
- package/dist/src/alarms_and_conditions/shelving_state_machine.js +241 -0
- package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +1 -0
- package/dist/src/alarms_and_conditions/trip_alarm.d.ts +16 -0
- package/dist/src/alarms_and_conditions/trip_alarm.js +21 -0
- package/dist/src/alarms_and_conditions/trip_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +54 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +255 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +62 -62
- package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +138 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +460 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +118 -118
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
- 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.d.ts +35 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +32 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +21 -21
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +25 -25
- package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +191 -0
- package/dist/src/alarms_and_conditions/ua_condition_base.js +1029 -0
- package/dist/src/alarms_and_conditions/ua_condition_base.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +182 -182
- package/dist/src/alarms_and_conditions/ua_condition_impl.js +1022 -1022
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +11 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +58 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +17 -17
- package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +24 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +59 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +27 -27
- package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +14 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +17 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +9 -9
- package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +22 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +87 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +38 -38
- 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.d.ts +6 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +11 -0
- package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +1 -0
- 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.d.ts +76 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm.js +237 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +97 -97
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +27 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +62 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +28 -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_limit_alarm.d.ts +49 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +176 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +25 -25
- 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.d.ts +47 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +151 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +39 -39
- package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +135 -135
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +16 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +18 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +1 -0
- package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +16 -16
- 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.d.ts +270 -0
- package/dist/src/base_node.js +1299 -0
- package/dist/src/base_node.js.map +1 -0
- 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_analog_item.d.ts +13 -0
- package/dist/src/data_access/ua_analog_item.js +37 -0
- package/dist/src/data_access/ua_analog_item.js.map +1 -0
- package/dist/src/data_access/ua_data_item.d.ts +16 -0
- package/dist/src/data_access/ua_data_item.js +66 -0
- package/dist/src/data_access/ua_data_item.js.map +1 -0
- package/dist/src/data_access/ua_multistate_discrete.d.ts +24 -0
- package/dist/src/data_access/ua_multistate_discrete.js +132 -0
- package/dist/src/data_access/ua_multistate_discrete.js.map +1 -0
- 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.d.ts +472 -0
- package/dist/src/namespace.js +1759 -0
- package/dist/src/namespace.js.map +1 -0
- 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.d.ts +43 -0
- package/dist/src/reference.js +138 -0
- package/dist/src/reference.js.map +1 -0
- 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/session_context.d.ts +4 -0
- package/dist/src/session_context.js +9 -0
- package/dist/src/session_context.js.map +1 -0
- 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.d.ts +81 -0
- package/dist/src/ua_data_type.js +259 -0
- package/dist/src/ua_data_type.js.map +1 -0
- 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.d.ts +33 -0
- package/dist/src/ua_method.js +194 -0
- package/dist/src/ua_method.js.map +1 -0
- package/dist/src/ua_method_impl.d.ts +41 -41
- package/dist/src/ua_method_impl.js +208 -208
- package/dist/src/ua_object.d.ts +27 -0
- package/dist/src/ua_object.js +153 -0
- package/dist/src/ua_object.js.map +1 -0
- package/dist/src/ua_object_impl.d.ts +33 -33
- package/dist/src/ua_object_impl.js +156 -156
- package/dist/src/ua_object_type.d.ts +49 -0
- package/dist/src/ua_object_type.js +123 -0
- package/dist/src/ua_object_type.js.map +1 -0
- 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.d.ts +31 -0
- package/dist/src/ua_reference_type.js +108 -0
- package/dist/src/ua_reference_type.js.map +1 -0
- 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.d.ts +346 -0
- package/dist/src/ua_variable.js +1651 -0
- package/dist/src/ua_variable.js.map +1 -0
- 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.d.ts +57 -0
- package/dist/src/ua_variable_type.js +530 -0
- package/dist/src/ua_variable_type.js.map +1 -0
- package/dist/src/ua_variable_type_impl.d.ts +62 -62
- package/dist/src/ua_variable_type_impl.js +570 -564
- package/dist/src/ua_variable_type_impl.js.map +1 -1
- package/dist/src/ua_view.d.ts +16 -0
- package/dist/src/ua_view.js +41 -0
- package/dist/src/ua_view.js.map +1 -0
- package/dist/src/ua_view_impl.d.ts +15 -15
- package/dist/src/ua_view_impl.js +36 -36
- 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 +38 -38
- package/src/ua_variable_type_impl.ts +11 -4
- package/test_helpers/test_fixtures/eurange_issue.xml +73 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { InstantiateObjectOptions, UAMethod, UAObject, UAObjectType } from "../../address_space_ts";
|
|
5
|
+
import { FiniteStateMachineB } from "./finite_state_machine";
|
|
6
|
+
import { State, Transition } from "./state_machine";
|
|
7
|
+
/**
|
|
8
|
+
* Program Finite State Machine
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* as per part 10 : Program Specification
|
|
12
|
+
*
|
|
13
|
+
* A standard set of base states is defined for Programs as part of the Program Finite State
|
|
14
|
+
* Machine. These states represent the stages in which a Program can exist at an instance in
|
|
15
|
+
* time as viewed by a Client. This state is the Program’s current state. All Programs shall
|
|
16
|
+
* support this base set. A Program may or may not require a Client action to cause the state to
|
|
17
|
+
* change. The states are formally defined in Table 2.
|
|
18
|
+
*
|
|
19
|
+
*
|
|
20
|
+
* Table 2 – Program states
|
|
21
|
+
* | State | Description
|
|
22
|
+
* |-----------|-------------------------------------------------------------------------------------|
|
|
23
|
+
* | Ready | The Program is properly initialized and may be started. |
|
|
24
|
+
* | Running | The Program is executing making progress towards completion. |
|
|
25
|
+
* | Suspended | The Program has been stopped prior to reaching a terminal state but may be resumed. |
|
|
26
|
+
* | Halted | The Program is in a terminal or failed state, and it cannot be started or resumed without being reset|
|
|
27
|
+
*
|
|
28
|
+
* The set of states defined to describe a Program can be expanded. Program sub states can be
|
|
29
|
+
* defined for the base states to provide more resolution of a process and to describe the cause
|
|
30
|
+
* and effect(s) of additional stimuli and transitions.
|
|
31
|
+
* Standards bodies and industry groups may extend the base Program Finite State Model to conform to
|
|
32
|
+
* various industry models. For example, the Halted state can include the sub states “Aborted” and “Completed”
|
|
33
|
+
* to indicate if the function achieved a successful conclusion prior to the transition to Halted.
|
|
34
|
+
*/
|
|
35
|
+
export interface ProgramFiniteStateMachineB extends FiniteStateMachineB {
|
|
36
|
+
readonly halted: State;
|
|
37
|
+
readonly ready: State;
|
|
38
|
+
readonly running: State;
|
|
39
|
+
readonly suspended: State;
|
|
40
|
+
readonly haltedToReady: Transition;
|
|
41
|
+
readonly readyToRunning: Transition;
|
|
42
|
+
readonly runningToHalted: Transition;
|
|
43
|
+
readonly runningToReady: Transition;
|
|
44
|
+
readonly runningToSuspended: Transition;
|
|
45
|
+
readonly suspendedToRunning: Transition;
|
|
46
|
+
readonly suspendedToHalted: Transition;
|
|
47
|
+
readonly suspendedToReady: Transition;
|
|
48
|
+
readonly readyToHalted: Transition;
|
|
49
|
+
/**
|
|
50
|
+
* Start Causes the Program to transition from the Ready state to the Running state.
|
|
51
|
+
*/
|
|
52
|
+
readonly start: UAMethod;
|
|
53
|
+
/**
|
|
54
|
+
* Suspend Causes the Program to transition from the Running state to the Suspended state.
|
|
55
|
+
*/
|
|
56
|
+
readonly suspend: UAMethod;
|
|
57
|
+
/**
|
|
58
|
+
* Resume Causes the Program to transition from the Suspended state to the Running state.
|
|
59
|
+
*/
|
|
60
|
+
readonly resume: UAMethod;
|
|
61
|
+
/**
|
|
62
|
+
* Halt Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.
|
|
63
|
+
*/
|
|
64
|
+
readonly halt: UAMethod;
|
|
65
|
+
/**
|
|
66
|
+
* Reset Causes the Program to transition from the Halted state to the Ready state
|
|
67
|
+
*/
|
|
68
|
+
reset: UAMethod;
|
|
69
|
+
}
|
|
70
|
+
export interface ProgramFiniteStateMachineType extends ProgramFiniteStateMachineB, UAObjectType {
|
|
71
|
+
instantiate(options: InstantiateObjectOptions): ProgramFiniteStateMachine;
|
|
72
|
+
}
|
|
73
|
+
export interface ProgramFiniteStateMachine extends ProgramFiniteStateMachineB, UAObject {
|
|
74
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program_finite_state_machine.js","sourceRoot":"","sources":["../../../../source/interfaces/state_machine/program_finite_state_machine.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { DateTime, UAString, UInt32 } from "node-opcua-basic-types";
|
|
5
|
+
import { LocalizedText, QualifiedName } from "node-opcua-data-model";
|
|
6
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
7
|
+
import { DataType } from "node-opcua-variant";
|
|
8
|
+
import { InstantiateObjectOptions, Property, UAObject, UAObjectType, UAReferenceType, UAVariableT, UAVariableTypeT } from "../../address_space_ts";
|
|
9
|
+
import { _UAStateVariable } from "./ua_state_variable";
|
|
10
|
+
export declare type UtcTime = DateTime;
|
|
11
|
+
export declare type UABaseEventType = UAObjectType;
|
|
12
|
+
export interface NonHierarchicalReferences extends UAReferenceType {
|
|
13
|
+
}
|
|
14
|
+
export interface StateVariableType extends UAVariableTypeT<LocalizedText, DataType.LocalizedText>, _UAStateVariable {
|
|
15
|
+
isAbstract: false;
|
|
16
|
+
}
|
|
17
|
+
export interface StateVariable extends UAVariableT<LocalizedText, DataType.LocalizedText>, _UAStateVariable {
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The TransitionVariableType is the base VariableType for Variables that store a Transition that
|
|
21
|
+
* occurred within a StateMachine as a human readable name.
|
|
22
|
+
*
|
|
23
|
+
* The SourceTimestamp for the value specifies when the Transition occurred. This value may
|
|
24
|
+
* also be exposed with the TransitionTime Property
|
|
25
|
+
*/
|
|
26
|
+
export interface TransitionVariableB {
|
|
27
|
+
isAbstract: false;
|
|
28
|
+
/**
|
|
29
|
+
* is a name which uniquely identifies a Transition within the StateMachineType.
|
|
30
|
+
*
|
|
31
|
+
* A subtype may restrict the DataType.
|
|
32
|
+
*/
|
|
33
|
+
id: UAVariableT<UAString | NodeId | UInt32, DataType.String | DataType.NodeId | DataType.UInt32>;
|
|
34
|
+
/**
|
|
35
|
+
* Name is a QualifiedName which uniquely identifies a transition within the StateMachineType
|
|
36
|
+
*/
|
|
37
|
+
name?: UAVariableT<QualifiedName, DataType.QualifiedName>;
|
|
38
|
+
/**
|
|
39
|
+
* Number is an integer which uniquely identifies a transition within the StateMachineType.
|
|
40
|
+
*/
|
|
41
|
+
number?: UAVariableT<UInt32, DataType.UInt32>;
|
|
42
|
+
/**
|
|
43
|
+
* TransitionTime specifies when the transition occurred.
|
|
44
|
+
*/
|
|
45
|
+
transitionTime?: UAVariableT<UtcTime, DataType.DateTime>;
|
|
46
|
+
/**
|
|
47
|
+
* Effective Transition time
|
|
48
|
+
*
|
|
49
|
+
* EffectiveTransitionTime specifies the time when the current state or one of its substates was
|
|
50
|
+
* entered. If, for example, a StateA is active and – while active – switches several times between
|
|
51
|
+
* its substates SubA and SubB, then the TransitionTime stays at the point in time where StateA
|
|
52
|
+
* became active whereas the EffectiveTransitionTime changes with each change of a substate.
|
|
53
|
+
*/
|
|
54
|
+
effectiveTransitionTime?: UAVariableT<UtcTime, DataType.DateTime>;
|
|
55
|
+
}
|
|
56
|
+
export interface TransitionVariable extends UAVariableT<LocalizedText, DataType.LocalizedText>, TransitionVariableB {
|
|
57
|
+
}
|
|
58
|
+
export interface StateB {
|
|
59
|
+
stateNumber: Property<UInt32, DataType.UInt32>;
|
|
60
|
+
}
|
|
61
|
+
export interface StateType extends StateB, UAObjectType {
|
|
62
|
+
}
|
|
63
|
+
export interface State extends StateB, UAObject {
|
|
64
|
+
}
|
|
65
|
+
export interface TransitionB {
|
|
66
|
+
transitionNumber: Property<UInt32, DataType.UInt32>;
|
|
67
|
+
}
|
|
68
|
+
export interface TransitionType extends TransitionB, UAObjectType {
|
|
69
|
+
}
|
|
70
|
+
export interface Transition extends TransitionB, UAObject {
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Initial State Type
|
|
74
|
+
*
|
|
75
|
+
* The InitialStateType is a subtype of the StateType and is formally defined in Table B.8.
|
|
76
|
+
* An Object of the InitialStateType represents the State that a FiniteStateMachine enters
|
|
77
|
+
* when it is activated.
|
|
78
|
+
*
|
|
79
|
+
* Each FiniteStateMachine can have at most one State of type InitialStateType, but
|
|
80
|
+
* a FiniteStateMachine does not have to have a State of this type.
|
|
81
|
+
*
|
|
82
|
+
* A SubStateMachine goes into its initial state whenever the parent state is entered. However, a
|
|
83
|
+
* state machine may define a transition that goes directly to a state of the SubStateMachine. In
|
|
84
|
+
* this case the SubStateMachine goes into that State instead of the initial State. The two
|
|
85
|
+
* scenarios are illustrated in Figure B.4. The transition from State5 to State6 causes the
|
|
86
|
+
* SubStateMachine to go into the initial State (State7), however, the transition from State4 to
|
|
87
|
+
* State8 causes the parent machine to go to State6 and the SubStateMachine will go to State8.
|
|
88
|
+
*
|
|
89
|
+
* If no initial state for a SubStateMachine exists and the State having the SubStateMachine is
|
|
90
|
+
* entered directly, then the State of the SubStateMachine is server-specific.
|
|
91
|
+
*/
|
|
92
|
+
export interface InitialStateB extends StateB {
|
|
93
|
+
}
|
|
94
|
+
export interface InitialStateType extends InitialStateB, StateType {
|
|
95
|
+
}
|
|
96
|
+
export interface InitialState extends InitialStateB, State {
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* ToState Reference Type
|
|
100
|
+
*
|
|
101
|
+
* The ToState ReferenceType is a concrete ReferenceType and can be used directly. It is a
|
|
102
|
+
* subtype of NonHierarchicalReferences.
|
|
103
|
+
*
|
|
104
|
+
* The semantic of this ReferenceType is to point form a Transition to the ending State the
|
|
105
|
+
* Transition connects.
|
|
106
|
+
*
|
|
107
|
+
* The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
|
|
108
|
+
* one of its subtypes. The TargetNode of this ReferenceType shall be an Object of the ObjectType
|
|
109
|
+
* StateType or one of its subtypes.
|
|
110
|
+
*
|
|
111
|
+
* References of this ReferenceType may be only exposed uni-directional. Sometimes this is
|
|
112
|
+
* required, for example, if a Transition points to a State of a sub-machine.
|
|
113
|
+
*/
|
|
114
|
+
export interface ToStateReferenceType extends NonHierarchicalReferences {
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
*
|
|
118
|
+
* FromState Reference Type
|
|
119
|
+
*
|
|
120
|
+
* The FromState ReferenceType is a concrete ReferenceType and can be used directly. It is a
|
|
121
|
+
* subtype of NonHierarchicalReferences.
|
|
122
|
+
*
|
|
123
|
+
* The semantic of this ReferenceType is to point form a Transition to the starting State the
|
|
124
|
+
* Transition connects.
|
|
125
|
+
*
|
|
126
|
+
* The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
|
|
127
|
+
* one of its subtypes. The TargetNode of this ReferenceType shall be an Object of the ObjectType
|
|
128
|
+
* StateType or one of its subtypes.
|
|
129
|
+
*/
|
|
130
|
+
export interface FromStateReferenceType extends NonHierarchicalReferences {
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* HasCause
|
|
134
|
+
* The HasCause ReferenceType is a concrete ReferenceType and can be used directly. It is a
|
|
135
|
+
* subtype of NonHierarchicalReferences.
|
|
136
|
+
*
|
|
137
|
+
* The semantic of this ReferenceType is to point form a Transition to something that causes the
|
|
138
|
+
* Transition. In this annex we only define Methods as Causes. However, the ReferenceType is
|
|
139
|
+
* not restricted to point to Methods. The referenced Methods can, but do not have to point to a
|
|
140
|
+
* Method of the StateMachineType. For example, it is allowed to point to a server-wide restart
|
|
141
|
+
* Method leading the state machine to go into its initial state.
|
|
142
|
+
*
|
|
143
|
+
* The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
|
|
144
|
+
* one of its subtypes. The TargetNode can be of any NodeClass
|
|
145
|
+
*/
|
|
146
|
+
export interface HasCauseReferenceType extends NonHierarchicalReferences {
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* HasEffect ReferenceType
|
|
150
|
+
*
|
|
151
|
+
* The HasEffect ReferenceType is a concrete ReferenceType and can be used directly. It is a
|
|
152
|
+
* subtype of NonHierarchicalReferences.
|
|
153
|
+
* The semantic of this ReferenceType is to point form a Transition to something that will be
|
|
154
|
+
* effected when the Transition is triggered. In this annex we only define EventTypes as Effects.
|
|
155
|
+
*
|
|
156
|
+
* However, the ReferenceType is not restricted to point to EventTypes.
|
|
157
|
+
*
|
|
158
|
+
* The SourceNode of this ReferenceType shall be an Object of the ObjectType TransitionType or
|
|
159
|
+
* one of its subtypes. The TargetNode can be of any NodeClass.
|
|
160
|
+
*/
|
|
161
|
+
export interface HasEffectReferenceType extends NonHierarchicalReferences {
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* The HasSubStateMachine ReferenceType is a concrete ReferenceType and can be used
|
|
165
|
+
* directly. It is a subtype of NonHierarchicalReferences.
|
|
166
|
+
*
|
|
167
|
+
* The semantic of this ReferenceType is to point from a State to an instance of
|
|
168
|
+
* StateMachineType which represents the sub-states for the State.
|
|
169
|
+
*
|
|
170
|
+
* The SourceNode of this ReferenceType shall be an Object of the ObjectType StateType.
|
|
171
|
+
*
|
|
172
|
+
* The TargetNode shall be an Object of the ObjectType StateMachineType or one of its subtypes.
|
|
173
|
+
*
|
|
174
|
+
* Each Object can be the TargetNode of at most one HasSubStateMachine Reference.
|
|
175
|
+
*
|
|
176
|
+
* The SourceNode (the state) and the TargetNode (the SubStateMachine) shall belong to the
|
|
177
|
+
* same StateMachine, that is, both shall be referenced from the same Object of type
|
|
178
|
+
* StateMachineType using a HasComponent Reference or a subtype of HasComponent.
|
|
179
|
+
*/
|
|
180
|
+
export interface HasSubStateMachine extends NonHierarchicalReferences {
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* The TransitionEventType is a subtype of the BaseEventType. It can be used to generate an
|
|
184
|
+
* Event identifying that a Transition of a StateMachine was triggered.
|
|
185
|
+
*
|
|
186
|
+
* The TransitionEventType inherits the Properties of the BaseEventType.
|
|
187
|
+
*
|
|
188
|
+
* The inherited Property SourceNode shall be filled with the NodeId of the StateMachine instance
|
|
189
|
+
* where the Transition occurs. If the Transition occurs in a SubStateMachine, then the NodeId of
|
|
190
|
+
* the SubStateMachine has to be used. If the Transition occurs between a StateMachine and a
|
|
191
|
+
* SubStateMachine, then the NodeId of the StateMachine has to be used, independent of the
|
|
192
|
+
* direction of the Transition.
|
|
193
|
+
*/
|
|
194
|
+
export interface TransitionEventType extends UABaseEventType {
|
|
195
|
+
/**
|
|
196
|
+
* Transition identifies the Transition that triggered the Event.
|
|
197
|
+
*/
|
|
198
|
+
transition: TransitionVariable;
|
|
199
|
+
/**
|
|
200
|
+
* FromState identifies the State before the Transition.
|
|
201
|
+
*/
|
|
202
|
+
fromState: StateVariable;
|
|
203
|
+
/**
|
|
204
|
+
* ToState identifies the State after the Transition.
|
|
205
|
+
*/
|
|
206
|
+
toState: StateVariable;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Transitions of a FiniteStateMachine are represented as Objects of the ObjectType
|
|
210
|
+
* TransitionType formally defined in Table B.9.
|
|
211
|
+
* Each valid Transition shall have exactly one FromState Reference and exactly one ToState
|
|
212
|
+
* Reference, each pointing to an Object of the ObjectType StateType.
|
|
213
|
+
* Each Transition can have one or more HasCause References pointing to the cause that triggers
|
|
214
|
+
* the Transition.
|
|
215
|
+
* Each Transition can have one or more HasEffect References pointing to the effects that occur
|
|
216
|
+
* when the Transition was triggered.
|
|
217
|
+
*/
|
|
218
|
+
export interface TransitionB {
|
|
219
|
+
transitionNumber: Property<UInt32, DataType.UInt32>;
|
|
220
|
+
/**
|
|
221
|
+
* direct access to the ToState node as defined in the ToState Reference
|
|
222
|
+
* toStateNode is pointed by the ToStateReferenceType references
|
|
223
|
+
*/
|
|
224
|
+
toStateNode: State | null;
|
|
225
|
+
/**
|
|
226
|
+
* direct access to the FromState node as defined in the ToState Reference
|
|
227
|
+
* fromStateNode is pointed by the ToStateReferenceType references
|
|
228
|
+
*/
|
|
229
|
+
fromStateNode: State | null;
|
|
230
|
+
}
|
|
231
|
+
export interface TransitionType extends TransitionB, UAObjectType {
|
|
232
|
+
}
|
|
233
|
+
export interface Transition extends TransitionB, UAObject {
|
|
234
|
+
}
|
|
235
|
+
export declare type TransitionSelector = (transitions: Transition[], fromState: State, toState: State) => Transition | null;
|
|
236
|
+
/**
|
|
237
|
+
* State Machine type
|
|
238
|
+
*
|
|
239
|
+
* StateMachines produce Events which may include the current state of a StateMachine. In that
|
|
240
|
+
* case Servers shall provide all the optional Properties of the StateVariableType in the Event,
|
|
241
|
+
* even if they are not provided on the instances in the AddressSpace.
|
|
242
|
+
*/
|
|
243
|
+
/**
|
|
244
|
+
* StateMachineType
|
|
245
|
+
*
|
|
246
|
+
* The StateMachineType is the base ObjectType for all StateMachineTypes. It defines a single
|
|
247
|
+
* Variable which represents the current state of the machine.
|
|
248
|
+
* An instance of this ObjectType shall generate an Event whenever a significant state change occurs.
|
|
249
|
+
* The Server decides which state changes are significant. Servers shall use the GeneratesEvent
|
|
250
|
+
* ReferenceType to indicate which Event(s) could be produced by the StateMachine.
|
|
251
|
+
*
|
|
252
|
+
* Subtypes may add Methods which affect the state of the machine. The Executable Attribute is
|
|
253
|
+
* used to indicate whether the Method is valid given the current state of the machine. The
|
|
254
|
+
* generation of AuditEvents for Methods is defined in Part 4. A StateMachine may not be active.
|
|
255
|
+
*
|
|
256
|
+
* In this case, the CurrentState and LastTransition Variables shall have a status equal to
|
|
257
|
+
* BadStateNotActive (see Table B.17).
|
|
258
|
+
*
|
|
259
|
+
* Subtypes may add components which are instances of StateMachineTypes. These components
|
|
260
|
+
* are considered to be sub-states of the StateMachine. SubStateMachines are only active when
|
|
261
|
+
* the parent machine is in an appropriate state.
|
|
262
|
+
* Events produced by SubStateMachines may be suppressed by the parent machine. In some
|
|
263
|
+
* cases, the parent machine will produce a single Event that reflects changes in multiple
|
|
264
|
+
* SubStateMachines
|
|
265
|
+
*/
|
|
266
|
+
export interface StateMachineB {
|
|
267
|
+
/**
|
|
268
|
+
* Current state
|
|
269
|
+
* CurrentState stores the current state of an instance of the StateMachineType. CurrentState
|
|
270
|
+
* provides a human readable name for the current state which may not be suitable for use in
|
|
271
|
+
* application control logic. Applications should use the Id Property of CurrentState if they need a
|
|
272
|
+
* nique identifier for the state.
|
|
273
|
+
*/
|
|
274
|
+
readonly currentState: StateVariable;
|
|
275
|
+
/**
|
|
276
|
+
* Last transition
|
|
277
|
+
*
|
|
278
|
+
* LastTransition stores the last transition which occurred in an instance of the StateMachineType.
|
|
279
|
+
* LastTransition provides a human readable name.
|
|
280
|
+
*/
|
|
281
|
+
readonly lastTransition?: TransitionVariable | null;
|
|
282
|
+
readonly initialState: InitialState | null;
|
|
283
|
+
readonly states: State[];
|
|
284
|
+
readonly transitions: Transition[];
|
|
285
|
+
/**
|
|
286
|
+
* return all state nodes associated with this state machine
|
|
287
|
+
*/
|
|
288
|
+
getStates(): State[];
|
|
289
|
+
/**
|
|
290
|
+
* return all state to state transition node associated with this state machine
|
|
291
|
+
*/
|
|
292
|
+
getTransitions(): Transition[];
|
|
293
|
+
/**
|
|
294
|
+
* return the state Node by Name
|
|
295
|
+
* @param name
|
|
296
|
+
*/
|
|
297
|
+
getStateByName(name: string): State | null;
|
|
298
|
+
/**
|
|
299
|
+
* returns true if there is a valid transition from currentStateNode to toStateNode
|
|
300
|
+
* @param toStateNode
|
|
301
|
+
*/
|
|
302
|
+
isValidTransition(toStateNode: State | string, predicate?: TransitionSelector): boolean;
|
|
303
|
+
/**
|
|
304
|
+
* try to find the valid transition between fromState Node to toState Node
|
|
305
|
+
* @param fromStateNode
|
|
306
|
+
* @param toStateNode
|
|
307
|
+
*/
|
|
308
|
+
findTransitionNode(fromStateNode: State, toStateNode: State, predicate?: TransitionSelector): Transition | null;
|
|
309
|
+
/**
|
|
310
|
+
* return the current state as string
|
|
311
|
+
*/
|
|
312
|
+
getCurrentState(): string | null;
|
|
313
|
+
/**
|
|
314
|
+
* change the current state
|
|
315
|
+
*
|
|
316
|
+
* note:
|
|
317
|
+
* - a transition from currentState to toState node must exists
|
|
318
|
+
* - a TransitionEventType event will be raised
|
|
319
|
+
* @param toStateNode
|
|
320
|
+
*/
|
|
321
|
+
setState(toStateNode: State | string | null, predicate?: TransitionSelector): void;
|
|
322
|
+
}
|
|
323
|
+
export interface StateMachineType extends UAObjectType, StateMachineB {
|
|
324
|
+
readonly currentState: StateVariable;
|
|
325
|
+
readonly lastTransition: TransitionVariable;
|
|
326
|
+
instantiate(options: InstantiateObjectOptions): StateMachine;
|
|
327
|
+
}
|
|
328
|
+
export declare function promoteToStateMachine(node: UAObject): StateMachine;
|
|
329
|
+
export interface StateMachine extends UAObject, StateMachineB {
|
|
330
|
+
readonly currentState: StateVariable;
|
|
331
|
+
readonly lastTransition?: TransitionVariable | null;
|
|
332
|
+
readonly initialState: InitialState | null;
|
|
333
|
+
readonly states: State[];
|
|
334
|
+
readonly transitions: Transition[];
|
|
335
|
+
getStates(): State[];
|
|
336
|
+
getTransitions(): Transition[];
|
|
337
|
+
getStateByName(name: string): State | null;
|
|
338
|
+
isValidTransition(toStateNode: State | string, predicate?: TransitionSelector): boolean;
|
|
339
|
+
findTransitionNode(fromStateNode: State, toStateNode: State, predicate?: TransitionSelector): Transition | null;
|
|
340
|
+
getCurrentState(): string | null;
|
|
341
|
+
setState(toStateNode: State | string, predicate?: TransitionSelector): void;
|
|
342
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state_machine.js","sourceRoot":"","sources":["../../../../source/interfaces/state_machine/state_machine.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-address-space
|
|
3
|
-
*/
|
|
4
|
-
import { InstantiateObjectOptions, UAObject } from "node-opcua-address-space-base";
|
|
5
|
-
import { UAExclusiveLimitStateMachine_Base } from "node-opcua-nodeset-ua";
|
|
6
|
-
import { UAStateMachineEx, UAStateMachineHelper, UAStateMachineType } from "./ua_state_machine_type";
|
|
7
|
-
export interface UAExclusiveLimitStateMachineEx extends UAObject, UAExclusiveLimitStateMachine_Base, UAStateMachineHelper, UAStateMachineEx {
|
|
8
|
-
}
|
|
9
|
-
export interface UAExclusiveLimitStateMachineType extends UAStateMachineType {
|
|
10
|
-
isAbstract: false;
|
|
11
|
-
instantiate(options: InstantiateObjectOptions): UAExclusiveLimitStateMachineEx;
|
|
12
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { InstantiateObjectOptions, UAObject } from "node-opcua-address-space-base";
|
|
5
|
+
import { UAExclusiveLimitStateMachine_Base } from "node-opcua-nodeset-ua";
|
|
6
|
+
import { UAStateMachineEx, UAStateMachineHelper, UAStateMachineType } from "./ua_state_machine_type";
|
|
7
|
+
export interface UAExclusiveLimitStateMachineEx extends UAObject, UAExclusiveLimitStateMachine_Base, UAStateMachineHelper, UAStateMachineEx {
|
|
8
|
+
}
|
|
9
|
+
export interface UAExclusiveLimitStateMachineType extends UAStateMachineType {
|
|
10
|
+
isAbstract: false;
|
|
11
|
+
instantiate(options: InstantiateObjectOptions): UAExclusiveLimitStateMachineEx;
|
|
12
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=ua_exclusive_limit_state_machine_type_ex.js.map
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-address-space
|
|
3
|
-
*/
|
|
4
|
-
import { InstantiateObjectOptions } from "node-opcua-address-space-base";
|
|
5
|
-
import { UAStateMachineEx, UAStateMachineType } from "./ua_state_machine_type";
|
|
6
|
-
/**
|
|
7
|
-
* Finite State Machine
|
|
8
|
-
*
|
|
9
|
-
* The FiniteStateMachineType is the base ObjectType for StateMachines that explicitly define
|
|
10
|
-
* the possible States and Transitions. Once the States are defined subtypes shall not add new
|
|
11
|
-
* States (see B.4.18).
|
|
12
|
-
* The States of the machine are represented with instances of the StateType ObjectType.
|
|
13
|
-
*
|
|
14
|
-
* EachState shall have a BrowseName which is unique within the StateMachine and shall have a
|
|
15
|
-
* StateNumber which shall also be unique across all States defined in the StateMachine.
|
|
16
|
-
*
|
|
17
|
-
* Be aware that States in a SubStateMachine may have the same StateNumber or BrowseName as
|
|
18
|
-
* States in the parent machine. A concrete subtype of FiniteStateMachineType shall define at
|
|
19
|
-
* least one State.
|
|
20
|
-
*
|
|
21
|
-
* A StateMachine may define one State which is an instance of the InitialStateType. This State
|
|
22
|
-
* is the State that the machine goes into when it is activated.
|
|
23
|
-
*
|
|
24
|
-
* The Transitions that may occur are represented with instances of the TransitionType.
|
|
25
|
-
*
|
|
26
|
-
* Each Transition shall have a BrowseName which is unique within the StateMachine and may have a
|
|
27
|
-
* TransitionNumber which shall also be unique across all Transitions defined in the StateMachine.
|
|
28
|
-
*
|
|
29
|
-
* The initial State for a Transition is a StateType Object which is the target of a FromState
|
|
30
|
-
* Reference. The final State for a Transition is a StateType Object which is the target of a ToState
|
|
31
|
-
* Reference. The FromState and ToState References shall always be specified.
|
|
32
|
-
* A Transition may produce an Event. The Event is indicated by a HasEffect Reference to a
|
|
33
|
-
* subtype of BaseEventType. The StateMachineType shall have GeneratesEvent References to
|
|
34
|
-
* the targets of a HasEffect Reference for each of its Transitions.
|
|
35
|
-
* A FiniteStateMachineType may define Methods that cause a transition to occur. These Methods
|
|
36
|
-
* are targets of HasCause References for each of the Transitions that may be triggered by the
|
|
37
|
-
* Method. The Executable Attribute for a Method is used to indicate whether the current State of
|
|
38
|
-
* the machine allows the Method to be called.
|
|
39
|
-
*
|
|
40
|
-
* A FiniteStateMachineType may have sub-state-machines which are represented as instances
|
|
41
|
-
* of StateMachineType ObjectTypes. Each State shall have a HasSubStateMachine Reference
|
|
42
|
-
* to the StateMachineType Object which represents the child States. The SubStateMachine is
|
|
43
|
-
* not active if the parent State is not active. In this case the CurrentState and LastTransition
|
|
44
|
-
* Variables of the SubStateMachine shall have a status equal to BadStateNotActive (see Table
|
|
45
|
-
* B.17).
|
|
46
|
-
*/
|
|
47
|
-
export interface UAFiniteStateMachineType extends UAStateMachineType {
|
|
48
|
-
instantiate(options: InstantiateObjectOptions): UAStateMachineEx;
|
|
49
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { InstantiateObjectOptions } from "node-opcua-address-space-base";
|
|
5
|
+
import { UAStateMachineEx, UAStateMachineType } from "./ua_state_machine_type";
|
|
6
|
+
/**
|
|
7
|
+
* Finite State Machine
|
|
8
|
+
*
|
|
9
|
+
* The FiniteStateMachineType is the base ObjectType for StateMachines that explicitly define
|
|
10
|
+
* the possible States and Transitions. Once the States are defined subtypes shall not add new
|
|
11
|
+
* States (see B.4.18).
|
|
12
|
+
* The States of the machine are represented with instances of the StateType ObjectType.
|
|
13
|
+
*
|
|
14
|
+
* EachState shall have a BrowseName which is unique within the StateMachine and shall have a
|
|
15
|
+
* StateNumber which shall also be unique across all States defined in the StateMachine.
|
|
16
|
+
*
|
|
17
|
+
* Be aware that States in a SubStateMachine may have the same StateNumber or BrowseName as
|
|
18
|
+
* States in the parent machine. A concrete subtype of FiniteStateMachineType shall define at
|
|
19
|
+
* least one State.
|
|
20
|
+
*
|
|
21
|
+
* A StateMachine may define one State which is an instance of the InitialStateType. This State
|
|
22
|
+
* is the State that the machine goes into when it is activated.
|
|
23
|
+
*
|
|
24
|
+
* The Transitions that may occur are represented with instances of the TransitionType.
|
|
25
|
+
*
|
|
26
|
+
* Each Transition shall have a BrowseName which is unique within the StateMachine and may have a
|
|
27
|
+
* TransitionNumber which shall also be unique across all Transitions defined in the StateMachine.
|
|
28
|
+
*
|
|
29
|
+
* The initial State for a Transition is a StateType Object which is the target of a FromState
|
|
30
|
+
* Reference. The final State for a Transition is a StateType Object which is the target of a ToState
|
|
31
|
+
* Reference. The FromState and ToState References shall always be specified.
|
|
32
|
+
* A Transition may produce an Event. The Event is indicated by a HasEffect Reference to a
|
|
33
|
+
* subtype of BaseEventType. The StateMachineType shall have GeneratesEvent References to
|
|
34
|
+
* the targets of a HasEffect Reference for each of its Transitions.
|
|
35
|
+
* A FiniteStateMachineType may define Methods that cause a transition to occur. These Methods
|
|
36
|
+
* are targets of HasCause References for each of the Transitions that may be triggered by the
|
|
37
|
+
* Method. The Executable Attribute for a Method is used to indicate whether the current State of
|
|
38
|
+
* the machine allows the Method to be called.
|
|
39
|
+
*
|
|
40
|
+
* A FiniteStateMachineType may have sub-state-machines which are represented as instances
|
|
41
|
+
* of StateMachineType ObjectTypes. Each State shall have a HasSubStateMachine Reference
|
|
42
|
+
* to the StateMachineType Object which represents the child States. The SubStateMachine is
|
|
43
|
+
* not active if the parent State is not active. In this case the CurrentState and LastTransition
|
|
44
|
+
* Variables of the SubStateMachine shall have a status equal to BadStateNotActive (see Table
|
|
45
|
+
* B.17).
|
|
46
|
+
*/
|
|
47
|
+
export interface UAFiniteStateMachineType extends UAStateMachineType {
|
|
48
|
+
instantiate(options: InstantiateObjectOptions): UAStateMachineEx;
|
|
49
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=ua_finite_state_machine_type.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { LocalizedText } from "node-opcua-data-model";
|
|
5
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
6
|
+
import { DataType } from "node-opcua-variant";
|
|
7
|
+
import { UAVariableT } from "../../address_space_ts";
|
|
8
|
+
import { _UAStateVariable } from "./ua_state_variable";
|
|
9
|
+
export interface FiniteStateVariableB extends _UAStateVariable {
|
|
10
|
+
/**
|
|
11
|
+
* Id is inherited from the TransitionVariableType and overridden to reflect
|
|
12
|
+
* the required DataType.
|
|
13
|
+
* This value shall be the NodeId of one of the Transition Objects of the FiniteStateMachineType.
|
|
14
|
+
*/
|
|
15
|
+
id: UAVariableT<NodeId, DataType.NodeId>;
|
|
16
|
+
}
|
|
17
|
+
export interface FiniteStateVariable extends FiniteStateVariableB, UAVariableT<LocalizedText, DataType.LocalizedText> {
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ua_finite_state_variable.js","sourceRoot":"","sources":["../../../../source/interfaces/state_machine/ua_finite_state_variable.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-address-space
|
|
3
|
-
*/
|
|
4
|
-
import { InstantiateObjectOptions, UAObjectType } from "node-opcua-address-space-base";
|
|
5
|
-
import { UAProgramStateMachine_Base } from "node-opcua-nodeset-ua";
|
|
6
|
-
import { UAStateMachineEx } from "./ua_state_machine_type";
|
|
7
|
-
export interface UAProgramStateMachineEx extends UAStateMachineEx {
|
|
8
|
-
}
|
|
9
|
-
export interface UAProgramStateMachineType extends UAProgramStateMachine_Base, UAObjectType {
|
|
10
|
-
instantiate(options: InstantiateObjectOptions): UAProgramStateMachineEx;
|
|
11
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-address-space
|
|
3
|
+
*/
|
|
4
|
+
import { InstantiateObjectOptions, UAObjectType } from "node-opcua-address-space-base";
|
|
5
|
+
import { UAProgramStateMachine_Base } from "node-opcua-nodeset-ua";
|
|
6
|
+
import { UAStateMachineEx } from "./ua_state_machine_type";
|
|
7
|
+
export interface UAProgramStateMachineEx extends UAStateMachineEx {
|
|
8
|
+
}
|
|
9
|
+
export interface UAProgramStateMachineType extends UAProgramStateMachine_Base, UAObjectType {
|
|
10
|
+
instantiate(options: InstantiateObjectOptions): UAProgramStateMachineEx;
|
|
11
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=ua_program_state_machine_type.js.map
|