Forum: Mikrocontroller und Digitale Elektronik SPS und Roboter


von Carlo B. (Firma: HEG) (carloheg)


Angehängte Dateien:

Lesenswert?

Hallo,
ich bin gerade eben angemeldet und ich brauche eure Hilfe!
es geht um eine Kleine Produktionsanlage zu errichten! irgend ein paar 
Werkstücke, die farblich unterschiedlich auf einem Förderband 
transportiert werden. Ein Farbsensor wird in X-Position auf dem 
Förderband Platziert, damit man die Farben der Werkstücken unterscheiden 
kann! nach dem Sensor wird ein Kleiner Roboterarm Platzieren, der die 
diverse Werkstücke vom Förderband abnimmt und in kleinen Kästchen nach 
Farben ordnen.
Der Roboterarm besteht aus ATMEGA64 Prozessor, EIN/Ausgänge, 6 
mini-Servos und verwendet der I²C Bus. Die SPS ist halt eine Siemens S7 
CPU 315_2 DP.
ich füge dich noch paar Foto dazu, damit ihr noch einen überblick 
konntet.
der Ablauf wird so vorgestellt; der Sensor erkennt der Farbe dann 
ermittelt das der SPS --> die SPS weist dem Roboter an, an welchem 
Kasten soll das aufgehobene Werkstück Ordnen --> nachdem der Roboter das 
getan hat, informiert der Roboter die SPS, dass er die Aufgabe getan hat 
und bleibt auf der Warteposition...etc
ich füge dich noch paar Foto dazu, damit ihr noch einen überblick 
konntet.
Problem: wie kann ich den Roboter über die SPS steuern!!!?
gibt es überhaupt Module, die sie mir empfehlen würden !?

Danke für euere Hilfe

: Bearbeitet durch User
von Amateur (Gast)


Lesenswert?

Für solche Anwendungen fallen mir drei Wege ein.
1. Ein Roboter(arm) der fertig programmiert ist und auf einfaches
   Kommando (Start) seine Kunststückchen vorführt.
2. Deine SPS übernimmt die volle Kontrolle über den Roboter.
3. Du nimmst einen Roboter, der noch ein paar "schlaue" Anschlüsse
   übrig hat, die einen Sensor vertragen.

