[TC3] Ein identisches Programm auf 4 Platformen - Parameterfile auslagern?

Pneumatik

Level-2
Beiträge
46
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe 4 automatisierte Plattformen auf denen verschiedene Positionen (Tolleranz ~0,3mm) angefahren werden sollen.
Die Platfformen sind von den Komponenten identisch aber aufgrund Montage unterscheiden sich einige Parameter wie z.B. Positionen.

Ich möchte wegen der Wartung und Versionierung vermeiden unterschiedliche Solutions zu erstellen und deshalb dachte ich es wäre doch gut die nicht konstanten Parameter in ein Parametrisierungsfile auf der SPS auszugliedern. Z.b. als csv

Durch das auslesen dieser Datei würde dann beim Initialisieren die maschinenabhängigen Parameter geschrieben werden.

Hat jemand sowas schon gemacht? Oder eine bessere Idee?

Ich bin auf eure Erfahrungswerte gespannt.
 
Hallo,

wenn es nur darum geht, die Werte vor Netzausfall zu sichern, kannst du sie auch in einer GVL als VAR_GLOBAL PERSISTENT speichern. Das geht deutlich schneller.

Wenn du die Werte gänzlich sichern möchtest, dann ist die csv-Variante gut.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Malloc,

vielen Dank für deine Antwort.

Mir geht es aber darum, das ein SPS-Programm immer feste Positionen anfahren soll und diese unterscheiden sich je nach Maschine/SPS.
Aktuell gibt es eine Initialisierungsdatei in der ich per Hand mit einem speziellen Verfahren gemessene Positionen eintrage in eine Array aus Positionsvariablen eintragen.

Siehe Beispiel:

Code:
//########################################################################
// x-Position
//########################################################################
If GVL_Machine.sHostName='Machine1' Then
  GVL_Positions[1].fPosX := 53.4; 
  GVL_Positions[2].fPosX := 56.5;
  ....
End_IF;

If GVL_Machine.sHostName='Machine2' Then
  GVL_Positions[1].fPosX := 53.0; 
  GVL_Positions[2].fPosX := 56.7;
  ....
End_IF;


Diese Positionen variieren aber minimal je Maschine. Aktuell gibt es beim Initialisieren eine Methode die den SPS Namen ausliest und dann abhängig davon die "richtigen" Positionen einließt.
Nun fände ich aber eine allgemeinere Variante sinnvoller, dass z.B. immer aus einer speziellen benannten CSV die Variableninformationen ausgelesen werden.

Ist das wirklich ein so unübliches Problem? Ich bin für alle Tips dankbar :)
 
Hallo Pneumatik,

gibt es eine Visualisierung an der man etwas einstellen könnte?
Wenn ja, könnte man eine nur für den Service sichtbare Seite erstellen in der die individuellen Parameter der Anlage dann eingestellt werden können!
Diese müssen dann natürlich, genau wie malloc sagt persistent gespeichert werden!

Für das erstellen einer CSV Datei nutze ich die 3 folgenden Bausteine von Beckhoff:
- FB_FileOpen
- FB_FileWrite
- FB_FileClose

https://infosys.beckhoff.com/conten...libsys_fb_fileopen.htm?id=1303723568827640306

Gruß
snej
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@snej: Als Visualisierung habe nwie eine C# GUI. Also eine im SPS Programm gibt es in dem typischen Sinn nicht.

@Brro Von Rezepten habe ich vorher noch nicht gehört. Vielen Dank für den Tip.
 
Zurück
Oben