====== Stav portu ====== {{:cs:mervis-ide:35-help:getportstatus.png}} ===== Název funkce ===== GETPORTSTATUS ===== Funkce ===== Funkce zjistí status komunikace. Významné hodnoty jsou popsány níže, ostatní hodnoty představují interní chybu. ===== Vstupy ===== |Vstup |Typ |Význam | |HANDLE|IO.COMMHANDLE|Parametry běžící komunikace| ===== Výstupy ===== |Výstup|Typ|Význam | |=> |INT|Výstup:\\ \\ 0 (OK)\\ 25 (nepodařilo se otevřít port)\\ 31 (empty - prázdný buffer)\\ 34 (busy - jsou odvysilávána data)| ===== Příklad volání v ST: ===== PROGRAM main (program's body) var def : string; handle : io.commhandle; state : int := 0; data : array[0..31] of byte; dataRecv : array[0..31] of byte; received : int; end_var case state of 0: (*def := 'tcp:192.168.1.4:7';*) (*def := 'udp:192.168.1.4:7';*) def := 'serial:10:9600,8,N,1'; handle := io.openport(def); if handle >= 0 then state := 1; end_if; 1: if io.getportstatus(handle) = 0 then (* OperationStatus_Ok *) (* spojeni navazano *) data[0] := 5; data[1] := 10; data[2] := 6; data[3] := 11; if io.writeport(handle, adr data[0], 10) then state := 2; end_if; end_if; 2: if io.getportstatus(handle) = 0 then (* OperationStatus_Ok *) (* vsechna data odeslana *) state := 3; end_if; 3: received := io.readport(handle, adr dataRecv[0], 20); if received > 0 then (* nejaka data prijata *) io.closeport(handle); state := 4; else io.getportstatus(handle); end_if; else state := 4; end_case; END_PROGRAM