Gebersignale in Zählerbaugruppe einlesen

Andy Latte

Level-1
Beiträge
84
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich möchte die Inkremente eines Gebers in einer Zählbaugruppe einlesen (FM 350) um später daraus eine Länge und eine Geschwindigkeit auszurechnen.

Wie ich meine Berechnungen anstelle weiß ich. Mein Problem ist folgendes:

Wie lese ich die Inkremente in der Steuerung ein? Um welchen Datentypen handelt es sich?

(HTL-Geber mit 2500 inc/Umdrehung)


Besten Dank im voraus
 
Hallo,
der Inkrementalgeber wird direkt an der FM350 angeschlossen.
Die Ist-Position bekommst du von dieser Karte als DINT zurückgeliefert.
Die Ankopplung zur Steuerung erfolgt über einen FB und einen zugehörigen DB. In dem DB steht dann alles drin, was dein Herz begehrt. Alternativ kannst du natürlich auch das entsprechende PED direkt auslesen (siehe Handbuch).

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich in der HW hineinschaue sind folgende Adressen eingetragen:

E-Adresse: 336...351
A-Adresse: 336...351

Wenn ich in der HW-Konfig auf der FM 350 einen Doppelklick mache, so kann man die Zählerbaugruppe parametrieren.
Das bringt mich auch nicht weiter.

Wie müsste denn mein FB aussehen von dem Du gesprochen hast?

Danke für die schnelle Antwort...
 
Zuletzt bearbeitet:
... der FB müßte bei deiner Karte mit dabei gewesen sein. Die Nummer weiß ich nicht, da ich den selber nicht verwende. Wenn du eine FM350-1 verwendest, dann sähen die PE-Bereiche entsprechend deiner Zuordnung so aus :
Code:
   Steuerbereich : STRUCT          // Steuerbereich Zählerkarte (PAD's)
        LadeWert        : DINT ;    // Lade-Wert 
 
        VergleichsWert1 : DINT ;    // Vergleichswert 1
        VergleichsWert2 : DINT ;    // Vergleichswert 2
 
        x12_0           : BOOL ;    // Bit 12.0 -
        x12_1           : BOOL ;    // Bit 12.1 -
        x12_2           : BOOL ;    // Bit 12.2 -
        OT_Err_A        : BOOL ;    // Bit 12.3 - Quittierung Bedienfehler
        x12_4           : BOOL ;    // Bit 12.4 -
        x12_5           : BOOL ;    // Bit 12.5 -
        NeuSt_Q         : BOOL ;    // Bit 12.6 - Quittierung Neustart
        x12_7           : BOOL ;    // Bit 12.7 -
 
        EN_Sync_vor     : BOOL ;    // Bit 13.0 - Freigabe Synchronistation vorwärts
        EN_Sync_zur     : BOOL ;    // Bit 13.1 - Freigabe Synchronistation rückwärts
        SW_Tor_Stop     : BOOL ;    // Bit 13.2 - Software-Tor generelle Sperre
        SW_Tor          : BOOL ;    // Bit 13.3 - Software-Tor
        x13_4           : BOOL ;    // Bit 13.4 -
        x13_5           : BOOL ;    // Bit 13.5 -
        x13_6           : BOOL ;    // Bit 13.6 -
        x13_7           : BOOL ;    // Bit 13.7 -
        Ctrl_DO1        : BOOL ;    // Bit 14.0 - Freigabe  DO-1
        Ctrl_DO2        : BOOL ;    // Bit 14.1 - Freigabe  DO-2
        Set_DO1         : BOOL ;    // Bit 14.2 - Steuerbit DO-1
        Set_DO2         : BOOL ;    // Bit 14.3 - Steuerbit DO-2
        x14_4           : BOOL ;    // Bit 14.4 -
        x14_5           : BOOL ;    // Bit 14.5 -
        x14_6           : BOOL ;    // Bit 14.6 -
        x14_7           : BOOL ;    // Bit 14.7 -
 
        Load_Val        : BOOL ;    // Bit 15.0 - Zähler direkt laden
        Load_Prep       : BOOL ;    // Bit 15.1 - Zähler vorbereitend laden
        Load_Val_1      : BOOL ;    // Bit 15.2 - Zähler mit Vergleichswert 1 laden
        Load_Val_2      : BOOL ;    // Bit 15.3 - Zähler mit Vergleichswert 2 laden
        Res_Sync        : BOOL ;    // Bit 15.4 - Reset Statusbit Synchronisation
        Res_Zero        : BOOL ;    // Bit 15.5 - Reset Statusbits Null-Durchgang, Überlauf, Unterlauf, Vergleicher
        Chg_DO_Raram    : BOOL ;    // Bit 15.4 - Funktion und Verhalten von DO-1 , DO-2 ändern
        x15_7           : BOOL ;    // Bit 15.7 -
   END_STRUCT ;   
 
 
   IstZustand : STRUCT // Rückmeldung der Zählerkarte  (PED's)
        aktSetVal      : DINT ;    // akt. Setz-Wert
        aktWert        : DINT ;    // akt. Zähl-Wert
 
        Data_Error_1   : BYTE ;    // Daten-Fehler (1)
        Data_Error_2   : BYTE ;    // Daten-Fehler (2)
        Bedien_Error   : BYTE ;    // Bedien-Fehler
 
        x11_0          : BOOL ;    // Bit 11.0 -
        x11_1          : BOOL ;    // Bit 11.1 -
        Diag           : BOOL ;    // Bit 11.2 - Diagnose-Ereignis
        OT_Error       : BOOL ;    // Bit 11.3 - Bedien-Fehler
        Data_Error     : BOOL ;    // Bit 11.4 - Daten-Fehler
        FM_NeuSt_Q     : BOOL ;    // Bit 11.5 - Neustart-Quittung
        FM_NeuSt       : BOOL ;    // Bit 11.6 - Neustart-Anforderung
        Para_OK        : BOOL ;    // Bit 11.7 - Parametrierung erfolgt
 
        x12_0          : BOOL ;    // Bit 12.0 -
        x12_1          : BOOL ;    // Bit 12.1 -
        x12_2          : BOOL ;    // Bit 12.2 -
        x12_3          : BOOL ;    // Bit 12.3 -
        x12_4          : BOOL ;    // Bit 12.4 -
        x12_5          : BOOL ;    // Bit 12.5 -
        x12_6          : BOOL ;    // Bit 12.6 -
        x12_7          : BOOL ;    // Bit 12.7 -
 
        Status_Run     : BOOL ;    // Bit 13.0 -
        Status_Dir     : BOOL ;    // Bit 13.1 -
        Status_Null    : BOOL ;    // Bit 13.2 - Nulldurchgang beim Zählen
        Status_oGr     : BOOL ;    // Bit 13.3 - obere Zählgrenze erreicht
        Status_uGr     : BOOL ;    // Bit 13.4 - untere Zählgrenze erreicht
        Status_Sync    : BOOL ;    // Bit 13.5 - Status Synchronisation
        Status_HW_Tor  : BOOL ;    // Bit 13.6 - Status HW-Tor
        Status_SW_Tor  : BOOL ;    // Bit 13.7 - Status SW-Tor
 
        Status_DI_Set  : BOOL ;    // Bit 14.0 - Status von DI "Set"
        Status_Latch   : BOOL ;    // Bit 14.1 - Status Latch-Eingang
        Status_DI_Sta  : BOOL ;    // Bit 14.2 - Status von DI "Start"
        Status_DI_Stp  : BOOL ;    // Bit 14.3 - Status von DI "Stop"
        Status_DO1     : BOOL ;    // Bit 14.4 - Status von DO-1
        Status_DO2     : BOOL ;    // Bit 14.5 - Status von DO-2
        Status_CMP1    : BOOL ;    // Bit 14.6 - Status von Vergleicher-1
        Status_CMP2    : BOOL ;    // Bit 14.7 - Status von Vergleicher-2
 
        RM_Load        : BOOL ;    // Bit 15.0 - Rückmeldung Befehl "Lade direkt"
        RM_Load_Prep   : BOOL ;    // Bit 15.1 - Rückmeldung Befehl "Lade vorbereitend"
        RM_Load_CMP1   : BOOL ;    // Bit 15.2 - Rückmeldung Befehl "Lade Vergleichswert 1"
        RM_Load_CMP2   : BOOL ;    // Bit 15.3 - Rückmeldung Befehl "Lade Vergleichswert 2"
        RM_Res_Sync    : BOOL ;    // Bit 15.4 - Rückmeldung Befehl "Reset Synchronisation"
        RM_Res_Zero    : BOOL ;    // Bit 15.5 - Rückmeldung Befehl "Reset Null-Durchgang, Überlauf, Unterlauf, Vergleicher"
        RM_Chg_Para    : BOOL ;    // Bit 15.6 - Rückmeldung Befehl "Parametrierung ändern"
        x15_7          : BOOL ;    // Bit 15.7 -
   END_STRUCT ;
Wenn du dir einen DB baust und die PED's entsprechend da hinein kopierst bzw. die PAD's daraus zuweisst, dann würde das so gehen ...

Gruß
LL
 
Zusatzfrage, da ich das Teil demnächst auch habe:

Braucht es ein Optionspaket oder sowas, wenn man bereits ein Projekt hat, inkl. FM350, in welchem man Änderungen, auch an der FM vornehmen muß oder geht das so?
 
Zuletzt bearbeitet:
Hm, das sind nur Updates, muß man das etwa nochmal kaufen? Der Kunde hat das garantiert nicht mitbekommen.
 
Also, kaufen muss man da nix für, ich glaube auch, dass die SW normalerweise der Baugruppe beiliegt.
Wenn das Update meckert, würd ich erst mal die höchste als backup benannte Version installieren.

Grüße von HaDi

[edit]
Du kannst das Update direkt installieren, es erwartet keine ältere Version.
[/edit]
 
Zuletzt bearbeitet:
Ich werd mal sehen, ob das mit der Software aus dem Download geht. Da das Projekt von einer andern Firma stammt, ist da nichts mehr beigelegt :confused:.
 
Zurück
Oben