Autor Thema: XV-102 SoftPLC und EasyE4  (Gelesen 5283 mal)

Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
XV-102 SoftPLC und EasyE4
« am: Februar 26, 2022, 10:20:57 Vormittag »
Moin zusammen.
Ich habe da ein Problem:

In einem Stand-alone-Gerät wurden bisher eine
+ EASY-822-DC-TC mit Touchpanel
+ XV-102-B5-35TQRC10-PLC  eingesetzt.

Die EASY-822 wird über USB mit
+ EasySoft 6 programmiert. Auf dem Panel läuft eine
+ Galileo 7.2.8-Visualisierung und ein
+ CodeSys 2.3.9.5-SoftPLC-Programm.

Die Verbindung der beiden Geräte erfolgt über Can-Bus (RJ45 - SubD9)
Die SoftPLC kommuniziert die Variablen der EASY-822 für das eigene ST-Programm und für die Galileo-Visualisierung.
Sie erzeugt auch Protokolldateien und darin Statustextzeilen auf der SD-Karte im XV-102.

Jetzt bin ich auf die neue Easy E4 umgestiegen und mussten feststellen, dass die Kommunikation über Can-Bus offensichtlich nicht mehr verwendbar ist.
Ein Umstieg auf Netzwerkkommunikion ist sicher auch ein guter Weg.

Deshalb verwende ich jetzt neu eine
+ EASY-E4-DC-12TC1 mit zunächst gleichem Touchpanel
+ XV-102-B5-35TQRC10-PLC, alternativ ein XV-102-A0-35TQRB-1E4

Die EASY-E4 wird über Ethernet mit
+ EasySoft 7.3 programmiert. Auf dem neuen Panel läuft testweise eine
+ Galileo 10.4.10 – Visualisierung (neu erstellt, mit Variablenimport aus EasySoft, Direktkommunikation ohne SoftPLC)

Das EasySoft-Programm konnte ich mit intensivem Nacharbeiten in Easysoft 7.3 importieren und auf der EASY-E4 bereits testen.
Bisher habe ich aber keinen Weg gefunden, die
- Galileo 7 Visu in das Galileo 10 zu importieren/konvertieren und auch keine Möglichkeit gefunden, die
- SoftPLC (CodeSys 2) zur Kommunikation mit der EASY-E4 zu bringen.

Meine Nebenfragen:
Kann man die Galileo 7 Visu in Galileo 10 importieren?
Kann man das CodeSys-2 in CodeSys-3 importieren?

Meine Haupftrage:
Wie kann mann die (alte) Can-Bus-Kommunikation (XV-102 PLC <-> EASY) in der SoftPLC / Codesys 2 auf Ethernet umstellen?
Es sollen lediglich Merkerbits und Variablen (Datenworte als Integerwerte) gelesen und geschrieben werden.

Ich habe bisher verzweifelt nach Gesprächspartnern und Anregungen im Internet gesucht.
Irgendwo habe ich mal etwas über "Control einrichten" für die Kommunikation in Codesys gelesen, kanns aber grad nicht finden.

Wer kann mir helfen?

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 712
  • Think easy!
    • mollgruppe
Antw:XV-102 SoftPLC und EasyE4
« Antwort #1 am: Februar 27, 2022, 12:09:55 Nachmittag »
Hallo Dreamboxer,

ich versuche dir einige Fragen zu beantworten.
Zunächst ist die neue Kommunikation eine Modbus-TCP. Das funktioniert in der Codesys 3 sehr einfach, aber unter 2.3 musst du eine Bibliothek (AN27K22) von EATON einsetzen.
Damit kannst du unter Codesys2.3 Variablen mit der E4 austauschen.
Unter Codesys3 kann man V2.3 Projekte importieren, schau aber noch die ganzen Timer nach, da gibts immer Probleme und man muss von Hand nacharbeiten.

Unter Galileo10 müsstest du ein V7 Projekt öffnen können. Nimm aber eine Kopie, da du es danach nicht mehr unter V7 öffnen kannst.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 322
  • easyE4 for President
Antw:XV-102 SoftPLC und EasyE4
« Antwort #2 am: Februar 28, 2022, 09:27:39 Vormittag »
Hallo Dreamboxer,

aus deiner Beschreibung ist schwer zu erkennen, was Du wirklich brauchst  ;). Zum einen schreibst Du
Zitat
Es sollen lediglich Merkerbits und Variablen (Datenworte als Integerwerte) gelesen und geschrieben werden.
zum anderen kommt dann Codesys ins Spiel. Das macht für mich wenig Sinn.
Deshalb vielleicht erstmal der einfache Weg und ein paar Basics.

Zu deiner Hardware:
Wenn Du auf das XV-102-A0-35TQRB-1E4 umsteigst, brauchst Du das Thema Codesys nicht mehr angehen. Auf dieser Hardware kann keine Codesys Runtime laufen. Das Gerät dient rein der Visualisierung mit Galileo. Wie gesagt, frage ist, ob Du Codesys brauchst. Das kann ich nicht beurteilen. Wenn ja, mußt Du bei dem XV-102-B5-35TQRC10-PLC belieben.

Zur Kommunikation:
Wie Thomas ja bereits geschrieben hat, ist eine CAN-Kommunikation nicht mehr möglich. Die easyE4 arbeitet mit Modbus-TCP. Da Du dein Projekt ja schon in easySoft 7 hast, brauchst Du jetzt nur den Modbus-Server aktivieren (siehe Bild) und deine Variablen exportieren. In Galileo wählst Du die "Modbus TCP easyE4" Kommunikation aus und braucht praktisch hier nur die IP-Adresse deiner easyE4 eintragen (Siehe Bild).
Die Variablen kann man dann importieren (siehe Bild) und mit den Visualisierungsobjekten verknüpfen. Viellecht hilft dir auch dieses Video zum Verständnis: https://youtu.be/1g-9uoR05qQ

Zu Galileo:
Import von Galileo 7 in ein Galileo 10 Projekt sollte eigentlich funktionieren. Wenn nicht, lade dir von der eaton Seite Galileo 8 runter, importiere das G7 Projekt, speichere es als G8 Projekt und importiere dann das G8 Projekt in G10. Dieser Weg sollte auf jeden Fall funktionieren.

Gruß Ralf   


Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
Antw:XV-102 SoftPLC und EasyE4
« Antwort #3 am: März 02, 2022, 22:01:36 Nachmittag »
Hallo Dreamboxer,

ich versuche dir einige Fragen zu beantworten.

1) ... Modbus-TCP. ...
2) ... in Codesys V3 V2.3 Projekte importieren, ...
3) ... Galileo10 müsstest du ein V7 Projekt öffnen können...

Gruß Thomas

Hi Thomas,

danke für Deine schnelle Reaktion.
Ich bin total begeistert, dass hier im Forum gleich etwas passiert. Vielen Dank schonmal.

Also zu Deinen Punkten:
1) Ich würde zunächst bei Codesys 2 bleiben. die Bibliothek (AN27K22) habe ich eingebunden und das Modbus-TCP-Master-Bespiel in mein Programm eingebunden.
Ich hattte gestern und heute eine super Rückmeldung vom Eaton-Support mit großer Hilfe inkl. Teams-Meeting und so.
Das hat mich sehr nach vorne gebracht.

2) Import habe ich auch so halb hinbekommen. Die Importfehler kann ich noch nicht ausreichend analysieren / debuggen, kann eigentlich noch gar kein ST leichtgängig lesen bzw. programmieren.
Da bleib ich erstmal bei V2.3. Wenn das läuft kann ich immer noch upgraden.

3) Galileo habe ich in 2 Schritten V7 -> V8 -> V10 hinbekommen, enthält aber auch noch Fehler. Es gibt da Kompilerfehler mit Variablen-Adressen in Abhängigkeit von der ausgewählten Hardware oder so. Da geh' ich estmal auch noch nicht bei.

Leider ist das Codesys-Projekt nicht von mir geschrieben ich brauche noch, um das zu verstehen. Das Hauptprogramm hat über 130 Zeilen (stöhn) und gefühlt 10 Unterprogramme (Funktionen etc.).
Aber ich habe zumindest das Lesen/Schreiben zu den easyE4-Merkerworten hinbekommen, ohne das fehlende easy-net via can-bus.
Da ist noch viel Arbeit.

Schöne Grüße, Ralf


Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
Antw:XV-102 SoftPLC und EasyE4
« Antwort #4 am: März 02, 2022, 22:45:23 Nachmittag »
Hallo Dreamboxer,

[1] aus deiner Beschreibung ist schwer zu erkennen, was Du wirklich brauchst  ;).
...

[2] Zu deiner Hardware:
...
[3] Zur Kommunikation:
...
[4] Zu Galileo:
...

Gruß Ralf   

Hallo Ralf,
auch Dir ein großes Dankeschön für Deine Rückmeldung.

Zu Deinen Positionen:
[1] In meinem Projekt werden Satusmeldungen in txt-Dateien auf die SD-Karte geschrieben. (Datum - Uhrzeit 'Text' mit Variablen. Zur Reduzierung von Schreibhäufigkeiten werden die Daten erst auf den internen Speicher als Tagesdateien erzeugt und dann auf die SD-Karte zeitgesteuert kopiert. Sieht für mich recht kompliziert aus.
Diese ST-Software hat ein früherer 'Kollege' (Student, 1/2-Jahr Bachelor-Arbeit) vor Jahren noch unter MXpro geschrieben, zu dem ich leider überhaupt keinen Kontakt mehr habe :-(
Die SD-Karten-Funktionalität ist sehr wichtig. Da ist das Codesys erforderlich, meine ich zumindest.

Die easyE4 liest schnelle A/B-Zählimpulse und regelt ein Impuls (=Volumen) -verhältnis über eine Frequenzumrichter-getriebene Zahnradpumpe inklusive Geräteüberwachung und Störmeldungen bei Leckagen oder zu starker Regelabweichung.
Diese easy Software habe ich in Relaisschaltungsdarstellung geschrieben. Da kenne ich mich ganz gut aus.

[2] Ja, war mir auch klar, das ohne die -PLC Variante nix geht mit Codesys.

[3] Ja genauso habe ich das gemacht. Die Kommunikation easyE4 <-> Galileo-Visu auch mit Variablentransfer hatte ich recht zügig hinbekommen, wenngleich das Neuerstellen der Masken und die Variablenverbindungen zu den Objekten natürlich etwas gedauert haben.
Im alten MXpro-Galileo7-Projekt hat Galilo alle Variablen von der softPLC verwendet und nur einige Variablen aus der easy gelesen bzw. in diese geschrieben, inklusive Uhrzeit verstellen und so. Mordsaufwendiges String-INT-gewandle und zusammengeschiebe, scheinbar alles zu Fuß programmiert.
Die letzten 3 Text-Eintragungen werden übrigens auch im Galileo in einem Fenster angezeigt. Das erklärt auch die Notwendigkeit der Verbindung vom Galileo zur softPLC.

[4] Ja, habe ich auch hinbekommen, wie schon an Thomas oben geschrieben. Ich kann nur die Fehler noch nicht ohne externe Hilfe geradebiegen.

Momentan sind das einfach zu viele Baustellen für mich. Deshalb eins nach dem anderen: erstmal das Codesys mit SD-Karten-Schreiben zum Laufen bringen, dann Galileo anfassen.


Nächtliche Güße an Dich Ralf, von Ralf  :)

Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
Antw:XV-102 SoftPLC und EasyE4
« Antwort #5 am: März 07, 2022, 18:28:07 Nachmittag »
Hallo Leute,

nun bin ich schon ein ganzes Stück weitergekommen.
Ich habe die AN27K22 MODBUS TCP Master/Slave XC/XV eingebunden und 3 FunctionCodes (2, 3, 16) über eine CASE-Schrittkette sequentiell aufgerufen um 1. Eingänge direkt zu lesen und 100 Merkerworte für die Kommunikation freigegeben (2. 80 worte Lesen, 3. 20 Worte schreiben).
Das Panel brauchte noch ein Firmwareupdate auf TargetFirmwareWinCE_V2.4.20.
Jetzt bin ich dabei successive im Codesys 2 die Can/Net-Kommunikatrion auf Modbus-TCP umzstellen.
Variablen und Routinen wie MyGetStruct.byModuleNumber, Net_, Get(byNetDrvNr, MyGetStruct.xNewDataReceived etc. müssen ersetzt werden.
Das Lesen aus der easyE4 funktioniert soweit.

Jetzt habe ich ein Verständnisproblem mit dem Schreiben.
Eigentlich brauche ich im Wesentlichen nur die Übertragung eines Störungquittierbits aus Galileo über die XV-102 softPLC an die easyE4.
Bei Betätigung der Schaltfläche auf der Galileo-Visu wird auch die Variable in der softPLC gesetzt.
Die Merker im Doppelwortberich 1 bis 38 sind in der easyE4 in Verwendung.

Wie kann ich eine softPLC-Bit-Variable an ein Merkerbit in der easyE4 weitergeben?

Wenn ich 80 Merkerworte lese entspricht das den MW1 ... MW80 in der easyE4.
Das entspricht den Merker-Bits 1 bis 1280.

Wenn ich 20 Merkerworte schreibe einspricht das MW 81 ... MW 100.
Das entspricht den Merker-Bits 1281 bis 1600.

Nun ist mir nicht klar, wir ich das in der easySoft adressieren kann. Es lassen sich scheinbar nur  Merker-bits 1 bis 128 adressieren.

Wo denke ich faslch? Oder:
Wie kann man das richtig machen?

Mein Sendeaufruf zur Info:

--------------------------------
PROGRAM ModbusTCP
VAR
   Comm1, Comm2, Comm3: MBM_COMMUNICATE; (*Instanz des FB *)
   WriteRegisterMD :ARRAY[0..MB_MAXDATAWORDVALUE] OF WORD; (*Data-array for FCs that write Data (words)(FC 6,16,23)*)

[...]
--------------------------------

* XV-102 softPLC writing to easyE4 *)

Comm3 (
   xStrobe:= StrobeMDW,
   dwIPAddress:= MB_MakeIP(192,168,1,101),
   wPort:= 502,
   bUnitIdentifier:=001,
   bFunctionCode:=16,
   wOffset:=1081,
   wCount:= 20,
   wOffsetAdd:=,
   wCountAdd:=,
   warDataOut:= WriteRegisterMD,
   xCloseImmediate:= TRUE,
   tTimeout:= T#3s,
   xBusy=> ,
   iErrorCode=> ,
   wDatacount=> ,
   warDataIn =>
);

--------------------------------

Hat jemand einen Tip?

Schöne Urlaubsgrüße von Rügen,
Euer Ralf

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:XV-102 SoftPLC und EasyE4
« Antwort #6 am: März 09, 2022, 03:59:56 Vormittag »
Hallo, :)

