Hallo
Ich stehe voll am Schlauch und werden aus der Doku und dem Forum nicht schlau.
Kann mir bitte jemand erklären wie ich per Script ein Serial Port anlege und auch konfigurieren, also COM1 auswählen, Baudrate einstellen usw…
Das Anlegen selbst mit IPS_CreateInstance("{6dd…, verstehe ich noch aber wie konfiguriere ich diese Instance?
Horst
2. April 2010 um 21:25
2
Gebe im Skript-Editor mal COMPort ein und drücke Strg+Space. Dann hast Du die Liste sämtlicher Befehle zum Konfigurieren. Nach dem Setzen der Einstellungen musst Du abschließend IPS_ApplyChanges(InstanceID) ausführen.
Was alles geht! Super das hat mir sehr geholfen.
Danke
Ich hoffe die letzte Frage für heute.
Wie kann ich nach dem erstellen einer Register Variable das Ziel Script eintragen?
Zielscript wird in der Instanz der Registervariable unter Konfiguration eingetragen.
weitere Erläuterungen:
http://www.ip-symcon.de/service/dokumentation/modulreferenz/registervariable/?type=5
Wie, gibts sowas wie IPS_SetInstanceChildrenIDs… oder wie?
Der link kenn ich schon, aber hilft mir nicht wirklich weiter.
RWN
2. April 2010 um 22:43
7
oder per Script.
RegVar_SetRXObjectID($regVarID, $IPS_SELF);
IPS_ConnectInstance($regVarID, $comPortID);
IPS_ApplyChanges($regVarID);
und hier noch mal alles komplett.
$comPortID = @IPS_GetInstanceIDByName("HS485 PC-Interface", 0);
if(!IPS_InstanceExists($comPortID))
{
$comPortID = IPS_CreateInstance("{6DC3D946-0D31-450F-A8C6-C42DB8D7D4F1}"); // Comport anlegen
IPS_SetName($comPortID, "HS485 PC-Interface");
}
COMPort_SetPort($comPortID, 'COM5'); // ComNummer welche dem PC-Interface zugewiesen ist!
COMPort_SetBaudRate($comPortID, '19200');
COMPort_SetDataBits($comPortID, '8');
COMPort_SetStopBits($comPortID, '1');
COMPort_SetParity($comPortID, 'Even');
COMPort_SetOpen($comPortID, true);
IPS_ApplyChanges($comPortID);
$regVarID = @IPS_GetInstanceIDByName("HS485 RegisterVariable", $parentID);
if(!IPS_InstanceExists($regVarID))
{
$regVarID = IPS_CreateInstance("{F3855B3C-7CD6-47CA-97AB-E66D346C037F}"); // Registervariable anlegen
IPS_SetName($regVarID, "HS485 RegisterVariable");
IPS_SetParent($regVarID, $CatID);
}
RegVar_SetRXObjectID($regVarID, $IPS_SELF);
IPS_ConnectInstance($regVarID, $comPortID);
IPS_ApplyChanges($regVarID);
Eine etwas ausführlichere Fragestellung würde es uns allen leichter machen.:rolleyes: