En este script vamos a usar un encoders para cambiar los valores de CRS y HDG, y vamos a escribir esos valores en unos displays. Las variables IOCP son:
CRS: 43
HDG: 105
como se ve en las siguientes imágenes:
El script SC Pascal es el siguiente:
PROGRAM Encoders;
const
OFFSET_HDG=105;
OFFSET_CRSP=43;
var
ID_ENC_HDG:integer;
ID_ENC_CRSP:integer;
procedure OnEncoderChange(id_encoder,value:integer); //cada vez que se mueve un encoder...
begin
case id_encoder of //vemos cual es...
ID_ENC_HDG: BEGIN
WriteIOCP(1,OFFSET_HDG,value); //actualizamos el valor de la variable IOCP
WriteDisplaysSwap('SIMIO000085-EXT15',4,inttostr(value),'0',3,0); //escribimos el valor en el display
END;
ID_ENC_CRSP: BEGIN
WriteIOCP(1,OFFSET_CRSP,value);
WriteDisplaysSwap('SIMIO000085-EXT15',1,inttostr(value),'0',3,0);
END;
end;
end;
//IOCP EVENTs
procedure OnIOCPConnect(socket:byte);
begin
RegIOCPOffset(1,OFFSET_HDG);
RegIOCPOffset(1,OFFSET_CRSP);
end;
procedure OnIOCPConnectClosed(socket:byte);
begin
end;
procedure OnIOCPConnectFail(socket:byte);
begin
end;
procedure OnIOCPChangeSyncro(socket,offset:byte;value:integer);
begin
end;
procedure OnIOCPChange(socket,offset:byte;value:integer);
begin
end;
//MAIN
Begin
ID_ENC_HDG:=RegEncoder('SIMIO000085',8,7,0,359,1,0,false,50); //se define el encoder HDG
ID_ENC_CRSP:=RegEncoder('SIMIO000085',2,5,0,359,1,0,false,50); //se define el encoder CRS
SetDisplayIntensity('SIMIO000085-exp15',1,2); //se definen los displays
End.