SPS(=PLC) gesteuerte Roboter

c't-Bot Programmierung in C

Moderator: Moderatoren Team

Antworten
sercio
Friends of Marvin
Friends of Marvin
Beiträge: 5
Registriert: 19 Dez 2006, 23:41
Wohnort: München

SPS(=PLC) gesteuerte Roboter

Beitrag von sercio » 21 Jan 2007, 16:07

Hallo an alle,
Ich mache ein Projektpraktikum an der UNI.
Die Aufgabe ist folgendes;
Unser c't Bot soll vom Homeposition zum Lager danach zum Ziel fahren am Ende soll der Bot wieder zur homeposition zurück kommen.

Alles sollte durch einen SPS gestuert werden.

Die Koordinaten habe ich im c't Sim fest gestellt und den Code geschrieben.
Im Simulator läuft alles Problemlos.

Die Frage ist...
Wie kann ich den Code zu SPS Sprache umsetzen.
also SPS (Simatic S7) versteht nicht vom z.B. bot_gotoxy(data,20,30)!!!
ich denke, es sollte was im Code für 4 positionen hinzugefügt werden,damit SPS diese 4 punkte definieren bzw reargieren kann.

Viellecht gibt es einen Expert,der darüber mich informieren oder einen Tip geben kann.
Danke im voraus!
Serkan

eax
Friends of Robby
Friends of Robby
Beiträge: 763
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 21 Jan 2007, 17:20

Hi,

je nachdem, wieviel verschiedene Kommandos du von der SPS zum Bot übertragen können willst, opferst du entweder log(x) Pins vom µC für x Kommandos oder machst das seriell und mit Schieberegistern (wurde hier in einem anderen Thread ja schon ausgiebig erklärt).
Im Code liest du dann das Kommando aus (am besten wohl in sensor_update()) und rufst die entsprechende Botenfunktion des gewünschten Verhaltens auf.
Dann sind die Positionen allerdings hardcoded, viel eleganter wäre es IMHO, das über die neuen Remote-Calls zu machen, also dem Bot per UART so was zu schicken: "bot_drive_distance {0}, {BOT_SPEED_NORMAL}, {50}".

Gruß Timo

sercio
Friends of Marvin
Friends of Marvin
Beiträge: 5
Registriert: 19 Dez 2006, 23:41
Wohnort: München

Beitrag von sercio » 30 Jan 2007, 11:37

hi Timo,
Sagen wir mal ,dass ich 4 Kommandos ausführen will,
1.start
2.gehe zum lager
3.gehe zum ziel
4.komm zurück

welche log(x) meinst du ,die ich opfern soll?
pder
wie macher ich es mit dem Schreibregister,habe leider bezüglichen Thread nicht gefunden.

Danke im Voraus

serci

eax
Friends of Robby
Friends of Robby
Beiträge: 763
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 30 Jan 2007, 19:55

Hi,

log(4) = 2, also müsstest du 2 Pins verwenden, um die Kommandos codieren zu können (parallel). Oder eben seriell per Schieberegister, das hat marvin ja schon ausführlich im Thread "Funkmodel verbindung" erklärt.

Gruß Timo

Antworten