Erdling
Level-1
- Beiträge
- 1
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo liebe SPS-Profis,
dies ist mein erster Beitrag und ich möchte euch mal direkt mit ein paar Fragen bombardieren. Und zwar überarbeite ich momentan eine Anlage im Technikums-Maßstab, welche vom Prozessleitsystem Freelance 2013 von ABB gesteuert wird. Bei der Konfiguration der Eingangs-und Ausgangskarten sind mir Ungereimtheiten aufgefallen, welche ich mir nicht mit der Systemhilfe erklären kann. Die analogen Baugruppen sind nicht von ABB und ich war daher der Meinung, man müsse über die Einstellungen im E/A-Editor (Byte, Bit, Länge) angeben, wie dort genau die Digital-Analog Wandlung vollzogen wird. Am Beispiel der Ausgangskarte würde ich gerne mein Problem dabei erklären:
In der Betriebsanweisung für die Ausgangskarten sind von 16 Bits für die Auflösung eines Datenwortes die ersten 4 als irrelevant angegeben, diese sind also stets 0. Die nächsten 11 Bit (2[SUP]0[/SUP]...2[SUP]10[/SUP]) werden für die Auflösung des Messwerts verwendet, das letzte Bit dient als Vorzeichenindikator. Nun würde ich erwarten, dass die Karte nur Rohwerte im Bereich von 0...1023 annehmen könnte. Wenn ich einen Bit-Offset von 0 und eine Länge von 16 angebe, dann scheint die Karte jedoch Werte von 0...2[SUP]16[/SUP]-1 zu erwarten und auch darstellen zu können (vorausgesetzt ich ändere die Skalierung der analogen Ausgangsgröße im Programmcode auf diesen Wertebereich). Bereits hier frage ich mich, wie die Karte überhaupt solch einen Wert annehmen kann, wenn nur Werte bis 2[SUP]10[/SUP] darstellbar sein sollen. Stelle ich jetzt einen Bit-Offset von 0 und eine Länge von 15 ein und ändere im Programm die Skalierung meiner Ausgangsgröße auf 0...2[SUP]15[/SUP]-1 so klappt es wiederum nicht.
Dadurch, dass die ersten 4 Bit irrelevant sein sollen habe ich nun einen Bit-Offset von 5 eingestellt und eine Länge von 11. Diese Einstellung ist neber der Bit=0|Länge=16 Einstellung die einzige die für mich erkennbar funktioniert. Hier wird dann ein Wertebereich von 0...2047 erwartet.
Meine Fragen lauten, ob ich das Prinzip mit dem Bit-Offset und der Länge richtig verstanden habe und wie/ob es sein kann, dass Bits der Ausgangskarte wie das Vorzeichenbit für die Messwertdarstellung missbraucht werden. Das elektrische Signal wird in einem Bereich von 0...20 mA ausgegeben und alle Angaben beziehen sich auf den UINT-Datentypen.
Ich bedanke mich im Voraus für jegliche Antwort und wünsche noch einen schönen Tag.
Mit freundlichen Grüßen,
Erdling
dies ist mein erster Beitrag und ich möchte euch mal direkt mit ein paar Fragen bombardieren. Und zwar überarbeite ich momentan eine Anlage im Technikums-Maßstab, welche vom Prozessleitsystem Freelance 2013 von ABB gesteuert wird. Bei der Konfiguration der Eingangs-und Ausgangskarten sind mir Ungereimtheiten aufgefallen, welche ich mir nicht mit der Systemhilfe erklären kann. Die analogen Baugruppen sind nicht von ABB und ich war daher der Meinung, man müsse über die Einstellungen im E/A-Editor (Byte, Bit, Länge) angeben, wie dort genau die Digital-Analog Wandlung vollzogen wird. Am Beispiel der Ausgangskarte würde ich gerne mein Problem dabei erklären:
In der Betriebsanweisung für die Ausgangskarten sind von 16 Bits für die Auflösung eines Datenwortes die ersten 4 als irrelevant angegeben, diese sind also stets 0. Die nächsten 11 Bit (2[SUP]0[/SUP]...2[SUP]10[/SUP]) werden für die Auflösung des Messwerts verwendet, das letzte Bit dient als Vorzeichenindikator. Nun würde ich erwarten, dass die Karte nur Rohwerte im Bereich von 0...1023 annehmen könnte. Wenn ich einen Bit-Offset von 0 und eine Länge von 16 angebe, dann scheint die Karte jedoch Werte von 0...2[SUP]16[/SUP]-1 zu erwarten und auch darstellen zu können (vorausgesetzt ich ändere die Skalierung der analogen Ausgangsgröße im Programmcode auf diesen Wertebereich). Bereits hier frage ich mich, wie die Karte überhaupt solch einen Wert annehmen kann, wenn nur Werte bis 2[SUP]10[/SUP] darstellbar sein sollen. Stelle ich jetzt einen Bit-Offset von 0 und eine Länge von 15 ein und ändere im Programm die Skalierung meiner Ausgangsgröße auf 0...2[SUP]15[/SUP]-1 so klappt es wiederum nicht.
Dadurch, dass die ersten 4 Bit irrelevant sein sollen habe ich nun einen Bit-Offset von 5 eingestellt und eine Länge von 11. Diese Einstellung ist neber der Bit=0|Länge=16 Einstellung die einzige die für mich erkennbar funktioniert. Hier wird dann ein Wertebereich von 0...2047 erwartet.
Meine Fragen lauten, ob ich das Prinzip mit dem Bit-Offset und der Länge richtig verstanden habe und wie/ob es sein kann, dass Bits der Ausgangskarte wie das Vorzeichenbit für die Messwertdarstellung missbraucht werden. Das elektrische Signal wird in einem Bereich von 0...20 mA ausgegeben und alle Angaben beziehen sich auf den UINT-Datentypen.
Ich bedanke mich im Voraus für jegliche Antwort und wünsche noch einen schönen Tag.
Mit freundlichen Grüßen,
Erdling