TwinCAT WebService & tame3

Crashy

Level-1
Beiträge
123
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
TwinCAT via WebService & tame3 oder fhem & ModBus

Hallo zusammen.
Ich versuche verzweifelt den Webservice in Verbindung mit tame ans Laufen zu bekommen.
Ich habe den Webservice gemäß dieser Seite http://infosys.beckhoff.com/ für XP eingerichtet.
Ich habe tame ins Verzeichnis c:\TwinCAt kopiert und folgendes gemacht:

- Edit "tamex\resources\webservice.js" and change the parameters of the webservice to your need:
serviceUrl: 'http://x.x.x.x/TcAdsWebService/TcAdsWebService.dll',
amsNetId: 'x.x.x.x.1.1',
amsPort: '801', //default
//alignment: '1', //default, set it to "4" if you have TC2 and an ARM based PLC device (i.e. CX90xx), to 8 with TC3
//language: 'ge' //default, set it to "en" for english names of days and months
Die dll liegt allerdings in C:\TwinCAT\AdsApi\TcAdsWebService\V100\xp -- schon ein Fehler ?
Im Zertifikat steht der Computername, nicht die IP --- Fehler ?

- Copy the "tamex"-folder to your webserver with the ADS-Webservice installed.
Liegt unter c:\Twincat


- Open the "plc\demo.pro" in TwinCAT 2 ("demo_TC3" is for TwinCAT 3), build and run it on your PLC.
i.O.


- Open "http:\\your_web_server\tamex\index.html" with your favorite browser.
Weder bei Benutzung der IP, noch des namens lässt sich die Seite nicht aufrufen.

Was habe ich falsch gemacht ?
Lässt sich der WebService irgendwie testen ?

Ich habe es auch mit dem Beispielprogramm probiert. VisualStudio befindet sich auf einem lokalen Rechner, Anpingen geht natürlich.

Und vielleicht kann mir noch jemand die TcAdsWebService.js zuschicken oder einen Link mitteilen. Kann die Bibliothek nämlich nirgends finden.


Parallel dazu habe ich es mit FHEM und Modbus probiert, aber auch da bekomme ich keine Kommunikation aufgebaut.

Zur Konfiguration:
XP mit TwinCAT2 in einer VM auf einem ESXi-Server



Schon mal danke für Infos.

Gruß Thorsten
 
Zuletzt bearbeitet:
Mit dem WebService bin ich kein bißchen weitergekommen.

Daher habe ich es nun wieder mit dem ModBus versucht.
Die Kommunikation steht in zwischen :s12:
Nur leider lassen sich keine Signale/Werte im PLC-Projekt ändern.
Merker soll ja bei 12288 anfangen, Ausgänge bei 32768.
Ich nutze ModbusPoll. SlaveID ist 1.
Buskoppler ist ein BK9000.

Hilfe wäre nett. Danke.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thorsten!

Ich habe tame3 im Einsatz, funktioniert einwandfrei!

Wenn Du den TcAdsWebService auf einem PC einrichten möchtest, musst Du den IIS-Webserver aktivieren und dort den Service laut Anleitung auf infosys.beckhoff einrichten.
Auf einer PLC (CX) reicht es den Ordner "TcAdsWebService" in den Ordner "www" zu kopieren.

Testen kannst Du den Service, indem Du "ip.des.web.servers/tcadswebservice/tcadswebservice.dll" aufrufst. Als Antwort sollte der PLC-Port und die NetID kommen.

lg Martin
 
TwinCAT WebVisu

Ich wollte mich nach langer Zeit mal wieder an der WebVisu versuchen.
Es scheitert an mangelnder Funktionalität.
Eingerichtet nach Anleitung, Projekt bereinigt und neu übersetzt, Files liegen auch im WebVisu-Ordner.
Bei http://xxx.xxx.xxx.xx/TcWebVisu/ bekomme ich "Sie sind nicht berechtigt, dieses Verzeichnis oder diese Seite anzuzeigen." (Chrome) bzw. "Die Website hat die Anzeige dieser Webseite abgelehnt" (IE).
Bei http://xxx.xxx.xxx.xx/tcadswebservice/tcadswebservice.dll bekomme ich Port und Net-ID angezeigt.

Windows 7, TwinCAT 2.11.2043
 
Zuletzt bearbeitet:
Läuft das ganze auf einer PLC (CX) oder auf einem PC? Aber egal, in beiden Fällen müssen die Berechtigungen auf den WebService eingerichtet werden.
Am CX muss unter (ich denke) "PLC Configuration" der anonyme Zugriff (ist am einfachsten zum Testen) eingestellt werden. Über CerHost auf die IP des CX verbinden, im Control-Panel -> PLC Configuration.
Am PC unter Internet-Informationsdienste -> "TcWebVisu"? -> Eigenschaften -> Verzeichnissicherheit.

Wenn beim Aufruf der dll schon mal Port und NetId als Antwort kommt, läuft die ADS-Kommuniktion schon mal, der Rest ist vermutlich ein Rechteproblem.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Läuft auf einem PC.
Die Einstellungen wurden gemäß Beckhoff-Anleitung durchgeführt.
Der Ordner C:\TwinCAT\Boot ist standardmäßig schreibgeschützt. Dort wird auch der Ordner "WebVisu" vom TwinCAT angelegt.
 
Ich vermute C:\TwinCat\Boot ist falsch. Der IIS zeigt per default glaub ich auf C:\Inetpub. (siehe Eigenschaften der "Standardwebseite" -> "Basisverzeichnis" im IIS).
Hier hast du laut Anleitung "Install TwinCAT ADS Webservice on a PC (here: Windows 7)" das virtuelle Verzeichnis zum TcAdsWebService hinzugefügt.
Im "root" des IIS ("C:\Inetpub") sollte es noch das Verzeichnis "wwwroot" (oder so ähnlich) geben. Hier muss der Ordner "tamex" rein. Dann sollte es funktionieren xxx.xxx.xxx.xx/tamex/index.html.

