Update cookies preferences
Promotic

OpenPort - metoda objektu PmaComm

Popis:
Otevření ethernet portu nebo sériového portu tohoto objektu.
Syntaxe:
Boolean OpenPort(String sParam)
Parametry:
sParam(String) Parametry pro otevření:
 
- pro Ethernet-klienta:
Údaje jsou zde ve formátu KeyVal, například "ipaddress:192.168.0.126;port:61682;connect:1;".
- ipaddress: Hodnota může být IPv4 adresa, IPv6 adresa nebo název počítače. Viz konfigurátor "Síťová adresa"
- port: Port. Viz konfigurátor "Číslo vzdáleného TCP/UDP portu"
- connect: Způsob otevření portu.
0 (přednastaveno) - Metoda pouze předá do objektu nové parametry pro spojení. Následující přenos pak zavře existující spojení a otevře nové spojení.
1 - Metoda předá do objektu nové parametry, zavře existující spojení a otevře nové spojení.
Metoda dá jen podnět k otevření, tzn. po ukončení této metody ještě nemusí být spojení otevřeno.
 
Pokud se ipaddress nebo port nezadá, pak mu zůstává předchozí hodnota.
Pokud se zadá prázdný řetězec (""), pak se parametry nezmění, jen se otevře spojení se stávajícími parametry.
Tato metoda nelze použít pro objekt PmaComm, který obsahuje objekt PmaCommMsg typu Slave.

- pro Ethernet-server:
Údaje jsou zde ve formátu KeyVal, například "port:61682;".
- port: Port. Viz konfigurátor "Číslo TCP/UDP portu".
Změnit port lze pouze pokud měl předtím nastavenu hodnotu 0 (tzn. pokud v konfigurátoru "Číslo TCP/UDP portu" byla nastavena 0).
Změnit port (tzn. počátečně zinicializovat skriptem) lze např. v události onStart.

- pro sériovou linku:
Zadává se pouze název sériového portu. Například "COM1".
 
Poznámka: Obvykle je komunikační sériový port definován v konfigurátoru "Sériový port" v parametrech sériové linky. Pokud je nutno měnit dynamicky port sériové linky, pak v jejích parametrech lze zadat Nenastaveno a poté pomocí metod OpenPort a ClosePort tento port měnit.
Pro sériovou linku každý objekt PmaComm musí mít nastavený jiný komunikační port. Například pokud jeden objekt PmaComm komunikuje přes COM1, pak další objekt PmaComm může komunikovat například přes COM2 (COM3, …) ale nesmí komunikovat přes COM1.
Tato metoda nelze použít pro objekt PmaComm, který obsahuje objekt PmaCommMsg typu Slave.
Vrácená hodnota:
true -
- pro sériovou linku: Port se úspěšně otevřel.
- pro Ethernet-klienta: Parametry byly předány a spojení se otevře při nejbližším přenosu (nebo v případe "connect:1;" po navázání spojení).
false -
- pro sériovou linku: Port se neotevřel. Možná chyba: Na tomto počítači takový port není přítomen nebo daný port již někdo využívá.
- pro Ethernet-klienta: Protože tato metoda nevytvoří spojení hned, vrací se false pouze pokud jsou špatně zadány parametry metody.
Poznámka:
Tato metoda může být volána i v INFO systému, když se při prohlížení tohoto objektu stiskne tlačítko "Akce". Viz oprávnění "PmaRoot > Oprávnění > InfoEdit".
Viz také:
- PmaComm.IsConnected (vlastnost)
- PmaComm.onConnect (událost)
Příklad1:
pro Ethernet-klienta: Nastaví IP adresu a port. Následující přenos zprávy způsobí zavření předchozího spojení a otevření nového spojení.
JavaScriptVBScriptVyber a zkopíruj do schránky

oComm.OpenPort("ipaddress:192.168.0.2;port:88;");
oCommMsg.Run();
Příklad2:
pro sériovou linku: Algoritmus volaný při požadavku pro zaslání 1 zprávy (objektem PmaCommMsg) přes port COM1.
JavaScriptVBScriptVyber a zkopíruj do schránky

if (oComm.OpenPort("COM1"))
{
oCommMsg.Run();
}

Historie:
Pm9.00.29:
- Metoda zprovozněna i pro Ethernet-server.
- Tato metoda může být volána i v INFO systému, když se při prohlížení tohoto objektu stiskne tlačítko "Akce". Viz oprávnění "PmaRoot > Oprávnění > InfoEdit".
Pm9.00.25: Opravená chyba: Opětovné volání této metody, v době kdy ještě neskončilo předchozí spojení, způsobilo zastavení komunikace.
© MICROSYS, spol. s r.o.