www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR wie Siemens Programmieren geht das?


Autor: GBZ-Oholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
gibt es eine möglichkeit um einen AVR wie Siemens mit Logiksymbolen zu 
Programmieren ohne das man eine Programmiersprache wie C, C++, Basic 
usw. können muss?
mfg.
GBZ-Oholiker

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal microSPS an.
http://www.microsps.com/
Was anderes in der Art ist mir nicht bekannt.

Gruß
Skriptkiddy

Autor: hein blöd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,

das Programm hat einen code generator:

http://www.hpinfotech.ro/index.html

Vielleicht kommst Du damit weiter.

All the best

...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GBZ-Oholiker schrieb:
> gibt es eine möglichkeit um einen AVR wie Siemens mit Logiksymbolen zu
> Programmieren ohne das man eine Programmiersprache wie C, C++, Basic
> usw. können muss?

Warscheinlich schon, wenn es einem nichts ausmacht, die Möglichkeiten 
eines MC nichtmal zu 5% ausnutzen zu können.


Peter

Autor: Grain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"westhues ladder logic" ?

Autor: weinbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm nen cpld, da gibts prima Werkzeuge für die graphische 
Programmierung

Autor: Raik C. (raik_c)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin,

Flowcode für AVR

raik

Autor: Landstreicher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hein blöd schrieb:
> Hey,
>
> das Programm hat einen code generator:
>
> http://www.hpinfotech.ro/index.html
>
> Vielleicht kommst Du damit weiter.
>
> All the best

Nee, das ist 'nur' ein Codewizard für die Initialisierungsroutinen der 
MCU-Peripherie.

Deinen Anwendercode musste noch schön selber schreiben...

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Warscheinlich schon, wenn es einem nichts ausmacht, die Möglichkeiten
> eines MC nichtmal zu 5% ausnutzen zu können.

Magst Du das bitte näher begründen, Peter?

Autor: Helmut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@GBZ-Oholiker

Wie Siemens S5 oder S7?

Schau mal auf Muff-electronic.ch

Dafür habe ich ein Hutschienenlayout gemacht.
Optokoppler-In, ULN2003-Out, RS232-Programmierinterface, LCD und 
I2C-Anschluß.

Gruß Helmut

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beitrag "SPS Betriebssytem"
http://www.muff-electronic.ch/
http://www.microsps.com/

Konverter von KOP und FUP in AWL wird's ja wohl geben.

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grrrr schrieb:
> Peter Dannegger schrieb:
>> Warscheinlich schon, wenn es einem nichts ausmacht, die Möglichkeiten
>> eines MC nichtmal zu 5% ausnutzen zu können.
>
> Magst Du das bitte näher begründen, Peter?
Ich bin zwar nich Peter, aber ich versuch's dennoch mal :)
Schreibe mal
lcdptr = &LCDM1;
*(lcdptr+(unsigned char)((seg>>8) & 0xff)) |= (unsigned char)(seg&0xff);
ähnlich effektiv in irgendeiner SPS-Sprache oder Flowcode.
Anderes Beispiel mit Bitophorror:
PORTB = (((blinksrc & (1<<S_FAST))>>S_FAST)<<PB2)|(PORTB & ~(1<<PB2));
So etwas kann man IMHO nicht ohne weiteres Graphisch ähnlich effizient 
umsetzen.

Autor: Helmut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich gebe dir Recht und wahrscheinlich meint Peter es auch.

Nur der Eine oder Andere versteht die Sprache nicht und kann es visuell 
so einfacher umsetzten, sprich verstehen.

Warum kann man dann nicht einfach nur 5 % ausnutzen, dabei aber 100% 
Nutzen haben?

Auf die Speicher oder Ausnützung der Möglichkeiten kommt es nicht immer 
an.

Ich würde da keine Unterschiede in der Bewertung der Ansprüche machen 
wollen, das Ergebniss zählt.

Gruß Helmut

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer seinen AVR als SPS-Atrappe als Steuerung für's 
Aquarium/Gewächshaus/Heizung/Wasauchimmer einsetzten will kann mit einer 
graphischen Programmierung durchaus gut bedient sein. Doch wenn es ein 
bisschen auf Geschwindigkeit ankommt, dann wird's problematisch.

Autor: Helmut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, stimmt.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> PORTB = (((blinksrc & (1<<S_FAST))>>S_FAST)<<PB2)|(PORTB & ~(1<<PB2));

blinksrc: BYTE;
blink AT blinksrc: ARRAY [0..7] OF BOOL;

A1.2 = blink[S_FAST]   ??

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Luk4s K.

Bei aller Wertschätzung Deines Beitrages hast Du eine Frage beantwortet, 
die so garnicht gestellt wurde. Genauer betrachtet hast Du nur eine neue 
Frage gestellt.
Aber formuliere ich sie so um, das sie eine Antwort ist, dann lautet 
sie: Du kannst obige Ausdrücke nicht graphisch effizient umsetzen.

