Buenas noches,
De acuerdo al documento
STXLADDER-PL.pdf, pagina 8 a 9, para acceder a variables Ladder tipo
Bool desde Pawn es necesario el uso de funciones como intermediario.
Las funciones que acceden a las variables tipo
Bool de Ladder desde Pawn pueden variar de acuerdo a si es una variable local, global o de la memoria de periféricos.
En tu caso, intentas acceder a la variable de la memoria de periféricos, entonces lo correcto es:
gai_arr[x] = pBoolRead(gb_DIN1)
Si la variable
Bool fuera global y estuviera en memoria, seria:
gai_arr[x] = gBoolRead(gb_MyVar)
Finalmente, el compilador no te da errores porque
gb_DIN1 es el nombre una constante que se usa como
index para acceder al valor de la memoria de periféricos con las funciones mencionadas, entonces, lo que estas haciendo es asignar al elemento tipo
Int el valor de una constante y no el valor de una variable propiamente dicha.
Estamos a disposición.