www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR wie SPS Programmieren


Autor: KeyOz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..

Ich will mit einem AVR simple schaltaufgaben erledigen..
Um die sache zu Programmieren suche ich nun eine Software, womit ich den 
AVR mit simplen Logik-Befehlen (Wie z.B. Siemens Step 5 für SPS) 
Programmieren kann..
Sinn und Zweck ist es. das auch einer der sich nicht mit ASM und Basic 
auskennt, wohl aber mit Logik.Grundlagen das Schaltprogramm verstehen 
und bearbeiten kann..

Hoffe das es sowas gibt und mir jemand helfen kann..

Autor: Meiserl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo



Also Step 5 wirst du schwer für controller bekommen.
Obwohl ich (und meine Kollegen) haben als Maturaprojekt eine SPS gebaut
(mit 80C517) und wir hatten auch einen S5 Compiler programmiert.
Hatte aber einen kleinen Befehlssatz und fehlt noch viel um dies in der 
Praxis einsetzen zu können ... naja und dann.....

S5 ist Schnee von gestern.
Momentan dreht sich doch alles um die S7.
Und da ist es denk ich noch unwahrscheinlicher was kompatibles zu µCs zu 
finden.
Man denke nur was Siemens sich mit den Programmieradaptern leistet.
Spezialadapter die schweineteuer sind.

Aber....
Ich habe mal sowas ähnliches gesehen. C-Control aber Finger weg.
Meine Kollegen haben nie ein funktionierendes Programm hin bekommen.

Ich habe auch mal einen SPS-Chip gesehen. http://www.ribu.at
Naja wenn man mal µCs programmiert hat greift man so ein Bastelzeugs 
nimmer an.

Am besten du eignest dir C an. (gute Investition für die Zukunft)
Für ein paar logische Verknüpfungen solltest du nicht zuviel Zeit 
investieren müssen.

Also ich programmiere auch SPS und auch µC.

Wenn ich ein SPS Programm schreibe sehne ich mich manchmal nach 
C-Befehlen.

Wenn ich ein µC Programm schreibe sehne ich mich manchmal nach 
SPS-Befehlen.

Habe mal ein SPS-Programm (Datenkopplung) geschrieben das hatte ca. 600 
Schritte.
In C max 10 Zeilen gggg.

Aber für Ablaufsteuerungen ist die SPS-Programmiersprache (FUP, KOP, 
AWL) meiner Meinung besser.
z.B.: in der SPS habe ich eine vielzahl von Timer im µC nur wenige.

Kommt immer auf die Anwendung an was man einsetzt (bezügl Steuerungen)
Einzelprodukt > SPS
Serienprodukte > µC

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du dich bei der sps nach c-befehlen sehnst, dann solltest du dir 
mal die rps2000 von b&R angucken. die hat von haus aus eine c-ähnliche 
programmiersprache  und kann mit einem toolkit auch in ansi-c 
programmiert werden. ist sehr gut, zumal die sps ein multitaskingfähiges 
betriebssystem hat ...
meines erachtens nach kommt die firma siemens da nicht ganz mit

Autor: Meiserl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Karl Heinz

Leider ist Siemens oft Kundenwunsch und man kann sich den SPS-Typ nicht 
immer aussuchen.
Ich habe auch schon gehört das B&R gute SPSen sind.
Werde auch demnächst auf einen Kurs fahren.
Ich nehme an Profibus, Ethernet, interner Webserver, SMTP-Client, ....
gibts auch alles bei B&R.

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yap, gibt es
ausserdem ist der can-bus sozusagen der hausbus, d.h. sowohl die 
hardware ist bei 95% aller cpu´s schon integriert als auch die software 
ist ins betriebssystem integriert. habe mit dem can bus sehr gute 
erfahrungen gemacht, besonders im roboter bereich (can aist auch der 
hausbus von reis-robotics)
ich arbeite seit jahren mit b&r und werde nicht mehr wechseln
bin ein absoluter fan davon, zumal es eine extrem große auswahl an 
hardwarekomponenten gibt, die alle wirklich von einem programmiersystem 
aus programmiert werden.
und was mich immer wieder begeistert ist der direkte kontakt, d.h. keine 
langen warteschleifen an hotlines, handbücher und software gibts (fast) 
immer kostenlos

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am besten und schnellsten kann man sich eine SPS-Syntax
mit den AVR-Studio Makros emulieren. ZB.   " LE E0,1" = lade Eingang
E0,1 in das T-Flag (Verknüpfungsspeicher). Hier heißt das Makro "LE"
und nachfolgende Parameter " E0" stehet für ein Register , und "1"
für die Bit-Position. So hast du eine Art SPS-Compiler, der 
ultraschnellen
AVR-Asemblercode erzeugt. Habe eine ganze Sammlung von solchen Macros 
plus SPS-Betriebssystem. Hat sich in zahlreichen Projekten bestens 
bewährt.


Schöne Grüße Sepp

Autor: Jörg Maaßen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sepp

Kannst Du vielleicht ein solches Macro posten oder noch besser Deine
Macro's im Bereich "Codesammlung" vorstellen und hinterlegen.

Ich wäre auch an einer Möglichkeit der Ablaufsteuerung interessiert,
besonders wenn es noch um zeitgesteuerte Abläufe geht.

Gruß Jörg

Autor: Jörg Maaßen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups,

sehe gerade von wann das Posting war.

Aber vielleicht guckt Sepp ja ab und an vorbei ;-)

Gruß Jörg

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werde  bald ein SPS Betriebssytem in C posten. Klein und fein. Habt ihr
irgendwelche Wünsche ? Ziel ist es, mal schnell ein Zeitrelaise oä. zu
programmieren.

Schöne Grüße Sepp

Autor: Jörg Maaßen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sepp

Puh Glück gehabt, dass Du anscheinend Dauergast bist ;-)

Kannst Du Deine Makro-Sammlung für Assembler hier einstellen?

Wobei SPS Betriebssystem klingt auch super. Könnte ich dann z.B. über
RS232 einen SPS-Befehl an z.B. Avr senden und der interpretiert den
dann entsprechend.
Oder noch besser ein Quasi-SPS-Programm an den AVR übergeben -> der
speichert es dann irgendwo und fängt dann an es abzuarbeiten?

Gruß Jörg

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das SPS Programm wird zusammen mit dem SPS-Betriebssystem mittels ISP in
den AVR gebrannt. Über RS232 kann man zB Debuggen.

lg Josef

Autor: Josef (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Meine Assemblermacros im Anhang.

Josef

Autor: Jörg Maaßen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sepp

wäre eine Erweiterung wie folgt denkbar?

Betriebssystem ist im AVR und über Reset wird ein Bootloader gestartet,
der das SPS-Programm in den EEprom-Bereich  oder auf ein externes
I2C-Prom schreibt un dann das Programm abarbeitet.

Gruß Jörg

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht auch. Aber mehr Arbeit.

Josef

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beitag verloren - wieder da.

Autor: Josef (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe schnell ein SPS Betriebssystem programmiert. Funktioniert gut.
Kann man mit C Code mischen. Programmiere dann noch ein paar Timer
dazu. Der Vorteil ist auch, daß der SPS Code Multitask-fähig ist.
Compiler war Codevision. Läuft auf STK200 und ev. STK 500

Viel Spaß Josef

Autor: Josef (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi !

Hier das SPS Betriebssytem incl.Timer. Funktioniert super.Alles
getestet. Habe noch Stromstoßschalter, Timer und Wischer dazugegeben.

Schöne Grüße Josef

Autor: peter fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Josef
Sehr interessant diese AVR SPS implementierung. Welchen SPS Dialekt
hast du implementiert ?

Ich habe mich zwar vor Jahrzehnten mit Relais-Schaltungen etc
beschäftigt und würde gerne SPS kennenlernen. Hast du einen guten Link
zu einem SPS Step5 Tutorial ?

Normalerweise programmiere ich in C auf AVR, aber es wäre für mich
interessant zum Vergleich eine kleine SPS Steuerung zu machen.

Autor: Jörg Maaßen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

auf der Seite http://www.ad.siemens.de im Bereich Support ->
ServiceSupport findest Du alle Betriebshandbücher und Beschreibungen zu
S5 und S7.

Gruß Jörg

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der SPS Dialekt ist S7 ähnlich. Kann man aber beliebig anpassen.
Diese Art der Programmierung eignet sich sehr gut für Steuerungen in
der Industrie, da quasi alle Ein und Ausgänge gleichzeitig bearbeitet
werden. Probier mal in C  4 Stromstoßschalter, 2 div.Zeitrelaise, 2
Wischrelaise, 2 Zähler und ein paar logische Verknüpfungen zu
programmieren ( Es müßen aber immer alle Ein /Ausgänge  gleichzeitig
abgefragt werden).
Natürlich gehts, aber sehr viel Aufwand. Ich wähle diese Art der
Programmierung meistens wenn ich schnell ein paar Zeitrelaisefunktionen
realisieren muß. Kann ja alles mit C Code noch mischen.

Schöne Grüße Josef

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nun das Manual SIMATIC Programmieren mit STEP 7 V5.2
sowie das Manual AWL Referenz heruntergelagen.

@Josef
Entspricht dein SPS Dialekt der STEP 7 AWL Sprache ähnlich ?

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code entspricht in etwa Step7 AWL. Eine 100 % Anpassung  ist
durchaus möglich. Mach ich gerne. Dieser SPS Dialekt orientiert sich
eher an  allgemeiner SPS Sprache, so wie sie in Büchern publiziert
wird. Step 7 und Siemens ist für mich kein nachahmenswerter Standard.

Schöne Grüße Josef

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die SPS Syntax ist - Macrobedingt - von mir. Aber angelehnt an
Simatic.

Paul du hast recht. Den Code einfach statt dem meinen eintragen  und
compilieren. Das Hexfile direkt vom Codevision Compiler in das STK200
oä brennen. Den Compiler gibts (eingeschränkt) gratis im Netz.


SG Josef

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibts den Compiler.

www.dontronics.com/cvavr_download.html


SG Josef

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat schon jemand das Programm getestet ?

Schöne Grüße Josef

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich habs auf AVR-GCC angepasst (unterschiedliche Syntax bei
Interrupt-Routinen und andere Include-Files) und auf einem ATmega8
getestet. Funktioniert prima.

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
He cool !

Danke !

Josef

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen!

Wie wärs, wenn wir mal so ne einfache Liste an Komponenten aufbauen
würde, die man so braucht? Wie gesagt, ich würd da gerne eine kleine
Leiterkarte aufbauen, mit der ich Experimentieren kann, am besten schon
so, daß man da ein paar Relais und ein paar Digitale IO's schalten,
evtl. auch Analog-Werte erfassen kann.

Gruß,
Patrick...

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre super Patrik. Was stellst du dir denn ´genau vor?

Josef

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ich mir genau vorstelle:

Austauschbares Controller-Modul (damit ich meinen MSP430 und alle
anderen eben irgend einen AVR verwenden kann/können ;),
Peripherie-Platine mit Digitalen I/O's, Analogeingängen und Relais
(evtl. acht I/O's, ein oder zwie Analoge und vier Relais für den
Anfang), RS485 Treiber, ISP/JTAG-Schnitstelle (JTAG Port wird
vorgesehen, und auf der entsprechenden Controller-Platine dann entweder
mit ISP oder halt JTAG verdrahtet).
Hab ich was vergessen?
Gibts sonst noch Wünsche?

Gruß,
Patrick...

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner interessiert?

 :-(

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt gut !Hast du schon begonnen ;-)


Josef

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Hehe,
ich habe nach Wünschen gefragt, und ob ich was vergessen habe!
Deshalb habe ich noch nicht angefangen ;)

Gruß,
Patrick...

Autor: stromi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@an alle
haste das mal gesehen? wer sps preiswert lernen will: bestens!

http://www.muff-electronic.ch/
chip kaufen genügt, wer platinen bauen kann.
mfg
stromi

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

könntest Du wohl Deine Version für den GCC hier posten - dann brauch
ich Deine Arbeit nicht nochmal machen?
Vielen Dank, Thomas

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe eine Frage an die Spezialisten:
Für die automatisierung eines Handling Systemes suche ich eine
Steuerung ( SPS, o. ä. ) mit 16 Ein und 16 Ausgängen. Wer stellt sowas
in low cost version her ? Meine Grenze ist 25000 € für 100 Stck.
Falls einer von Euch nur entwickeln kann, können wir auch selbst in
Ungarn produzieren.

Autor: stromi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Preislisten Auszug vom www.muff-electronic.ch die 3 beiträge davor
erwähnt habe.
die i/O-Expander kann man sich so bestücken wie man's braucht, bis zu
64 Ein- und Ausgänge.
und die programmierung ist angelehnt an SPS S5 von Siemens.
Layout kann man sich doch preiswerzt machen lassen, für dieses projekt.

ich hab' auch mal so'n teil geroutet, mit 16 E/A für eine einzige
sache. Ich schätze mal, die läuft immer noch.




SPS-SingleChip  82E10 1000 Befehle  (DIP40)
 zusätzliche 64E+64A
mit I/O-Expander(I2C) 1 Stk   36.10
10 stück 28.30 Euro

Schau das doch mal komplett an, preiwerter und dazu ausgereift, geht
das ?

wer rechtschreibfehler findet, kann sie behalten.
tschaui

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.