Abgesehen davon, was denn "graphisch effizient" sein soll, kranken Deine 
Beispiele daran, das sie vernachlässigen, das die Bitschieberei hier 
letztlich nur der Bitauswahl dient, was man in SPS eigentlich durch 
Benennung macht; man hat es also garnicht nötig die Bitschieberei 
explizit hinzuschreiben.

Sowohl der erste und der zweite Ausdruck würden dann schliesslich die 
Oder-Verknüpfung von 8 Bit parallel bzw. das kopieren/weiterleiten eines 
Bits sein.´Viele Werte darin sind ohnehin nur Konstanten. (1<<S_FAST), 
(1<<PB2), etc.

Die Frage hat aber sowieso anders gelautet. Nämlich: Warum kann man die 
Möglichkeiten einer CPU mit so einer graphischen Beschreibungssprache 
nur zu 5% oder weniger nutzen?

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> PORTB = (((blinksrc & (1<<S_FAST))>>S_FAST)<<PB2)|(PORTB & ~(1<<PB2));
>
> blinksrc: BYTE;
> blink AT blinksrc: ARRAY [0..7] OF BOOL;
>
> A1.2 = blink[S_FAST]   ??

Wie meinen?
Die Bitop hat die Aufgabe das Bit S_FAST aus blinksrc nach PB2 in PORTB 
zu kopieren.
Grrrr schrieb:
> Warum kann man die
> Möglichkeiten einer CPU mit so einer graphischen Beschreibungssprache
> nur zu 5% oder weniger nutzen?

Ich habe dies so aufgefasst, dass eine graphische Beschreibungssprache 
weniger effizienten Assemblercode als ein C-Compiler; sicher lassen sich 
meine Beispiele auch mit SPSen realisieren, nur was macht der Compiler 
draus?

Autor: Helmut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein,

keiner hat in diesem Fall Recht, sondern will Recht haben!

die Frage war:


gibt es eine Möglichkeit um einen AVR wie Siemens mit Logiksymbolen zu
Programmieren ohne das man eine Programmiersprache wie C, C++, Basic
usw. können muss?


Diese simple Frage wird nicht beantwortet, sondern es nur Kommentare 
abgegeben!

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und genau das tut diese (Siemens STEP 7) SCP Anweisung,
man muß bei SPS nicht irgendwelche blödsinnige Bitfummelei machen,
bloss um ein einzelnen Ausgangsleitung beeinflussen zu können,
und man muß nicht irgendwelche undurchsichtigen Bitfummeleien machen, um 
auf eine simple gespeicherte BITfolge zugreifen zu können.

Es ist so einfach:

A1.2 = blink[index]

Vergiss deine C-Programmierung obfuscation

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut schrieb:

> Diese simple Frage wird nicht beantwortet, sondern es nur Kommentare
> abgegeben!

Tja, das ist der Fluch der Foren...

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daran, dass das mit einer SPS nicht geht zweifele ich auch garnicht, ich 
zweifele nur daran, dass der Compiler daraus 14 Assemblerinstruktionen 
macht und damit das Programm ähnlich schnell wie ein in C geschriebenes 
abläuft.

Autor: Icke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei den meisten Steuerungen die ich bisher Programmieren musste war 
sowas völlig egal.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grrrr schrieb:
> Peter Dannegger schrieb:
>> Warscheinlich schon, wenn es einem nichts ausmacht, die Möglichkeiten
>> eines MC nichtmal zu 5% ausnutzen zu können.
>
> Magst Du das bitte näher begründen, Peter?

Schaltplaneingabe ist eine parallele Darstellung.
Ein MC kann aber nix parallel machen, sondern muß alles in Zeitscheiben 
einteilen und hintereinander machen. Und damit reduziert sich die 
Abarbeitungsgeschwindigkeit drastisch.
Es ist etwas ähnlich zu einem RTOS, bloß hat ein RTOS noch viele 
Möglichkeiten, die Abarbeitung zu steuern (Prioritäten usw.).

Eine weitere Sache ist, daß Peripherieeinheiten (Timer usw.) oft 
verschiedene Sachen kombinieren. Für ein Schaltplantool stelle ich mir 
das schwierig vor. D.h. ist im Schaltplan ein Timer z.B. mit PWM belegt, 
kann er nicht mehr als Input-Capture benutzt werden. In einem C-Programm 
geht das aber.

Man kann also weder die CPU-Geschwindigkeit noch die Peripherie optimal 
ausnutzen.

Daß sich viele Sachen (z.B. Protokolle) als Schaltplan nur sehr 
umständlich ausdrücken lassen, kommt noch hinzu.


Peter

Autor: Axel Düsendieb (axel_jeromin) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier hat mal jemand was für AWL gemacht.


Axel

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Schaltplaneingabe

Danke, Peter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.