S7 Instanz word/integer/real

Wäre es möglich in den S7 Instanzen beim Datentyp
anwählbar zu machen ob es eine word/integer/oder Real Zahl ist die übergeben wird und diese dann auch richtig Formatiert in IPS zur verfügung steht
(Real bzw. Doppelwortzahlen gibt es leider noch nicht ?!)
mfg
schmiddi
:rolleyes:

Wenn du mir als „Tester“ diesbezüglich aushelfen kannst, kann ich da bestimmt etwas machen :slight_smile:

paresy

Hallo paresy
das wäre kein Problem bin zwar immer nur am Wochenende Zuhause
also test nur am Wochenende da SPS Zuhause wenn das reicht dann sehr gerne
:slight_smile:

Hallo paresy,

ich habe gerade das gleiche Problem mit bereits umgewandelten Analogwerten (Temperatur), die als Realwert in der SPS schlummern und darauf warten in IPS angezeigt zu werden, also würde ich auch gerne zum Test beitragen
Viele Grüße
bastelfrosch

Hallo habe mich gerade mit den Zugriff auf eine S7 über ISOoverTCP mithilfe eines „ACCON-NetlinkPRO“ beschäftigt ==> funktioniert auch super !!

… jedoch will ich jetzt nicht für jede Variable eine eigene Instanz anlegen, sondern die Instanz enstsprechend (dynamisch ändern) auch dies funktioniert ohne Probleme,
jedoch bleibt in der Instanz immer die Meldung „Diese Konfiguration wurde noch nicht gespeichert“ anstehen und somit greift dann „S7_RequestRead“ daneben

irgendwie funktioniert offensichtlich IPS_SaveSettings($InstanzID) bei mir nicht, hat da jemand eine Idee !!??

… hier mein Testscript


<?
$id = 19007;
$id_zu_lesendes_DBW = 16884;

$ID_BAUSTEIN = 275;
$ID_BLOCK    = 70;

//$ID_BLOCK = GetValueInteger($id_zu_lesendes_DBW);

//0=bit
//1=byte
//2=word
//3=dword
S7_SetType($id,2);

//4=input
//5=output
//6=flags
//7=datablock
S7_SetArea($id,7);

S7_SetAreaAddress($id,$ID_BAUSTEIN);
S7_SetAddress($id,$ID_BLOCK);

S7_SetBit($id,0);
S7_SetPoller($id,0);

IPS_SaveSettings($id);


echo date("d.m.Y  H:i:s") . " - Sichern der Settings fuer ID: " . $id . " - " . IPS_GetName($id) . "
";

$id_statusvar = IPS_GetStatusVariableID($id,"Value");
echo date("d.m.Y  H:i:s") . " - Stattusvariable hat die ID: " . $id_statusvar . " - " . IPS_GetName($id_statusvar) . "
";

if (S7_RequestRead($id) == 1)
	{
	 echo date("d.m.Y  H:i:s") . " - DB275.DBW" . GetValueInteger($id_zu_lesendes_DBW) ." --> WERT der STATUSVARIABLE (ID: " . $id_statusvar . " - " . IPS_GetName($id_statusvar) . ")  ==>    " . GetValue($id_statusvar) ."
";
	}
else
	{
	 echo date("d.m.Y  H:i:s") . " - Fehler beim lesen von ID: " . $id_statusvar . " - " . IPS_GetName($id_statusvar);
	}
	
?>

Hurra,
ich hab’s gefunden

… die Änderungen müssen mit IPS_ApplyChanges($Instanz_ID) übernommen werden

P.S.: was mich trotzdem noch interresieren würde, was den der Befehl „IPS_SaveSettings“ so macht, finde dazu nichts in der Dokumentation

Gruss
tgusi74

ich nehme mal stark an, das die settings geschrieben werden. Also die Settings.xml.

Toni