IEC60870.Types.Qualifiers (ExIEC60870 v0.1.0)

Copy Markdown View Source

Quality descriptors, qualifiers, and value scaling helpers for IEC 60870-5-101/104. Matches cs101_information_objects.h and cs101_information_objects.c.

Summary

Functions

Encodes double-point value (:indeterminate, :off, :on, :intermediate) to 2-bit integer.

Encodes Quality Descriptor for Events of Protection Equipment (QDS).

Packs a list of quality atoms or an integer bitmask into a uint8 quality byte. Supported flags: :overflow, :reserved, :elapsed_time_invalid, :blocked, :substituted, :non_topical, :invalid, :good.

Encodes regulating step command to byte.

Checks whether a specific quality flag is set in a quality byte.

Checks whether bit i (0..15) is set in cdn (StatusAndStatusChangeDetection_getCD).

Checks whether bit i (0..15) is set in stn (StatusAndStatusChangeDetection_getST).

Functions

afq_neg_ack_file()

afq_neg_ack_section()

afq_not_used()

afq_pos_ack_file()

afq_pos_ack_section()

coi_local_manual_reset()

coi_local_switch_on()

coi_remote_reset()

decode_double_point(int)

@spec decode_double_point(0..3) :: :intermediate | :off | :on | :indeterminate

decode_event_state(int)

@spec decode_event_state(0..3) :: :indeterminate_0 | :off | :on | :indeterminate_3

decode_qds(q)

decode_scd(arg)

@spec decode_scd(<<_::32>>) :: {non_neg_integer(), non_neg_integer()}

decode_single_event(byte)

@spec decode_single_event(byte()) :: {atom(), byte()}

decode_step_command(int)

@spec decode_step_command(0..3) :: :invalid_0 | :lower | :higher | :invalid_3

encode_double_point(v)

@spec encode_double_point(atom() | 0..3) :: 0..3

Encodes double-point value (:indeterminate, :off, :on, :intermediate) to 2-bit integer.

encode_event_state(v)

@spec encode_event_state(atom() | 0..3) :: 0..3

encode_qds(q)

Encodes Quality Descriptor for Events of Protection Equipment (QDS).

encode_quality(q)

@spec encode_quality(non_neg_integer() | [atom()]) :: byte()

Packs a list of quality atoms or an integer bitmask into a uint8 quality byte. Supported flags: :overflow, :reserved, :elapsed_time_invalid, :blocked, :substituted, :non_topical, :invalid, :good.

encode_scd(stn, cdn)

@spec encode_scd(non_neg_integer(), non_neg_integer()) :: <<_::32>>

encode_single_event(event_state, qdp)

@spec encode_single_event(atom() | 0..3, byte()) :: byte()

encode_step_command(v)

@spec encode_step_command(atom() | 0..3) :: 0..3

Encodes regulating step command to byte.

file_error_checksum_failed()

file_error_default()

file_error_req_memory_not_available()

file_error_unexpected_comm_service()

file_error_unexpected_name_of_file()

file_error_unexpected_name_of_section()

float_to_normalized(value)

has_quality_flag?(q, atom)

@spec has_quality_flag?(byte(), atom()) :: boolean()

Checks whether a specific quality flag is set in a quality byte.

lsq_file_transfer_with_deact()

lsq_file_transfer_without_deact()

lsq_not_used()

lsq_section_transfer_with_deact()

lsq_section_transfer_without_deact()

nof_default()

nof_disturbance_data()

nof_sequences_of_analogue_values()

nof_sequences_of_events()

nof_transparent_file()

normalized_to_float(value)

normalized_to_scaled(value)

@spec normalized_to_scaled(number()) :: -32768..32767

output_ci_cl1()

output_ci_cl2()

output_ci_cl3()

output_ci_gc()

qcc_frz_counter_reset()

qcc_frz_freeze_with_reset()

qcc_frz_freeze_without_reset()

qcc_frz_read()

qcc_rqt_general()

qcc_rqt_group(n)

qoc_long_pulse_duration()

qoc_no_additional_definition()

qoc_persistent_output()

qoc_short_pulse_duration()

qoi_group(n)

qoi_station()

qpa_de_act_object_parameter()

qpa_de_act_object_transmission()

qpa_de_act_prev_loaded_parameter()

qpa_not_used()

qpm_high_limit_for_transmission()

qpm_low_limit_for_transmission()

qpm_not_used()

qpm_smoothing_factor()

qpm_threshold_value()

qrp_general_reset()

qrp_not_used()

qrp_reset_pending_info_with_time_tag()

quality_blocked()

quality_elapsed_time_invalid()

quality_good()

quality_invalid()

quality_non_topical()

quality_overflow()

quality_reserved()

quality_substituted()

scaled_to_normalized(value)

@spec scaled_to_normalized(integer()) :: float()

scd_get_cd(cdn, i)

@spec scd_get_cd(non_neg_integer() | {non_neg_integer(), non_neg_integer()}, 0..15) ::
  boolean()

Checks whether bit i (0..15) is set in cdn (StatusAndStatusChangeDetection_getCD).

scd_get_st(stn, i)

@spec scd_get_st(non_neg_integer() | {non_neg_integer(), non_neg_integer()}, 0..15) ::
  boolean()

Checks whether bit i (0..15) is set in stn (StatusAndStatusChangeDetection_getST).

scq_deactivate_file()

scq_deactivate_section()

scq_default()

scq_delete_file()

scq_request_file()

scq_request_section()

scq_select_file()

scq_select_section()

sof_fa()

sof_for()

sof_lfd()

sof_status_mask()

start_event_gs()

start_event_none()

start_event_res1()

start_event_res2()

start_event_sie()

start_event_sl1()

start_event_sl2()

start_event_sl3()

start_event_srd()