NEWS
[Adapter] Beckhoff ADS
-
@steuermann
ich habe nachgeschaut und wusste es ja nicht mehr genau:
ich habe eine Variable (HS_Daten) mit der Struktur ST_IoB angelegt:
In der Struktur habe ich wieder mehrere Unterstrukturen:
Das habe ich gemacht und den Überblick zu behalten.
Als Variable im IO-Broker muss Du den Namen der Variable angeben, in meinem Fall war das HS_Daten.
Ich hoffe das hilft Dir weiter. Gruß T.Spooner -
@t-spooner hey cool vielen Dank!
Ich habe es jetzt irgendwie am laufen. Aber schon das nächste Problem.Ich habe in meinem PLC Projekt Bausteine „FB_Light“ womit ich über meine Hardwaretaster den Eingang bToggle ansteuer, damit ich an den einem Taster ein und am anderen aus machen kann.
Wenn ich jetzt aber die neue Variable zusammen mit den Eingängen auf ein OR lege und über iobroker bzw. über die Viso habpanel einen Taster mit der Variable verknüpfe bleibt sie dauerhaft auf True bis ich den Taster erneuert drücke und in der Zwischenzeit funktionieren meine anderen Taster nicht mehr habe schon alle Einstellungen im habpanel ausprobiert… aber der wehrt bleibt permanent… eigentlich will ich nur ein kurzen Impuls senden.
Hat jemand eine Idee?
Danke
-
@steuermann
Hi, kannst Du mir mal dein SPS-Programm schicken (Email kommt per PN)?
Gern auch nur einen Ausschnitt mit dem Toggle des Lichts.Einige, die hier aus dem klassichen SPS-Bereich kommen, haben bestimmt, wie Du und ich diverse Probleme eine Visu ans Laufen zu bekommen, das Ganze ist eben kein WinCC bzw ne BeckhoffVisu
-
@dkleber89 Erst einmal finde ich es super dass sich Leute an so ein Projekt wagen und das dann auch noch teilen.
Ich habe seit 18 Jahren meine Haussteuerung auf einem CX9010 und das von a wie Alarm bis Z wie Zisterne. Die Visu mache ich mit dem integrierten Webserver und nutze PLC für die Kommunikation. Seit Jan habe ich nun auch eine PV mit SMA WR und HM2. Da meine TC2 (2.11.2240) kein Modbus oder MQTT kann will ich nun über den IoBroker dem CX9 vermitteln was ich an PV Überschuss habe. Dazu scheint mir dein Adapter wie gemacht.
Ich habe alles so weit auf meinem IOB installier und nach Anleitung eingestellt. Leider noch ohne Erfolg. Aber erst mal ganz von Vorne:
Erst einmal ein einfaches PRO gebaut mit einer Struktur, darin eine Variable als Datum, vorbelegt. Dann das ganze in die Glabalen Variablen eingetragen und im Main einfach einer zweiten Variablen einen Wert zugewiesen. Damit sollte das Pro die mindestanforderung haben. Im tsm dann die statische Route eingetragen die CX9 ist auf ...22 der IOB auf ...70
Es gelingt mir aber nicht die Symbolerzeugung zu aktivieren, die ist immer ausgegraut.
Dann im IOB habe ich den Adapter wie folgt konfiguriert:
Dabei kommen gleich 2 Fragen hoch. Nutze ich als IP 172.016... bekomme ich keinen Fehler, bei 172.16.... meckert der Adapter.
Dann sehe ich auch nicht, dass vom meinem Programier PC die tpy wirklich hochgeladen wird.
Wenn ich das mit obiger Config starte sagt der Log alles OK, und der Status:
In den Objekten wir allerdings die PLC Verbindung so gezeigt:
Ich vermute, ihr habt die Probleme schon 100 mal gelöst. Es wäre super wenn ihr mir die Richteung weisen könntet. Dafür schon mal 1000 Dank. -
@hodde
hallo,
als erstes: Die Symbol erzeugung brauchst Du nicht.verstehe ich dich richtig?
Ich stelle bei allen SPSen die NetID immer gleich wie die IP ein, z.B. die SPS hat die IP 192.168.178.10 dann hat sie die NetID 192.168.178.10.1.1. Das lässt sich einfacher zu durchschauen, aber ich vermute, dass Du es genauso gemacht hast.
Wenn ich es also richtig sehe, hast Du die falsche NetID im Systemmanager angegeben.
Laut Screenshot vom Routing im Systemmanger und Screenshot von den IOB-Adaptereinstellungen haben die SPS und der IOB die gleiche NetID
Gruß T.Spooner -
@t-spooner Danke Spooner, ja ich stelle IP undAMS auch immer gleich ein.
Wie du shiest habe ich das nun auch so geändert, dass die statische rourte das berücksichtigt, aber ich bekomme immer noch den Timeout. Hat sich also nichts geändert. Zum Glück habe ich eine zweite CX9 mit der ich rumspielen kann.
Hast du noch weitere Ideen?
Gruß Hodde -
@hodde Du musst im IOB-Broker als Zieladresse und Ziel AMS-Net-ID die SPS angeben und unten bei Optional die NetID vom Io-Broker:
Meine SPS hat z.B. die 192.168.178.3 und der IO-Broker 192.168.178.10 -
@t-spooner So nun habe ich auch das mal ausgetestet. Leider immer noch ohne Erfolg.
Fehlermeldung bleibt die gleiche. Wo muss denn die TPY Datei hin?
Ich habe meinen IoBroker auf einer VM mit Raspian ... 70:8081 die CX9 ist auf ...22 kann es an der VM liegen? Ich installiere mal auf einem alten Laptop, mal sehen ob das dann geht. Wenn nicht, könnten wir dann mal eine Web Session machen?
Danke für deine Hilfe.
P.S.: Wenn ich speichere und dann wieder in die Einstellung des Adapter gehen, dann ist der TPY Link immer leer. -
@hodde So habe es nun noch auf einem alten Laptop unter Win versucht, aber auch da das gleiche Problem.
Hodde -
@hodde said in [Adapter] Beckhoff ADS:
@hodde So habe es nun noch auf einem alten Laptop unter Win versucht, aber auch da das gleiche Problem.
HoddeWenn ich nun den in the tpy genannten AMS Port 801 verwende bekomme ich die Fehlermeldung "ADS Client: Error: connect ECONNREFUSED 172.16.17.22:801"
es scheint also als wrüde da wenigstens die Verbindung vorgenommen aber der Handshke noch nicht funktionieren. Ich bastele mal weiter. -
@hodde said in [Adapter] Beckhoff ADS:
@hodde said in [Adapter] Beckhoff ADS:
@hodde So habe es nun noch auf einem alten Laptop unter Win versucht, aber auch da das gleiche Problem.
HoddeWenn ich nun den in the tpy genannten AMS Port 801 verwende bekomme ich die Fehlermeldung "ADS Client: Error: connect ECONNREFUSED 172.16.17.22:801"
es scheint also als wrüde da wenigstens die Verbindung vorgenommen aber der Handshke noch nicht funktionieren. Ich bastele mal weiter.Wieder einen Schritt weiter. Der Portscan auf die CX9 ...22 zeigt mir den Port 48898 als offen, das sollte also passen, denn 801 ist nicht zu sehen. Bei meinem IoBroker hingegen ...70 ergibt der Protscan nur einen Treffer bei 8081 der 32905 ist nicht zu sehen.
Ich hoffe hier kann jemand mal eine finale Lösung liefern. Ich habe da nun schon ein paar Tage alles versucht, was ich untersuchen kann.
Gruß Hodde -
@hodde Jubel ich habe den Knoten gelöst.
Nachdem ich die statischen Routen für die CX9 ...22 und die des IoBroker ...70 eingetagen habe läuft die Verbindung.
Jetzt kann ich anfangen die Logik aufzubauen.
Gruß Hodde -
-
Hallo,
kann mir jemand sagen, wie ich eine Verbindung zwischen ioBroker und einem lokalen TwinCAT 3 System herstellen kann?
Ich habe ioBroker parallel auf dem Beckhoff-Rechner installiert, um eine Schnittstelle zu einer Wetterstation und anderen Daten einfach abbilden zu können.
Eine Verbindung von einem ioBroker auf einem fremden System funktioniert - nur halt lokal nicht.Ich habe es auch schon mit einer lokal erstellen Route zu einer frei erfundenen AMS NetId mit der IP 127.0.0.1 probiert, damit Source- und Destination-ID unterschiedlich sind. Aber das hat leider auch noch nicht den gewünschten Erfolg gebracht.
Hat noch jemand vielleicht eine Idee? Danke
Gruß Bluesky -
Hallo zusammen,
vielleicht kann mir jemand bei meinem Problem weiterhelfen. Iobroker und der Beckhoff-Adapter sind auf meinem Raspberry Pi 2 installiert und laufen auch. Ich kann innerhalb des iobroker auch Daten zu dem Adapter schreiben. Nur vom Beckhoff-Adapter zur PLC bekomm ich keine Daten gesendet. In der anderen Richtung von der PLC zum Adapter funktioniert es. Hier werden die Daten zyklisch im iobroker angezeigt. Wenn ich im Adapter den Wert von Hand schreibe, wird dieser dann auch in der PLC angezeigt. Weiter oben wurde das Thema mit dem "ACK" mal erwähnt. Aber wie genau ist dies umzusetzen?
Ausgangslage ist folgende:
Ich lese meinen Stromzähler (eHZ) mit dem smartmeter-Adapter an einem Raspberry aus und will diesen an meine CX5120 senden.
Unter blockly habe ich einen Zeitplan der den aktuellen Verbrauchin meine Variable schreibt.schedule("*/5 * * * * *", async function () { setState("beckhoff.0.plc.GVL_iobroker.iAktVerbrauch"/*iAktVerbrauch [INT]*/, getState("smartmeter.0.1-0:16_7_0__255.value").val, true); });
In der blockly-Log bekomme ich folgende zwei Infos hierzu:
Wie muss ich das im iobroker am besten handhaben?
Gruß
blackfrost -
@blackforst
probiere mal die PLC-Variable zu steuern, bei mir funktioniert es nämlich nur so
-
@t-spooner Ja, jetzt funktioniert es. Super, vielen Dank!
-
Hallo zusammen,
nachdem ich jetzt den ganzen Vormittag versucht habe und nicht weiter komme wende ich mich mal an euch.Bin leider noch nicht so fit mit Beckhoff und versteh hier echt nicht mehr was ich eigentlich falsch mache.
Hier einfach mal eine Reihe an Screenshots
-
@woehrer Hallo, stimmt deine tpy und die Zeilstruktur?
Auf den ersten Blick kann ich an den Adaptereinstellung keinen Fehler erkennen -
@t-spooner Das tpy sollte aufjedenfall das richtige sein.
Was genau meinst du mit Zeilstruktur?Das ist mein STRUCT:
Der ist hier in den VAR_GLOBAL eingefügt:
Aber ich denke er bekommt ja noch nichtmal eine Verbindung mit dem timeout oder??