Konfiguration Modbus TCP Master
Konfiguration Modbus TCP Master
Hallo Volker
Ich habe nun in meinem Projekt Heizungssteuerung mit den ersten Kommunikationstests begonnen. In PiCtory habe ich nun einen virtuellen Modbus TCP Master konfiguriert und die Konfiguration anschliessend in LC3 übernommen: Ich kann nun die digitalen Ein-und Ausgänge lesen und ansprechen, jedoch können Input_Bit_9 und Input_Bit_10 nicht gelesen werden. Und wenn ich Output_Bit_1 setze, dann wird auch gleich Output_Bit_10 mitgesetzt. Das gleiche Verhalten zeigt sich bei Output_Bit_2 / Output_Bit_11 und Output_Bit_3 / Output_Bit_12. Passiert dies, weil die Adressen aus PiCtory nicht stimmen? Wenn ich z. B. das Output_Bit_9 im Terminal setze, dann wird ja %QX1.177.0 gesetzt und nicht wie in den globalen Variablen definiert %QX1.176.8.
Ebenfalls habe ich noch Probleme beim Schreiben der analogen Ausgänge. Hier hatte ich bis jetzt noch gar keinen Erfolg. Den Slave (Buskoppler von Beckhoff) habe ich geprüft mit Modbus Poll, dort funktioniert es wie es soll. Kannst du mir hier weiterhelfen?
Gruss, Samuel
Ich habe nun in meinem Projekt Heizungssteuerung mit den ersten Kommunikationstests begonnen. In PiCtory habe ich nun einen virtuellen Modbus TCP Master konfiguriert und die Konfiguration anschliessend in LC3 übernommen: Ich kann nun die digitalen Ein-und Ausgänge lesen und ansprechen, jedoch können Input_Bit_9 und Input_Bit_10 nicht gelesen werden. Und wenn ich Output_Bit_1 setze, dann wird auch gleich Output_Bit_10 mitgesetzt. Das gleiche Verhalten zeigt sich bei Output_Bit_2 / Output_Bit_11 und Output_Bit_3 / Output_Bit_12. Passiert dies, weil die Adressen aus PiCtory nicht stimmen? Wenn ich z. B. das Output_Bit_9 im Terminal setze, dann wird ja %QX1.177.0 gesetzt und nicht wie in den globalen Variablen definiert %QX1.176.8.
Ebenfalls habe ich noch Probleme beim Schreiben der analogen Ausgänge. Hier hatte ich bis jetzt noch gar keinen Erfolg. Den Slave (Buskoppler von Beckhoff) habe ich geprüft mit Modbus Poll, dort funktioniert es wie es soll. Kannst du mir hier weiterhelfen?
Gruss, Samuel
Re: Konfiguration Modbus TCP Master
Hallo Samuel,
die Funktion piControlSetBitValue in der Datei piControlIf.c die vom ModbusMaster verwendet wird war leider fehlerhaft und hat zu diesem Fehler geführt. Seit gestern ist das neue Paket zum Download verfügbar, ich bin aber noch am Testen und habe deshalb noch keine Meldung veröffentlicht.
Installiere die neue Verion 1.0.2 mit den Befehlen:
sudo apt-get update
sudo apt-get install pimodbus-master
Melde dich bitte, wenn das Problem dann immer noch besteht.
Gruß
Mathias
die Funktion piControlSetBitValue in der Datei piControlIf.c die vom ModbusMaster verwendet wird war leider fehlerhaft und hat zu diesem Fehler geführt. Seit gestern ist das neue Paket zum Download verfügbar, ich bin aber noch am Testen und habe deshalb noch keine Meldung veröffentlicht.
Installiere die neue Verion 1.0.2 mit den Befehlen:
sudo apt-get update
sudo apt-get install pimodbus-master
Melde dich bitte, wenn das Problem dann immer noch besteht.
Gruß
Mathias
Re: Konfiguration Modbus TCP Master
zu deiner zweiten Frage:
meinst du mit "Modbus Poll" das Windows-Programm modpoll.exe ? Bei Modbus ist üblich, dass das erste Register mit Nummer 1 bezeichnet wird, tatsächlich auf der Leitung wird jedoch die Adresse 0 verschickt. In PiCtory und bei modpoll.exe musst du für das erste Register die Adresse 1 angeben.
Es gibt Hersteller, die in ihrer Doku diese 1 schon abziehen. Dann müsstest du in PiCtory zu der Adresse aus der Doku 1 dazu zählen. Probier bitte aus ob es daran liegen könnte.
Außerdem könntest du nach den Statusausgaben sehen mit "piTest -r Modbus_Action_Status_N" wobei N die Nummer der Action im Extended Data Dialog ist.
Gruß
Mathias
meinst du mit "Modbus Poll" das Windows-Programm modpoll.exe ? Bei Modbus ist üblich, dass das erste Register mit Nummer 1 bezeichnet wird, tatsächlich auf der Leitung wird jedoch die Adresse 0 verschickt. In PiCtory und bei modpoll.exe musst du für das erste Register die Adresse 1 angeben.
Es gibt Hersteller, die in ihrer Doku diese 1 schon abziehen. Dann müsstest du in PiCtory zu der Adresse aus der Doku 1 dazu zählen. Probier bitte aus ob es daran liegen könnte.
Außerdem könntest du nach den Statusausgaben sehen mit "piTest -r Modbus_Action_Status_N" wobei N die Nummer der Action im Extended Data Dialog ist.
Gruß
Mathias
Re: Konfiguration Modbus TCP Master
Hallo Mathias
Besten Dank für deine schnelle Antwort. Ich habe das Update durchgeführt und nochmals getestet, nun funktioniert alles bis auf den Input_Bit_10. Diesen Fehler probiere ich in nächster Zeit noch ausfindig zu machen.
Genau dieses Programm für Windows habe ich gemeint. Das mit den Adressen habe ich so beachtet. Vielen Dank für die Informationen
Gruss, Samuel
Besten Dank für deine schnelle Antwort. Ich habe das Update durchgeführt und nochmals getestet, nun funktioniert alles bis auf den Input_Bit_10. Diesen Fehler probiere ich in nächster Zeit noch ausfindig zu machen.
Genau dieses Programm für Windows habe ich gemeint. Das mit den Adressen habe ich so beachtet. Vielen Dank für die Informationen
Gruss, Samuel
Re: Konfiguration Modbus TCP Master
Hallo Samuel,
jetzt bin ich neugierig: Eigentlich sollte Dein 2. Problem nichts mit den Korrekturen in der von Dir runtergeladenen Paketversion zu tun haben. Darum meine Frage:
Läuft bei Dir jetzt auch die Ansteuerung der analogen Ausgänge? Wenn ja, hast Du in PiCtory dafür irgendwelche Änderungen gemacht oder wirklich nur das neue Paket installiert?
Und zu den digitalen Eingängen: Kannst Du jetzt bit 9 lesen, aber 10 nicht? Oder geht das lesen bei beiden noch nicht?
jetzt bin ich neugierig: Eigentlich sollte Dein 2. Problem nichts mit den Korrekturen in der von Dir runtergeladenen Paketversion zu tun haben. Darum meine Frage:
Läuft bei Dir jetzt auch die Ansteuerung der analogen Ausgänge? Wenn ja, hast Du in PiCtory dafür irgendwelche Änderungen gemacht oder wirklich nur das neue Paket installiert?
Und zu den digitalen Eingängen: Kannst Du jetzt bit 9 lesen, aber 10 nicht? Oder geht das lesen bei beiden noch nicht?
Unser RevPi Motto: Don't just claim it - make it!
Re: Konfiguration Modbus TCP Master
Hallo Volker
Ja, die analogen Ausgänge können jetzt auch angesteuert werden. Ich habe die ganze Konfiguration in PiCtory nach dem Update nochmals vorgenommen, nun verwende ich einen Master Adapter für die DIOs und einen für die AIOs sonst ist diese aber identisch. Lieg wohl daran, dass ein Master Adapter maximal 32 Tasks übernehmen kann oder?
Bit 9 kann ich nun lesen einfach Bit 10 bis jetzt noch nicht.
Gruss, Samuel
Ja, die analogen Ausgänge können jetzt auch angesteuert werden. Ich habe die ganze Konfiguration in PiCtory nach dem Update nochmals vorgenommen, nun verwende ich einen Master Adapter für die DIOs und einen für die AIOs sonst ist diese aber identisch. Lieg wohl daran, dass ein Master Adapter maximal 32 Tasks übernehmen kann oder?
Bit 9 kann ich nun lesen einfach Bit 10 bis jetzt noch nicht.
Gruss, Samuel
Re: Konfiguration Modbus TCP Master
Okay, das hört sich gut an und ich denke mal dass die Sache mit den Analogausgängen vielleicht doch an der Konfiguration lag (andere IP???).
Pro Master kannst Du in der Tat nur 32 Tasks und 1 IP / Port. Wenn Du mehr benötigst hast Du es genau richtig gemacht, dann bitte einfach mehrere virtuelle Module in die Konfig ziehen.
Wegen Input 10 solltest Du mal die HW prüfen und mit ModPoll oder QMod etc. schauen ob die Klemme überhaupt tut...
Übrigens zu der Adressierung:
Ob Du mit %QW1.176.8 oder mit %QW1.177.0 adressierst, ist ST ziemlich egal. Der Zugriff erfolgt im PA auf das selbe Bit.
Pro Master kannst Du in der Tat nur 32 Tasks und 1 IP / Port. Wenn Du mehr benötigst hast Du es genau richtig gemacht, dann bitte einfach mehrere virtuelle Module in die Konfig ziehen.
Wegen Input 10 solltest Du mal die HW prüfen und mit ModPoll oder QMod etc. schauen ob die Klemme überhaupt tut...
Übrigens zu der Adressierung:
Ob Du mit %QW1.176.8 oder mit %QW1.177.0 adressierst, ist ST ziemlich egal. Der Zugriff erfolgt im PA auf das selbe Bit.
Unser RevPi Motto: Don't just claim it - make it!
Re: Konfiguration Modbus TCP Master
Meine Konfiguration in LC3 sieht nun so aus:
Zudem habe ich noch eine Frage zu den analogen Eingängen. Ich erhalte dort Werte von ca. 45000 bis 65000 dec.
Wenn sich nun z.B. der Eingang %IW1.203 (Potentiometer) dem oberen Wert nähert, fällt dieser kurz vor dem rechten Anschlag des Potentiometers wieder
auf den unteren Wert. Am Potentiometer liegt es nicht und in Modbus Poll passiert dieser plötzliche Sprung auch nicht.
Habt ihr schon mal etwas ähnliches feststellen können?
Gruss, Samuel
Den Eingang %IX1.75.9 kann ich auch mit der neuen Konfiguration nicht lesen, an was könnte dies noch liegen?Zudem habe ich noch eine Frage zu den analogen Eingängen. Ich erhalte dort Werte von ca. 45000 bis 65000 dec.
Wenn sich nun z.B. der Eingang %IW1.203 (Potentiometer) dem oberen Wert nähert, fällt dieser kurz vor dem rechten Anschlag des Potentiometers wieder
auf den unteren Wert. Am Potentiometer liegt es nicht und in Modbus Poll passiert dieser plötzliche Sprung auch nicht.
Habt ihr schon mal etwas ähnliches feststellen können?
Gruss, Samuel
Re: Konfiguration Modbus TCP Master
Hallo Samuel,
da ich grade auf einer Konferenz bin, dauert es mit den Antworten ein wenig länger. Kannst Du uns bitte mal genau beschreiben, wie Du das Poti angeschlossen hast und welche Konfigurationseinstellung Du für diesen Analogeingnag vorgenommen hast (PiCtory)? Und hats Du direkt parallel zum AIO Analogeingang mal ein gutes Multimeter angeschlossen, um die jeweiligen Spannungswerte am Eingang zu messen?
da ich grade auf einer Konferenz bin, dauert es mit den Antworten ein wenig länger. Kannst Du uns bitte mal genau beschreiben, wie Du das Poti angeschlossen hast und welche Konfigurationseinstellung Du für diesen Analogeingnag vorgenommen hast (PiCtory)? Und hats Du direkt parallel zum AIO Analogeingang mal ein gutes Multimeter angeschlossen, um die jeweiligen Spannungswerte am Eingang zu messen?
Unser RevPi Motto: Don't just claim it - make it!
Re: Konfiguration Modbus TCP Master
Hallo Volker
In PiCtory sieht die Konfiguration der analogen Ein-und Aussgänge so aus: Die Potentiometer sind an zwei 8-Kanal-Eingangsklemmen (KL3208) von Beckhoff angeschlossen. Es kann natürlich auch sein,
dass etwas an der Konfiguration der Klemmen nicht stimmt. Die Spannungswerte habe ich bis jetzt noch nicht überprüft.
In PiCtory sieht die Konfiguration der analogen Ein-und Aussgänge so aus: Die Potentiometer sind an zwei 8-Kanal-Eingangsklemmen (KL3208) von Beckhoff angeschlossen. Es kann natürlich auch sein,
dass etwas an der Konfiguration der Klemmen nicht stimmt. Die Spannungswerte habe ich bis jetzt noch nicht überprüft.