ich kenne Modbus nicht.

In der Easy E4
Merker Bit sind nur bis M 512 einzeln zuzuweisen.
Also bis MD 16, MW 32  und MB 64

Meine Listen mit den Bit und Wort Merkern der easy E4
https://easy-forum.net/index.php?action=dlattach;topic=7951.0;attach=9392

Dann kann zur Not noch mit Net-Merkern zum Lesen gearbeitet werden ...

Eine Möglichkeit mehr als 512 Bit auszuwerten ist, mit UF Bausteinen zu arbeiten.
In jedem Baustein können aus einem Wort 12 Bit wieder ausgegeben werden.
Zum Beispiel Schreiben  über Modbus an ein Easy MW. Merkwort an einen UF Eingang. Wert im UF an 12 Bit Ausgänge vom UF  zuweisen. Innerhalb vom Hauptprogramm dann das UF Bit verknüpfen.
Innerhalb vom UF Baustein sind wieder alle 512  Merker verknüpfbar. Diese Merker haben nichts mit den Merkern vom Hauptprogramm zu tun.
Da kommt es dann genau auf das Programm an.
« Letzte Änderung: März 09, 2022, 05:37:41 Vormittag von Juergen »
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:XV-102 SoftPLC und EasyE4
« Antwort #7 am: März 09, 2022, 05:08:49 Vormittag »
Hier mal der Grundgedanke in einem Programm zum Test.
Natürlich ist das Hauptprogramm auf 32 UF beschränkt.
Damit können einige Bit Merker gespart werden.

Ob das für deine Anwendung mit Speicher und Merkern ... mit einer Easy reicht?
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
Antw:XV-102 SoftPLC und EasyE4
« Antwort #8 am: März 10, 2022, 10:05:36 Vormittag »
Hallo Jürgen,

vielen Dank für Deine Antwort.
Deine Doppelwort-Wort-Byte-Bit-Tabelle ist ja sehr schön gemacht. Da hast du Dir sehr viel Mühe gemacht.
Ich muß gestehen, ich arbeite allerdings lieber mit ein paar Gleichungen/Multiplikatoren, z.B. M(y) = 32 * MD(x) oder MB(y) = 2 * MW(x). die Addressierungsgrenze ist ja immer jeweils 512.
Zwei Fragen zu Deinen Ideen:

1. UFs kannte ich noch nicht, mußte ich erstmal ergooglen und habe mir das eaton-Video angesehen. Allerdings sind bei meiner easySoft 7.30 die UF-Befehle ausgegraut, nicht aufrufbar. Fehlt mir da eine Lizenz oder so?

2. In meiner easySoft 7 sind immer nur Merker bis M128 direkt adressierbar, siehe beigefügtes JPG.
Wie kann ich die 16 digitalen Eingänge und die 12 digitalen Ausgänge der EasyE4 mit Erweiterungsmodul in das Merkerdoppelwort MD61 kopieren?

Gruß, Ralf

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 322
  • easyE4 for President
Antw:XV-102 SoftPLC und EasyE4
« Antwort #9 am: März 10, 2022, 10:19:49 Vormittag »
Hallo Ralf,

das Problem ist, dass Du es dir einfach machen wolltest und dein altes easy800 Projekt "nur" importiert hast. Die ganzen neuen Möglichkeiten funktionieren in der
Programmiersprache EDP nicht. Das es EDP noch gibt, ist der Kompatibilität zu alten Projekten geschuldet, die einfach nur weiter funktionieren sollen.
Bei neuen Projekten wählt man idealerweise eine andere Programmiersprache. Im Normalfall FUP oder, in deinem Fall, wahrscheinlich eher ST.
Nachteil, Du mußt dein Program neu schreiben.
Vorteil, dir stehen viele neue Möglichkeiten, wie z.B. das Schreiben von Anwenderfunktionsbausteinen (UF's) und ein Merkerbereich bis M512 zur Verfügung.

Zu deinem zweiten Thema. Schau dir mal den Baustein "BT-Block-Transfer" an. Damit sollte dein Problem zu lösen sein.

Gruß Ralf ;-)
Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:XV-102 SoftPLC und EasyE4
« Antwort #10 am: März 10, 2022, 11:08:09 Vormittag »
Hallo zusammen,
ich habe ein e60 Programm als Kop in die E4 importiert.
Die vollen 512 Merker sind möglich.
Auch UF können erstellt werden.
Irgendwie werden bereits zuvor erstellte UFs nicht angezeigt
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
Antw:XV-102 SoftPLC und EasyE4
« Antwort #11 am: März 10, 2022, 11:56:44 Vormittag »
Hallo Ralf,

das Problem ist, dass Du es dir einfach machen wolltest und dein altes easy800 Projekt "nur" importiert hast.
[...]
Zu deinem zweiten Thema. Schau dir mal den Baustein "BT-Block-Transfer" an. Damit sollte dein Problem zu lösen sein.

Gruß Ralf ;-)

Moin Ralf,

1. endlich kommt Licht in die Sache mit den beschränkten Adressiermöglichkeiten.
Mein EDP-Programm hat rund 165 Pfade. da scheint mir ein Neuschreiben recht aufwendig.

2. BT hatte ich auch schon versucht, aber diskrete Eingänge lassen sich in EDP bei der BT-Anweisung gar nicht auswählen.


Hallo Jürgen,

ein EDP-Import in FUP klingt nach einer guten Lösung.
Könntest du beschreiben, wir das funzt? Ich krieg's autodidaktisch einfach nicht hin.

Gruß, Ralf

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:XV-102 SoftPLC und EasyE4
« Antwort #12 am: März 10, 2022, 12:03:40 Nachmittag »
Hallo zusammen,
ich habe ein e60 Programm als Kop in die E4 importiert.

Nicht Fup
Einfach Programm öffnen. e60 Datei auswählen und dann Kop auswählen.
« Letzte Änderung: März 10, 2022, 12:05:53 Nachmittag von Juergen »
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 322
  • easyE4 for President
Antw:XV-102 SoftPLC und EasyE4
« Antwort #13 am: März 10, 2022, 12:12:47 Nachmittag »
Hallo Ralf,

der Import in FUP ist nicht möglich. Es geht nur in EDP oder KOP. Bei KOP hättest Du auch die entsprechenden neuen Möglichkeiten der easyE4.
Ich kann den Import in KOP allerdings bei größeren Programmen nicht empfehlen. Da blickt keiner mehr durch ;-).

Der Baustein BT funktioniert nicht Bitweise. Da aber z. M3 zum MB1,MW1,MD1 gehört, kann man das ganze Byte oder Wort kopieren.

Gruß Ralf

 
Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline Dreamboxer

  • Newbie
  • *
  • Beiträge: 7
Antw:XV-102 SoftPLC und EasyE4
« Antwort #14 am: März 10, 2022, 12:19:57 Nachmittag »
Hallo Juergen,

ich hatte es zeitgleich nochmal probiert und den EDP -> KOP-Import hinbekommen.
Jetzt noch Nacharbeiten, was ich ja alles schonmal gemacht hatte -  :-\

Ich quäle mich da also nochmal durch.

Bis späta