Rückmeldung Antrieb an SPS/Busmonitor (Prozesseingangsdaten)
-------------------------------------------------------------------------------
1. Wort = Statuswort, anwenderspezifisch
2. Wort = Istgeschw. [1/10 Umdr/min]
3. Wort = Istposition in Inkr (nur Low-Wort)
Belegung Statuswort, anwenderspezifisch
15 14 13 12 11 10
9
8
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
Quittierung Betriebsart Bit 0,
¦
¦
¦
Quittierung Betriebsart Bit 1 (Hinweis: es wird die AKTIVE BA quittiert.)
Kurzanleitung zur Bedienung mit dem Busmonitor:
1.) Busmonitor im MOVITOOLS MotionStudio starten
2.) Button PA-Daten vorgeben drücken
3.) in linkem Feld bei PA1, PA2, PA3 Bits anklicken und Sollwerte vorgeben
4.) den Button mit dem Umrichter "Senden" anklicken
-------------------------------------------------------------------------------
Dies ist eine Beispiel-Software, die Funktionsfähigkeit ist NICHT garantiert,
Benutzung unter Ausschluss jeglicher Garantieleistungen und auf eigene Gefahr.
=============================================================================*/
#include <const.h> //Defaultpfad: c:\programme\sew\movitools\projects\include
#include <io.h> //Einbinden der Namen der Systemvariablen und Konstanten
//Variablenbereiche definieren
#pragma var H128 H149 // (Defaulbereich für Compiler-Hilfsvar. H400 H419)
#pragma globals H380 H449 // (Defaulbereich globale "long"-Variablen H420 H449)
#pragma initials H0 H127 // (Defaulbereich initials H0 H127)
#pragma list // Assembler-Code mit Kommentaren
// Konstanten
#define MY_PD_LENGTH
//#define MY_FBUS_TYPE
#define MY_FBUS_TYPE
#define MY_HALT
// Bit-Masken
#define MY_OP_MODE
#define MY_READY_TO_RUN
#define MY_NO_ERROR
#define MY_IN_POSITION
#define MY_REFERENCED
#define MY_START_HOMING
#define MY_START_POSITIONING (lPA_ControlWordHigh & 0x1) //virt. Klemme DI10 Start Positionieren
#define MY_JOG_PLUS
#define MY_JOG_MINUS
// Variablen für Soll- / Istwerte, Feldbus-Steuer-/Statuswort
long lPA_ControlWordHigh; // Bit 8-15 des Feldbus-Steuerworts 2
// =DI10 - DI17 der virtuellen Klemmen = Bit 6-13 in InputLevel (!!!)
SSPOSSPEED tPosVelocities; //Datenstruktur Positioniergeschwindigkeiten
long lPE_StatusWord;
// =DO10 - DO17 der virtuellen Klemmen = Bit 0-7 in OptOutpIPOS (!!!)
long lActPosition,
lScalingNumerator,
// Zaehler fuer Skalierung der Position
lScalingDenominator, // Nenner fuer Skalierung der Position
lActVelocity;
// Istgeschwindigkeit in 1/10 Upm
Handbuch – IPOSplus®
7
6
5
4
3
2
1
0
¦
¦
¦
¦
¦
¦
¦
nicht belegt
¦
¦
¦
¦
¦
¦
Umrichter betriebsbereit
¦
¦
¦
¦
¦
IPOS Referenz (Antrieb referenziert)
¦
¦
¦
¦
Zielposition erreicht
¦
¦
¦
Bremse offen
¦
¦
Fehler
01 = Tippen, 10 = Referenzieren 11 = Automatik
3
//3 Feldbus mit Prozessdaten
GS_BT_FBUS //im Betrieb GetSys auf "Feldbus"
GS_BT_S0
//für Busmonitor GetSys auf "RS485"
13
//Position "Halt" im IPOS-Control-Wort H484
0x18 //virtuelle Eingänge DI13/14, InputLevel Bit 9/10
(StatusWord & 0x4)
(StatusWord & 0x2)
(StatusWord & 0x80000) //IPOS-Antrieb hat Zielposition erreicht
(StatusWord & 0x100000) //Antrieb referenziert
(lPA_ControlWordHigh & 0x1) //virt. Klemme DI10 Start Ref.-Fahrt
(lPA_ControlWordHigh & 0x2) //virt. Klemme DI11 Tippen +
(lPA_ControlWordHigh & 0x4) //virt. Klemme DI12 Tippen -
// Anwenderstatus-Wort, Bit 8-15 des Feldbus-Statusworts
// Istposition in Inkr
Compiler – Beispiele
Compiler Programmgerüst
//Betriebsbereit aus H473
//1 = fehlerfrei, 0 = Fehler aus H473
n
n
kVA
kVA
18
f
f
i
i
P
Hz
Hz
P
267