140CPU11303 - Kommunikation zu S7-1500 und PC

MisterCP

Level-2
Beiträge
27
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe mich bislang nur in der Siemens- und Rockwell-Welt bewegt. Nun aber habe ich die Aufgabe, Daten mit einer Modicon 140CPU11303 auszutauschen.

Da ich mit Modicon bislang nie zu tun hatte, kann ich erstmal nur allgemeine Fragen zur Machbarkeit stellen.

Der Bedarf wäre folgender:
- vom PC aus werden mindestens alle Eingänge und Ausgänge (analog und digital) gelesen
- Wenn ich an Zwischenergebnisse der Regelkreise komme (Sollwerte, Stellwerte) wäre das noch besser
- die Daten werden für eine eigene externe PC-Anwendung zyklisch zur Verfügung gestellt
=> bei Siemens würde ich einen Treiber unter Verwendung der Prodave-DLL schreiben
=> gibt es so eine Schnittstellen-DLL auch für Modicon?

On Bord hat die CPU anscheinend nur eine Modbusschnittstelle.
- Kann man die dafür nutzen?
- gibt es eine Übersicht, in welchen Registern Ein-/und Augänge abrufbar wären?

Der weitere Bedarf wäre eine direkte Kommunikation einer S7-1500 mit der Modicon-CPU. Hier würden nur wenige Analog- und Binärwertewerte ausgetauscht werden müssen.
Modbus-RTU auf der S7-1500 (S7 als Master) hab ich vor vielen Jahren schon mal programmiert. Da einen lesenden Slave draus zu machen ist bestimmt nicht gar so schwer. Bräuchte ich nur wieder die entsprechenden Register auf der Modicon.

Ich habe inzwischen herausgefunden, dass es auch einen Ethernet-Prozssor gibt 140NOC77101, den man evenbtuell noch als gebrauchtes Gerät kaufen und in die Anlage integrieren kann.
Würde das den Datenaustausch erleichtern?

Ich freue mich auf eure Antworten.
 
Für die PC: Sucht man nach "Modbus Plus OPC DA Server" oder "Modbus Plus Driver" findet man einige Anbieter.
Aber sie sind ziemlich alt, und sie sind meistens auf Windows 32-bit beschränkt.
Das ist eine Zeichen dass die Modicon Quantum CPU total veraltet ist.
Ich wurde auch nicht wagen das Programm auf die alte Modicon zu berühren.
Ich wurde überlegen ob es die gelegentheit die alte CPU für eine neue auszutauschen wäre.
Entweder für eine neuere Modicon mit Modbus TCP, oder eine Siemens.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke eine Pro-Face STM6000 Gateway Box würde funktionieren. Das ist im Prinzip ein mächtiges STM6000 HMI mit serieller und Netzwerk Schnittstelle, aber ohne Bildschirm.
Seriell per Modbus auf die Modicon, per Ethernet an die S7.

Das "Panel" pollt dir die jeweiligen Variablen und stellt dir auch einen OPC-Server zur Verfügung. Die direkte Kommunikation zwischen den Steuerungen löst du per Skript das zyklisch aufgerufen wird.


Die Dokumentation dazu gibts hier:

Hintergrund: Pro-Face ist japanisch, gehört aber zu Schneider Electric
 
Hallo
Auf der CPU sollte ein Modbus und ein Modbus Plus Anschluss sein.

Den Modbus Plus kannst du ohne spezielle Hardware nicht nutzen. Der Modbus ist ein Standardanschluss und kann auf RTU und ASCII eingestellt werden.

Auf der CPU ist ein Modbus Server integriert. Diesen kannst du mit jeder Modbus DLL ansprechen. (diese gibt es von diversen Anbietern. Meistens an .NET Framework 3.5 gebunden.) Ob der Einsatz funktioniert hängt also von deinem PC System ab.

Eine Übersicht über die Adressen gibt es so nicht, da diese frei programmierbar sind. Hier ist also ein Blick in das Projekt nötig.

Eine Ethernet Anschaltung würde den Datenaustausch natürlich beschleunigen. Hierbei sind aber Anpassungen am Projekt nötig.

Grüße
 
Vielen Dank für eure Antworten. Ich hatte das Thema sehr lange unbeachtet liegen lassen :-(

@holgermaik: ich habe am RS232-Anschluss eine Weile rumgebastelt, aber leider keine Verbindung herstellen können.
Auf der CPU blinkt immer mal die Modbus+-Anzeige - ist dann die RS232-Kommunikation gar nicht aktiv geschaltet?

Jetzt wollte ich den RS485 (Modbus+) probieren, finde dazu aber leider keine PIN-Belegung in der Doku.
Einen RS232/485-Wandler habe ich, der Funktioniert auch an einem anderen Modbus-Gerät.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Update: mit einem neu gelöteten Kabel kann ich nun zumindest auf der RS232 (halb) erfolgreich anklopfen.
Ohne Kenntnis über eventuelle Registeradressen kann ich leider nichts wirklich abfragen.

Gibt es in dem Modbus-Server irgendwas, was man IMMER abfragen kann, also auch ohne vorherige Parametrierung?
 
Hallo

mit einem S7 Gateway von uns kann man einen RTU Client konfigurieren. Register lesen

1767877014201.png

dann auf OPC UA zur Verfügung stellen oder in eine andere S7 schreiben.

Für die meisten Modbus-SPS en gibts eine Standard-Registerbelegung.
 
Ich bin keine Modbus Eksperte, aber sind die 'Modbus Register' nicht ungefähr dasselbe wie Profinet Transferbereiche ?
D.h. wenn in das CPU Anwender Program keine Funktionsbausteine für die Modbus Kommunikation programmiert sind, dann gibt es keine Daten die man lesen kann ?
Also muss man das Programm in die Quantum CPU modifizieren um Daten auf die Modbus Register Addressen zu befüllen. Ist mir ein bisschen heikel mit so eine seit lange abgekündigte CPU.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Modbus Plus:
Das gelegentliche Blinken der Mosbus+ Led zeigt an, dass versucht wird mit einem Modbus+ Netzwerk eine Verbindung aufzubauen.
Eine bestehende Verbindung würde durch das kontinuierliche schnelle blinken angezeigt werden.
Um eine Verbindung zu einem PC herzustellen wäre ein Adapter z.B. dieser nötig.
Mit dem SDK der Firma "cyberlogic" könnte ein Treiber für ein Programm erstellt werden.
Um eine Verbindung zu einer anderen Steuerung herzustellen ist ein Gateway z.B. dieses notwendig.

Wenn du keine Hardware für Modbus+ zur Verfügung hast solltest du diesen Weg vergessen.

Modbus:
Die default Einstellung ist 9600,8,1,gerade, RTU. Die UnitID wird auf der Rückseite der CPU mit Drehschaltern eingestellt.
Eine Adresse die immer gilt gibt es so nicht.
Wenn du eine Analoge Eingangskarte hast ist die Wahrscheinlichkeit groß dass die 1. Karte auf Adresse %MW3001 eingestellt ist.

Ich könnte in dein Projekt reinschauen, wenn du es hochlädst.
Für eine Programmierung in Concept solltest du eine *.asc Datei haben. Sollte die CPU bereits in Unity programmiert sein solltest du eine *.stu oder *.sta oder *.xef Datei haben.
 
Zurück
Oben