Dokumentace

Write Port

Zápis dat do portu

Název funkce

WRITEPORT

Funkce

Funkce writeport zapíše data na zadaný port.

Vstupy

Vstup Typ Význam
DATA BYTE_PTR Adresa dat určených k zápisu
HANDLE IO.COMMHANDLE Parametry běžící komunikace
LENGTH INT Velikost zapisovaného pole

Výstupy

Výstup Typ Význam
=> BOOL Výstup:
0...data nebyla zapsána
1...data byla zapsána

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 *)
(* spojení navázáno *)
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 *)
(* všechna data odeslána *)
state := 3;
end_if;
3:
received := io.readport(handle, adr dataRecv[0], 20);
if received > 0 then
(* nějaká data přijata *)
io.closeport(handle);
state := 4;
else
io.getportstatus(handle);
end_if;
else
state := 4;
end_case;
END_PROGRAM