-> Hier kostenlos registrieren
Hallo zusammen,
ich möchte euch gerne mein jetziges Freizeitprojekt vorstellen.
Und zwar handelt es sich dabei um ein Node.js Wrapper für die snap7 Bibliothek. Für alle, die sich jetzt fragen was Node.js ist, hier ein kurzer Wiki Auszug
Javascript hat natürlich in erster Linie nichts mit Hochsprachen zu tun, aber das Addon selber ist in C++ geschrieben. Da ich nicht viel Zeit habe, kein gelernter Programmierer bin und das Projekt weit davon entfernt ist fertig zu sein, ist natürlich jede Hilfe willkommen
Und was kann man damit nun anfangen? Zum Beispiel mit wenigen Zeilen Javascript ein paar Daten der SPS lesen oder schreiben
oder eine kleine Weboberfläche erstellen

Projektrepo: https://github.com/mathiask88/node-snap7
Gruß,
Mathias
ich möchte euch gerne mein jetziges Freizeitprojekt vorstellen.
Und zwar handelt es sich dabei um ein Node.js Wrapper für die snap7 Bibliothek. Für alle, die sich jetzt fragen was Node.js ist, hier ein kurzer Wiki Auszug
Node.js ist eine serverseitige Plattform zum Betrieb von Netzwerkanwendungen. Insbesondere lassen sich Webserver damit realisieren. Node.js basiert auf der JavaScript-Laufzeitumgebung „V8“, die ursprünglich für den Chrome-Browser entwickelt wurde, und bietet daher eine ressourcensparende Architektur, die eine besonders große Anzahl gleichzeitig bestehender Netzwerkverbindungen ermöglicht.
Javascript hat natürlich in erster Linie nichts mit Hochsprachen zu tun, aber das Addon selber ist in C++ geschrieben. Da ich nicht viel Zeit habe, kein gelernter Programmierer bin und das Projekt weit davon entfernt ist fertig zu sein, ist natürlich jede Hilfe willkommen

Und was kann man damit nun anfangen? Zum Beispiel mit wenigen Zeilen Javascript ein paar Daten der SPS lesen oder schreiben
Code:
[B]var[/B] snap7 [B]=[/B] require([COLOR=#DD1144]'node-snap7'[/COLOR]);
[B]var[/B] s7client [B]=[/B] [B]new[/B] snap7.S7Client();
s7client.ConnectTo([COLOR=#DD1144]'192.168.1.222'[/COLOR], [COLOR=#009999]0[/COLOR], [COLOR=#009999]1[/COLOR], [B]function[/B](err) {
[B]if[/B](err)
[B]return[/B] console.log([COLOR=#DD1144]' >> Connection failed. Code #'[/COLOR] [B]+[/B] err [B]+[/B] [COLOR=#DD1144]' - '[/COLOR] [B]+[/B] s7client.ErrorText(err));
[COLOR=#999988][I]// Read the first byte from PLC process outputs...[/I][/COLOR]
s7client.ABRead([COLOR=#009999]0[/COLOR], [COLOR=#009999]1[/COLOR], [B]function[/B](err, res) {
[B]if[/B](err)
[B]return[/B] console.log([COLOR=#DD1144]' >> ABRead failed. Code #'[/COLOR] [B]+[/B] err [B]+[/B] [COLOR=#DD1144]' - '[/COLOR] [B]+[/B] s7client.ErrorText(err));
[COLOR=#999988][I]// ... and write it to stdout[/I][/COLOR]
console.log(res)
});
[COLOR=#333333][FONT=Consolas]});
[/FONT][/COLOR]
oder eine kleine Weboberfläche erstellen

Projektrepo: https://github.com/mathiask88/node-snap7
Gruß,
Mathias
Zuletzt bearbeitet: