CN für Bachmann M1

Die Bachmann M1 ist eine leistungsfähige Industriesteuerung.

Die CN für für die Bachmann M1 ist der Lua Standalone Version (https://www.lua.org/pil/1.4.html) sehr ähnlich, sie ist nur um die NOGS Bibliotheken erweitert.

Hier kann man den Start der CN im SolutionCenter sehen.

 

 

Installation

Alle benötigten Files sind auf Github zu finden: BachmannM1

Konfiguration der CN

Damit das CN Modul geladen werden kann muss eine entprechende Konfiguration in der mconfig.ini angelegt werden.

Die beiden Sektionen (BaseParams) und (ControlTask) sind in der Bachmann Dokumenetaion beschrieben.

Die Sektion (LuaTask) konfiguriert den eigendlichen Lua Task:

CycleTime in ms gibt die Rate an mit der der Lua Task läuft. Da Lua wie die meisten Programmiersprachen nicht auf Zyklen basiert, hat der Wert hier eine etwas andere Bedeutung als z.B. für einen IEC61131 Task. Bei einem CycleRatio von 50 (%) verbraucht der Lua Task maximal 50% der CPU Zeit. Das heißt, dass bei einer CycleTime von 10ms der Lua Task maximal 5ms läuft und dann für minimal 5m die CPU abgibt. Wenn der Lua Task fortgesetzt wird, wird die Systemroutine sys_CycleStart() aufgefrufen, beim abgeben sys_CycleEnd(). Finden in dem Lua Task asychrone Opertionen statt (z.B. Socket IO, warten auf System Resourcen) kann die verbrauchte Zeit deutlich unter 50% liegen.

CycleRatio gibt das Verhältnis von maximaler Laufzeit zur minimale Pausenzeit in % für den Task an. Es ist ein Bereich von 5% bis 95% möglich. Werte über 50% sollte man meiden.

Startup gibt das Verzeichnis und Lua File an welches von der CN gestarted werden soll.

AutoRestart gibt an ob die Lua Applikation nach einem Fehler automatisch neu gestarted wird.

 

Die Demos benötigen diese Modulkonfiguration:

An das GIO212 wird an Kanal eins ein PT100 angeschlossen. Der Rest bleib unbelegt. Die Versorgungsspannung wird an 17, 19 (+24) und and 28, 20 (0V) angeschlossen.

 

 

Download

20170207 CN for Bachmann M1

  • Erste Version

20171005 CN for Bachmann M1

  • Fehlerbehebung und Optimierung
  • Option LuaTask AutoRestart bewirkt einen Neustart wenn das Lua Programm beendet wird
  • Unterstützung für den Codegenerator von p+

BachmannM1

  • Umgezogen auf Github
  • Fehlerbehebung
  • (CycleRatio) eingebaut
  • Neue Funktion svi.createVariable(name, type) zum erstellen von SVI Variablen unter dem CN Task
  • Vollständige Einbindung in p+

Beispiele für Lua Scripte

Enthalte Module auflisten

Wie unter Bibliotheken beschrieben gibt es Bibliotheken die bereits in der CN enthalten sind. Mit diesem kleinen Programm kann man sich anzeigen lassen welche das sind:

Die Ausgabe auf der Konsole der Bachmann M1 wird etwa so aussehen:

socket.core und mime.core gehören zu der Socket Bibliothek welch als Lua File vorliegt. Sie können nicht direkt verwendet werden.

Abfragen der Module

Eine Bachmann M1 kann bis zu 16 Stationen besitzen auf der bis zu 16 Module gesteckt werden können. Dabei darf es die CPU nur einmal geben. Um die Module und ihre Position aufzulisten kann man über den Bus der Steuerung ilterrieren:

Auf der Konsole erscheint bei der oben geigten Konfiguration:

Bitte beachten das Listen in Lua die aus key/value Paaren bestehen in beliebiger Reihenfolge erscheinen!

Der Zahlenwert 101 bedeutet: Station 1, Modul 1. Dort befindet sich das Netzteil NT255

Der Zahlenwert 104 bedeutet: Station 1, Modul 5. Dort befindet sich das IO Modul GIO212

Neben dem Name (bus[].name) gibt es weiter informationen wie: card, slot, mode, state, category, macChannels, driveName, current5V, currentP15V, currentM15V u.s.w.

Wichtig sind die Funktionen getValue, setValue und getError.

Lauflicht

Es soll ein Lauflicht mit 8 Kanälen auf dem GIO212 realisiert werden. Die Kanähle 5 bis 8 müssen zu dem Zweck als Ausgänge eingestellt werden (siehe Bachmann Dokumentation)

PT100 abfragen

Auf der Station 1, Modul 4 befindet sich ein GIO212 bei dem der erste Kanal als PT100 Temperatursensor konfiguriert ist. Es wird ein Timer angelegt der die Temperatur alle 5 Sekunden ausließt und auf der Konsole anzeigt.

Diesmal findet der Zugriff auf das Modul über das SVI der Steuerung statt.

Beispiel für p+

Die CN für die Bachmann M1 ist vollständig in das p+ System integriert.

Dabei ist es möglich die Simulation auf dem lokalen Rechner laufen zu lassen und die Bachmann Module als Ein-/Ausgänge zu nutzten.

Es ist auch möglich die Simulation direkt (standalone) auf der Bachmann CPU auszuführen.

Hier ein einfaches Lauflicht mit einem DO216 Modul welches auf der Bachmann CPU läuft.

 

Um die Simulation auf die Bachmann zu laden, muss der entprechende Remote taget konfiguriert werden. Dafür ist die IP Adresse notwendig, User Name und Passwort sowie der Pfad wo die Files der Simulation abgelegt werden sollen. Bei einem upload wird der CN Task automatisch angehalten und mit den neuen Files wieder gestartet.

 

 

 

 

 

 

 

 

 

 

Bachmann M1 PLC ist ein Produkt der Firma Bachmann

 

 

 

Rating: 5.0. From 2 votes.
Please wait...