Hallo und frohe Weihnachten... Ich wollte mal eure Meinung hören. Ein Mikrocontroller soll sich mit einer SPS über ein ca. 10m langes Kabel unterhalten. Nun habe ich überlegt, was ich denn für eine "Sprache" nehme. 1wire spart natürlich Kabel, aber viele SPS-Steuerungen verstehen das nicht. I2C ist schön einfach zu programmieren, aber bei 10m Kabel...? CAN-Bus können viele SPS-Steuerungen, aber der Aufwand ist aus meiner Sicht am größten, vor allem, weil ich auf der Controllerseite kaum Platz für zusätzlich Treiber-IC's habe. Die Übertragungsgeschwindigkeit spielt kaum eine Rolle, es wird nur ein Taster abgefragt und ein paar LEDs ein und ausgeschaltet. Ich schwanke ständig hin und her, denn: 1. Das Kabel soll so dünn und flexibel wie möglich sein. 2. Ich bin kein Meisterprogrammierer und CAN-Bus ist ja schon etwas aufwändiger. 3. Die SPS muss das Protokoll auch beherrschen. Was würdet ihr bevorzugen? Gruß Dirk
Eine serielle Verbindung RS-232 / RS-485 oder ähnliches. Robust und einfacher geht es nicht bei nur 2 Teilnehmern.
Wenn am uC-Punkt nur ein paar IOs gesetzt/abgefragt werden, kauf dir lieber ein passendens IO-Modul für deine SPS.
I2C ist ursprünglich nur für Kommunikation über kurze Distanzen gedacht. Es gibt aber speziell entwickelte Komponenten, die zuverlässigen Datenaustausch über weite Strecken garantieren. Z.B. P82B715D Was viele nicht wissen: I2C wird auch bei HDMI verwendet. Wenn du I2C einfach implementieren kannst, dann verwende das.
Dirk M. schrieb: > soll sich mit einer SPS Wie wäre es, wenn du dir die Protokolle der SPS mal ansiehst! Oder gar hier mal auflistest. Wäre ja schon mal ein Anfang....
@Hauke: Ich wollte jetzt keine Romane schreiben, aber bisschen mehr passiert auf der Controller-Seite schon. Schrittmotor-Steuerung, IR-LED's bei bedarf einschalten usw. @Mick: Hört sich gut an, das wusste ich auch nicht. Jetzt muss ich nur eine SPS finden, die auch I2C versteht. @Arduino Fanboy: Die SPS suche ich ja noch. @aldesser: RS485 braucht aber wieder einen Pegelwandler. (CAN-Bus basiert doch auf RS485, oder?)
Eine SPS mit I2C zu finden wird schwer. Muss es denn unbedingt eine SPS sein, es handelt sich ja scheinbar um einen Neuaufbau. SPS bieten meistens ihre eigenen Industrie-Busse, wie Profibus/Profinet/Ethercat usw, und serielle Schnittstellen (RS...). Falls es also eine SPS sein muss, würde ich mir mal Raspberry PI SPS Erweiterung anschauen. Ja, ein Pegelwander wäre notwendig, aber es ist eher unwahrscheinlich das du eine SPS mit I2C und identischen Spannungspegeln zu deinem Mikrcontroller findest. Falls eine SPS ein Muss ist, würde ich mir trotzdem überlegen eine zugehöriges IO-Modul für die SPS zu nutzen und sämtliche Intelligenz auf die SPS zu verlagern. Dann müsstest du dir um das Protokoll keine Gedanken mehr machen und es können auch keine Unterschiede der Protokolldefinitionen bei verschiedenen Softwareversionen auftreten. Egal welches Protokoll (I2C, CAN, UART) müsstest du dir ja auch noch Gedanken um die höheren Schichtens machen, unterschätze den Aufwand dafür nicht.
Dirk M. schrieb: > RS485 braucht aber wieder einen Pegelwandler. Egal was du nimmst, den brauchst du bei 10m Kabel immer. ICs direkt verbinden ist da eine ganz schlechte Idee. RS232 oder RS485 ist robust und bewährt. Mick schrieb: > Es gibt aber speziell entwickelte Komponenten, die zuverlässigen > Datenaustausch über weite Strecken garantieren. Z.B. P82B715D Das ist genausoviel Aufwand, Geschmackssache. Georg
Ja, diese Raspberry PI SPS habe ich mir schon angesehen und die würde schon passen. Wie sieht es denn da mit dem Hochlauf aus, dauert das sehr lange? Kann man so eine SPS einfach ausschalten, oder muss die heruntergefahren werden? Die Intelligenz in die SPS zu verlagern wäre etwas schwierig, das würde das Kabel zu dick machen (Schrittmotor usw.).
Eine Industrie-SPS ist für jahrelangen Dauerbetrieb entwickelt, ausschalten macht aber keine Probleme. Eine klassische SPS bootet auch innerhalb einer Sekunde. Wie das bei dem Raspberry Ding aussieht, keine Ahnung. Die Intelligenz in die SPS zu verlagern, macht die Kabel doch nicht dicker. Der Schrittmotor würde natürlich weiterhin am IO-Punkt angeschlossen, dort allerdings an das IO-Modul der SPS, ggf. über den geplanten Treiber oder ein passendes Erweiterungsmodul der SPS. Aber warum soll es eine SPS sein? Du hast ja scheinbar keine Erfahrung mit solchen Anlagen, durchgehender Betrieb ist ja auch nicht geplant?
Welche SPS? Manche beherrschen MQTT. Mit dem könntest du das ganz einfach sogar kabellos gestalten.
Wenn es nur um einen Taster und einige LEDs geht, würde ich auf RS232 oder RS485 setzen und einfach nur jeweilse ein byte + CRC schicken. Das sollte auf SPS seite und auf der µC seite nicht zuviel Aufstand machen. Zumal wenn es sich nur um ein Einzelstück oder eine geringe Stückzahl handelt. Wenn es natürlich um ein Serienprodukt geht, könnte man überlegen ob man auf dem µC ein Protokoll implementiert, das die SPS schon von Haus aus kann(Profibus, CANopen...)
Guten Morgen und danke für eure Meinungen. Das "Raspberry Ding" (genauer PiXtend V2-L) gefällt mir immer mehr, zumal man dort auch eine kleines Display anschließen kann. Außerdem beherrscht es RS485, RS232 und CAN. Das kleine Handgerät, also die µC-Seite habe ich schon als Prototypen fertig. Allerdings noch ohne "Gesprächspartner". Wenn ich jetzt auf der Platine noch etwas Platz für den RS485-Treiber schaffe, sollte es funktionieren. Nochmal zur Raspberry-SPS. Vielleicht kann mir jemand sagen, wie es dort mit dem Ein- und Ausschalten aussieht. Also, wie lange der Hochlauf dauert und ob man das Ding einfach ausschalten kann. Das ganze soll ein transportables Gerät werden, es wird also mehrmals am Tag ein und ausgeschaltet. Und ja - es wird wenn überhaupt nur eine sehr geringe Stückzahl. Gruß Dirk
Dirk M. schrieb: > Also, wie lange der Hochlauf > dauert und ob man das Ding einfach ausschalten kann. Gerade gestoppt: 35 Sec bis zur grafischen Oberfläche. Da kann man sicher noch dran drehen, z.B. ohne GUI, aber gegenüber einer SPS ist das nicht annähernd konkurrenzfähig. Einfach Abschalten ist eigentlich auch nicht zulässig, so wenig wie bei einem anderen PC - was anderes ist der Rasbpi ja nicht. Irgendwie muss man auch den Befehl zum Herunterfahren eingeben, und dann warten. Wahrscheinlich kann das SPS-Programm das Herunterfahren veranlassen. Du musst selbst wissen ob das akzeptabel ist. Hauptvorteil des Rasbpi ist billig. Georg
Mit 35 Sek. könnte ich leben. Ich hatte nur an die Homematic CCU3 gedacht, dort dauert der Start ja eine gefühlte Ewigkeit. Da im Hauptgerät, wo auch die SPS wohnen soll, etwas mehr Platz ist, könnte ich ja einen kleinen Akku/USV o.Ä. zum sauberen Herunterfahren unterbringen. Danke für die Info...
Dirk M. schrieb: > Ich hatte nur an die Homematic CCU3 > gedacht, dort dauert der Start ja eine gefühlte Ewigkeit. Ich betreibe eine CCU3. Die läuft seit drei Jahren absolut zuverlässig und fehlerfrei. Booten ist niemals notwendig, es sei denn für Updates. Deswegen spielt für mich die Boot Zeit keine Rolle. Vorher hatte ich einen Raspi der immer wieder mal zickte.
Wenn du hilfreiche Tips haben willst, dann rück doch mal ein paar Infos mehr raus, welche Aufgaben zu erfüllen sind. Für die SPS oder doch nicht SPS, oder Raspi, oder ??? Und für den Controller und warum der 10 Meter weiter sein muss. So ein Herumstochern im Nebel ist für niemanden befriedigend.
Das ist mir klar, die CCU3 startet man kaum neu. Es ging aber um eine Raspi-SPS und die muss ich in meinem Fall mehrmals täglich neustarten. Ich dachte die CCU3 gibt's erst seit diesem Jahr...?
Dirk M. schrieb: > Ich dachte die CCU3 gibt's erst seit diesem Jahr...? Ach? Okay in meinem Fall ist es dann wohl die CCU2, sorry … :-D
Ok, wie oben schon erwähnt, wollte ich euch nicht mit Romanen belasten. Ich versuche es mal. Im Bild habe ich das mal schematisch dargestellt. Es gibt ein Handgerät, das hat ca. die Größe einer Heißklebepistole. In diesem Gerät werkelt ein kleiner Schrittmotor. Dieser Motor entleert bei Tastendruck eine mit Flüssigkeit gefüllte Patrone. Im Hauptgerät gibt es einen Kompressor und ein paar Ventile und Relais. Außerdem soll es einen kleinen Bildschirm zum Einstellen einiger Parameter und zur Anzeige geben. Wird nun der Taster am Handgerät gedrückt, bewegt sich der Motor langsam vorwärts und im Hauptgerät soll ein Luft-Ventil öffnen. Also muss folgendes vom Handgerät zum Hauptgerät übermittelt werden: Taster gedrückt -> Hauptgerät Füllstand der Patrone -> Hauptgerät Patrone vorhanden -> Hauptgerät und umgekehrt: Handgerät <- Motorgeschwindigkeit Handgerät <- IR-Led einschalten Für die Motorgeschwindigkeit und die Füllstandsanzeige reichen jeweils 8-Bit Auflösung. Dann soll es noch zwei bis drei 8-Bit Werte geben, die aber nur einmal bei der Installation zum Handgerät übertragen werden müssen. Fehlt noch was...?
:
Bearbeitet durch User
Dirk M. schrieb: > Fehlt noch was...? Sieht schon mal viel besser aus mit diesen Informationen. Eine Notwendigkeit für eine SPS und ein Bedienpanel sehe ich da nicht, für ein paar Ventile reicht auch ein Raspi, sogar ein Zero. Hängt natürlich auch ein bischen davon ab, wie fit du in der Programmierung von SPS bzw Raspi bist. Wenn du beides erst noch lernen musst, würde ich Raspi vorziehen, da nahe an PC-Programmierung mit Linux. Für die Einstellungen wäre auch eine (lokale) HTML-Schnittstelle zu überlegen, dann kann es über Tablet /Smartphone eingestellt werden, ist sehr vielseitig und man muss sich nicht mit GUI-Programmierung rumschlagen. Die Verbindung zum Controller wäre beim Raspi mit serieller Verbindung deutlich einfacher als bei einer SPS. Da beide TTL-Signalpegel haben, wäre zu testen, ob das störmäßig ausreicht. Wenn nicht, dann Umsetzung auf RS323 oder RS485, wobei ich dann RS485 vorziehen würde. Technisch besser, preislich kein Unterschied.
Dirk M. schrieb: > könnte ich ja einen kleinen Akku/USV o.Ä. zum sauberen Herunterfahren > unterbringen. In diesem Thread bastelt gerade jemand an einer USV um einen Raspi sicher herunterzufahren. Beitrag "Ersatz für 2SJ438 FET in Raspberry-Safe-Shutdown Schaltung"
Zum Herunterfahren braucht man keine USV. Ein Taster genügt: https://forum-raspberrypi.de/forum/thread/40216-raspberry-mit-wippschalter-runterfahren-hochfahren/?postID=346991#post346991
Kunzi schrieb: > In diesem Thread bastelt gerade jemand an einer USV um einen Raspi > sicher herunterzufahren. Danke, guck ich mir mal genauer an. Ein Taster wird nicht genügen. Das Gerät wird auch mal ein technischer Tiefflieger bedienen. Dem beizubringen, dass er erst ein Taster drücken muss, dann warten bis der Bildschirm dunkel ist und dann den Stecker ziehen, das wird nie funktionieren. Ich komme aus dem Maschinenbau und bin für die NC/SPS-Programmierung zuständig. Die meiste Zeit verbringt man damit Fehlbedienungen abzufangen... Das ist auch der Grund für einen kleinen Bildschirm am Hauptgerät. Der Bediener soll mit einem Blick alles Wichtige sehen können. Da ich schon ein Proto-Handgerät fertig habe, werde ich mal einen RS232-Test aufbauen. Falls mir das zu "wackelig" wird, teste ich RS485.
Dirk M. schrieb: > Fehlt noch was...? Ja, die benötigte Sicherheit. Will ich konkret garnicht wissen, aber der Rasbpi ist keine hochzuverlässige Steuerung. Für medizinische Geräte z.B. dürfte er nicht in Frage kommen. Soweit ich das verstanden habe, wird das Gerät nur unter Aufsicht benutzt, dafür sollte er gut genug sein. Bei einem Bekannten hat eine Pflanzenbewässerung mit einem PC, die sich sein Mieter gebastelt hatte, während des Urlaubs 2 Wohnungen unter Wasser gesetzt. Das war eben zuviel Vertrauen in einen PC allein zu Haus. Georg
An die Sicherheit habe ich natürlich auch gedacht. Auch ein Grund nicht "alles" neu zu erfinden. Die Raspi-SPS trägt zumindest schon mal die CE-Kennzeichnung. Und ja, das Gerät wird nur unter Aufsicht betrieben und selbst wenn die SPS mal Amok läuft zischt ein bisschen Luft und vielleicht wird die Patrone leer gedrückt. Das kann man mit einem Lappen wieder wegwischen ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.