Fehlermeldung: Bitte CoDeSys mit -remote-Option starten

L

Luk-11

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich mache gerade meine ersten Erfahrungen mit CoDeSys 2.3. Ich möchte gerne zwei Wago PFC 750-8212 Controller mit einem Notebook verbinden, auf dem CoDeSys installiert ist. Hierzu habe ich zunächst einen der beiden Controller über die X1-Schnittstelle mit einem Ethernet-Kabel mit einem Switch verbunden und den Switch dann mit meinem Notebook. Weiterhin habe ich dieses Kabel für die serielle Verbindung eingesteckt.
Den beiden Controllern wurde bereits über das WBM eine IP-Adresse zugewiesen. Jetzt wollte ich die Controller zum ersten Mal an meinem Arbeitsplatz mit dem Notebook verbinden und einen der Controller als Modbus-Master konfigurieren. Ich habe dazu unter Ressourcen --> Steuerungskonfiguration --> Modbus-Master aufgerufen und erhalte die Fehlermeldung: "Es besteht keine Verbindung zu CoDeSys. Bitte CoDeSys mit -remote-Option starten."

Ich kann hiermit nichts anfangen. Wieso besteht keine Verbindung zu CoDeSys? Die Controller sollten richtig verbunden sein.
Habt ihr Tipps fürs weitere Vorgehen?

Vielen Dank!

IMG_1034.jpgAnhang anzeigen 45118
 
Zuletzt bearbeitet von einem Moderator:
Hi,
hm.. du hast drei Optionen deinen PFC zu verwenden
1. CODESYS V2.3
2. eCockpit
3. CODESYS V3
ich kenn diese remote Option in V2.3 leider nicht (könntest im Wago Forum hier mal fragen),
alternativ wenn du CODESYS V3 verwendest ist das ein Kinderspiel.

Wie?

a)CODESYS V3 aus dem CODESYS Store runterladen
b) dann das PFC200 Packet installieren ->über das Einkaufwagen Symbol in CODESYS. ( Dann CODESYS neu starten damit das update Kommando unter Tools erscheint)
c)->"Über Update PFC200" die SPS Runtime installieren auf dem PFC und dann neues Projekt mit PFC anlegen und deinen PFC scannen.

Hier noch ein kleines Video wie du den KBUS scannst.
https://www.youtube.com/watch?v=SzhHRlohb58
Wenn du dann noch eine Webvisu zum Projekt dazu machst, hast du innerhalb kurzer Zeit eine Bedienung deines PFC200 das du auf auf einem Handy aufrufen kannst.
z.B mit https://play.google.com/store/apps/details?id=com.codesys.webview
auf deinem Android oder eben im Browser bedienen kannst.




Grüße
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey,

vielen Dank dir!
Diese Fehlermeldung habe ich endlich in den Griff bekommen: Rechtsklick auf das Desktop-Icon --> Eigenschaften und dann so wie im angehängten Screenshot verfahren.

Vielleicht kannst du mir mit meinem eigentlichen Vorhaben weiterhelfen: Ich habe zwei Wago PFC 750-8212 Controller, wobei ich einen davon als Modbus-Master konfigurieren möchte. Ich kann hierzu leider nicht viel Informationen finden. Hast du das schon einmal gemacht? - Ich dachte eigentlich das wäre ein recht übliches Unterfangen und deshalb gut dokumentiert.

Gruß
Luk

einstellungen.PNG

ModbusMasterKonfiguration.jpg
 
Hallo,
Ich habe zwei Wago PFC 750-8212 Controller, wobei ich einen davon als Modbus-Master konfigurieren möchte. Ich kann hierzu leider nicht viel Informationen finden. Hast du das schon einmal gemacht? - Ich dachte eigentlich das wäre ein recht übliches Unterfangen und deshalb gut dokumentiert.
das Dokument zum Modbuskonfigurator kennst Du schon?

https://www.wago.com/de/d/6500

Gruß
 
Die kannte ich wirklich noch nicht, danke dir!

Ich habe meine SPSen gerade nicht zu Hand, aber das Programm müsste ich ja eigentlich auch ohne angeschlossene SPS schreiben können, oder?

