mr.binford
Level-1
- Beiträge
- 36
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Hallo,
ich versuche mich seit neustem mit SCL.
Meine Frage bezieht sich auf die Zeile :
DB_coDCO.DCO[RECORD].cmdSeqAon := db_recipe_control_001.SEQ_CONTROL.DCO[index].StepAon[Step_Nr];
Nun habe ich in meinem code nicht nur "db_recipe_control_001",
sondern auch db_recipe_control_002 und db_recipe_control_003 etc.
Bisher habe ich dies mit CASE gelöst, diese Lösung finde ich aber nicht so elegant.
Kennt jemand eine Lösung um diesen DB dynamisch zu anzusprechen?
////////////////////////////////////////
FUNCTION coSEQ_Control : void
VAR_TEMP
// Temporary Variables
INDEX : INT;
RECORD : INT;
END_VAR
VAR_INPUT
COUNT : INT; // pointer of element
STEP_NR : INT; // actual step number
RECIPE_NR : INT; // source recipe
END_VAR
FOR index := 1 TO count BY 1 DO
// load right record number
RECORD := db_recipe_control_001.SEQ_CONTROL.DCO[index].RecordNr;
DB_coDCO.DCO[RECORD].cmdSeqAon := db_recipe_control_001.SEQ_CONTROL.DCO[index].StepAon[Step_Nr];
END_FOR;
END_FUNCTION
////////////////////////////////////////////////////////////////
ich versuche mich seit neustem mit SCL.
Meine Frage bezieht sich auf die Zeile :
DB_coDCO.DCO[RECORD].cmdSeqAon := db_recipe_control_001.SEQ_CONTROL.DCO[index].StepAon[Step_Nr];
Nun habe ich in meinem code nicht nur "db_recipe_control_001",
sondern auch db_recipe_control_002 und db_recipe_control_003 etc.
Bisher habe ich dies mit CASE gelöst, diese Lösung finde ich aber nicht so elegant.
Kennt jemand eine Lösung um diesen DB dynamisch zu anzusprechen?
////////////////////////////////////////
FUNCTION coSEQ_Control : void
VAR_TEMP
// Temporary Variables
INDEX : INT;
RECORD : INT;
END_VAR
VAR_INPUT
COUNT : INT; // pointer of element
STEP_NR : INT; // actual step number
RECIPE_NR : INT; // source recipe
END_VAR
FOR index := 1 TO count BY 1 DO
// load right record number
RECORD := db_recipe_control_001.SEQ_CONTROL.DCO[index].RecordNr;
DB_coDCO.DCO[RECORD].cmdSeqAon := db_recipe_control_001.SEQ_CONTROL.DCO[index].StepAon[Step_Nr];
END_FOR;
END_FUNCTION
////////////////////////////////////////////////////////////////