ModBus_WriteRegisterSmallInt

Hallo… habe meine IPS jetzt von 4.3-1605 nach 4.4 -2054 hochgezogen auf meinem pi3.
Wundersamer weise funktioniert auch alles bis auf dieses Script:


?
//Uebergeordnete Kategorie
$parent = 59998 /*[Wago\I/O Wago\MW62 (bits senden) 13-14 belegt]*/  ;

$bit = array();
$integer= 0;


for ($i=15; $i>=0; $i--)
{

    $ID = IPS_GetObjectIDByName($i,$parent);
    $bit[$i] = GETValue($ID);

}

for ($i=0; $i<=15; $i++)
{

$integer += $bit[$i] << $i;

}
//Zu Schreibende Modbus Merker
ModBus_WriteRegisterSmallInt(49304 /*[Wago\I/O Wago\MW62 (bits senden) 13-14 belegt\MW62]*/ , $integer);
?>

Mit diesem Script schicke ich immer ganze bytes in meine Wago SPS anstelle 16 einzelne bits.
Beim ausführen bekomme ich diesen hier:


Fatal error:  Call to undefined function ModBus_WriteRegisterSmallInt() in /var/lib/symcon/scripts/56084.ips.php on line 24

Wenn ich umstelle hier hin:


ModBus_WriteRegisterInteger(10514 /*[Wago\I/O Wago\MW61 (bits senden) 2-3-4-5-0-1 leer\MW61]*/ , $integer);

bekomme ich aber das hier:


Warning:  Datentyp ist kein Integer in /var/lib/symcon/scripts/10671.ips.php on line 28

Obwohl des vorher so funktionierte. :frowning: …habe auch gesehen das ich früher auf die „ModbusAdress“ direkt gelinked hatte anstatt auf den Integer Wert, es hat aber wie gesagt immer so funktioniert… Wenn ich auf den Integerwert linke - geht es auch nicht.
In Konsole:

Schau mal kurz in die Migration (Migration (V4.3->V4.4) — IP-Symcon :: Automatisierungssoftware)

Wir haben die Funktionen umbenennen müssen:

[ul]
[li]S7_WriteRegisterShortInt umbenannt zu S7_WriteRegisterChar[/li]> [li]S7_WriteRegisterSmallInt umbenannt zu S7_WriteRegisterShort[/li]> [/ul]

Da auf dem Pi per Default die Kompatibilitätsfunktionen aus sind, kommt es leider zu diesem Problem.

paresy