PIC16s und AVRs mit Kontaktplan (ladder logic) programmieren

Software und Quellcodes für Microcontroller

Software und Quellcodes für Microcontroller

Moderator: Moderatorengruppe

PIC16s und AVRs mit Kontaktplan (ladder logic) programmieren

Neuer Beitragvon KOP-Freak am Dienstag 26. Juni 2007, 16:59

Hallo Leute,
Schon seit einiger Zeit ist es moeglich einige ausgesuchte Prozessoren
von PIC und ATMEL in Kontaktplan zu programmieren; jetzt aber gibt es
dieses Programm auch in Deutsch.

Unter dem folgenden Link findet Ihr die Website http://cq.cx/ladder.pl.
Ganz unten befindet sich der Link zum Download der deutschen Version
(LDmicro-de, einschliesslich dem dazugehoerigen Handbuch) und wer
diesen gerne direkt moechte, unter http://cq.cx/ldmicro-de.exe

Es heisst LDmicro und wurde von dem Kanadier Jonathan Westhues
entwickelt. (Jonathan hat in der Mikroprozessorebene schon einige
herausragende Artikel und Projekte veroeffentlicht, siehe Internet.)
Natuerlich ist es Freeware!!

LDmicro eroeffnet fuer den SPS-Programmierer (oder der es gerne werden
moechte) neue Welten, zu denen bisher nur Assembler- C- und Basic-
Programmierer Zugang hatten.
Die heutigen modernen Mikroprozessoren koennen teilweise mehr, als eine
mittlere SPS kann und vor allem benoetigen diese nur noch wenig weitere
umgebende Hardware, weil schon fast alle integriert ist.

Somit ist es jetzt mit nur wenigen Bauteilen moeglich, sich eine SPS selbst
zu basteln, was vor allem, mit schmalem Geldbeutel ausgestatteten,
Schuelern und Studenten entgegenkommen sollte.

Analogwertverarbeitung, Pulsweitenmodulation und serielle Schnittstellen
sind in den neuen Prozessoren Standard und sind auch mit LDmicro
programmier- und konfigurierbar.

Ich will an dieser Stelle LDmicro nicht ueber den gruenen Klee loben.
Die Software hat durchaus noch kleinere Mucken und ich bin hartnaeckig
an dem Jonathan, den Befehlsvorat zu erweitern. In der naechsten Zeit
werden noch einige Features folgen, wie z.B. ein Dezimal-Binaer und
BCD-Wandler, die man bisher noch umstaendlich selbst programmieren
muss.

Einige Schaltplaene und die entsprechenden LDmicro Kontaktplan-
Programme, koennen bei mir per e-mail unter
hunoell bei mastercabo.com.br kostenfrei abgerufen werden, wie z.B.:
Ein HD44780-LCD-Display in verschiedenen Versionen,
wie Parametereingabe, Keypad 3x4, Analogwertanzeige,
serielle Ansteuerung
und ein 4stelliges 7Segment-Display mit Analogwertanzeige usw.usw.
Eine PWM-Anwendung befindet sich in Arbeit und waere schon fertig,
wenn an meinem Wohnort die noetigen Komponenten nicht so schwer
zu beschaffen waeren.
Leider aber alles nur in Englisch, fuer eine deutsche Uebersetzung fehlt mir
die Zeit.

Somit viel Spass beim Experimentieren, H.U. Noell

---------------------------------------------------------------------------

Zusatz: Auszug aus der Website von Jonathan Westhuese

Ein KOP-Compiler für AVR und PIC16 (KOP = Kontaktplan = ladder logic)

Hier ein Auschnitt aus Website von Jonathan Westhues, ins Deutsche
uebersetzt.

Ein KOP-Compiler für AVR und PIC16
Moderne unter drei US-Dollar kostende Mikroprozessoren haben wahrscheinlich die gleiche Rechenleistung, wie eine SPS von 1975. Daher sehen sie mehr als genug MIPS (Recheneinheit für Computerleistung) vor, um ein einigermassenen komplexes KOP-Programm mit einer Zykluszeit von ein paar Millisekunden laufen zu lassen. Ich denke, dass eine SPS für gewöhnlich ein Art Laufzeit hat, die in etwa den Interpretern von virtuellen Maschinen ähnlich sind, aber wenn wir es mit einfacher Prozessor-Logik, ohne viel Speicher, zu tun haben, dann dürfte ein Compiler die bessere Lösung sein.

So schrieb ich einen Compiler. Sie beginnen mit einem leeren Netzwerk. Sie können Kontakte hinzufügen (Eingänge) und Spulen (Ausgänge) und kompliziertere Strukturen, um Ihr Programm zu bilden. Timer (TON, TOF, RTO) werden unterstützt. Die max./min. Dauer hängen von der Zykluszeit der 'SPS' ab, welche konfigurierbar ist; Timer können von Millisekunden bis zu dem Zehnfachen von Minuten zählen. Es gibt Zähler und arithmetische Operationen (plus, minus, multiplziert mit, dividiert durch) und alle Vergleicher.

Steuerkreis-Elemente können parallel oder in Reihe zu den schon existierenden Elementen hinzugefügt werden. Es wird eine E/A-Liste von dem KOP-Programm aufgebaut. Sie können interne Relais bilden (Rfoo), für welche ein Speicherplatz automatisch zugewiesen wird, oder Eingänge (Xfoo) und Ausgänge (Yfoo), denen Sie einen Pin des Mikroprozessors zuordnen müssen. Die Auswahl der verfügbaren Pins, hängt von dem gewählten Mikropozessor ab. Ich habe die populärsten PICs und AVRs zu unterstützen versucht.

