Herunterladen Inhalt Inhalt Diese Seite drucken

SEW IPOS plus Handbuch Seite 51

Inhaltsverzeichnis

Werbung

Beispiel gelöst im
Notwendige Parametereinstellungen
Compiler
P620 = IPOS-Ausgang, P960 =z. B. KURZ
/*===========================================
IPOS-Quelldatei
============================================*/
#include <constb.h>
#include <iob.h>
// notwendige Parametereinstellungen:
// P620 = IPOS-Ausgang, P960 =z.B. KURZ
VARINT hOPENvalve, hCLOSEvalve;
fnTask3()
{ //Task 3 wird nur benötigt, damit VarInt. aktiviert werden
}
fnOPENvalve()
{ //Dosiereinheit einschalten
}
fnCLOSEvalve()
{ //Dosiereinheit ausschalten
}
/*=============================================
Hauptfunktion (IPOS-Eintrittsfunktion)
===============================================*/
main()
{ //Initialisierungsteil
Handbuch – IPOSplus®
Variablen-Interrupts bei MOVIDRIVE
H1 = H1;
//dummy-Befehl
Timer_2 = 0;
//Timer 2 auf 0 rücksetzen
hCLOSEvalve.Mode = 2;
//Stop-IRQ aktivieren
_SetVarInterrupt( hCLOSEvalve,fnCLOSEvalve );
_BitSet( StdOutpIPOS, 1);
//DO01 setzen
_BitClear( StdOutpIPOS, 1);
//DO01 löschen
hCLOSEvalve.Mode = 0;
//Stop-IRQ deaktivieren
_SetVarInterrupt( hCLOSEvalve,fnCLOSEvalve );
hOPENvalve.Control = 2;
hOPENvalve.IntNum =0;
//fortlaufende Nr.
hOPENvalve.SrcVar = numof ( ModActPos );
hOPENvalve.CompVar = 910;
// 5° an der Last = 5° x 910/65536
hOPENvalve.Mode = 12;
hOPENvalve.Priority = 6;
hCLOSEvalve.Control = 2;
//Task3 unterbrechen
hCLOSEvalve.IntNum = 1; //fortlaufende Nr.
hCLOSEvalve.pSrcVar = numof ( Timer_2 ) ;
hCLOSEvalve.CompVar = 200;
hCLOSEvalve.Mode = 0;
hCLOSEvalve.Priority = 7;
Task-Verwaltung und Interrupts
//Task3 unterbrechen
// einmalig bei > = 5°
// mittlere Priorität
//nach 200ms ausschalten
//Timer-IR zuerst deaktiviert
kVA
kVA
f
f
®
B
i
i
P
Hz
Hz
P
//Motorgeber Modulo
//Timer 2
n
n
5
51

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis