n
n
kVA
kVA
8
IPOSplus
f
f
Zyklische Prozessdaten
i
i
P
Hz
Hz
P
8.3.2
Zyklische anwenderspezifische Prozessdaten
Beispiel
Compiler
104
®
und Feldbus
Der Anwender hat die Möglichkeit die Bedeutung der zyklischen Prozessdaten selbst zu
wählen. Hierzu ist die Prozessdaten-Konfiguration mit der Parametereinstellung PO-
Data für die Ausgangsdaten bzw. PI-Data für die Eingangsdaten zu belegen. Die Pro-
zessausgangsdaten werden dann nicht mehr unmittelbar vom MOVIDRIVE
tet, sondern müssen mit dem Befehl GETSYS (PO-Data) und SETSYS (PI-Data) auf
plus®
IPOS
-Variablen gelegt werden. Die Dekodierung der Variablen erfolgt im
plus®
IPOS
-Programm. Auf diese Weise kann der Anwender z. B. Positions-Sollwerte in
Anwendereinheiten (z. B. Motorumdrehungen) übergeben, indem der vom Feldbus
übertragene Wert durch Multiplikation bzw. Division skaliert wird, bevor dieser zur Posi-
tionierung herangezogen wird.
Es sollen 6 Prozessdaten mit anwenderspezifischer Bedeutung übertragen werden
(P870-877 = IPOS PE-DATA bzw. IPOS PA_DATA). Auf Ausgangswort 2, 3 überträgt
die SPS den Positions-Sollwert an den Antrieb, auf Eingangswort 3 sendet der Antrieb
die Ist-Position im Modulo-Format 1/10° (0,0° ... 360,0).
#include <const.h>
// Datenstrukturen Prozessdaten
GSPODATA10 tPA;
SSPIDATA10 tPE;
/*=============================================
Hauptfunktion (IPOS-Eintrittsfunktion)
===============================================*/
main()
{
/*-------------------------------------
Initialisierung
--------------------------------------*/
// Feldbusvariablen für Getsys und Setsys-Befehle initialisieren
tPA.BusType = GS_BT_FBUS;
//Prozessdatenbetrieb über Feldbus-Schnittstelle s.o.
tPA.Len = tPE.Len = 6; //PD-Länge 6 Worte
/*-------------------------------------
Hauptprogramm-Schleife
--------------------------------------*/
while(1)
{
// PA Daten einlesen
_GetSys( tPA, GS_PODATA );
// Doppelwort 2,3 auf Modulo-Zielposition kopieren
ModTagPos = (tPA.PO3 & 0xFFFF) + (tPA.PO2 & 0xFFFF)<<16; //PO2,PO3
// .....
//Prozesseingangsdaten neu bilden und an SPS senden
tPE.PI3 = 3600* ModActPos/ 65536; //Istpos in 1/10 Grad auf Wort 3
_SetSys( SS_PIDATA, tPE );
} // Ende while(1)
} // Ende main=========================================================
//Ausgangsdaten (SPS ->
//Eingangsdaten (Antrieb ->
//PD abschicken
®
ausgewer-
Antrieb)
SPS)
Handbuch – IPOSplus®