lg Martin
 
Es solte erst mal TwinCAT funktionieren, bevor ich es mit Tame4 teste.
Und du hattest Recht, es stand noch "./inetpub/wwwroot" drin.
Habe die Site gestoppt und eine neue hinzugefügt mit "c:/TwinCAT/Boot" und die neue gestartet.
Aber auch jetzt funktioniert es nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab das eben mal bei mir versucht:
Verzeichnis im IIS hinzugefügt => Alias:TwinCatBoot => Verzeichnis C:\TwinCat\Boot (darin liegt noch der Ordner "WebVisu")
Ist über xxx.xxx.xxx.xx/TwinCatBoot/WebVisu/index.html erreichbar. Wird keine "index"-Datei im Verzeichnis gefunden, kommt "Directory Listing Denied".

lg Martin
 
In dem Ordner existiert eine index.html

Der TwinCAT ADS Service funktioniert ja mit der Standardseite
 

Anhänge

  • fehler_webservice.jpg
    fehler_webservice.jpg
    115,2 KB · Aufrufe: 21
Zuletzt bearbeitet:
Hast du schon versucht die Site direkt aufzurufen? xxx.xxx.xxx.xx/WebVisu
Du hast im IIS eine neue "Top-Level"-Seite angelegt, vermute die braucht den Alias "TwinCat" nicht.

lg Martin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anbei ein Screenshot.
Da siehst Du links die drei Sites, die für ADS Webservice und die zwei für WebVisu.
Der ADS Webservice funktioniert ja, die WebVisu nicht.
Ändere ich die Default Site funktioniert beides nicht.
Habe es auch einfach mal mit c:\ ausprobiert und im Browser den ganzen Pfad angegeben. Auch das ging nicht.
 

Anhänge

  • fehler_webservice2.jpg
    fehler_webservice2.jpg
    74,6 KB · Aufrufe: 14
Habe mir jetzt die angelegten Startseiten mal angeschaut.
Für den WebService ist es TcAdsWebService mit Pfad "C:\TwinCAT\AdsApi\TcAdsWebService\V100\xp", daher der Aufruf "IP/TcAdsWebService/TcAdsWebService.dll"
Für die WebVisu ist es TcWebVisu mit dem Pfad "C:\TwinCAT\Boot\WebVisu", daher wäre der Aufruf "IP/TcWebVisu/index.html"

Also eigentlich alles richtig, oder !?
 
IIS.jpg

Ich hab das so konfiguriert.
Die Seite im Boot-Verzeichnis ist über xx.xx.xx.xx/twincatboot/webvisu/index.html erreichbar.
Die Seite im root-Verzeichnis ist über xx.xx.xx.xx/wwwroot/index.html erreichbar.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit Deiner Einstellung klappt es auch nicht.
Vielleicht stimmt ja die Einstellung, aber mit dem Zugriff oder der Datei etwas nicht. Der Ordner ist durch die TwinCAT-Installation ja schreibgeschützt.
Wenn ich die index.html direkt öffnen will kommt nach Bestätigung "Geblockte Inhalte zulassen" nämlich nur eine leere Seite mit dem Titel "WebVisualization".
 
Verwendest Du IE? Wie sind die Sicherheitseinstellungen? Internetoptionen -> Erweitert -> Sicherheit/Ausführung aktiver Inhalte in Datein auf dem lokalen Computer zulassen
Verwendest Du AdBlocker oder ähnliches?
Verwendest Du einen Proxy?

tamex versucht über einen http-get aufruf die Steuerung abzufragen, dies könnte vom Browser als aktives Element interpretiert werden und wird womöglich blockiert.
Wenn die Steuerung nicht erreichbar ist, kann der Seitenaufbau etwas länger dauern, da das Script ins TimeOut "laufen" muss.
Versuch mal eine html-Seite die kein JavaScript beinhaltet aufzurufen.

lg Martin

PS
Laufen die TwinCat-Runtime und der Webserver auf dem selben PC?
 
Zuletzt bearbeitet:
In der VM IE, auf meinem PC Chrome, aber auch schon mit Firefox getestet.
Einstellungen im IE in der VM geändert --- ohne Erfolg
Kein AdBlocker
Kein Proxy
Ich teste derzeit nicht tamex, sondern nur den TC Service
Ja, Runtime und Webserver sind auf gleichem PC.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber der läuft doch schon? Du hast Port und NetId als Antwort bekommen.
Der TcAdsWebService bietet nur eine Schnittstelle zur Runtime. Kein WebInterface und keine GUI.
Um Daten/Werte von der Runtime zu bekommen brauchst Du den ADS-Befehl, die IndexGroup und den IndexOffset der SPS-Variable, musst alles Base64 codieren in einem soap-request verpacken und der TcAdsWebService.dll schicken. Die liest per ADS den angefragten Wert aus und gibt diesen wiederum Base64 codiert lt. xml-Schema zurück.

Oder eben tamex verwenden.

lg, Martin
 
Zuletzt bearbeitet:
Ich habe derzeit eine Target-Visu, über die ich via RD über ein Pi Touch drauf zugreife. Deswegen will ich auf HMI Web oder Tame umrüsten.
Wenn schon TC HMI nicht klappt, wird es auch Tame nicht
 
Ich bin jetzt mit TC HMI nicht vertraut, aber das sieht für mich wie zwei paar Schuhe aus.
TC HMI kommuniziert auf den ersten Blick direkt über ADS. TcWebService ist dazu da, um nicht ADS sprechen zu müssen.
 
Zurück
Oben