Step 7 DB auswertung

heiling36

Level-2
Beiträge
59
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute!

Ich habe ein Problem, ich habe einen DB welcher bis Adresse 675.1 reicht. Es handelt sich um reine Boolsche Variablen.

Es handet sich um einen Störmelde DB.

Jetzt sollte ich diesen DB Überwachen und sobald eine Variable auf 1 geht die Adresse dieser Variable an einen weiteren DB schicken. (Noch besser wäre der Variablen Name inkl. Kommentar, aber dies ist meines Wissens nicht möglich)

Jetzt meine Frage wie könnte ich das bewerkstelligen??

MFG
Stefan

Ps: Verwende Step 7 V5.5 + SP4
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ja schon klar, hab das auch im HMI gemacht.

Es geht jetzt darum dass ich hier die komplette Anlage (beinhaltet 10 HMI) überwachen soll und den Fehler dann an ein übergeordnetes Hallensystem übermitteln soll!!
 
Was für CPUs sind das bei Dir?
Wenn das CPUs sind, die typunabhängige absolute Adressierung zulassen und die CPUs sowieso Langeweile haben, dann könnte man was optimiertes schreiben. Sowas würde dann aber stark schwankende Zykluszeiten erzeugen.

Ansonsten programmiere doch mal eine Schleife, welche in jedem Zyklus die 5400 Bits einzeln liest und 5400 mal DWORDs in einen DB schreibt und schau, wo die Zykluszeit Deiner CPU hingeht.

Harald
 
... du machst dir eine Schleife in der du alle Einträge (z.B. als DBD) miteinander veroderst.
Am Ende überprüfst du dann, ob dein Resultat <> 0 ist - in dem Fall hast du irgendwo eine Störung anstehen ...

Gruß
Larry
 
Ja genau!!

Verbaut ist eine CPU 416F-3 PN/DP! 6es7416-3FS06-0AB0

Tja mit den Zykluszeiten bin ich mir nicht ganz sicher in wie weit ich die noch belasten darf!
 
ich hätte da evtl was.

du benötigst zum prüfen einen 2ten db in der gleichen länge.
die fc prüft bit für bit ob db1 und db2 gleich sind. wird ein unterschied festgestellt wird wird dieses bit im 2ten db auf den aktuellen stand gesetzt anschliessend wird die fc beendet. am out gibt es ein bit ungleich und die position im db wo es aufgetreten ist. du bekommst also pro zyklus 1 bitänderung mit. sowohl bei kommendem als auch bei gehendem ereignis.
man könnte die fc jetzt noch ein wenig aufpäppel und am out ausgeben ob es ein kommendes oder gehendes ereignis ist.
ich hab mir das mal geschrieben um im hmi ein script anzustossen welches eine textdatei generiert mit anstehenden störungen.
 

Anhänge

  • compare_bit.AWL.txt
    1,5 KB · Aufrufe: 16
Zuviel Werbung?
-> Hier kostenlos registrieren
ich glaub meine aussage eben war nicht ganz richtig. das bit wird nicht in der fc auf den aktuellen stand gesetzt.
ich hatte das ausserhalb der fc gemacht
 

Anhänge

  • Zwischenablage02.jpg
    Zwischenablage02.jpg
    93,1 KB · Aufrufe: 16
Zurück
Oben