Im ersten Schritt möchte ich ja den Modbus-Master und -Slave konfigurieren. Dazu bin ich nun wie beschrieben unter Ressourcen --> Steuerungskonfiguration --> PLC Configuration --> Modbus-Master[Fix] gegangen, habe im Modbus-Master-Konfigurator die Netzwerkansicht geöffnet eine Ethernet-Schnittstelle und einen Modbus-Slave hinzugefügt (siehe Bild). Soweit so gut. Unter Kommunikation --> bearbeiten, lässt sich die IP-Adresse des Modbus-Slaves einstellen. Beim Modbus-Master funktioniert das so leider nicht, die IP-Adresse dürfte hier aber bereits stimmen (das habe ich ja vorab über das WBM eingestellt).

Ich kenne mich ja nun wie schon gesagt leider gar nicht aus. Aber ich habe als nächstes auf "Code generieren" geklickt, um zu schauen ob irgendwo Variablen angelegt werden, oder etwas ins PLC_PRG geschrieben wird. Leider ist scheinbar gar nichts geschehen, statt dessen erhalte ich die Meldung, die im dritten Bild zu sehen ist.
In der Spalte "Zugriff" sollte sich eigentlich über Rechtsklick --> bearbeiten, die Art des Variablen-Zugriffs (lesend oder schreibend) einstellen lassen. Das ist leider nicht möglich. Vermutlich, weil ich bisher überhaupt keine Variablen angelegt habe. Aber da ist auch schon das nächste Problem, wie genau mache ich das? Gehe ich dazu auf "Modbus variables[Fix]" (siehe Bild 4). Oder muss ich die Variablen im PLC_PRG anlegen?

Ich versuche ja nun ein einfaches Mapping zu schreiben. Also etwas in der Art:
IEC-Adresse := Reglerdaten_via_Modbus

Wobei Reglerdaten_via_Modbus die Daten sind, die mein Modbus-Master aus dem Modbus-Slave liest. Deshalb muss ich also erstmal im Modbus-Slave ein paar Daten anlegen, die in bestimmten Modbus-Adressen liegen. Diese Daten soll dann mein Modbus-Master anfragen und einer IEC-Adresse zuweisen.

Das kann ja eigentlich nicht so schwer sein. Aber mir fehlt gerade der Ansatz: Wie gehe ich hier weiter vor?
Eines der wenigen Tutorials hierzu, das ich gefunden habe, ist folgendes:

https://www.bing.com/videos/search?...44FF6962DF65910A64C544FF6962DF65910&FORM=VIRE

Das scheint mir nicht ganz das zu sein, was ich machen will, aber ist zumindest ein erster Ansatz. Wenn ich nun aber unter Ressourcen --> Bibliotheksverwaltung klicke, habe ich nur "Objekt Eigenschaften" und "Projektdatenbanken" zur Auswahl. Ich kann überhaupt keine Bibliothek - also auch nicht die ModbusEthernet_04 library - hinzufügen. Und somit kann ich dieses Tutorial auch nicht weiter nutzen.

Ihr seht, ich bin etwas verloren. Habt ihr ein paar Tipps für mich ?

screen1.PNGscreen2.jpgscreen3.jpgscreen4.jpgscreen5.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

hier mal kurz in Bildern.

PFC Slave
PFC_Slave.jpg

PFC Master
PFC_Master_1.jpg
PFC_Master_2.jpg
PFC_Master_3.jpg

Man darf nicht vergessen PLC_PRG als Task einzuhängen. Ich habe es jetzt hier als freilaufenden Task gemacht.

Habe es jetzt nicht weiter ausprobiert, so sollte es aber laufen. Hoffe Du kommst damit weiter.

Gruß
 
hey,

vielen, vielen Dank dir!
Ich bin leider noch nicht dazu gekommen es auszuprobieren, werde mich aber heute Abend (spätestens morgen früh) daran begeben und dann hoffentlich auch weiter kommen. Meine Ergebnisse werde ich dann hochladen ;-)
 
Hallo Thruser,

ich versuche mal etwas Struktur in meinen Post zu bringen:

mein Vorhaben:
Ich habe zwei PFC 750-8212 über einen Switch mit meinem Notebook verbunden. Mithilfe von CoDeSys 2.3 möchte ich jetzt einen der Controller als Modbus-Master, und den anderen als Modbus-Slave konfigurieren. Neben der Konfiguration möchte ich natürlich auch schon ein erstes Programm schreiben: Der Master soll ein paar Register des Slaves auslesen.

