IP-Symcon das Richtige für mich?

sorry, ich geb hier auf und bin raus

Sorry…schade das es nicht ne Taster Template fürs Webfront gibt…

@Lars
erkläre doch mal was das für eine Instance ist. Ich tippe auf Modbus… Bilschirm-PNG’s helfen recht gut.

Da muß ein Script her, getriggert von Webfront.

Die Modbus ist single? dann keinen Haken auf „Nur lesen“ setzen, übernehmen nicht vergessen.
Timer würde ich auch setzen, nicht jede ms.

Gruß Helmut

Ja ist kein Hacken da

Bin kein PHP-Könner, stelle mir das so vor:

switch($_IPS['SENDER'])
{
    case "WebFront":
// Modbus Instance Ein-Schalten       ;
// dann IPS schlafen legen;
// und dann die Instance Aus-Schalten;
// Oder die Instance lesen und dann nach einer Zeit invertieren und zurück schreiben; 

    break;
}

Gruß Helmut

PS: PHP-Könner, könnt ihr mal ein Link spendieren, das gabst doch schon, oder anders helfen?

Ja machmal etwas zu schnell geschreiben …

Aber was ich nicht verstehe ist diese Meldung(siehe Bild)

Obwohl alle keinen Hacken bei nur Lesend haben.

Lars

Welche Variable ist es denn in Zeile 4?
Ist ev. Eine die Du für’s Webfront benutzt?

Gruß Helmut

Hier der Code:

<?

IPS_SLEEP(200);
SetValueBoolean($_IPS[‚VARIABLE‘], false);

?>

Ich habe leider auch nichts gefunden zu $_IPS was genau es abruft

Ist schonmal keine Modbus Variable.
Schau Dir mal das Bild von mir an, da ist eine IntegerVariable, die ich im Webfront als Taster habe.

Toogle als Name, weil ich Toggle schon hatte…

Ich benutze als eigene Aktion zu der Variable ein Script, was da drunter ist.

Da könnte Dein Script drin stehen, damit sollte es laufen.

Gruß Helmut

Mit kam, sah und siegte wird das hier nichts.

Lies dir die Doku durch und bei Fragen, stell sie gezielt.

ModBus RTU/TCP: IP-Symcon :: Automatisierungssoftware

…und Fragen gezielt beantworten hätte auch was. Sonst macht jeglicher Supportansatz keinen Sinn…

Hier ein Beispiel zum schalten einer Modbusinstanz. 29273 ist die Instanz.

<?

if($_IPS['SENDER'] == "WebFront")
{
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
    if($_IPS['VALUE'])
    {
        ModBus_WriteCoil(29273 /*[Wago Modbus Instanzen\Ausgang 529]*/, true);
    }
    else
    {
       ModBus_WriteCoil(29273 /*[Wago Modbus Instanzen\Ausgang 529]*/, false);
    }
}
?>

So ich bin mal bisschen weitergekommen:

Status Variablen sind normale IP-Symcon Variablen, die jedoch an eine Instanz fest gebunden sind. Status Variable sind als “Nur-Lesen” markiert, sodass diese nicht aus PHP Skripten heraus modifiziert werden können, um den Status als solchen nur vom jeweiligen Gerät änderbar zu machen.

also darf ich so auf die Instanz Variable gar nicht schreiben…Wie die Fehlermeldung im Webfront das auch ausgibt.

Ich könnte ja direkt die Modbus Adresse beschreiben aber denn benötige ich ja für jeden Taster ein eigenes Script oder?

Oder kann ich per Script die Modbus Adresse auslesen?

Alles nicht so einfach…

Hallo,

geht den Schalten im Test Center auf der Variablen?

Stimmt deine Modbus Adresse?

Das sieht fast so aus als wenn Du einen DI Eingang schalten willst

Hier mal ein Script zum testen
Script direkt durch Ausführen im Editor laufen lassen
Wenn funkt nach Anleitung von Helmut änder und durch Webfront ausführen lassen

 modbus_id = 12345;  // hier deine Instanz ID [b][u]nicht die Variable id [/u][/b]eintragen

 ModBus_WriteCoil(modbus_id, true);  // einschalten
      
 ModBus_WriteCoil(modbus_id, false); // ausschalten

war zu langsam,

bist ja schon weitergekommen

Geht mit einem Script dem du dann dann aus einem anderen Script oder Webfront die entsprechende
Instanzen ID übergibst.

Macht bitte bei Fragen ein neues Thema auf und benutzt die Suchfunktion. Ich mache hier zu.

paresy