Aber warum so aufwändig? Wir haben so etwas immer pneumatisch gemacht.
Ein Greifer (pro Farbe oder einer mit großer Reichweite.
Ein Hebezylinder.
Ein Zylinder für die horizontale Bewegung.
Also greifen, heben, horizontal bewegen, absenken, loslassen und dann: 
Amy go home.

Sind die Teile nicht zu empfindlich, so kann man sie auch mit einem 
Schieber vom Band schieben und über eine Rutsche in den zugehörigen 
Kasten befördern.
Also Farbe bestimmen. Z.B. index 3.
Lichtschranken die die jeweilige Position der Teile überwachen.
Ist das Teil dann vor dem passenden Schieber: Ventil auf.
Sehr leichte und unempfindliche Teile haben wir auch schon vom Band 
geblasen.

von Carlo B. (Firma: HEG) (carloheg)


Lesenswert?

Die Anwendung muss leider so aufwendig eingebaut werden! weil es handelt 
sich nicht um eine Produktionsanlage... nachdem ich fertig errichtet 
habe, muss ich mehre Testszenarien schreiben kann! deswegen...
Der erste Punkt ist erfüllt, der Roboterarm ist fertig programmiert.
Er bekommt ganz einfach befehle von der SPS, wie er sich genau bewegen 
muss!
die Frage, ob es Module bzw. fertige Schnittstelle gibt, mit den ich den 
Roboterarm mit der SPS ( DP PORT) verbinden kann!
Das Protokoll, da ich verwenden möchte ist Das PROFIBUS!
geht das ?

von Amateur (Gast)


Lesenswert?

Der Profibus ist fast ein Standard.
Eine Schnittstelle sollte für viele SPSe verfügbar sein.
Bei der S7 brauchst Du die nur anzupappen.

von Düsendieb (Gast)


Lesenswert?

Das ist fast unmöglich Profibus auf dem Arduino zu realisieren.

Du kannst natürlich über Ein- / Ausgänge kommunizieren.

von Düsendieb (Gast)


Lesenswert?

Also z.B. 5 Ausgänge von der SPS für Kasten 1 - 5 und ein Eingang an der 
SPS Für "habe fertig" vielleicht noch einen für "bin am fahren dran"

von Carlo B. (Firma: HEG) (carloheg)


Angehängte Dateien:

Lesenswert?

@Düsendieb

ich dachte auch so dass es fast unmöglich Profibus auf dem Arduino zu 
realisieren! ist aber nicht so. man kan aber ASIC mit Profisbus Support 
benutzen oder ?
schau mal bitte aufs Foto

Danke

von Amateur (Gast)


Lesenswert?

>Also z.B. 5 Ausgänge von der SPS für Kasten 1 - 5 und ein Eingang an der
>SPS Für "habe fertig" vielleicht noch einen für "bin am fahren dran"

Es geht auch etwas sparsamer:
2 Pin (A) für 4 Farben (3 für 8 Farben).
  Da hier zwei Digitalisten werkeln geht's auch binär.
1 Pin (A) für Farbe jetzt gültig (Latch).
1 Pin (E) für Bitte nicht stören (Ready).

Hast Du es etwas eiliger, so könntest Du "Teil abgelegt" und "bin in der 
Ausgangsposition" trennen, um die Zeit, die der Rückweg braucht, auf der 
Transport und Erkennungsseite zu nutzen.
Bei sehr langem Transport kann auch ein Signal: "Habe das Teil vom Band 
genommen" ausgegeben werden. Dann bleibt bis: "Bin in Ausgangsposition" 
Zeit.

von Amateur (Gast)


Lesenswert?

Ich vergaß: Sowohl die SPS als auch Dein ATMega sprechen seriell.

von Carlo B. (Firma: HEG) (carloheg)


Lesenswert?

Amateur schrieb:
> Ich vergaß: Sowohl die SPS als auch Dein ATMega sprechen seriell.

welches Protokoll passt am besten!
RS232, RS485...!?

: Bearbeitet durch User
von Jürgen D. (poster)


Lesenswert?

Carlo B. schrieb:
> RS232, RS485...!?

Das sind jetzt nicht unbedingt Protokolle sondern Hardwarebeschreibungen 
der Schnittstellen.

Auf beiden können die gleichen Protokolle laufen.
Wobei 232 eher eine Punkt zu Punkt Verbindung ist und 485 ein Busssystem 
mit mehreren Teilnehmern, wenn das verwendete Protokoll das unterstützt.

von ge-nka (Gast)


Lesenswert?

RS232, RS485...!?
Das sind keine Protokolle, sondern elektrische Schnittstellen.

Protokoll muss du am besten selbst schreiben, wenn es sowieso eine 
Übungsaufgabe ist.

Profibus, Modbus oder was auch immer von Standartprotokollen da ist, 
wäre was für einen industriealen Einsatz. Damit die anderen das 
problemlos erweitern und ändern können. Kostet aber was an der Zeit 
sowas fertig zumachen, wird aber entsprechend bezahlt.

von Carlo B. (Firma: HEG) (carloheg)


Lesenswert?

ge-nka schrieb:

> Protokoll muss du am besten selbst schreiben, wenn es sowieso eine
> Übungsaufgabe ist.


es ist sowieso keine Übungsaufgabe!
das Probleme, dass ich bisl eile habe, deswegen habe ich nach den 
Hardwarekomponenten gefragt; welche passt zur Verbindung zwischen der 
SPS und dem Roboter am besten! oder kann ich einfach von EIN/AUSgänge 
SPS zu EIN/AUSgaänge µc anpappen!

von Matthias H. (mechatroniker123)


Lesenswert?

Mit einem Pegelwandler kannste auch die Sps-ausgäge (24 V) an die 
Eingänge des Controllers(max 5V) legen.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Düsendieb schrieb:
> Das ist fast unmöglich Profibus auf dem Arduino zu realisieren.

Warum? Wenn er es hobbymäßig macht (Zeit kein Geld kostet) und ein 
halbes Jahr Freizeit in intensivstes Studium der 
Profibus-Spezifikationen investiert und alle Tische und Stühle und 
sonstige bewegliche Teile am Boden festschraubt so daß er sie nicht 
versehentlich durchs geschlossene Fenster werfen kann sollte es doch 
problemlos möglich sein das zu implementieren.

von Amateur (Gast)


Lesenswert?

Da Du ja nur eine Peer-To-Peer Verbindung aufbaust, sollte es nicht 
nötig sein ein Protokoll zu verwenden.
In der Industrie geht es aber oft sehr schmutzig zu (elektrisch 
gesehen).
Deshalb ist bei längeren Entfernungen RS485 zu Empfehlen.

von Ion (Gast)


Lesenswert?

Ein paar Fragen :

1. Wie findet der Roboter-Arm den Farbklotz ? Der müsste ja immer auf 
der gleichen Stelle liegen oder ? Was wenn er verrutscht ?

2. Nichts gegen dich, aber welche Sprache sprichst du eigentlich ? 
Englisch ? Ist vllt einfacher auf der zu kommunizieren.

3. Worin hast du Erfahrung ? Beherrscht du eine SPS ? Arduino ? C ?


Carlo B. schrieb:
> muss leider so aufwendig eingebaut werden!

Carlo B. schrieb:
> weil es handelt
> sich nicht um eine Produktionsanlage...

Carlo B. schrieb:
> es geht um eine Kleine Produktionsanlage zu errichten!

Ganz ehrlich, da geht mir der rote Faden verloren...

Für WAS baust du das ? Für deinen Chef ? für dich ? Für einen Kunden zum 
vorführen ?

von Ion (Gast)


Lesenswert?

Bevor mich jemand verbessert:

Ion schrieb:
> Für WAS* baust du das ? Für deinen Chef ? für dich ? Für einen Kunden zum
> vorführen ?

*Für WEN

Ion schrieb:
> Ist vllt einfacher auf* der zu kommunizieren.

*in

von carloheg (Gast)


Lesenswert?

Ion schrieb:
> Ein paar Fragen :
>
> 1. Wie findet der Roboter-Arm den Farbklotz ? Der müsste ja immer auf
> der gleichen Stelle liegen oder ? Was wenn er verrutscht ?

da sieht man ganz deutlich, dass du die Problemdarstellung nicht gelesen 
hat!
der Stand des Roboterarm habe ich es vom Beginn erwähnt! Der Roboter-Arm 
ist fertig Programmiert, der sollte gar keinen Farbklotz erkennen! das 
macht er aber der Sensor KLAR !?
ich habe auch schon  erwähnt, dass der Roboter-Arm auf der gleichen 
Stelle liegt !!! also nach Rutschen..etc habe ich gar keine Frage 
gestellt KLAR !?
>
> 2. Nichts gegen dich, aber welche Sprache sprichst du eigentlich ?
> Englisch ? Ist vllt einfacher auf der zu kommunizieren.

mir 100 % sicher, dass du außer Deutsch und Englisch gar keine Sprache 
kannst! was du aber wissen sollst, dass ich 5 Sprache Kann : Persisch, 
Englisch, Arabisch, Spanisch und Französisch! und DEUTSCH OK! noch ne 
Info ich habe angefangen Deutsch zu lernen im Jahr 2013 ! der Rest 
kannst selbst verstehen!
ich bin jetzt in Deutschland, d.h. muss nur in Deutsch kommunizieren 
sonst kann ich mich nie verbessern ! also es muss einfacher sein in der 
deutschen Sprache zu kommunizieren !
>
> 3. Worin hast du Erfahrung ? Beherrscht du eine SPS ? Arduino ? C ?
ich habe Erfahrung sowhol mit SPS als auch mit µc-CHIP, ich kenne mich 
aber nicht gut aus mit Arduino! des wegen mir paar Sachen noch unklar!
>
> Carlo B. schrieb:
>> muss leider so aufwendig eingebaut werden!
wenn jemad sich vertippt d.h. nicht , dass er die Sprache nicht kennt 
OK!
aufendig --> aufwändig hättest ganz einfach ä gegen e ausgetauscht dann 
bist in Ruhe ;-)


