I have made this program for the" leobodnar" encoder.
It can read the encoder, but only in slow detent.

Here is the program for CRS setting:



Var 0000, name inicialization, Value 0
{

}

Var 0101, name READ_CRS, Link FSUIPC_IN, Offset $0C4E, Length 2
Var 0151, name WRITE_CRS, Link FSUIPC_OUT, Offset $0C4E, Length 2

// **********ENCODER CONTROL**********
VAR 0303, name ENCODER
Var 0301, name ENC1, Link IOCARD_SW, Input 18,
Var 0300, name ENC2, Link IOCARD_SW, Input 19,
{
iF &ENC1 = 1
{
IF &ENC2 = 1
{
&ENCODER = +1
}
}
iF &ENC1 = 0
{
IF &ENC2 = 0
{
&ENCODER = +1
}
}
iF &ENC1 <> &ENC2
{
&ENCODER = -1
}
&WRITE_CRS = ROTATE 1 ,360 ,&ENCODER
}
//************************************

Var 0902, name Schange, Link SUBRUTINE
{
&Schange = 0
&WRITE_CRS = &READ_CRS

}



SIOC is new for me, and I am in the learning process.