TIA Flankenauswertung bei optimiertem DB

Eduard Schleich

Level-2
Beiträge
60
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich hab mal wieder ein Problem beim Umstieg auf die Et200sp.

Angaben:
CPU1510sp-1PN
TIA V13 SP1

Ich möchte eine Flankenauswertung eines WORD machen und dies zurück in einen optimierten DB schreiben. Es geht darum das ich einen optimierten DB habe in den ich nen Tastendruck an der HMI schreibe. Dazu habe ich noch eine zweite Struktur im gleichen Baustein, in die wird die pos. Flankenauswertung geschrieben. Somit hatte ich ohne viel Aufwand für 16 Tasten den normalen Druck sowie die pos. Flanke zur Verfügung.

Code:
L     DB310.DBW   20              //Wort Tasten OP      
L     "DB_HMI".HM_Button          //Hilfswort Flanken
INVI  
UW    
T     DB310.DBW   22              //Wort Tastenflanken

L     DB310.DBW   20              //Tasten OP
T     "DB_HMI".HM_Button          //Hilfswort Flanken
So sah das bisher aus


Wie kann ich diesen Abschnitt nun bei optimiertem DB programmieren damit ich nicht für jedes einzelne Bit eine Auswertung machen muss?

Danke
Edi
 
... Wahrscheinlich, also eher ziemlich sicher gar nicht ...

Angeblich, so hat man mal gelesen, ist ein Bool in einem optimierten DB eigentlich ein Byte (ist bei Codesys z.B. auch so) ... also entweder Philosophie anpassen oder nicht-optimiert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich nehm mal an dass dein DB310 aus einzelnen Bools besteht.

Das einzige was mir einfallen würde, währe es die Bits im DB als Struct_of_16Bool oder Struct_of_32Bool abzulegen. Die Bools also einzupacken.
Man könnte sich dann einen FC schreiben den man dann am IN einen solchen Struct + ein WORD/DWORD für den Flankenvergleich am INOUT übergibt.

Im FC kann man dann aus den Struct-Bools mit SLICE ein WORD/DWORD im Temp-Bereich zusammenbauen und dann deine obige Funktion ausführen.
 
Zuletzt bearbeitet:
Im Zusammenhang mit der HMI ist ein optimierter DB in diesem Fall wohl eher nicht die optimale Lösung.
Warum nicht diesen Teil in einem nicht optimiereten DB und das Word dann an einen FC/FB übergeben, wenn dieser es benötigt.
Oder gleich auf den optimierten DB verzichten, denn wenn man aus der HMI Word als "Bool-Container" nutzt, ist das für die Kommunikation SPS<-->HMI sicher besser.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok irgendwie bin ich zu doof um das ganze zu verstehen.

Ich habe jetzt meine Buttons und die Flanken im "nicht optimierten" DB als Word angelegt.
ButtonsNeu.jpg

Nun kann ich die Flankenauswertung aus dem ersten Beitrag schreiben und er meckert auch nicht das ihm irgendwas nicht passt.
Flanke.png

Nur peil ich grad nicht mehr wie ich die einzelnen Bits des Word dann meinen Tasten an der HMI zuordnen kann?

Seit mir bitte nicht böse. Ich bin noch am lernen und muss mir leider alles selber beibringen.


Grüße
Edi
 
Ah ich glaub ich bin so doof.

Vielleicht sollte ich das Word dem Button zuordnen und darunter dann das Passende Bit einstellen.

Wer lesen kann ich klar im Vorteil
 
Zurück
Oben