Datentyp Probleme

DaFi

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen,

ich habe ein Problem bei der Übergabe von Daten, in meinem Fall bei einem SEL-Baustein. Codesys ist für mich komplettes Neuland, ich habe bis jetzt nur mit Simatic gearbeitet und stehe im Moment oft bei "Übersetzungen" von meinem Wissen zwischen Simatic und Codesys auf dem Schlauch. Deswegen erscheint die Frage vielleicht in manchen Augen sehr dumm:

Unbenannt.JPG

Die frage ist recht Simpel: Welchem Datentyp muss ich MB0 zuweisen.
Wenn ich in Simatic ein Ganzzahl eingebe, ist das eine INT, aber das scheint hier nicht der Fall zu sein, da die Zahl nicht im MB0 gespeichert wird. Der SEL funktioniert er gibt die "1" durch aber im MB0 steht weiterhin eine "0". (und ja ich weiß dieses spezielle Beispiel könnte anders gelöst werden, aber ich möchte auch andere Zahlen als 0 und 1 selektieren)

Ich kann einfach keine Antwort im Internet finden, weil ich nicht weiß wie ich die Frage für google formulieren soll.
Auch hier im Forum habe ich schon versucht eine Antwort zu finden. Deswegen wird mir hoffentlich verziehen solche eine Frage hier zu stellen.
 
MB0 ist ein Byte. Das ist auch bei Siemens so. Wenn ein INT benötigt wird, benötigst du 2 Byte.
MW0 sollte funktionieren.

Der SEL funktioniert er gibt die "1" durch aber im MB0 steht weiterhin eine "0". (und ja ich weiß dieses spezielle Beispiel könnte anders gelöst werden, aber ich möchte auch andere Zahlen als 0 und 1 selektieren)

Wie erkennst du, dass „der SEL funktioniert“ ?
Wird MB0 an anderer Stelle wieder überschrieben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
MB0 ist ein Byte. Das ist auch bei Siemens so. Wenn ein INT benötigt wird, benötigst du 2 Byte.
MW0 sollte funktionieren.
ja das ist mir auch aufgefallen, ist in dem Fall aber auch nur ein Symbolischer Name. Wenn ich dem Symbol MB0 den Datentyp INT zuweise klappts aber auch nicht.
Wie erkennst du, dass „der SEL funktioniert“ ?
Wird MB0 an anderer Stelle wieder überschrieben?
Wenn ich mein Programm Simuliere:
Unbenannt.JPG

In der F1 Hilfe steht, dass am Ausgang der Selbe Datentyp verwendet wird wie am Eingang, im Prinzip läuft meine Frage darauf hinaus: Wenn ich einfach nur ganze Zahlen auf den Eingang gebe, was meint Codesys dann für einen Datentyp zu nehmen.
 
Zuletzt bearbeitet:
Könnte es sein daß Du später im Programm dem MB0 eine 0 zuweist und das Codesys beim Beobachten nicht den Wert bei der Zuweisung sondern vom Zyklusende anzeigt?

Harald
 
Ich weiß es nicht, doch ich meine, Codesys interpretiert den Datentyp der typlosen Ganzzahl-Konstante aus dem Ziel-Datentyp der Zuweisung (und evtl. aus Operanden-Vorrang (Klammern) in ST). Wenn Du eine Interpretation als 16 Bit INT erzwingen willst, dann kannst Du INT#1 schreiben.

Harald
 
Zurück
Oben