Forum: Compiler & IDEs Hilfe zu Programmierung


von Yannick F. (yl108)


Lesenswert?

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

von Muecke (Gast)


Lesenswert?

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?

von Bernd (Gast)


Lesenswert?

>> In dem Projekt kommt die Automatisierung eines Ablaufes vor...

Kannst du das ein wenig ausführlicher beschreiben ?

von Peter (Gast)


Lesenswert?

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

von peter (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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

von Frank J. (frajo)


Lesenswert?

Und hier hat Josef mal eine SPS auf AVR vorgestellt:
Beitrag "SPS Betriebssytem"

von Yannick F. (Gast)


Lesenswert?

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!

von Karl H. (kbuchegg)


Lesenswert?

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 :-)

von Tom (Gast)


Lesenswert?

Du kannst auch mal unter

http://www.microsps.com/

nachschauen, ob das was für dich wäre.

cu, Tom

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.