Counter-Modul einlesen

GigaPitty

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, :lol:

ich habe das Problem einen 32 Bit Wert von einem Drehgeber einzulesen.


Hardware:

ROD 430 1000... von Heidenhein
dieser liefert 1000 Impulse pro Umdrehung

gezählt werden soll mit einem Counter-Modul
6ES7 138-4DA04-0AB0

CPU 317-F2


Software:


STEP 7 (V5.3)


HARDWARECONFIG:

Baugruppe: 1 COUNT 24V/100 kHz C
E_Adresse: 263...274
A_Adresse: 263...268


FRAGE:

Signale kommen an der Counterkarte an, das habe ich mit langsamen drehen des Gebers getestet. Wie bekomme ich nun den Wert ins Programm um ihn auswerten zu können?!?!

Wenn ich z.B. ED 263 abfrage (für Eingangs-Doppelwort 263) bekomme ich bei Status nur L#0 (dez) angezeigt. Aber ich glaube die Abfrage mittels ED... ist nicht korrekt.


Freue mich schon auf eure Antworten.

Gruß Patrick :cool:
 
Du könntest mal L PED 263 probieren,
warum fangen deine Adressen mit einer ungeraden Zahl an?
 
Du musst das Software Gate(Tor) ansteuern, sonst zählt das Modul nicht. Wenn im Modul (Harware Konfig) auch noch das Hardware Tor verwendet wird, musst du das auch beschalten.
 
bist du sicher mit 263??
ist es nicht 264?
Ich kenne das countermodul nicht,aber ungerade werte sollte man nie verwenden.

Um den Fehler zu umgehen selbst falsche Adressbereiche zu vergeben verwende ich die Defaultvorgaben der SPS, da diese ungenutzte Adressbereiche vorgibt benutze ich 263. Ich gehe davon aus dass das korrekt ist, da mir sonst der Adressbereich ja nicht vorgeschlagen werden würde.

Hohlkörper schrieb:
Du musst das Software Gate(Tor) ansteuern, sonst zählt das Modul nicht. Wenn im Modul (Harware Konfig) auch noch das Hardware Tor verwendet wird, musst du das auch beschalten.

Das ist ein Guter Denkansatz, werde mich mal einlesen.

Gruß Patrick
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Um den Fehler zu umgehen selbst falsche Adressbereiche zu vergeben verwende ich die Defaultvorgaben der SPS, da diese ungenutzte Adressbereiche vorgibt benutze ich 263. Ich gehe davon aus dass das korrekt ist, da mir sonst der Adressbereich ja nicht vorgeschlagen werden würde.

die defaultvorgabe ist immer der nächste freie platz.das heißt deine letzten E/A sind 262,oder?
 
Um den Fehler zu umgehen selbst falsche Adressbereiche zu vergeben verwende ich die Defaultvorgaben der SPS, da diese ungenutzte Adressbereiche vorgibt benutze ich 263. Ich gehe davon aus dass das korrekt ist, da mir sonst der Adressbereich ja nicht vorgeschlagen werden würde.

Bitte hier auf jeden Fall noch einmal die Brille putzen (sprich genau kontrollieren) - das kann ich mir auch nicht vorstellen.

Ansonsten :
Ich habe das besagte Countermodul viel und gerne in Verwendung. Wenn das Software-Tor freigegeben ist, dann zählt es .
Der Zählwert ist das erste PED des Übertragungs-Bereichs.

Gruß
LL
 
Ansonsten :
Ich habe das besagte Countermodul viel und gerne in Verwendung. Wenn das Software-Tor freigegeben ist, dann zählt es .
Der Zählwert ist das erste PED des Übertragungs-Bereichs.

Mit Eurer Hilfe bin ich zu folgender funktionierenden Lösung gekommen, aber was der SET-Befehl im NW1 für eine Funktion hat an dieser Stelle, ist mir unschlüssig.

Code:
NW1: Vorbelegung

  L     0
  T     DB1003.DBD   82
  T     DB1003.DBD   86
  SET   
  S     DB1003.DBX   86.0

NW2: Schreiben auf die Steuerschnittstelle

  L     DB1003.DBD   82
  T     PAD  263
      
  L     "VISU_FOLIERPLATZ".INT_03
  T     PAW  267

NW3: Lesen von der Rückmeldeschnittstelle

      L     PED  263
      T     DB1003.DBD   90
      L     PED  267
      T     DB1003.DBD   94
Schreibt man S DB1003.DBX 86.0 zählt der Counter,
schreibt man R DB1003.DBX 86.0 bleibt der Zählwert
stehen, schreibt man wieder S beginnt das Zählen bei Null.
Ist es dann nicht einfacher einen Bitzustand abzufragen???

Code:
statt:

SET
S     DB1003.DBX   86.0

stattdessen:

U     M                 123.4
S     DB1003.DBX   86.0
Hab das schon probiert, funktioniert aber nicht.

Vielen Dank aber erstmal für eure Hilfe...

Gruß Patrick :cool:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
das von dir genannte Bit 86.0 ist das Software-Tor des Zählers. Ist dieses Bit nicht beschaltet, dann zählt der Zähler nicht.
Willst du den Zähler zurücksetzen, so müßtest du das Bit 87.0 (in deinem Fall) auf 1 setzen und gleichzeitig das Software-Tor auf 0 haben. Dann wird der im DBD82 stehende Wert als neuer Zählerstand übernommen.
Das blosse Schliessen des SW-Tores alleine bewirkt lediglich das Stoppen der Zählung.

Gruß
LL
 
Zurück
Oben