Samstag, 23. November 2019

nodePLC.js und RunTime,js

nodePLC mit dem Praxisbeispiel Chemie Teil-2

Aus dem Projekt Praxisbeispiel Chemie-Teil 2 wurde die RunTime erzeugt und soll nun über die nodePLC gestartet werden. Diese ist für dieses Beispiel mit dem Modbus ausgestattet.

Dazu der Link zu meinem YouTube-Kanal





Nun kann die webHMI abgeschaltet werden und die nodePLC bearbeitet das Programm weiter. Ein tolle Angelegenheit, wenn man bedenkt, dass es z.B. für den Modbus mehr als 100 Geräte gibt.

Mittwoch, 20. November 2019

JS++ und Chemie

JS++ für die Chemie als Simulation und PLC


Chemische Prozesse werden in sogenannte "batches" betrieben, welche übergeordnet mittels Rezepte organisiert werden. Diese rufen dann sogenannte "operation" auf, welche wiederum zur Ausführung 'Phase'-Bausteine aufrufen. Die folgenden zwei Beispiele (Teil-1,2) zeigen die Anwendung mit dem speziellen IEC-Baustein 'Phase'.



https://www.youtube.com/watch?v=9qS3RQ4mR7E



https://www.youtube.com/watch?v=MlP0iUsWuh8


Im nächsten Post wird nun aus dem Chemie-Beispiel Teil 2 eine nodePLC generiert und schließlich als RunTime zur Verfügung gestellt. Nachfolgend das UML-Bild zur sogenannten nodePLC auch als Runtime bezeichnet.






Donnerstag, 31. Oktober 2019

JS++ und Pneumatik

Pneumatik mal ganz anders erklärt

Mit dem Browser als Client und node.js als Server kann man wunderbare Dinge erzeugen. Wunderbar im Sinne der Technik, wie z. B. die Pneumatik und deren Simulation.


Dieses Video zeigt eine kleine Vorschau für die folgende Verlinkung zu YouTube, welcher den Ausschnitt eines Seminares zeigt.



https://www.youtube.com/watch?v=KD3aqmXBinw&t=36s




Das UML-Js++ Diagramm zeigt den neuesten Zustand der Software für das Framework JS++. Neu ist nun die Verbindung der RUN-Time über den Server zur nodePLC. Diese liefert das Ergebnis aus dem "RunTest" für eine Kundenanwendung. Das ist ein Gerät welches JS versteht oder ein Programm, welches den erzeugten C++-Source einbinden kann  😉

Dazu weiter in Kürze mit dem neuen Abschnitt für das Praxis-Beispiel Chemie Teil-1/Teil-2!




Dienstag, 1. Oktober 2019

JS++ Framework für Automatisierer

Praxis-Beispiel mit dem Fadenkreuz


Wie kann ich mit dem Framework JS++ arbeiten? Eine häufig gestellte Frage. Im Praktikum werden wir solche Aufgaben behandeln. Bezüglich der oft gestellten Frage nachfolgend ein Ausschnitt zum Thema Fadenkreuz:




Hier sehr schön zu sehen, wie einfach und schnell die Integration eigener Ideen sein kann. Dieses Beispiel zeigt einen Ausschnitt zum Schulungsbereich Praxis-Anwendung. Ein weiteres Beispiel für die Anwendung der Pneumatik ist bez. der Anfragen in Vorbereitung :)

Es wird einige Tage dauern, da ich mich derzeit in einer Inbetriebnahme befinde. Also einfach ab und zu in meinem Blog nachschauen.

Dienstag, 17. September 2019

JS++ Framework für Automatisierer

Beantwortung der Fragen aus letzter Zeit:

Was kann ich mit dem Framework JS++ erarbeiten?

Zum Framework JS++:

Zunächst einige Worte zum Framework JS++ selbst: JS++ ist für JS-Programmierer entwickelt worden und bietet die Möglichkeit objektorientiert für die Automatisierung auf Web-Plattformen zu arbeiten. Es ist kein Produkt sondern ein Framework und bedeutet, dass der Anwender sein eigenes Automatisierungs-Programm damit stricken kann. Das Framework selbst ist kostenfrei und kann auf Anfrage (Kontaktformular rechts oben) angefordert werden. Die erste Version ist ab 26.09.2019 fertig und wird laufend weiter entwickelt. Voraussetzung sind die selbst vom Programmierer erstellten JS++-Funktionen und Klassen, welche im Framework angewendet werden können.

Dazu verweise ich auf das neue Buch:

Zum Buch

In den VDE-Seminaren erhalten Sie ebenfalls immer das aktuelle Framework:


Die Erstellung der Scripte für Funktionen bzw. Klassen werden als Grundlage mit dem Framework dazugelegt und können auch speziell für Ihre Bedürfnisse (nicht kostenfrei) entwickelt werden.

Die geplanten Videos:

Die angedeuteten Videos werden auch für Sie kostenfrei erstellt und können bedingt durch Ihre Anfrage an Sie gesendet werden, sobald ich die ersten 10 Videos fertig gestellt habe. Ob diese in YouTube veröffentlicht werden, muss ich mir noch überlegen. Lust dazu habe ich keine :(, da YouTube, nach meiner Meinung, sich sehr negativ entwickelt. Die restlichen Videos von Lexion 11 bis Lexion 25 werden nicht kostenfrei sein, aber in den VDE-Seminaren den Teilnehmern mit beigelegt.

Seitenzahl und Objekt-Anzahl:

Das Thema wieviel Objekte kann ich auf eine Webseite laden?
Dazu habe ich einen kleinen Film erstellt, welcher fast alles erklären wird. Die gesamte Anzahl der möglichen Seiten und Objekte sind nicht begrenzt. Ich denke das sind eine ganze Menge. Das größte Projekt hat bis jetzt 16 Seiten und 850 Objekte. Es handelt sich hierbei um eine komplette Visualisierung (HMI) und teilweise Automatisierung mit der nodePLC  für einen Hüttensand-Kran. Die komplette Automatisierung des Kranes wurde auf einer S7-1200 umgesetzt (TIA-Portal V15).



In diesem Video wird der Modbus-Zugriff auf eine S7-1200 noch einmal gezeigt. Besonders ist hier die Möglichkeit der Seitenanwahl schön zu sehen.



Viele möchten den SW-Stand erfahren. Dazu das aktuelle Diagramm:



Mit Lexion 25 ist das quasi Datenbank-Modul fertig und stellt nun bis auf das KI-Modul und die nodePLC das gesamte Framework dar. Die Objecte werden nun in eine propitäre DB gespeichert. Eine schon vorhandenes DB.js konnte ich nicht als geeignet finden. Diese DB organisiert auf einfache Weise Objekte und ist trotz JSON-Format "affenschnell" und industrietauglich, da entsprechende Sicherungsmassnahmen eingeflechtet wurden (Hash).

Das KI-Modul und die nodePLC sind in Arbeit und kostet derzeit eine Menge Arbeitseinheiten :)

KI-Modul:

Hier geht es um JS-Objekte welche über Experten direkt am Browser erweitert werden. Das Ergebnis soll einem speziellen Team (z. B. Ärtze) helfen, Entscheidungen mit KI zu unterstützen. Das vorab zur Info. Der Teil wird vorerst nicht veröffentlicht.

NodePLC:

Die PLC soll keine übliche PLC ersetzen. Das wäre nicht sinnvoll und auch nicht zeitgerecht. Hier geht es um interaktives Arbeiten am Browser, welches dann über das KI-Modul die PLC mit JS-Programmen füttert. Beispiel in Arbeit ist eine CNC-Kopplung über DXF-Files (Laserschneiden, Fräsen usw.)  und das automatische Sichern von Programmen und Dateien über den Browser. :)
Für Schulen wird das Thema Pneumatik mit Simulation bearbeitet.

Das zuerst vorab als Info, aufgrund der vielen Anfragen. Danke !!




Sonntag, 8. September 2019

Praktische Anwendung aus Lexion 21 JS++-Framework

Die Schnittstelle zum APP-Manager


Eigentlich müsste der App-Manager Device-Manager heißen. Da dort auch Applikationen laufen habe ich den Begriff APP-Manager beibehalten. Im folgenden Video sehen wir einen Ausschnitt aus einem Vortrag mit der S7-1211C und demonstriert hier die Eigenschaften der RUN-Scripte für verschiedene Quellen aus der laufenden S7-1211C.





Auch hier ist die Tonqualität zu entschuldigen, da diese Aufnahme während des Vortrages entstand. Hier sehen wir eine Anwendung mit der Visualisierung JS++ und dem Programm der SPS S7-1200, welche über Ethernet verbunden sind. Dazu wurde vom App-Manager die Version Simatic.js automatisch erkannt und ausgewählt.

Die Anwendung ist auf dem Browser in ca. 15 Minuten erstellt worden!

Auf Grund der vielen Anfragen bezüglich der NodePLC.js kann ich hier folgendes dazu beitragen:

Die NodePLC.js ist eine SW-PLC und läuft auf dem Server. Das ist letztendlich das Gerät auf dem node.js installiert ist. Die Soft-SPS ist mit den IEC-Bausteinen und natürlich mit  JS programmierbar.

Zudem können IEC-Bausteine eigene JS-Inhalte darstellen, sodass eine übersichtliche Struktur in der SW-PLC zu finden ist, welche über den Browser wunderbar kommunizieren und visualisieren kann. 

In den weiteren Lexionen wird auch die nodePLC.js vorgestellt.

Freitag, 19. Juli 2019

Voraussetzung für die praktische Anwendung der KI mit JS++.js

JS++.js ist eine Bibliothek mit der die Voraussetzung der praktischen Anwendung der KI umgesetzt werden kann.


Es handelt sich hier nicht um eine neue Programmiersprache, sondern die besondere Anwendung von JavaScript (JS) mit dem aktuellen Stand ECMAScript (ES7).

Beispiel Automatisierung

In der Bibliothek werden nur Klassen, so wie diese in C++ Anwendungen zu findet sind, verwendet. Das Basiswissen dazu kann aus dem Buch "Automatisieren mit Web-Technologien" oder den angebotenen Kursen über den VDE-Verlag angeeignet werden. 

Was nicht so ohne weiteres gegoogelt werden kann, ist die bereits angesprochene Anwendung für eine Automatisierung. Dazu gehört auch die praktische Anwendung der KI, welche bereits in einem Kranprojekt umgesetzt wurde.

Der Kran lernt seine Fahrten mit und ohne Last und kann nach seiner Lernphase den Lasthaken pendelarm fahren. Die dazu notwendigen "Lerndaten" werden in der SPS oder im Server gespeichert.

Was kann JS++.js nun und welche JS-Komponenten sind bereits umgesetzt worden?

JS++.js vereinbart einige JS-Dateien und ermöglicht so die Anwendung der Automatisierung im Netztwerk oder als Single-System auf einer JS-fähigen Hardware. Die Visualisierung erfolgt im Browser Google Chrome und wird von node.js als Server bedient (Bild 1).


Bild 1:  Browser und Server bilden eine Automatisierungs-Einheit


Einige Anwendungen sind hier in den  nachfolgenden Video-Links zu sehen. Es handelt sich hier jeweils um eine Vorschau aus verschiedenen Vorträgen. Die Tonqualität ist zu entschuldigen, da diese Aufnahmen bezüglich der störenden Geräusche gefiltert wurden.







Interessenten zum Thema Automatisieren mit Web-Technologien können sich bei mir melden unter johanneshofer@tia-expert.com

Zudem ist ein Video-Kurs für JS-Fortgeschrittene zur Anwendung der Datei JS++.js geplant. Bei entsprechender Anmeldezahl wird der Kurs Mitte September gestartet. Der Kurs ist kostenfrei!

Die im o.g. Buch gezeigten Grundkenntnisse müssen verstanden sein, sonst wird der JS++-Kurs für den Teilnehmer im Detail nicht erfolgreich sein.


Hier noch einige Links zu diesem Thema:
VDE Buchverlag/Seminare: