Funktionsbaustein FB_ComPortControl verwenden

Allgemein

Dieser Baustein wird nur dann benötigt, wenn die verwendeten JUMO Modbus Geräte eine Kalibrierfunktion besitzen. Ansonsten kann dieser Punkt übersprungen werden.

Dieser Baustein sorgt dafür, dass der Sensor, der sich im Kalibriermode befindet exklusiven Zugriff auf die Schnittstelle erhält; die Kommunikation mit allen anderen Sensoren wird in diesem Zeitraum unterbunden. Der Sensor im Kalibriermodus hat somit Priorität vor allen übrigen Teilnehmern. Um dennoch eine Aktualisierung der Messwerte der anderen Sensoren während der Kalibrierphase zu ermöglichen werden diese abwechselnd und jeweils kurzzeitig nacheinander aktiviert.


Um eine reibungslose Funktion zu gewährleisten, ist es zwingend notwendig im Library Manager die Bibliothek digiLineBasic hinzuzufügen.

image-20260714-042331.png

Sind zwei oder mehr Sensoren an der Schnittstelle angeschlossen, wird der Baustein FB_ComPortControl benötigt. In der Bibliothek JDigilineBasic befindet sich eine Beispieldatei PRG_Example, die durch Doppelklick geöffnet werden kann.

image-20260714-042349.png

Die Zeilen können kopiert und in das eigene „Programm“ kopiert werden.

image-20260714-042409.png

Da in diesem Beispiel zwei Sensoren an der Schnittstelle angeschlossen ist, muss für iMaxDevcie eine 2 eingetragen werden.

image-20260714-042425.png

Für paiModeDevice den Sensornamen mit dem Suffix „_FB“ eintragen. Für paDevice nur den Sensornamen.

image-20260714-042438.png


Fremd- / eigenen Sensor an FB_ComPortControl anschließen

Hängt ein Fremdsensor (oder man hat selber einen Sensortreiber entwickelt) an der Schnittstelle, muss auch dieser über den FB_ComPortControl gesteuert werden, wenn ein JUMO Modbus Gerät in den Kalibrierungszustand wechselt.

Achtung: Möchte man einen Fremd- / eigenen Sensor anschließen, dann muss der Trigger ebenfalls „Rising edge“ sein. CODESYS hat bei unterschiedlichen Triggertypen Probleme.

image-20260714-042536.png

JUMO Modbus Geräte besitzen zwei Function_Blocks. Der eine stammt von CODESYS und ist für die Modbus-Kommunikation zuständig. Der zweite stammt von JUMO und bedient das eigentliche Gerät.

image-20260714-042553.png

Da ein Fremd- / eigener Sensor nur den Function_Block von CODESYS besitzt, müssen folgende Schritte beachtet werden.

image-20260714-042606.png

Da jetzt drei Sensoren an der seriellen Schnittstelle angeschlossen sind, wird der iMaxDevice auf „3“ gesetzt und im Programmteil die Zuweisungen dupliziert und angepasst. Für paDevice[3] kann der FB des External_Sensor (Name identisch) zugewiesen werden. Für paiModeDevice[3] muss nun ein Dummy Function_Block eingesetzt werden. Dieser ist bereits vorbereitet und ist in der Bibliothek JDigiLineBasic zu finden. Hiervon eine Instanz anlegen und im Programmteil übergeben.

image-20260714-042623.png

Wird der Sensor „Pool_pH“ in den Kalibrierungsmode versetzt, wird nun auch die Kommunikation des Fremd- / eigenen Sensors kontrolliert.

image-20260714-042636.png

Erst wird der Sensor „Pool_Ci“ aktiviert, damit dieser seine Prozesswerte aktualisieren kann.

image-20260714-042650.png

Dann wird der Fremd- / eigene Sensor aktiviert um die Prozesswerte aktualisieren zu können.

image-20260714-042703.png