Hier die, in meinem „Vorstellungspost“ angesprochenen Bibliotheken „OSCAT Basic“ und „OSCAT Building“ für OpenPLC.
Folgende Anmerkungen sind wichtig zu wissen: OpenPLC verfügt über keinerlei Bibliotheksmanagement. Zum einen bedeutet es, dass ich jeden einzelnen Baustein bzw. jede einzelne Funktion „händisch“ konvertiert habe. Jeder Baustein ist zwar mit dem OpenPLC Compiler überprüft, dennoch könnte ich mir vorstellen, daß sich der ein oder andere Fehler eingeschlichen hat. Meine Bitte: Falls ein Fehler entdeckt wird, bitte korrigieren und hier posten.
Zum anderen: Aufgrund der fehlenden Bibliotheksfunktion habe ich die OSCAT Bibliothek entsprechend der Aufteilung der OSCAT Dokumentation in einzelnen OpenPLC Projekten gespeichert. Möchte man einen Baustein nutzen, übernimmt man diesen einfach per copy / paste aus dem „OSCAT-OpenPLC-Projekt“ in sein eigenes Projekt. Falls ein Baustein auf weitere Bausteine zurückgreift, was ja recht häufig der Fall ist, habe ich dies am Ende des ST-Codes vermerkt. Diese müssen dann ebenfalls kopiert werden. Auf jeden Fall finden sich immer alle benötigten Bausteine in einem Projekt zu einem Kapitel der OSCAT Bibliothek. Es ist also nicht erforderlich mehrere Projekte zu öffnen. Falls OSCAT spezifische Datentypen erforderlich sind, müssen diese im eigenen Projekt „per Hand“ deklariert werden.
Der Inhalt des angehängten ZIP Files:
OSCAT BASIC 3.33:
4 Other Functions (nicht vollständig)
5 Mathematics
6 Arays
7 Arithmetic functions
8 Geometric functions
9 Vector mathematics
10 Arithmetics with double precision
11 Time & Date
12String functions (nicht vollständig)
13 Memory modules
14 Pulse generators
15 Logic modules
16 Latches, flip-flop and shift registers
17 Signal generators
18 Signal processing
19 Sensors
20 Measuring modules
21 Calculations
22Control modules
23 Device driver
24 Buffer management (nicht vollständig)
25 List processing (nicht vollständig)
OSCAT BUILDING (Whole Library)
Bei einigen Bausteinen bin ich leider gescheitert. Entweder aufgrund fehlender Fähigkeiten von OpenPLC (z.B. Pointer) oder durch eigene Einschränkungen. Hier bin ich für jede Hilfe dankbar.
Natürlich erfolgt die Nutzung auf eigenes Risiko unter Ausschluss von Haftung oder Gewährleistung.