{#- FB_ILS_MTRO_1Sep1Swi - Aufrufstelle in FB_Main Referenz: doc/TRO_Katalog/scl_templates/FB_ILS_MTRO_1Sep1Swi.scl (TRO 107, =A01+UH01-KF00 FB_Main). Zeilen und Reihenfolge folgen dieser Aufrufstelle; geprueft per tests/test_scl_templates.py. Entscheidungen zu den ortsgebundenen Zeilen (doc/SCL_Templates.md ยง6): stInSenJam je Ausgang einer, Sensor offen stInSettings.xPrioDir2 TRUE wie Referenz, aber offen (Planungsentscheidung) PriorityManagerDir2 immer, UDT-Name offen xInCarouselRun1 immer, offen - ob der TRO am Kreisel liegt, steht nicht in der TRO-JSON; sonst Zeile loeschen xInRelease TRUE wie Referenz (generisch: "DB_TRO_TEST") Separatorzeiten 100/50 ms wie Referenz, "pruefen" stInOutMachineState Schaltschrank offen (anlagenspezifisch) Alle noch mit den SPS-Kollegen zu bestaetigen. -#} {% import "_macros.scl.j2" as m %} REGION {{ t.region_title }} {{ m.kopf(t) }} {% for s in t.separators %} {{ m.separator(t, s) }} {% endfor %} {{ m.jam_sensors(t) }} {% for w in t.switches %} {{ m.switch(t, w) }} {% endfor %} {{ m.ziele(t) }} {% set z = [] %} {% set _ = z.append(('stInPriorityManagerDir2 := "DB_Prozessdaten".stPriorityManager.' ~ t.priority_udt.value ~ '.TroIn', m.note(t.priority_udt))) %} {% set _ = z.append(('stOutPriorityManagerDir2 => "DB_Prozessdaten".stPriorityManager.' ~ t.priority_udt.value ~ '.TroOut', m.note(t.priority_udt))) %} {% set _ = z.append(('nInMainTroNo := "' ~ t.main_tro.value ~ '"', m.note(t.main_tro))) %} {% set _ = z.append(("xInSftyOk := " ~ t.safety.value, m.note(t.safety))) %} {% set _ = z.append(("xInAllRdyToStart := TRUE", "")) %} {% set _ = z.append(("xInCarouselRun1 := " ~ t.carousel_run.value, m.note(t.carousel_run, "nur am Kreisel, sonst Zeile loeschen"))) %} {% set _ = z.append(("xInRelease := TRUE", "")) %} {% set _ = z.append(("stInOutMachineState := " ~ t.machine_state.value, m.note(t.machine_state, "Schaltschrank"))) %} {% set _ = z.append(("stInOutCognexInterface := #stCognexInterfaceDummy", "")) %} {% for j in t.jam_entries %} {% set _ = z.append(("arInOutJamEntr" ~ j.n ~ " := " ~ j.db.value ~ ".arCarrier", m.note(j.db, "Staubereich von " ~ j.neighbour))) %} {% set _ = z.append(("stInOutJamEntr" ~ j.n ~ " := " ~ j.db.value ~ ".stData", m.note(j.db))) %} {% endfor %} {% for j in t.jam_exits %} {% set _ = z.append(("arInOutJamExit" ~ j.n ~ " := " ~ j.db.value ~ ".arCarrier", m.note(j.db, "Staubereich nach " ~ j.neighbour))) %} {% set _ = z.append(("stInOutJamExit" ~ j.n ~ " := " ~ j.db.value ~ ".stData", m.note(j.db))) %} {% endfor %} {% set _ = z.append(('stInOutHMI := "DB_Interface_HMI".stTRO.' ~ t.id, "")) %} {% set _ = z.append(('nOutStateLast => "DB_GLOB_TroState".arTroState["' ~ t.main_tro.value ~ '"]', m.note(t.main_tro))) %} {% for s in t.separators %} {% set _ = z.append(("xOutStopper" ~ s.n ~ ' => "' ~ s.stopper.value ~ '"', m.note(s.stopper))) %} {% endfor %} {% for w in t.switches %} {% set _ = z.append(("xOutSw" ~ w.n ~ 'ExTo3 => "' ~ w.valve.value ~ '"', m.note(w.valve))) %} {% endfor %} #{{ t.id }}.stInSettings.xPrioDir2 := {{ t.prio_dir2.value }};{{ m.todo(t.prio_dir2) }} {{ m.call(t, z) }} {{ m.direction(t) }} END_REGION