Konfiguration:
1. Einstellen der IP-Adressen der beiden Controller. Dies habe ich mithilfe des Web Based Managements getan.
2. Steuerungskonfiguration --> PLC-Configuration --> Modbus variables
Hier habe ich deiner Anleitung folgend ein paar Variablen hinzugefügt. Es sind insgesamt 4 Variablen vom Typ Word. Als EA-Typ ist Flag eingestellt, wodurch die Variablen als Merker gekennzeichnet werden.
3. Steuerungskonfiguration --> PLC-Configuration --> Modbus-Master
Hier habe ich dem Modbus-Master eine Ethernet-Schnittstelle und einen Slave hinzugefügt. Außerdem habe ich die Variablen ergänzt. Auch diese Einträge entsprechen jetzt deiner Anleitung. Einzige Außnahme: Ich habe die letzte Variable (%MW3) als schreibend deklariert, weil ich glaube, dass sich das Programm so einfacher schreiben lässt.
ModbusVariables.jpg
4. Durch Klicken von "Code generieren" im Modbus-Master-Konfigurator ist unter Taskkonfiguration eine neue Task erschienen: MB_ETH_MASTER_TASK und der Unterpunkt MBCFG_ModbusSlave()
Diese Task habe ich nicht angerührt. Die Priorität ist bisher auf 31 eingestellt, Typ = Zyklisch, Intervall = 5ms
Ich habe die Taskkonfiguration außerdem um mein main-Programm ergänzt. Dieses habe ich ganz nach deiner Anleitung als freilaufend deklariert.
TaskKonfiguration.jpg
Ich denke, dass die Konfiguration damit abgeschlossen ist.

Programm:
Beim Schreiben des Programms bin ich dem Video gefolgt, das ich in Beitrag #5 verlinkt habe. Ich habe also zunächst einmal unter Bibliotheksverwalter --> Weitere Bibliothek --> Application die ModbusEthernet_04.lib hinzugefügt. Dann bin ich zu meinem PLC_PRG und habe im ersten "Rung" einen ETHERNET_MODBUSMASTER_TCP hinzugefügt. In dem Video wird statt dessen ein UDP-Baustein verwendet.
Die meisten Parameter kann ich eigentlich verstehen. Etwas unsicher bin ich bzgl. InData und OutData - warum wird hier ein Array definiert? Hat ein WORD genau 128 bit? Das heißt, wenn ein Word ausgelesen wird, wird hierüber festgelegt, dass jedes Bit davon auch gelesen wird?
Dann, eine vermutlich etwas dumme Frage: Ich glaube ich habe den Funktionsbaustein nicht richtig eingefügt: Müsste ich ihn nicht eigentlich mit dieser Linie verbinden, die oberhalb von 0001 steht?
PLC_PRG.PNG

LadderDiagram.PNG

Was vlt noch interessant ist: Unter Bausteine --> Configuration habe ich ein MODBUS_CONFIGURATION(PRG) stehen. Dieses Programm ist aber leer:
ModbusConfiguration.jpg
Sollte ich hier noch etwas rein schreiben?

Tut mir leid wegen der ganzen Fragen
 
Zuletzt bearbeitet von einem Moderator:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

die ersten beiden Anhänjge können nicht geöffnet werden.

Du mußt zwei Programme erstellen. Eines für den Slave und eines für den Master.

Slave:
Da stellst Du die IP 192.168.1.18 ein.
Dann nimmst Du die Konfiguration wie in meinem ersten Bild oben vor. Zusätzlich trägst DU die Zeilen unten links im Bild in PLC_PRG ein. Dann verbindest Du Dich mit der Steuerung, lädst das Programm hoch und startest es.

Master:
Da stellst Du die IP 192.168.1.19, oder eine andere ungleich 18, ein.
Dann nimmst Die Konfiguration aus den Bildern für den Master oben.

Wenn Du dann dann auf Code generieren drückst wird der entsprechned Code erzeugt. Zusätzlich werden die benötigten Bibliotheken eingebunden. Die ModbusEthernet_04.lib mußt Du nicht extra einbinden. Auch mußt Du den FB1 nicht so einbinden. Der Baustein ETHERNET_MODBUSMASTER_TCP wird automatisch durch den Konfigurator eingebunden und aufgerufen.

Dann mit der zweiten Steuerung (dem Master) verbinden, Programm hochladen und starten.

In der 'leeren' Datei ist die Konfiguration die durch den Modbus Konfigurator erzeugt wird. Der gehört nicht zum CoDeSys Standard sondern ist eine Wago Erweiterung. Ohne die Datei müßtest Du die Konfiguration jedesmal neu erstellen.

Gruß
 
ah ok. Jetzt verstehe ich es. Ich hab dein drittes Bild übersehen! Durch die Einstellungen im Modbus-Master-Konfigurator umgehe ich quasi die Notwendigkeit, diese Kommunikation selbst zu programmieren. Das wird mir über "Code generieren" abgenommen. Und jetzt muss ich nur noch das Programm - wie in deinem Beispiel - auf den Slave, und ein anderes Programm auf den Master spielen. Das probiere ich morgen mal aus.

Ich würde dir gerne noch eine abschließende Frage stellen: Unter Steuerungskonfiguration --> Modbus variables habe ich alle Variablen als EA-Typ "Flag" und somit als Merker deklariert. Für diese Variablen sind in der PFC allerdings nur ganz bestimmte Register vorgesehen. Angenommen ich möchte meine Variablen in anderen Registern speichern, müsste ich diese dann als Output deklarieren?
Ich meine damit: Ich deklariere diese vier Variablen im Modbus Slave als Output. Und im Modbus-Master-Konfigurator füge ich sie dem Slave auch als Output hinzu. Für den Modbus-Master sind diese Variablen natürlich Inputs, deswegen bin ich mir etwas unsicher, welche Deklaration richtig wäre.
Hier in Bildern:
screen1.jpg

screen2.jpg

screen3.jpg

..
ich habe jetzt gerade versucht das Programm auf die SPSen zu spielen. Das Slave-Programm läuft einwandfrei. Das Master-Programm wirft allerdings Fehler:
error.PNG

Es stimmt, dass sich mb_var0, mb_var1 und mb_var2 nicht in MBCFG_ModbusSlave(); befindet:
mbcfg_modbusSlave.PNG

Allerdings trifft dies ja auch auf das Slave-Programm zu und hier erhalte ich keine Fehlermeldung.

.. und auch das Problem ist gelöst: ich habe mb_var0 etc. durch xNewVar ersetzt
 
Zuletzt bearbeitet von einem Moderator:
hey,

kann ich auch eine andere SPS als Modbus-Master verwenden, und die SPS des Modbus-Slave aber beibehalten?
Ich habe meine Modbus-Master SPS jetzt gegen eine PFC 750-8202/025-002 getauscht. Und der Slave ist immer noch eine PFC 750-8212. Das Modbus-Master Programm habe ich neu erstellt (ich musste ja die Zielsystem-Einstellungen anpassen). Aber die Zielsystem-Einstellungen des Slaves bleiben ja eigentlich gleich. Im Modbus-Master-Konfigurator des Slave Programms ist als Master aber immer noch eine PFC 750-8212 angegeben. Das lässt sich nur ändern, indem ich die Zielsystem-Einstellungen ändere. .. erkennst du mein Dilemma?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, erst einmal zu den ersten Fragen, natürlich kannst Du auch mit Input und Output definieren. Hatte der einfachheit halber mit Flags/Merkern gearbeitet.

Bei Deinem Fenster vom Modbus Konfigurator werden die Namen in der ersten Spalte (Netzwerk) nicht angezeigt, mach die mal breiter. Dann siehst Du auch die Bezeichnung xNewVar.

Beim dem Controller den Du als Slave einsetzen willst benötigst Du den Modbuskonfigurator nicht. Der Controller bringt die Slave Funktionalität schon ohne weiteres zutun mit. Du mußt nur die Varablen unter Modbus Variables festlegen.

Nur wenn Du mit dem Controller über Modbus Daten von anderen Geräten lesen/schreiben willst benötigst Du den Konfigurator und/oder die ganzen Bibliotheken. Habe gerade gesehen, daß die ModbusEthernet_04.lib gar nicht verwendet wird sondern WagoLibModbus_IP_01.lib und die MBCFG_ libs.

Ich hatte jetzt keine Zeit meinen zweiten Controller rauszusuchen und zu konfigurieren, daher die beiden Programm im Anhang ungetestet.

Gruß

Anhang anzeigen 8202_MB_Master.zipAnhang anzeigen 8212_MB_Slave.zip
 
Zuletzt bearbeitet:
Zurück
Oben