TC3 Interface zwischen zwei PLCs in der gleichen Solution auf dem gleichen IPC

MySPS

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

könnt ihr mir einen Tipp geben, wie man Variablen zwischen zwei (fast) unanhägigen PLCs auf einem IPC austauscht.
Ich habe das schon bei Simulationen mit über Kreuz verknüpften I/O gemacht. Gibt es vlt. elegantere Möglichkeiten?
In PLC1 läuft eine Visu. Für eine PLC2 gibt es einige wenige Variablen und Eingaben die auf der Visu der PLC1 eingegeben und angezeigt und in PLC2 verarbeitet werden sollen.
Ein Zugriff wie PLC2.blabla := PLC1.blupp scheint nicht zu funktionieren.... oder doch?

Danke im Voraus für Vorschläge.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
EAP ist nützlich für PLC's auf unterschiedlichen IPC. Ob das auf einem IPC zwischen den PLC funktioniert, weiß ich nicht. Das könnte aber problematisch sein, weil sich die beiden PLC's die Hardware teilen. Und die Einrichtung von EAP benötigt zwei getrennte Netzwerkadapter - denke ich.

Einfacher geht es mit FB_ReadAdsSymByName.

Code:
VAR
    fbAdsReadSpeedFA                    : FB_ReadAdsSymByName;
    nFaSpeed                            : INT;
END_VAR

fbAdsReadSpeedFA(
    bRead        := NOT fbAdsReadSpeedFA.bBusy, 
    sNetId        := '', 
    nPort        := 852, 
    sVarName    := 'MAIN.AO02', 
    nDestAddr    := ADR(nFaSpeed),
    nLen        := SIZEOF(nFaSpeed), 
    tTimeout    := , 
    eComMode    := E_AdsComMode.eAdsComModeFastCom, 
    bBusy=> , 
    bError=> , 
    nErrorId=> );
 
EAP ist nützlich für PLC's auf unterschiedlichen IPC. Ob das auf einem IPC zwischen den PLC funktioniert, weiß ich nicht. Das könnte aber problematisch sein, weil sich die beiden PLC's die Hardware teilen. Und die Einrichtung von EAP benötigt zwei getrennte Netzwerkadapter - denke ich.

Einfacher geht es mit FB_ReadAdsSymByName.
Stimmt, es sollte ja in einer Solution sein, dann macht mein Vorschlag keinen Sinn. Da es um die Visu geht ist eine zyklusgenaue Bearbeitung auch kein Thema und dann kann man auch die ADS FBs nehmen.
 
Ein IPC = eine Solution = 1 Projekt. Warum definierst du nicht die entsprechenden Variablen als %I %Q in den beiden SPSen und verknüpfst sie?
Ist nichts anderes als wenn du die SPS mit einer EA-Verbindest.
Performant - leicht verständlich und flexibel, was willst du mehr.

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein IPC = eine Solution = 1 Projekt. Warum definierst du nicht die entsprechenden Variablen als %I %Q in den beiden SPSen und verknüpfst sie?
Ist nichts anderes als wenn du die SPS mit einer EA-Verbindest.
Performant - leicht verständlich und flexibel, was willst du mehr.
So macht es der TE ja derzeit schon, wie er in #1 schrieb, aber er suchte noch nach einer anderen (eleganteren) Möglichkeit, wobei eleganter als so geht es ja fast nicht, zumal man, außer der Deklaration von Variablen keinen Code Programmieren muss.
 
Danke für den Hinweis mit den gekreuzten I/O. Ja, geht sicherlich so am einfachsten. Die Antwort mit dem FB_ReadAdsSymByName zeigt mir aber nun auch einen weitere Möglichkeit. Mir war nicht klar wie rel. einfach auch das geht. Grundsätzlich fehlen mir immer kleine praktische Beispiele.
Alles klar, Danke euch allen für die schnellen Lösungen.
 
Danke, für dein Beispiel. Ist ja nicht wirklich schwierig, werde das alternativ zu den gekreuzten I/O gerne ausprobieren.
 
Zurück
Oben