-> Hier kostenlos registrieren
Hallo,ich habe eine Kommunikation zwischen einer CPU313C 2PtP und einer Simotion Safety Unit TM121C via RS232/485 mit PPI aufgebaut,an der CPU hängt ein OP77A welches mir sowohl die Fehlermeldungen der CPU als auch die der TM121C visualisieren soll. Die Fehlermeldungen der TM121C werden in einem IDB einer Siemensapplikation ab byte 135 hintereinander abgelegt. Pro Fehlermeldung zwei byte,128bytes lang/Hex. Ist der Diagnosepuffer vollgeschrieben wird der Puffer ab byte 135 wieder überschrieben.(auch nicht mehr bestehende Fehlermeldungen bleiben im Puffer bestehen) Die Fehlermeldungen "rutschen" also nicht nach,sobald ein Fehler nicht mehr ansteht. Den Anstoß der Lesung der Fehlermeldungen habe ich variabel über einen Timer realisiert. steht eine Fehlermeldung nicht mehr an,kommt eine weitere Meldung von der TM121C die genauso aufgebaut ist wie der zugehörige Fehler,sich aber in einem bit unterscheidet (1=kommt,0=geht) Die Codierung der (Fehler)-Meldungen stellt sich so dar:
bits 8-10 ........Fehlerkategorie 1-3
bit 11 ............1=kommt,0=geht
bits 12-15.......Zusatzinfo (nicht relevant)
bits 0-7..........Fehlernummer
Mein Problem besteht darin, die jeweils anstehenden Fehlermeldungen mit der Fehlerliste (die ich bereits erstellt habe) zu vergleichen, und so die entsprechenden Bits zur Fehlerauslösung anzustoßen.(das alles natürlich ohne 600 Netzwerke voller Vergleiche zu schreiben...)
Im Voraus schonmal meinen besten Dank.....
bits 8-10 ........Fehlerkategorie 1-3
bit 11 ............1=kommt,0=geht
bits 12-15.......Zusatzinfo (nicht relevant)
bits 0-7..........Fehlernummer
Mein Problem besteht darin, die jeweils anstehenden Fehlermeldungen mit der Fehlerliste (die ich bereits erstellt habe) zu vergleichen, und so die entsprechenden Bits zur Fehlerauslösung anzustoßen.(das alles natürlich ohne 600 Netzwerke voller Vergleiche zu schreiben...)
Im Voraus schonmal meinen besten Dank.....