S7300 Verbindung mit BC9000

repök

Level-2
Beiträge
654
Reaktionspunkte
90
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe hier ein projekt, welches sehr bescheiden angefangen wurde (kunde behauptet hätten die jungens vom grossen s gemacht). Es sind ca 20 BC9000 über LAN mit TwinCat verknüppelt, auf den BC's läuft kein prg. in TC läuft kein prg. die bc9000 dienen rein als anschaltung. TwinCat ist über OPC an WinCC V7 angebunden. in WinCC werden die Eingänge (Analog wie Digital) ausgelesen und entsprechend normiert. Das ganze läuft dann über ein VB-Scribt. In WinCC ist dann das ganze noch mit dem Web-Navigator von WinCC ins Itranet gestellt.
Es kam wie es kommen musste - die Web-Anbindung funktioniert deratig langsam, dass man damit nicht arbeiten kann. Der Grund sind die Scripte den Bildern.
Deshalb und wegen eventuellen erweiterungen möchte der Kunde nun eine S7 zwichen den BC9000 und WinCC schalten (aus wartungszwecken, da der kunde kein beckhoff kann).
Das ganze ist also ziemlich verkorst.
Auf den BC9000 und in TwinCat darf kein PRG laufen.
Wie hänge ich jetzt die BC9000 an die S7?
Ich habe mal mit einer WAGO 750-841 eine Verbindung über Modbus gemacht. Ich meine aber das man da was in den Koppler laden musste (Modbus Clinet/Server...). Ist das bei den BC9000 auch so? Oder gibt es da was anderes (Profinet,Ethercat....)? Das Netz kenne ich jetzt nicht. Das zieht sich da durch das ganze werk.
Vieleicht hat ja einer schon mal sowas gelöst.....
 
Hallo,

wie läuft es denn im Moment genau ?

Ich verstehe es so, die ca. 20 BC9000 liefern ihre IO's über TCP per ADS an einen PC, auf dem TwinCAT installiert ist und die IO's einsammelt. Die IO's werden auf dem PC von einem Visual-Basic-Programm per ADS gelesen und auf die Visu geschoben. Korrekt ?

Vielleicht, bringt meine Frage deine Lösung. Das VB-Programm, schiebt die IO's in die S7.

Gruß, Voxe

PS: Und das soll der große S dort aufgebaut haben. *ROFL*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
die ea`s werden über opc-server (opc-server twincat) von wincc gelesen.
wie gesagt, schön ist anders.
und ich werd ein teufel tun, und die daten irgendwie über ein pc-prg in die s7 schreiben. das sollen dann doch andere dahin pfuschen.
 
Hehe,

was macht das VB-Script ?

Oder besser, wer lässt sich 20mal BC9000 ins Haus stellen, wenn man von TwinCAT keine Ahnung hat und es nicht nutzen will, um es dann mit ner Visu zu steuern. :confused:

Das schreit ja nach, lasse die Finger da weg.

Gruß
 
das vb-script normiert die ea's und macht ne störauswertung. es läuft in wincc. dreck halt.
es soll ja jetzt auf eine s7. und das ist die frage: wie bekomme ich die bc's an die s7?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

die BC9000 beherschen standardmäßig das Modbus-TCP Protokoll.
Damit kannst du auf die EA-Bereiche der BC9000 zugreifen.

Modbus-TCP ist ja auch für S7-300 verfügbar - damit sollte also eine Anbindung der BC9000 möglich sein.

Bei 20 Stck. BC9000 bräuchtest du aber 20 Verbindungen in der S7-300 - da sieht es glaub ich schlecht aus.

Wenn ich mich recht erinnere, dann können die 300er mit Ethernet-CP nur max. 16 TCP Verbindungen. Die 300er Profinet CPU´s können glaub ich max. 8 TCP-Verbindungen.

Bei den Profinet CPU´s werden die TCP-Verbindungen allerdings nicht projektiert sondern erst zur Laufzeit über die T-Bausteine aufgebaut.
Evtl. könnte man hier 1 Verbindung dann quasi multiplexen - dann könnte man vielleicht die 20 BC9000 der Reihe nach per Modbus bedienen - das muss aber alles selber ausprogrammiert werden.
Der von Siemens erhältliche Modbus-TCP Treiber unterstützt sowas glaub ich nicht.
 
das wäre ja auch wieder ein gebastel. bin ich ja gar nicht für.
wie wäre es denn wenn die koppler gegen Profinet-Koppler getauscht werden?
würde soetwas paralell zu ethernet funktionieren?
 
Das wäre sicherlich eine Möglichkeit, so musst du nichts (okey, die Speisung) umverdrahten.

Auch von mir nochmals die Warnung, derjenige, die diese Anlage so geplant+gebaut hat, hat mächtig gebastelt!! - Sichere dich diesbezüglich gut ab, du kennst ja den Spruch von wegen never change a running system und so...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich will den kunden natürlich nicht hängen lassen. es handelt sich hier auch nur um die überwachung von ca. 200 analogwerten. trotz allem ist das so wie es jetzt ist wohl die schlechteste lösung.

ich hatte nur gehofft ich käme um den autausch der koppler rum. war wohl nix. dann werden wir die alle auf profinet anbieten, und wenn er das anders haben will, muss sich der kunde jemanden suchen der das macht.
 
Wenn du kein Prog in Twincat verwenden darfst fällt mir spontan die zusätzliche Task im Systemmanager ein. Den darfst du ja anscheinend verwenden. Um dir eine komplette neu Verkabelung und den Austausch von 20 Kopplern und das neu konfigurieren zu ersparen köntest du 2 bzw. 1 doppelte Profibuskarte in den Twincatpc einbauen und als Profibusslave verwenden über die die Kommunikation mit der S7-300 abläuft. 2 Profibusstränge da meines wissen nur 244Bytes drüber gehen was zu wenig für deine Analogen Eingänge wäre. In der zusätzlichen Task definierst du Variablen die du auf der einen Seite den BC9000 zuordnest imSystemmanager und auf der anderen Seite den Profibusslaves. So hast du Ohne Prog. die Umsetzung von TCP Modbus auf Profibus vollzogen. Das sollte auch mit einer Profinetkarte gehen habe da allerdings keine erfahrung bzgl. der Datenmenge die da hin und her geschaufelt werden kann.
 
Profinet ist das kein Problem, mit der entsprechenden (kostenpflichtigen) Lib kannst du aus einer BEckhoff-Steuerung 8 virtuelle Profinet-Slaves machen, da bringst du 200 Analoge IOs problemlos nach oben...

Das mit "es darf kein Programm auf dem TwinCAT laufen" würde ich nochmals mit dem Kunden besprechen, schlussendlich müsstest du ja irgendwo das Mapping machen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es sind ca 20 BC9000 über LAN mit TwinCat verknüppelt, auf den BC's läuft kein prg. in TC läuft kein prg. die bc9000 dienen rein als anschaltung. TwinCat ist über OPC an WinCC V7 angebunden. in WinCC werden die Eingänge (Analog wie Digital) ausgelesen und entsprechend normiert. Das ganze läuft dann über ein VB-Scribt. In WinCC ist dann das ganze noch mit dem Web-Navigator von WinCC ins Itranet gestellt.
[...]
Auf den BC9000 und in TwinCat darf kein PRG laufen.
Wenn du kein Prog in Twincat verwenden darfst fällt mir spontan die zusätzliche Task im Systemmanager ein.
Ich denke mal genau so ist es gemacht worden.
Die BCs werden über TwinCAT I/O abgefragt. Das Prozessabbild wird per OPC von der S7 abgefragt. Im TwinCAT oder auf den BCs läuft dann kein PLC-Programm.

Etwas direkt an die S7 zu hängen geht z. B. über
- BCs per Modbus/TCP kommuniziert direkt an die S7
- BCs austauschen gegen Profbus- oder Profinet-Koppler und direkt an die S7

Läuft das WinCC aktuell auf dem PC mit dem TwinCAT? Oder nochmals auf einem separaten PC?
Und nun soll noch zusätzlcih eine S7 irgendwo in das System gehängt werden? Zwischen TwinCAT-PC und WinCC oder zwischen TwinCAT-PC und BCs???
... mal im Ernst ... das kann niemals performanter laufen als aktuell. Einfach weil eine Instanz mehr dazwischen ist.

Wenn schon ne S7, dann verzichte auf den TwinCAT-PC und ersetz den durch die S7. Oder lass das WinCC direkt auf dem TwinCAT-PC laufen, falls es derzeit anders ist. ... Hauptsache so wenig Zwischenstationen wir möglich.
 
Ich würde es auch mit einer S7-CPU über Modbus machen.
Im einfachsten Fall reicht dafür schon eine IM151-8 PN CPU. Über die offene Kommunikation können gleichzeitig 8 Verbindungen aufgebaut werden.
Die Modbus Clients würde ich dann zu Gruppen zusammenfassen, die dann einfach von der S7 gepollt werden. Ist zwar unperformant wegen dem andauernden Verbindungsauf- und abbau, aber zeitkritisch scheint das Ganze ja eh nicht zu sein.

Ich habe Bausteine mit denen man aus einem BC direkt mit einer S7 kommunizieren kann (quasi so wie die PUT/GET-Bausteine aus der S7), aber da du bei dir in den BCs keine Programme laufen lassen darfst fällt das flach. Außerdem bräuchtest du wie schon angemerkt eine S7 die mehr als 16 Verbindungen kann (z.B. 317).
 
Ich denke mal genau so ist es gemacht worden.
Die BCs werden über TwinCAT I/O abgefragt. Das Prozessabbild wird per OPC von der S7 abgefragt. Im TwinCAT oder auf den BCs läuft dann kein PLC-Programm.

Etwas direkt an die S7 zu hängen geht z. B. über
- BCs per Modbus/TCP kommuniziert direkt an die S7
- BCs austauschen gegen Profbus- oder Profinet-Koppler und direkt an die S7

Läuft das WinCC aktuell auf dem PC mit dem TwinCAT? Oder nochmals auf einem separaten PC?
Und nun soll noch zusätzlcih eine S7 irgendwo in das System gehängt werden? Zwischen TwinCAT-PC und WinCC oder zwischen TwinCAT-PC und BCs???
... mal im Ernst ... das kann niemals performanter laufen als aktuell. Einfach weil eine Instanz mehr dazwischen ist.

Wenn schon ne S7, dann verzichte auf den TwinCAT-PC und ersetz den durch die S7. Oder lass das WinCC direkt auf dem TwinCAT-PC laufen, falls es derzeit anders ist. ... Hauptsache so wenig Zwischenstationen wir möglich.

Auf dem WinCC-PC läuft ein TwinCat mit OPC-Server. Der fragt nun den TwinCat-PC mit der zusätzlichen Task an. Wenn ich das ganze so richtig verstanden habe (So tief stecke ich in TwinCat nicht drinn).

Der Plan ist jetzt die S7 dierekt mit den TwinCat-I/O's (also den BC9000) zu verknüppeln. Mein erster gedanke war ja dann einfach auf Modbus. Da auf den BC9000 aber kein Programm laufen darf, ist jetzt die Frage ob das dann überhaupt läuft. Ich meine auf den BC9000 müste dann so ein Modbus-Client-FB laufen.

Daher der nächste gedanke umbauen auf Profinet-Koppler. Was ich jetzt nicht weiß, ist die struktur des vorhanden netztes. Das wird alles über "normale" (managbare?) Switche laufen. Ich hatte noch nie das "Vergnügen" soetwas zu planen. Man könnte jetzt die Aktualisierungszyklen entsprechend hoch einstellen. Das hat man mir bei Beckhoff gesagt. Ich befürchte das muss man mal testen. ansonsten sehe ich da wenig möglichkeiten da irgendwas vernüftig hinzubekommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Busklemmencontroller sind immer über Modbus ansprechbar, da braucht kein Programm im Hintergrund laufen. Angeblich sollen über Modbus auch die Eingänge auszulesen sein. Ich habe es bisher nur mit Merkerbereichen probiert. Das Mapping ist etwas ungewohnt. Um z.B. MW0 zu lesen muss Register 16385 angefordert werden.

Und wo ich grad lese dass du WinCC Version 7 laufen hast: dort ist doch auch schon ein Modbus-Treiber enthalten. Also theoretisch könntest du mit WinCC direkt die Daten aus den BC einlesen. Es ist nur zu prüfen wie viele Modbus-Clients in deiner WinCC Lizenz enthalten sind. S7-Stationen kann man in der einfachsten Lizenz z.B. maximal 8 anbinden. Wenn der Kunde aber einen Umbau bezahlen würde, würde ich das direkte anbinden über WinCC als sauberste Lösung ansehen, da keine zusätzlichen SPSen mehr als Schnittstelle dazwischensitzen, und es auch von der Projektierung am saubersten ist.

Wenn du was ausprobieren willst:
In WinCC bei Modbus-Treiber den CPU-Typ auf "Compact, Quantum, Momentum" stellen. Wenn man dann z.B. MW0 aus der SPS lesen will eine 16-Bit Variable anlegen, und bei Bereich "4x Holding Registers" und als Adresse hinter "4x" den Wert 416385 einstellen (ich habe bisher noch nicht herausgefunden was die zusätzliche "4" für eine Bewandnis hat, evtl. hängt es mit dem eingestellten CPU-Typ zusammen).
 
Zurück
Oben