BDC Wandlungsfehler

tuneit

Level-1
Beiträge
54
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Habe einen Systemfehler auf meiner CPU314.
Im Diagnosepuffer steht nur dieser Wandlungsfehler und die Hilfe sagt auch nicht mehr aus.

BDC Wandlungsfehler
Betroffenes Register : Akku 1
Angeforderter OB : OB121 Programmier Fehler OB
Prioritätsklasse : 1
interner Fehler, kommendes Ereignis


Siemens Hilfe->

Ursache:
Der zu wandelnde Wert im AKKU 1 ist keine BCD-Zahl, da er Hexadezimalziffern A bis F enthält.
Behebung:
Sorgen Sie für einen korrekten BCD-Wert oder wählen Sie eine Anweisung, die auch andere Formate verarbeiten kann.


Wie fängt man da zum suchen an?
 
Ich hoffe mal wir legen jetzt kein Stahlwerk still...

Lösch doch mal den OB121 aus der CPU ( NICHT aus dem Offline-Projekt !!!! )
und schau mal ob er Dir den Fehlreort genauer angibt.

Evtl. geht die CPU dabei aber in "STOP", also Vorsicht!

dtsclipper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
oh ok das werd ich bei der nächsten Wartung testen .
Dabei geht es um ein Kesselhaus, genauer einer Druckreduzierstation also folglich wäre ein CPU Stop relativ ungünstig. ;-)

Weiters wollt ich noch erwähnen das dieser fehler undefiniert kommt und geht ...
 
Was der Fehler genau besagt ist ja klar.
Ich hatte diesen Fehler ab und zu, wenn an einem mech. BCD-Schalter die Zahlen geändert wurden (geht mit 2 Tippschaltern hoch und runter für jede Ziffer) Offensichtlich gab es während des Schaltens undefinierte Werte. Abhilfe brachte hier, mit einem Zeittakt den aktuellen Wert und den alten Wert vom Zeittakt davor zu vergleichen. Erst wenn beide Werte identisch waren, wurde der BCD-Wert umgerechnet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kommt drauf ab, wie die Werte in das PEW kommen und was genau darin steht. Vielleicht steht ja auch etwas anderes reine Zahlenwerte im PEW?
 
wandlungsfehler

das selbe problem mit einem bcd schalter hatte ich auch scho, wie von ralle beschrieben...

einerseits kannst du seine lösung in erwägung ziehen oder im OB121 den bcd wandlungsfehler ausmaskieren...

dann merkt die cpu das es sich um den besagten fehler handelt und nach der ausmaskierung führst du mit SFC46 einen cpu stop aus... damit sie auch wirklich in stop geht, wenn ein anderer fehler auftritt...

gruss aus der schweiz...

Milo
 
Hallo,
das Problem mit den mech. Schaltern kenn ich auch.
Am besten prüfst du deinen BCD-Wert auf diese Pseudotetraden und lässt diese einfach nicht zum bearbeiten zu.

Ronnie
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sfc46

hier der code, welcher im OB121 stehen muss und alles wird gut... :D


Code:
L OB121_SW_FLT
L B#16#21
==I
SPB NOST
 
CALL SFC46
 
NOST: NOP 0



gruss aus der schweiz und schönes weekend
 
Steht im Diagnosepuffer nicht auch der Baustein, in dem der Fehler auftrat? Wenn nur im OB 121 der Fehler ausmaskiert wird, wird er Eintrag in den Diagnosepuffer trotzdem erfolgen. Sinnvoller wäre doch eine Behebung der Ursache, z.B. mit Verzögerung wie von Ralle vorgeschlagen.
 
hallo Rainer...

sicherlich, recht hast du...

dann würde natürlich auch die SF led nicht mehr blinken wenn der fehler auftritt... :-D

gruss...

Milo
 
Für den Fall dass der Wert über einen BCD Schalter erzeugt wird bin ich auch für Ralles Vorschlag.
Die Auswirkungen im OB121 zu bekämpfen ist meines Erachtens nach einfach nur Murks aller erster Güte.
Wenn man nach Jahren an die Anlage kommt und einen Fehler sucht, dann wundert man sich auf einmal was der Käse da im Fehler-OB zu suchen hat.
Denn meistens wird sowas vom Verfasser dann auch noch bescheidenst kommentiert !!!

Offensichtlich gab es während des Schaltens undefinierte Werte. Abhilfe brachte hier, mit einem Zeittakt den aktuellen Wert und den alten Wert vom Zeittakt davor zu vergleichen. Erst wenn beide Werte identisch waren, wurde der BCD-Wert umgerechnet.
 
Tja solange sich der Thredersteller nicht dazu äußert wie der BCD Code erzeugt wird kann man unendlich spekulieren.... und am Ende its doch gaaanz anders ....
Hatte mal den Fall, daß die Umwandlung auf BCD Code einzeln programmiert wurde und dabei in genau einem Fall eine nicht BCD Zahl erzeugt wurde. Das kam dann nur alle 8 Tage mal vor ....

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PEW wird skaliert ->

L #INmax
L #INmin
-D
T #MD1
L #OUTmax
L #OUTmin
-D
T #MD2
L #IN
L #INmin
-D
L #MD2
*D
L #MD1
/D
L #OUTmin
+D
T #OUT

dann gewandelt - >

U(
L "Analogwerte zu Visu".PIC100_Soll_Reduz_Sipart
T "HM_Fehlerausbledung"
SET
SAVE
CLR
U BIE
)
SPBNB _005
L "Analogwerte zu Visu".PIC100_Soll_Reduz_Sipart
BTI
T "HM_Fehlerausbledung"
_005: NOP 0



U(
O(
L "HM_Fehlerausbledung"
L 0
<I
)
O(
L "HM_Fehlerausbledung"
L 1000
>I
)
)
SPBNB _006
L 0
T "Analogwerte zu Visu".PIC100_Soll_Reduz_Sipart
_006: NOP 0

Warum auch immer ,vl hat von euch wer weine Antwort darauf.
 
Hallo tuneit,

was Gerhard meint ist, was steht bei Deinem Bausteinaufruf bei MD1 und MD2 dran.

Grüße
Gebs
 
Zurück
Oben