Promotic
Zalogowanie logon

OpenPort - metoda obiektu PmaComm

Opis:
Otwarcie portu ethernet lub portu szeregowego tego obiektu.
Składnia:
Boolean OpenPort(String sParam)
Parametry:
sParam(String) Parametry do otwarcia:
 
- dla Ethernet-klienta:
Dane są tutaj w formacie KeyVal, na przykład "ipaddress:192.168.0.126;port:61682;connect:1;".
- ipaddress: Wartością może być adres IPv4, adres IPv6 lub nazwa komputera. Patrz konfigurator "Adres sieciowy"
- port: Port. Patrz konfigurator "Numer zdalnego portu TCP/UDP"
- connect: Sposób otwarcia portu.
0 (domyślnie) - Metoda tylko przekaże do obiektu nowe parametry dotyczące podłączenia. Kolejna transmisja następnie zamknie istniejące połączenie i otworzy nowe połączenie.
1 - Metoda przekaże do obiektu nowe parametry, zamknie istniejące połączenie i otworzy nowe połączenie.
Metoda da tylko sygnał do otwarcia, tzn. połączenie może nie być jeszcze otwarte po zakończeniu tej metody.
 
Jeżeli ipaddress lub port nie zostanie wprowadzony, wtedy ważną pozostaje poprzednia wartość.
Jeżeli zostanie wprowadzony pusty łańcuch (""), wtedy parametry nie zmienią się, tylko zostanie otwarte połączenie z istniejącymi parametrami.
Metoda ta nie można zastosować dla obiektu PmaComm, który zawiera obiekt PmaCommMsg typu Slave.

- dla Ethernet-serwera:
Dane są tutaj w formacie KeyVal, na przykład "port:61682;".
- port: Port. Patrz konfigurator "Numer portu TCP/UDP".
Port można zmienić tylko wtedy, jeżeli został wcześniej ustawiony na 0 (tzn. jeżeli w konfiguratorze "Numer portu TCP/UDP" był ustawiony na 0).
Port można zmienić (tzn. początkowo zinicjalizować za pomocą skryptu) np. w zdarzeniu onStart.

- dla łącza szeregowego:
Wprowadzana jest tylko nazwa portu szeregowego. Na przykład "COM1".
 
Notatka: Komunikacyjny port szeregowy jest zazwyczaj ustawiony w konfiguratorze "Port szeregowy" w parametrach łącza szeregowego. Jeżeli jest konieczne dynamicznej zmiany łącza szeregowego, wtedy w jago parametrach można wprowadzić Nieustawione a następnie przy pomocy metod OpenPort oraz ClosePort ten port zmieniać.
Dla łącza szeregowego każdy obiekt PmaComm musi mieć ustawiony inny port komunikacyjny. Na przykład jeżeli jeden obiekt PmaComm komunikuje się poprzez COM1, wtedy następny obiekt PmaComm potrafi komunikować się na przykład poprzez COM2 (COM3, …) lecz nie może komunikować się poprzez COM1.
Metoda ta nie można zastosować dla obiektu PmaComm, który zawiera obiekt PmaCommMsg typu Slave.
Wartość zwrotna:
true -
- dla łącza szeregowego: Port został pomyślnie otwarty.
- dla Ethernet-klienta: Parametry zostały przekazane i podłączenie zostanie otwarte podczas najbliższej transmisji.
false -
- dla łącza szeregowego: Port nie został otwarty. Możliwy błąd: W tym komputerze nie ma takiego portu lub określony port jest już wykorzystany przez inny proces.
- dla Ethernet-klienta: Ponieważ metoda ta nie wytwarza bezpośrednio podłączenia, to zwraca false tylko jeżeli są błędnie określone parametry metody.
Notatka:
Metoda ta może być wywoływana także w INFO systemie, kiedy podczas przeglądania tego obiektu zostanie naciśnięty przycisk "Akcje". Patrz uprawnienie "PmaRoot > Uprawnienia > InfoEdit".
Patrz również:
- PmaComm.IsConnected (właściwość)
- PmaComm.onConnect (zdarzenie)
- PmaComm.onDisconnect (zdarzenie)
Przykład1:
dla Ethernet-klienta: Ustawi adres IP oraz port. Następująca transmisja wiadomości spowoduje zakończenie poprzedniego podłączenia i otwarcie nowego.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

oComm.OpenPort("ipaddress:192.168.0.2;port:88;");
oCommMsg.Run();
Przykład2:
dla łącza szeregowego: Algorytm wywołany przy wymogu do wysłania 1 wiadomości (przy pomocy obiektu PmaCommMsg) poprzez port COM1.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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

Historia:
Pm9.00.29:
- Metoda usprawniona również dla Ethernet-serwera.
- Metoda ta może być wywoływana także w INFO systemie, kiedy podczas przeglądania tego obiektu zostanie naciśnięty przycisk "Akcje". Patrz uprawnienie "PmaRoot > Uprawnienia > InfoEdit".
Pm9.00.25: Usunięty błąd: Ponowne wołanie tej metody, gdy poprzednie połączenie nie zostało jeszcze zakończone, powodowało przerwanie komunikacji.
© MICROSYS, spol. s r.o.Update cookies preferences