> Carlo B. schrieb:
>> weil es handelt
>> sich nicht um eine Produktionsanlage...
das habe nicht ganz verstanden! woran liegt das Problem hier !!? erkäre 
es mir mal bitte ! Danke vorab


> Carlo B. schrieb:
>> es geht um eine Kleine Produktionsanlage zu errichten!
Das gleiche in diesem Satz

> Ganz ehrlich, da geht mir der rote Faden verloren...
ne bitte nicht  lass dich nicht veloren gehen ! das lohnt sich nicht!
keiner hat die Sprache diskutiert außer du ! und wer was nicht 
verstanden hat!, hat er ganz locker ne Frage gestellt! also entwder du 
bist der Johann Wolfgang von Göthe oder die andere können kein 
Deutsch!!!
hättest du einfach deine Frage gestellt, hätte ich versucht dir zu 
erkären. PUNKT

> Für WAS baust du das ? Für deinen Chef ? für dich ? Für einen Kunden zum
> vorführen ?
1-ichts gegen dich aber so Fragen stellt man nicht, weil das ist Privat 
! das geht dich nicht an, ob es privat oder x oder y ist OK! das musst 
du lernen.
2-siehst du !!! du hast auch Schreibfehler gemacht!!!
Das musst du verstehen, beim Schreiben entstehender, unterlaufender 
Fehler unterlaufender Fehler, obwhol man die Muttersprache Schreibt
KLARO !!!

