Variablenzugriff in SPS über Symbolkonfiguration

Eco123

Level-2
Beiträge
33
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, da ich hauptsächlich aus der Beckhoff Welt komme und mich nun mit Codesys V3 auseinandersetzten möchte hätte ich vorab ein paar Fragen.

Gibt es direkt in Codesys eine Möglichkeit, so ähnlich wie bei Beckhoff über den ADS Server Informationen über die im Projekt vorkommenden Variablen heraus zu kriegen? Und diese dann auch auszulesen und zu beschreiben? Ich habe gesehen in der Symbolkonfiguration von Codesys kann man bestimmte Variablen aus dem Projekt auswählen und sozusagen "freischalten". Dabei wird ein XML File erzeugt welches ich dann eventuell in der SPS auslesen und durchparsen könnte. Doch wie kann ich dann schreiben und lesen?

Oder gibt es hierzu vielleicht schon eine andere Möglichkeit?

Danke schon mal für die Infos

Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, danke für die Antwort. Doch so wie ich das verstehe ist das leider nicht das was ich suche. Der PLC Handler ist dazu gedacht Variabeln zwischen 2 SPS oder einer Fremdsteuerung auszutauschen. Ich bräuchte jedoch eine Möglichkeit, wo man direkt im SPS Code der Codesys Steuerung auf die Variablen zugreifen kann. So wie man es bei Beckhoff z.B. über die ADS Bausteine machen kann. Also dass ich einmal die Info bekomme welche Variablen in der Symbolkonfiguration aktiviert sind und dannach wie ich auf diese Variablen lesen und schreiben kann.

Weiß vielleicht jemand ob man im Codesys eine Art Notification auf einer Variable aktivieren kann, die einem eine Wertänderung mitteilt?

Danke nochmals

Grüße
 
Wie kommst Du angesichts der Webseite auf die Idee, dass die API für die Kommunikation zwischen zwei SPSen da sei? Erstmal programmiert man SPSen eher selten in C oder C++, außerdem heißt es auf der Seite heißt doch auch
3S schrieb:
Schlanke Software-Schnittstelle (API) zum komfortablen Zugriff von Drittsystemen auf SPS-Variablen in CODESYS-Steuerungen
, also, dass man mit der API auf SPS-Variablen zugreifen kann. Und die Abbildung zeigt doch auch nicht nur SPSen.
 
Hallo, momentan mache ich das Gleiche. Symbolkonfiguration benutze man eher wenn es um Kommunikation zwischen HMI und Steuerung geht. Ich hoffe, dass das Problem bei dir beseitigt wurde. Ansonsten schaue dir dieses Video an:

Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.

Wenn du aber eine gute Methode gefunden hast, bin ich sehr enthusiastisch, sie zu erfahren.
 
ich hab noch nicht verstanden von wo aus du die variablen lesen und schreiben willst ...
eine möglichkeit ist sicher per modbus protokoll ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hab noch nicht verstanden von wo aus du die variablen lesen und schreiben willst ...
eine möglichkeit ist sicher per modbus protokoll ...
Hallo, ich möchte den Wert der Variable direkt im Programmaufruf auslesen. So wie man es bei Beckhoff über die ADS Bausteine machen kann. Also z.B. ich deklariere im Code eine Variable "bTest" vom Typ BOOL. Und über eine Funktion oder Funktionsbaustein würde ich dann gerne herausfinden ob diese Variable in der Symbolkonfiguration aktiviert wurde und welchen Wert sie gerade hat. Und im 2 Schritt würde ich dann auch gerne den Wert über die Funktion oder Funktionsbaustein ändern können.

Danke

Grüsse
 
Hallo Frohnius

Ich werde das so machen:

1. Auslesen die Infos über den VariableName mit dem Baustein FB PLC_ReadSymInfoByname. Die Ausgangsstruktur SymInfoStruct erhält alle ADS Informationen: Group,Index,länge etc. Diese Struktur in eine Variable speichern(Datentyp SyminfoStruct)

2. fb ADSREAD aufrufen und als Input Parameter die Werte: SymInfo .idxGroup, SymInfo.idxoffs, Syminfo.byteSize (als LEN) übergeben. Als DestAddr sollte man eine Variable für das Resultat definieren. Das Lesen löst man mit dem Eingang READ aus.

Falls die Variable nicht definiert ist, sollte man ERROR Ausgang kontrollieren.

Freundliche Grüsse

Leo (offen für die neue Projekte)

 
Zuletzt bearbeitet:
Hallo Frohnius

Ich werde das so machen:

1. Auslesen die Infos über den VariableName mit dem Baustein FB PLC_ReadSymInfoByname. Die Ausgangsstruktur SymInfoStruct erhält alle ADS Informationen: Group,Index,länge etc. Diese Struktur in eine Variable speichern(Datentyp SyminfoStruct)

2. fb ADSREAD aufrufen und als Input Parameter die Werte: SymInfo .idxGroup, SymInfo.idxoffs, Syminfo.byteSize (als LEN) übergeben. Als DestAddr sollte man eine Variable für das Resultat definieren. Das Lesen löst man mit dem Eingang READ aus.

Falls die Variable nicht definiert ist, sollte man ERROR Ausgang kontrollieren.

Freundliche Grüsse

Leo (offen für die neue Projekte)

Das ist aber Beckhoff und nicht CoDeSys! Das kennt er bereits.
 
Zurück
Oben