n
n
kVA
kVA
Wegerfassung und Positionierung
6
f
f
Nockenschaltwerke
i
i
P
Hz
Hz
P
Beispiel gelöst im
Compiler
88
/*=============================================
IPOS-Quelldatei
===============================================*/
#include <const.h>
#include <io.h>
//Deklaration
GSCAM Cam1, Cam2; //Deklaration von Nockenausgang 1 und 2
/*=============================================
Hauptfunktion (IPOS-Eintrittsfunktion)
===============================================*/
main()
{
/*-------------------------------------
Initialisierung
--------------------------------------*/
Cam1.SourceVar = numof(ActPos_Mot); // Bezugsgröße Motorgeber
Cam1.DbPreCtrl = 0; // keine Totzeitkompensation
Cam1.DestVar = numof(StdOutpIPOS); // Ausgabe auf Do01 (H481.1)
Cam1.BitPosition = 1;
Cam1.BitValue = 0; // Ausgang = 1, wenn Wert im Fenster
Cam1.NumOfCam = 3; // Anzahl der Fenster
Cam1.PosL1 = 0; // 1. Fenster, linker Grenzwert
Cam1.PosR1 = 4096; // 1. Fenster, rechter Grenzwert
Cam1.PosL2 = 20366; // 2. Fenster, linker Grenzwert
Cam1.PosR2 = 20594; // 2. Fenster, rechter Grenzwert
Cam1.PosL3 = 36864; // 3. Fenster, linker Grenzwert
Cam1.PosR3 = 40960; // 3. Fenster, rechter Grenzwert
Cam2.SourceVar = numof(ActPos_Mot); // Bezugsgröße Motorgeber
Cam2.DbPreCtrl = 0; // keine Totzeitkompensation
Cam2.DestVar = numof(StdOutpIPOS); // Ausgabe auf Do02 (H481.2)
Cam2.BitPosition = 2;
Cam2.BitValue = 0; // Ausgang = 1, wenn Wert im Fenster
Cam2.NumOfCam = 1; // Anzahl der Fenster
Cam2.PosL1 = 4096; // 1. Fenster, linker Grenzwert
Cam2.PosR1 = 8192; // 1. Fenster, rechter Grenzwert
/*-------------------------------------
Hauptprogramm-Schleife
--------------------------------------*/
while(1)
{
_GetSys(Cam1 ,GS_CAM ); // Ausgang der 1. Nocke bilden
_GetSys(Cam2 ,GS_CAM ); // Ausgang der 2. Nocke bilden
}
}
Handbuch – IPOSplus®