-> Hier kostenlos registrieren
Hallo,
ich bin nue im Umgang mit SCL und kenne vielleicht nicht alle Geschehnisse.
Ich habe einen FC 10 in dem ich einen FC11(mit SCL erstellt habe).
nun bekomme ich Bits gesetzt obwohl es schon längst keinen Code mehr in deiser Quelle gibt.
Beschaltet ist der FC 11 mit DB Daten.
Wenn ich den FC11 lösche, dann werden auch die Bits nicht mehr gesetzt. Also nichts mit überschreiben aus einem anderen Teil des Programmes.
Hier habe ishc mal die Quelle eingefügt. Ich hoffe es ist übersichtlich genug.
ich bin nue im Umgang mit SCL und kenne vielleicht nicht alle Geschehnisse.
Ich habe einen FC 10 in dem ich einen FC11(mit SCL erstellt habe).
nun bekomme ich Bits gesetzt obwohl es schon längst keinen Code mehr in deiser Quelle gibt.
Beschaltet ist der FC 11 mit DB Daten.
Wenn ich den FC11 lösche, dann werden auch die Bits nicht mehr gesetzt. Also nichts mit überschreiben aus einem anderen Teil des Programmes.
Hier habe ishc mal die Quelle eingefügt. Ich hoffe es ist übersichtlich genug.
Code:
data_bytes : ARRAY[1..33] OF BYTE; // data from parameter error (one byte) or position request (12 b -> max.24 DLE repetitions+DLE+ETX+CKS //+spare)
length_of_rev_data : INT;
error_rev_data : BOOL;
END_VAR
VAR_OUTPUT
par_external_alarm : BOOL; // status "modification of parameters"
par_bad_checksum : BOOL; // status "modification of parameters"
par_time_out : BOOL; // status "modification of parameters"
par_camera_alarm : BOOL; // status "modification of parameters"
par_bad_end : BOOL; // status "modification of parameters"
par_correct_message : BOOL; // status "modification of parameters"
par_unknown_parameter : BOOL; // status "modification of parameters"
par_set_up_error : BOOL; // status "modification of parameters"
par_tempture_error : BOOL; // status "modification of parameters"
par_value_out_of_range : BOOL; // status "modification of parameters"
par_data : BYTE; // byte indication of the position of the detected error
com_external_alarm : BOOL; // status "seam tracking command"
com_bad_checksum : BOOL; // status "seam tracking command"
com_time_out : BOOL; // status "seam tracking command"
com_camera_alarm : BOOL; // status "seam tracking command"
com_bad_end : BOOL; // status "seam tracking command"
com_correct_message : BOOL; // status "seam tracking command"
com_tempture_error : BOOL; // status "seam tracking command"
com_unknown_parameter : BOOL; // status "seam tracking command"
pos_external_alarm : BOOL; // status "position request"
pos_bad_checksum : BOOL; // status "position request"
pos_correction : BOOL; // status "position request"
pos_time_out : BOOL; // status "position request"
pos_camera_alarm : BOOL; // status "position request"
pos_track_detected : BOOL; // status "position request"
pos_bad_end : BOOL; // status "position request"
pos_correct_message : BOOL; // status "position request"
pos_tempture_error : BOOL; // status "position request"
pos_data_not_available : BOOL; // status "position request"
Timestamp_ms : DWORD;
correction_X : REAL;
correction_y : REAL;
correction_Z : REAL;
gap : REAL;
system_CKS_error : BOOL;
system_protocol_error : BOOL; // Protocol not complete
END_VAR
VAR_TEMP
i : INT;
i_2 : INT;
bti : INT; // Byte to Integer
bti_2 : INT; // Byte to Integer
bti_3 : INT; // Byte to Integer
DLE_byte_no : BYTE; // Number on which the DLE byte is written
CKS_rec : BYTE; // Byte
CKS_temp : BYTE;
CKS_DLE_counter : INT;
data_bytes_temp : ARRAY[1..33] OF BYTE;
data_bytes_temp_counter : INT;
Timestamp_ms_temp : DWORD;
Ts AT Timestamp_ms_temp : ARRAY[1..4] OF BYTE;
position_X : ARRAY[1..2] OF BYTE;
position_X_AT AT position_X : INT;
position_Y : ARRAY[1..2] OF BYTE;
position_Y_AT AT position_Y : INT;
position_Z : ARRAY[1..2] OF BYTE;
position_Z_AT AT position_Z : INT;
gap_area : ARRAY[1..2] OF BYTE;
gap_area_AT AT gap_area : INT;
END_VAR
LABEL
p, m, c, M1, M2, M3, Check;
END_LABEL
//---------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------
BEGIN
Check:
IF pos_data_not_available = True THEN
GOTO Check;
END_IF;
END_FUNCTION