Hallo, ich habe das Problem, dass ich in kürze mein Abschlussprojekt bearbeiten muss. In dem Projekt kommt die Automatisierung eines Ablaufes vor, welchen ich als Mechatroniker normalerweise mit einer einfachen SPS realisieren würde. Jetzt darf ich aber aus Mobilitäts- und Platzgründen keine S7 einbauen, sondern soll die Steuerung anhand eines Microcontrollers realisieren. Nur ich hab 0 Ahnung von der Programmierung in C bzw vom Anschluss eines solchen Microcontrollers. Weiss jemand ob es die Möglichkeit gibt, eine AWL Programmierung aus S7 einfach in C zu übersetzen? Oder gibt es vielleicht jemanden der mir geren dabei helfen würde? Ich habe auch schon versucht mir C beizubringen aber habe gleich gemerkt, dass die Zeit zu knapp ist um ein vernünftiges Ergebniss zu erzielen. Mit etwas Hilfe von euch werd ich es aber bestimmt packen. Wer interesiert ist, mir etwas zu helfen oder sonstige Tipps für mich hat, bitte bitte melden! LG
Bist Du ganz sicher das Du die Aufgabenstellung richtig verstanden hast? Ist es heute üblich Auszubildende so vor vollendete Tatsachen zu stellen? Als ich damals Energieelektronikler/Anlagentechnik lernte (gibts ja auch schon nicht mehr), da war an C überhaupt nicht zu denken (zumindest nicht bei Prüfungen). Gruss Mücke p.s.: Meines Erachtens ist Mikrocontrollerprogrammierung auch nicht Aufgabe eines Mechatronikers oder?
>> In dem Projekt kommt die Automatisierung eines Ablaufes vor...
Kannst du das ein wenig ausführlicher beschreiben ?
Ich würde Dir in dieser Situation Basic anstelle von C empfehlen. Der Einstieg ist viel einfacher, vielleicht hast Du sogar schon gewisse Basic-Vorkenntnisse? Zum Beispiel BASCOM für Atmel AVR Controller: http://de.wikipedia.org/wiki/BASCOM Möglicherweise lässt sich Deine Aufgabe schon mit der kostenlosen Demo-Version lösen! Viel Glück
wenn du mechatroniker lenst, wirst du in der prüfung mit sicherheit nichts mit microkontrollern zu tun haben, das hat rein garnichts mit dem mechatroniker zu tun.
Yannick Frank schrieb: > Ich habe auch schon versucht mir C beizubringen aber habe gleich > gemerkt, dass die Zeit zu knapp ist um ein vernünftiges Ergebniss zu > erzielen. Habe mich jetzt ein bischen über AWL schlau gemacht. Das sieht eigentlich ziemlich simpel aus: Es gibt einen Akku Operationen arbeiten auf diesem Akku komplexere Strukturierungsmöglichkeiten gibt es keine Sobald du die Hürde gemeistert hast, den I/O Teil deines Prozessors anzusprechen, sollte das Umsetzen eines AWL Programms in C eigentlich nicht sooo schwer sein, wenn du exakt weißt was welcher Befehl genau macht. Wobei sich natürlich die Frage stellt, ob man in C eine AWL 'emulieren' soll, oder ob man das gleich vernünftig macht.
1 | LD INPUT1 |
2 | AND INPUT2 |
3 | ST OUTPUT1 |
kann man in C natürlich so schreiben
1 | int main() |
2 | {
|
3 | uint8_t Akku; |
4 | |
5 | ...
|
6 | // Ports korrekt auf Ein / Ausgabe konfigurieren
|
7 | ...
|
8 | |
9 | while( 1 ) { |
10 | Akku = INPUT1; |
11 | Akku = Akku & INPUT2; |
12 | OUTPUT1 = Akku; |
13 | }
|
14 | }
|
(mit geeigneten Makros für INPUT1, INPUT2 und OUTPUT) man würde as aber in C kanonischer schreiben als ...
1 | int main() |
2 | {
|
3 | ...
|
4 | // Ports korrekt auf Ein / Ausgabe konfigurieren
|
5 | ...
|
6 | |
7 | while( 1 ) { |
8 | OUTPUT1 = INPUT1 & INPUT2; |
9 | }
|
10 | }
|
... und den Akku komplett links liegen lassen, denn man kann ja schliesslich arithemtisch/logische Ausdrücke so schreiben, das links vom = eine 'Variable' steht, welche das Ergebnis aufnimmt und rechts vom = ein beliegib aufgebauter arithmetischer Ausdruck, der nicht von ungefähr an die Formelschreibweise der Mathematiker erinnert. i = 8 * 5 + 7; ist nun einmal leichter zu lesen (und auch zu schreiben) als ... LD 8 LD 5 *R LD 7 +R ST i (keine Ahnung ob dieses AWL in der Syntax korrekt ist) ... wo man sich auch noch um die richtige Auswertereihenfolge (Punkt vor Strich Rechnung) selber kümmern muss. Klar wird es da noch ein paar AWL Spezialitäten geben, die sich nicht so trivial umsetzen lassen aber das hängt dann natürlich auch von der zu lösenden Aufgabe ab
Danke erst einmal für die zahlreichen und schnellen Antworten! Die Mikrocontrollerprogrammierung hat nichts mit dem Ausbildungsinhalt eines Mechatronikers zu tun. Es handelt sich um die Umsetzung eines betrieblichen Auftrages und meine Prüfung wird ein Teil dieses Gesamtauftrages, wobei ich natürlich den Mikrocontroller nicht beachte. Es wurde im Auftrag die Herausforderung gestellt den Ablauf über eine "kompakte Elektronik" zu realisieren und so bin ich auf den Mikrocontroller gekommen. Zur Beschreibung des Programmes an sich: 3 Spannungen sollen miteinander verglichen werden, je nachdem welche am größten ist, fährt ein Schlitten eine von 3 Positionen an und verweilt dort, bis eine andere Position ermittelt wurde. Der Vergleich findet alle 30min statt. Zusätzlich sollen über den Mikrocontroller noch weitere Ausgabefunktionene, wie zum Beispiel das Anzeigen eines analogen Spannungswertes auf einem LCD-Display statt finden. Ich werde mal versuchen mich in BASCOM einzuarbeiten und die weiteren Tipps zu befolgen! Danke!
Yannick F. schrieb: > Zur Beschreibung des Programmes an sich: > > 3 Spannungen sollen miteinander verglichen werden, je nachdem welche am > größten ist, fährt ein Schlitten eine von 3 Positionen an und verweilt > dort, bis eine andere Position ermittelt wurde. > Der Vergleich findet alle 30min statt. Zusätzlich sollen über den > Mikrocontroller noch weitere Ausgabefunktionene, wie zum Beispiel das > Anzeigen eines analogen Spannungswertes auf einem LCD-Display statt > finden. Na ja, das ist ja nicht gerade Raketentechnik. Das schwierigste dürfte sein, die 30 Minuten einigermassen genau hinzukriegen :-)
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.