von Uwe (Gast)


Lesenswert?

hi Carlo,
Ich glaube du hast Ion etwas falsch verstanden. Er wollte da wohl eher 
etwas behilflich sein und mit dir in deiner Muttersprache kommunizieren.
Er, und wir alle können ja nicht wissen das dein sprachliches Problem da 
entsteht:
>ich bin jetzt in Deutschland, d.h. muss nur in Deutsch kommunizieren
>sonst kann ich mich nie verbessern ! also es muss einfacher sein in der
>deutschen Sprache zu kommunizieren !
Es ist nun mal verwirrend wenn dein Projekt mal:
>es geht um eine Kleine Produktionsanlage zu errichten
und etwas später:
> weil es handelt sich nicht um eine Produktionsanlage...
ist.
Aber egal dein Problem ist ja die Verbindung S7 / µC.
Wobei du hast noch nicht mal gesagt wie denn dein µC den Auftrag gern 
bekommen würde. Wie ist er denn getestet worden?

Das Einfachste wäre die Kommunikation über  E/A's der S7 und 
Pegelwandler laufen zu lassen. S7->µC über Spannungsteiler 24->5V und 
µC->S7 über zb.UDN 2981 in der Art wie es " Amateur " schon schrieb.
Die direkte Profibusanbindung ist schon recht heftig weil das dein µC 
vermutlich nicht auch noch auf die Reihe bekommt. Also wäre ein  2.µC 
notwendig der sich dann über E/A's oder eben I2C mit dem Roboter 
unterhält.
Eine weitere indirekte DP Anbindung ginge eventuell über
DP/RS232_485 Wandler, aber nur wenn UART an deinem µC noch möglich ist.

Viel Erfolg und bitte nicht so aufbrausend, Uwe

von Carlo B. (Firma: HEG) (carloheg)


Lesenswert?

Uwe schrieb:
Hi Uwe, Danke für die für deine Antwort.

> Es ist nun mal verwirrend wenn dein Projekt mal:
>>es geht um eine Kleine Produktionsanlage zu errichten
> und etwas später:
>> weil es handelt sich nicht um eine Produktionsanlage...
 hier meinte ich ...nicht nur um eine PA... d.h. es geht nicht darum, 
dass ich nur eine kleine Fertigungsstraße errichte, das ist nur ein Teil 
des
 Projektes :-)

> Wobei du hast noch nicht mal gesagt wie denn dein µC den Auftrag gern
> bekommen würde. Wie ist er denn getestet worden?

ich habe einfach das Problem gestellt, damit die Experten, die davon ne 
Ahnung haben mir was am besten empfehlen. Deswegen habe ich nach 
Schnittstellen Zwischen SPS und dem Roboter-Arm gefragt.

> Viel Erfolg und bitte nicht so aufbrausend, Uwe
mache ich^^ ich bedanke mich noch einmal.

von ge-nka (Gast)


Lesenswert?

Carlo B. schrieb:
> Der Roboterarm besteht aus ATMEGA64 Prozessor, EIN/Ausgänge, 6
> mini-Servos und verwendet der I²C Bus.

Wenn es über den I2C Bus laufen sollte  wäre z.B. sowas als 
Schnittstelle denkbar.
http://www.horter.de/i2c/i2c-RS232-Modem-2/i2c-RS232-Modem2-Beschreibung.html

Eigenes Protokoll auf der Simatic Seite(oder Mapping der Befehle, 
Signale zu den Variablen in SPS,falls Protokoll schon im Roboter 
vorhanden ist) muss du dann trotzdem machen.

von Carlo B. (Firma: HEG) (carloheg)


Lesenswert?

hi ge-nka,

> Wenn es über den I2C Bus laufen sollte  wäre z.B. sowas als
> Schnittstelle denkbar.
> http://www.horter.de/i2c/i2c-RS232-Modem-2/i2c-RS232-Modem2-Beschreibung.html

ich habe es mir gerade geschaut, das passt 100% thnx ;)

von Mathias O. (m-obi)


Lesenswert?

Carlo B. schrieb:
> ich habe es mir gerade geschaut, das passt 100% thnx ;)

Häh. Der I2C wird doch für die Peripherie für den ATmega verwendet.
Ich würde es so machen, wie es Epson mit der RC auch macht.
Z.B. hiermit: 
http://www.anybus.com/products/products.asp?PID=70&ProductType=Anybus-S
Das ganze geht dann über eine parallele Kommunikation. Pins hast du ja 
anscheinend noch genug frei, wenn du schon I2C für die Peripherie nutzt.

von Karl H. (kbuchegg)


Lesenswert?

Also ich weiss ja nicht.
Ich würde halt einfach den Anschluss nehmen, der vom Hersteller dafür 
vorgesehen ist, dass man von extern mit dem Programm im Robot 
kommuniziert: eine stink normale UART

Im PC-Programm "Robot-Loader", das den Bootloader anspricht, ist sogar 
ein entsprechendes Terminalprogramm mit eingebaut. D.h. das erste was 
ich testen würde ist, wie sich der Bootloader verhält - ob ich da mit 
einem anderen Terminalprogramm am Bootloader vobeikomme, was wohl sehr 
wahrscheinlich sein wird.
Kann diese Frage mit 'Ja' beantwortet werden (was wie gesagt sehr 
wahrscheinlich der Fall sein wird), dann ist der Rest: UART Verbindung 
zur SPS herstellen, eventuell mit einem entsprechenden MAX232 als 
Pegelwandler und gut ists.
Natürlich wird man sich für den Mega ein entsprechendes Programm 
schreiben müssen. Aber dazu liefert der Hersteller ja auch entsprechende 
Demos mit.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.