Code-Beispiel: Mehrere Transportbändern

HINWEIS

Folgendes Beispiel kann im IEC-Editor importiert werden. Öffnen Sie dazu im IEC-Editor das Menü [Tools] > [Skripting] > [Scripts] > [R] und klicken Sie auf den Menüeintrag [Robotics_Examples.py].

Beim Verwenden mehrerer Transportbänder muss mittels einer CallFunction zwischen den verschiedenen Transportbändern umgeschaltet werden. Dafür muss z. B. in der Aktion USER_PRG.Init() das Interface der CallFunction verlinkt werden. Das Verwenden der Funktion CallFunction ist im Kapitel IEC-Funktionsaufruf für das SRL-Programm beschrieben.

Aufgrund der Nutzung der CallFunction werden die Baustein-Instanzen der Transportbänder als globale Variablen angelegt.

ConveyorTracking_GVL

Das Umschalten der Koordinatensysteme erfolgt mittels CallFunction.

Analog zum Vorgehen mit nur einem Transportband, wird der jeweilige Ursprung der Transportbänder in der Aktion PRG_ExampleMultipleConveyorTracking.Init_Conveyors() parametriert.

Anschließend wird das Programm in der Aktion USER_PRG.HighPrio() und die jeweilige Init()-Aktion der Conveyor-Instanzen im USER_PRG.Init() aufgerufen.

User_PRG.HighPrio()

PRG_ExampleSingleConveyorTracking();

 

User_PRG.Init()

xInitDone := (* xInitDone AND *)

ConveyorTracking_GVL.afbConveyor[1].Init() AND

ConveyorTracking_GVL.afbConveyor[2].Init();

 

Wenn in der Aktion USER_PRG.Init() weitere Init()-Signale gebildet werden (zum Beispiel die Init für die CallFunction), müssen diese alle verknüpft werden.