Beckhoff PLC ansteuern mit C

AutomatedDesign

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Nachmittag,
ist es möglich eine Beckhoff PLC über TCP/IP ausschließlich mit einem C/C++ Programm anzusteuern oder benötige ich irgendwelche Schritte, um es zu ermöglichen? Auf der offiziellen Website befinden sich mehrere Codebeispiele, diese kann ich aktuell nicht ausprobieren, da ich erst bald eine PLC zum Testen bekomme. Aktuell kommt beim Ausführen die Fehlermeldung, dass der Target Port nicht gefunden werden kann. Muss ich selbst einen Server starten, oder fungiert die dann angeschlossene SPS sozusagen als "Server"? Ich bin in diesem Themengebiet recht neu, deshalb freue ich mich über jede Antwort und Hilfe!

Mit freundlichen Grüßen
 
Guten Nachmittag,
ist es möglich eine Beckhoff PLC über TCP/IP ausschließlich mit einem C/C++ Programm anzusteuern oder benötige ich irgendwelche Schritte, um es zu ermöglichen? Auf der offiziellen Website befinden sich mehrere Codebeispiele, diese kann ich aktuell nicht ausprobieren, da ich erst bald eine PLC zum Testen bekomme. Aktuell kommt beim Ausführen die Fehlermeldung, dass der Target Port nicht gefunden werden kann. Muss ich selbst einen Server starten, oder fungiert die dann angeschlossene SPS sozusagen als "Server"? Ich bin in diesem Themengebiet recht neu, deshalb freue ich mich über jede Antwort und Hilfe!
Naja, die Kommunikation erfolgt via ADS und da kann man sich ein entsprechendes Programm in C++ schreiben das dann via ADS mit der SPS kommuniziert, allerdings muss auf der SPS natürlich ein Programm vorhanden sein.
Wieso kannst Du nichts ausprobieren? Wenn Du die Entwicklungsumgebung mit den Standardoptionen installiert hast ist doch auch die Runtime dabei, also auch eine SPS.
 
Achte darauf, das du die 32Bit Version von TwinCAT 2 brauchst, wenn du die Runtime zum Testen auf deinem lokalen Rechner nutzen willst. Für TwinCAT 2 gibt es keine 64Bit Runtime, die gibt es erst ab TwinCAT 3.

Du kannst auf verschiedene Wege auf einem C/C++/C# Programm auf eine Beckhoff SPS zugreifen. Der einfachste ist über ADS, hat aber den Nachteil, das die ADS Bibliotheken von Beckhoff alle den Message Router voraus setzen. Den bekommst du automatisch wenn du TwinCAT auf einem PC installierst. Aber auf einem Rechner auf dem kein TwinCAT (mindestens TC IO) läuft, funktioniert das nicht. Es gibt Leute die haben eigene ADS Bibliotheken erstellt, die die Kommunikation ohne den Message Router abwickeln können, aber das ist nichts offizielles.

Was willst du denn mit deiner SPS machen? Mit ein paar zusätzlichen Infos können wir evtl. bessere Lösungen aufzeigen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mein aktuelles Ziel ist es, da nächste Woche eine SPS eintrifft, diese mithilfe von C anzusteuern, ganz einfache Sachen wie z.B. Read/Write von verschiedenen Ein- und Ausgängen. Bis dahin Suche ich eine Möglichkeit eine SPS auf meinem Rechner zu "simulieren" und diese eventuell anzusprechen.

Mein wichtigstes Ziel wäre es, die SPS anzusteuern, ohne TwinCat zu benutzen, davor noch die ein oder anderen inoffiziellen Libraries verstehen (aka wie diese das bewerkstelligen) und anschließlich selbst eine Library zu schreiben. Das ganze Projekt dient dem Lernzweck.

Mit freundlichen Grüßen
 
Mein wichtigstes Ziel wäre es, die SPS anzusteuern, ohne TwinCat zu benutzen, davor noch die ein oder anderen inoffiziellen Libraries verstehen (aka wie diese das bewerkstelligen) und anschließlich selbst eine Library zu schreiben. Das ganze Projekt dient dem Lernzweck.
Hatten wir sowas vor kurzem nicht schon?
Kurzgesagt,vergiss es, das geht nicht. TwinCAT ist die SPS. Du kannst entweder in Deinem Projekt die Hardware konfigurieren und dann anstatt eine der EN61131-3 Sprachen zu nutzen alles in C++ schreiben, das geht mittlerweile wohl und sogar in Echtzeit oder Du greifst via ADS auf die Steuerung zu, da weiß ich aber nicht, ob man dann direkt auf die konfigurierte Hardware zugreifen kann oder erst Variablen anlegen muss, diese auf die I/Os mappt und dann über die Variablen per ADS zugreift. Das ist dann aber nicht echtzeitfähig.


Von irgendwas mit Internetzugang gesendet.
 
Warum dieser Aufwand, nimm doch einfach an der EtherCAT Technologie Gruppe teil, und mach Dir einfach alles selbst, getreu dem Motto, machs Dir selbst, dann weißt Du, es ist gemacht. ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wieso sind alle auf einmal so darauf versessen anstatt die Entwicklungsumgebung der Hersteller zu nutzen alles selber machen zu wollen? OK, TIA, TwinCAT, e!Cockpit, Automation Builder, usw. sind nicht perfekt, aber so abgrundtief schlecht sind sie ja nun auch nicht, dass man auf solch verrückte Ideen kommen muss.

Von irgendwas mit Internetzugang gesendet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann man B&R Steuerungen nicht in C programmieren?
Ja, aber auch hier nicht ohne die Entwicklungsumgebung und gerade das ist es ja, was der TE nicht nutzen möchte, wenn ich ihn richtig verstanden habe.

Von irgendwas mit Internetzugang gesendet.
 
Ja, aber auch hier nicht ohne die Entwicklungsumgebung und gerade das ist es ja, was der TE nicht nutzen möchte, wenn ich ihn richtig verstanden habe.

Von irgendwas mit Internetzugang gesendet.

hast recht, wer lesen kann, ist klar im Vorteil :rolleyes:

Was mich interessieren würde, ist es möglich per ADS direkt auf die Ein-/Ausgänge zuzugreifen?
 
Zuletzt bearbeitet:
Ein Arbeitskollege von mir nimmt die Beckhoff Hardware(CX2030) mit den zugehörigen EtherCAT Klemmen, und nutzt als Betriebsystem linux xenomai mit einem linux EtherCAT Treiber, aber glücklich sieht der nicht immer aus... Aber, die Steuerung läuft mit 20 kHz, und zumindestens spart er die Lizenzkosten. ;-) Da steckt aber ein gehöriger Aufwand drin...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Arbeitskollege von mir nimmt die Beckhoff Hardware(CX2030) mit den zugehörigen EtherCAT Klemmen, und nutzt als Betriebsystem linux xenomai mit einem linux EtherCAT Treiber, aber glücklich sieht der nicht immer aus... Aber, die Steuerung läuft mit 20 kHz, und zumindestens spart er die Lizenzkosten. ;-) Da steckt aber ein gehöriger Aufwand drin...
Äh, ist da ein Buchstabe falsch m statt k?

Von irgendwas mit Internetzugang gesendet.
 
Die Twincat 2 Software steht 30 Tage kostenlos zur Verfügung, wie viel würde die darauf dann kosten? Finde dazu aktuell nichts auf ihrer Website... MfG
 
Zurück
Oben