Dann können Sie Ihr Programm in Echzeit testen. Das Programm erscheint auf dem Bilschirm mit den Kontakten (bzw. Anweisungen, arithmetisch oder vergleichend) der Netzwerkzweige hellrot leuchtend, die den Signalfluss passieren lassen,
Das erleichtert die Fehlersuche (debugging). Der Status der Variablen wird in der E/A-Liste auf der Maske ganz unten angezeigt.

Wenn das Programm im Simulationsbetrieb funktioniert, können Sie den Ein- und Ausgängen Pins zuweisen und danach den AVR- oder PIC-Code erzeugen..

Ich unterstütze A/D-Wandler, eine PWM-Einheit, und UART auf den Prozessoren, die diesen vorsehen. Dies bedeutet, dass Sie ein KOP-Programm schreiben können, welches analoge Eingänge einlesen kann, und Zeichen über eine serielle Schnittstelle sendet und empfängt (z.B. zu einem PC, falls wenn Sie einen passenden Pegelumsetzer wie den MAX232 einsetzen, oder zu einem Zeichen-LCD). Es ist sowohl möglich willkürliche Zeichenfolgen über die serielle Schnittstelle zu senden, als auch Werte von Ganzzahl-Variablen als ASCII-Text. Schließlich unterstütze ich jetzt auch 'zu erhaltende Variablen' auf Prozessoren mit einem EEPROM. Sie können anweisen, dass eine bestimmte Variable automatisch, bei jeder Wertänderung, gespeichert wird, sodass ihr Wert bei Versorgungsspannungs-Abschaltungen erhalten bleibt.

Free download unter http://cq.cx/ladder.pl

oder in Deutsch unter http://cq.cx/ladder-de.html

der Download von ldmicro.exe, deutsche Version, unter

http://cq.cx/ldmicro-de.exe

Viel Spass beim Experimentieren
Zuletzt geändert von KOP-Freak am Sonntag 29. Juli 2007, 13:15, insgesamt 1-mal geändert.
KOP-Freak
Threadstarter
27338
Junior Mitglied
 
Beiträge: 12
Registriert: Dienstag 26. Juni 2007, 15:41

Assembler- oder C-Programmteile in LDmicro einfuegen

Neuer Beitragvon KOP-Freak am Sonntag 1. Juli 2007, 15:13

Hallo Leute,

die Kontaktplan-Programmierung, wie im SPS-Bereich ueblich, ist
selbstverstaendlich nicht fuer alle Anwendungen geeignet.
Fuer Ablaufsteuerungen aber sehr wohl und dies sind diejenigen,
die der normale Elektriker begreifen und kennen sollte.
In dieser Hinsicht eroeffnet LDmicro eine preiswerte und
gelungene Einstiegsmoeglichkeit.

Fuer eine Motorsteuerung moechte ich den I2S-Bus verwenden.
Diesen habe ich zwar mit LDmicro programmieren koennen, aber
selbst bei der geringsten Zykluszeit (= 0,1 ms) ist er natuerlich
noch immer viel zu langsam.

Ich habe ueber das Problem nachgedacht und meine, dass LDmicro
u.U. das Einfuegen von Funktionen zulassen sollte, die dann in
Assembler oder C programmiert werden und im Programm, mit den
dazugehoerigen Ein- und Ausgaengen als sog. Blackboxen erscheinen.
(aehnlich Siemens S5/7).
Auch waere dann das indirekte Adressieren moeglich, welches ich bei
LDmicro sehr vermisse.
Mal sehen was der Jonathan Westhuese dazu meint?

m.f.G.

der KOP-Freak
KOP-Freak
Threadstarter
27457
Junior Mitglied
 
Beiträge: 12
Registriert: Dienstag 26. Juni 2007, 15:41

Neuer Beitragvon KOP-Freak am Sonntag 29. Juli 2007, 13:19

Hallo Leute,

bis zum 27.07.07 wurde die deutsche Version von LDmicro 245mal
heruntergeladen. Vielen Dank fuer Euer Interesse!

In der Zwischenzeit habe ich auch das kleine Tutorial von LDmicro
ins Deutsche uebersetzt. Dieses ist besonders fuer Leute interessant,
die bisher noch ueber wenig SPS-Programmierkenntnisse verfuegen.

Siehe unter http://cq.cx/ladder-tutorial-de.html

Im Englischen drueckt man sich oftmals recht unterschiedlich zum
Deutschen aus (andere Idiomatik), aus diesem Grunde ist es nicht
immer ganz einfach, nahe am Urtext zu bleiben und sich dennoch
verstaendlich auszudruecken.
Eure Zusammenarbeit und evtl. Verbesserungsvorschlaege sind
deswegen erwuenscht.

Fuer das Programmieren der AVRs nehme ich am liebsten den guten, alten
Assembler. Fuer einfache Anwendungen aber, braucht man sich dieser
Muehe nicht zu unterziehen, so meine ich!
Da genuegt LDmicro, mit welchem man ja auch schon recht komplexe
Programme schreiben kann. Vorallem ist das sog. Debuggen bei
KOP-Programmen naturgemaess viel einfacher, als mit C oder Assembler.

Viel Spass beim Experimentieren
KOP-Freak
Threadstarter
27939
Junior Mitglied
 
Beiträge: 12
Registriert: Dienstag 26. Juni 2007, 15:41


Zurück zu Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste