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.

Das Umschalten der Koordinatensysteme erfolgt in der Methode CallF.

Analog zum Vorgehen mit nur einem Transportband, werden die beiden Transportbänder in der Methode PRG_ExampleMultipleConveyorTracking.Init() parametriert.

In der Methode PRG_ExampleSingleConveyorTracking.HighPrio() werden die Positionsverläufe der beiden Transportbänder den Bausteinen afbConveyor[1, 2] zyklisch zugewiesen.

Im Deklarationsteil des User_PRG wird der Funktionsbaustein FB_ExampleMultipleConveyorTracking instanziiert.

Die beiden Methoden Init() und HighPrio() sind in den Aktionen USER_PRG.Init() und USER_PRG.HighPrio() aufzurufen und dabei der vom Anwender in MOVISUITE® vergebene Name des Roboterknotens (z. B. MyRobot) zu übergeben.

User_PRG.Init()

xInitDone := (* xInitDone AND *)

fbExampleMultipleConveyorTracking.Init() AND

MyRobot.fbProgramInterpreter.LinkICallF(

fbExampleMultipleConveyorTracking);

 

User_PRG.HighPrio()

fbExampleMultipleConveyorTracking.HighPrio(

rInterface_Robot := Interface_MyRobot,

rHMI_Robot := HMI_MyRobot);

 

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.