Möglich,obwohl nicht möglich.

Gast #3074389
Lesenswert?

Hallo Zusammen,

Aufgrund eines Codesammlungstreads bin ich auf folgende IDEE gekommen:
(Imgrunde ein Interpreter)

Daten (STEP 7 AWL Datei) wird auf SD Karte kopiert.
AWL Sourcen werden abgearbeitet.

Das funktioniert schon.
(Zykluszeit bei 16000 Zeilen inklusive Aremetik 10ms Befehlsatz: 130 von 
165 Befehlen)

Nun ist das Problem:
Neues Programm wird geladen.

Lösungsvorschlag:
Es wird das aktuelle Programm von SD Karte abgearbeitet (z.B. 1.awl)
und nach der Abarbeitung das neue Programm (z.B.2.awl) von vorne 
abgearbeitet.

Scheinbar ist dies unlösbar.
(AWL Interpreter wurde schon gesagt, das es nicht funktioniert-> Geht 
seit etwa 5 Jahren ohne Probleme)

Ist Interesse an diesem Projekt vorhanden?
Wenn ja: Prozessor ist STM32F4. Belastung ROM : 20% Belastung RAM: 50%
Interpreter ist an Siemens CPU 315 angelehnt.
Interpreter steht.
Kommunikation fehlt noch.


Ich hoffe es interrresiert sich wer dafür.
Bei WIRKLICHER Interresse, werde ich die Source und Schematic Files 
posten.


mfG
DaOideKurtl
Gast #3074511
Lesenswert?

Abgesehen davon das ich nicht verstehe warum man statt C in AWL 
programmiert,
folgender Ansatz:

Wenn du die Ausgänge schaltest (ganz am Ende wird das ja gemacht), 
einfach noch eine If-Abfrage "Neues Programm?" JEP -> neues Programm 
laden
Nö -> normal weiter machen (Eingänge lesen)

Sorecht kann ich aber nicht glauben das das die Lösung ist und warum man 
sowas überhaupt entwickelt.
Für Privat halte ich es für zu aufwendig, da kann man auch gleich bei C 
bleiben. Gewerbliche Nutzung wird sicherlich Probleme mit den Lizenzen 
und Patenten geben.
Vor allem gibt es schönere Entwicklungsumgebungen wie das olle Sematic.
#3074566
Lesenswert?

Vor jahren hatte ich mal eine Technikerarbeit, wo eine 
Mikrocontroller-SPS gebaut wurde. Auf dem PC wird in AWL programmiert, 
beim "Download" wird aber erstmal (damals noch) Assembler erzeugt und 
durch den Compiler gejagt. Der Controller bekommt dann eine Hex-Datei 
wie immer.

Ein AWL-Interpreter ist aber sicherlich interessant. Welche 
Sprachkonstrukte werden bisher unterstützt??
Macht es aber überhaupt Sinn, auf einer fest installierten Klein-SPS 
verschiedene Programme ablaufen zu lassen? Bei Änderungen kann man ja am 
PC die alte 1.awl nach 1_Version_Uralt.awl kopieren und eine neue 1.awl 
auf die Karte ziehen.
Gast #3074745
Lesenswert?

Warum verpackst du nicht jedes einzelne AWL-Programm in einen eigenen 
"Funktionsbaustein"?
Dann könntest du auch einen Art Player drum herum schreiben, der dir das 
Aktivieren und Deaktivieren der einzelnen Funktionsbausteine erlaubt.

Bleibt noch die Frage, wie du die Aktualisierung der In- und Outputs 
machst. Klassisch würde die SPS erst nach Abarbeitung aller 
Funktionsbausteine aktualisieren.

Offtopic: ich frage mich auch, warum man ausgerechnet AWL braucht... Ich 
durfte mit allen Programmiertypen von Siemens arbeiten. KOP und 
besonders AWL waren das Schlimmste. Als echter Digitaltechniker schnitzt 
man alles mit FUP :D
C würde ich auch Millionen Mal dem SCL vorziehen, da die SCL-Syntax 
einfach nur verkrustet alt ist (Pascal oder so?) und (wie ich finde) 
übertrieben sicher gemacht wurde.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren