NEWS
Werte in ein Register Schreiben
-
und es passiert absolut nichts.
Natürlich nicht!
Da ist ja keine Aufgabe in dem Block!
Solange wir nicht wissen, ob der Merkerdatenpunkt auch triggert bringt das auch nichts!
Deswegen
Homoran sagte:
@TOBO zeig doch mal die Objektdaten von dem Merker-Datenpunkt im Adapter
EDIT:
Das ist doch ein eigener DP, nicht der DP des S7-Adapters!!Wer steuert denn den verwendeten Datenpunkt??
Der Wert ist ja rot! -
-
Ich habe jetzt den Adapter gelöscht und neu installiert. Dann selbst zwei Variablen im System definiert und dann dieses Blockly Teil erstellt.


und es passiert absolut nichts.
-

Ich steuer den per Hand um grundsätzlich zu sehen ob JS überhaupt etwas mach und das tut es wohl nicht.
-
@TOBO [sagte]: es passiert absolut nichts.
Bei Skriptstart hätte eine rote 256 in den DP "StatusTest" geschrieben werden müssen.
Es ist nicht der Debug-Modus (Skript-Editor ganz rechts oben) aktiviert? -
-
Debug ausschalten!
Script nicht unter global!
-
-
@tobo
...und dann ist es kein Wunder dass der Neustart ewig dauert -
@Homoran [sagte]: Script nicht unter global!
Unter "global" dürfen nur Skripte liegen, die häufig verwendete eigene Funktionen enthalten, denn sie werden in jedes andere Skript kopiert und dort bei Aufruf ausgeführt.
-
-
-
Ich möchte nicht extra noch einen Thread aufmachen für eine kurze Frage.
Warum funktioniert dies hier:const Wohnen_L01 = 'modbus.0.holdingRegisters.Ausgang-01'/*Output*/; const Merker_L01 = 's7.0.Markers.25.Wohnen_L01'/*Merker*/; on({id: Merker_L01, change: "ne"}, (obj) => { const status = obj.state.val; if (status === true) { setState(Wohnen_L01, 256); } else { setState(Wohnen_L01, 512); } });und dies hier funktioniert nicht
const Wohnen_L01 = 'modbus.0.holdingRegisters.Ausgang-01'/*Output*/; const Merker_L01 = 's7.0.Markers.25.Wohnen_L01'/*Merker*/; on({id: Merker_L01, change: "ne"}, (obj) => { if (Merker_L01 === true) { setState(Wohnen_L01, 256); } else { setState(Wohnen_L01, 512); } });beim zweiten habe ich hinter dem if direkt den DP geschrieben und nicht die Variable Status. Der zweite Code funktioniert nicht. Ich möchte gern verstehen warum?
-
Ich möchte nicht extra noch einen Thread aufmachen für eine kurze Frage.
Warum funktioniert dies hier:const Wohnen_L01 = 'modbus.0.holdingRegisters.Ausgang-01'/*Output*/; const Merker_L01 = 's7.0.Markers.25.Wohnen_L01'/*Merker*/; on({id: Merker_L01, change: "ne"}, (obj) => { const status = obj.state.val; if (status === true) { setState(Wohnen_L01, 256); } else { setState(Wohnen_L01, 512); } });und dies hier funktioniert nicht
const Wohnen_L01 = 'modbus.0.holdingRegisters.Ausgang-01'/*Output*/; const Merker_L01 = 's7.0.Markers.25.Wohnen_L01'/*Merker*/; on({id: Merker_L01, change: "ne"}, (obj) => { if (Merker_L01 === true) { setState(Wohnen_L01, 256); } else { setState(Wohnen_L01, 512); } });beim zweiten habe ich hinter dem if direkt den DP geschrieben und nicht die Variable Status. Der zweite Code funktioniert nicht. Ich möchte gern verstehen warum?
-
@TOBO [sagte]: verstehen warum?
Merker_L01 enthält einen konstanten String (die ID), kann also nicht true werden.
-
@TOBO [sagte]: gibt es keine andere Möglichkeit den DP
direkt in der IF Abfrage auszuwerten ?Zwei Möglichkeiten, wobei die zweite mehr Ressourcen verbraucht.
if(obj.state.val) if(getState(Merker_L01).val)Bessere Version, die mit nur einem setState() noch weniger Ressourcen verbraucht:
on(Merker_L01, (dp) => { // triggert auf Wertänderung setState(Wohnen_L01, dp.state.val ? 256 : 512); });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


