Forum: Mikrocontroller und Digitale Elektronik SPS mit Microkontroller


von C. W. (htbl)


Lesenswert?

Hallo!
Ich möchte nun ein neues Projekt beginnen. Und zwar will ich eine kleine 
SPS mit einem PIC18F8722 realisieren.
Mein Problem ist nun, dass ich noch nicht so recht weis, wie ich den 
Anwendercode formatieren soll, damit ich ihn in den EEPROM speichern und 
wieder lesen und ausführen kann.
Wie könnte man z.B. die Befehle
1
L Eingang0
2
L Eingang1
3
U
4
T Ausgang0
kodieren?

Hat jemand grundlegende Ideen, wie man das angehen kann?

von LogoFan (Gast)


Lesenswert?

überlass das Denken den Pferden und nimm was Fertiges :-)

informiere dich über Byte-Code, Tokens usw.

MfG

von Axel (Gast)


Lesenswert?

Das gibts es schon im Netz.
Es wurde eine .h Datei mit den Definitionen geschrieben, war recht 
simpel.

Werde ich heute Abend suchen.


Axel

von Axel (Gast)


Lesenswert?

Der Suchbegriff "SPS mit Microkontroller" brachte bei Google 58.000 
Treffer

Der vielversprechendste ist glaube ich: SPS-ctrl


Axel

von Ib (Gast)


Lesenswert?

try this   http://cq.cx/ladder.pl

mfg
Ib

von C. W. (htbl)


Lesenswert?

Google habe ich auch schon versucht, jedoch stößt man da meistens auf 
das "MicroSPS"-Projekt.

@Axel: Weist du vielleicht noch ungefähr, wie dieses Projekt oder die 
.h-Datei ungefähr hieß?

von Axel (Gast)


Lesenswert?


von morph (Gast)


Lesenswert?

is ja witzig, genau sowas bau ich grad als kleine türsteuerung mit dem 
selben chip :)

bin auch am überlegen ob ichs allgemeiner programmieren, soll eeprom is 
ja genug drauf auf dem chip und ich hab ein 320x240px touchscreen dran 
hängen.


also für nen interpreter wär ich dankbar

von morph (Gast)


Lesenswert?

aja und sei vorsichtig beim package in eagle (falls du eagle 
verwendest)! der chip is ja tqfp80, davon gibts aber mehrere größen! das 
package in der ref-lib ist das falsche! einfach das aus der microchip 
library kopieren

von Matthias L. (Gast)


Lesenswert?

>L Eingang0
>L Eingang1
>U
>T Ausgang0

Und hört mit AWL auf. Heutzutage programmiert man SPSen in ST 
(strukturierter Text).

von Otto (Gast)


Lesenswert?

>L Eingang0
>L Eingang1
>U
>T Ausgang0

so geht es auch bei keiner bekannten SPS - entweder wortweise hier z. B. 
bei Siemens-AWL

L EW 0
L EW 1
UW
T AW0

oder bitweise:

U E 0.1
U E 0.2
= A 0.0

Gruss Otto

von C. W. (htbl)


Lesenswert?

sorry Axel, der Code ist mir auch schon untergekommen. Aber leider hilft 
er mir nicht bei meinem Problem wie ich den SPS-Code im EEPROM ablegen 
soll.

von C. W. (htbl)


Lesenswert?

Das Ablegen im EEPROM habe ich nun so gelöst, dass jedem Digital 
Eingang, jeder Ausgang, jeder Funktion usw. ein eigenes ASCII Zeichen 
zugewiesen ist.
So entspricht z.B. der Code
1
U DI0
2
U DI1
3
= DO0
 folgenden ASCII Zeichen (in Hex)
1
0x19 0x01 0x19 0x02 0x1B 0x09

Wie kann ich das nun in C durchlaufen lassen? Derzeit habe ich das 
wirklich schrecklich gelöst, indem ich mit einer switch-Anweisung 
abfrage welches Zeichen man hat und was zu tun ist.
Gibt es eine elegantere Lösung, die ASCII Zeichen Ein/Ausgängen oder 
Operationen zuzuweisen?

von Jörg S. (joerg-s)


Lesenswert?

Vielleicht direkt mit Anweisungen wie strcmp() oder strstr() (in 
string.h) suchen?

von Alain F. (fox82)


Lesenswert?

Da bin ich mal drüber gestolpert:

http://www.microsps.com/

Hardware --> AVR-CTRL

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.