Sunteți pe pagina 1din 4

G.P.I.O.

[General Purpose Input and Output]


El conector GPIO (db50 hembra), esta localizado en la parte posterior del controlador. El conector de propsito general (I/O) tiene 16 entradas y 16 salidas. Todas las salidas son pticamente aisladas. Las salidas son compuestas de dos partes; las primeras 12 salidas son pticamente aisladas, mientras las ultimas cuatro son relevadores los cuales tienen un contacto normalmente abierto y uno normalmente cerrado.

GPIO

Mdulo mediante el cual el robot es capaz de interactuar con el entorno en el cual se encuentra instalado.

Distribucion de los PINS


PINS 1-2 Fuente interna con 24 volts DC. PINS 49-50 Tierra, se complementa para usar la fuente. PINS 3-4 Son funtes externas para alimentar con corriente de 24-40 volts de DC. PINS 47-48 Tierras. PINS 5-20 Modulo de entradas con optoacoplador. [16 entradas] PINS 21-32 Modulo de salidas a optoacoplador. [12 salidas] PINS 35-42 Cuatro salidas a relevador. Cada una tiene un contacto NA y NC. PINS 43-44 Comun para todas la salidas a relevador.

Funcin output
Description Sets the single specified output channel to the specified state. The Boolean parameter bypass is optional. If set TRUE the execution of the output command bypasses the online motion queue. Syntax output( int channel, int state [, boolean bypass] ) Parameters channel the GPIO channel: an int. Channels 1 to 16 correspond to actual GPIO output points; channels 17 to 24 are virtual outputs that act exactly like real outputs but do not connect to a phyical signal. By watching virtual outputs, a process can synchronize itself to the motion queue. state the state: an int, one of 0 -> off or 1 -> on bypass True (1) -> execution bypasses the online queue and is not synchronized to robot motion False (0) -> output execution is queued in the motion queue. This is the default if this argument is omitted. Returns Success >= 0 Failure < 0 Example output(0, 0) ;; Turns off output 0 command is queued in the online

output(0,1,True) queue output_set(1,0,False) queue

;; Turns on output 0 independent of the online motion ;; Turns off output 1 queued in the online motion

Funcin input
Description Queries the specified input channel for its state. Returns the state. This subprogram is a function, not a command as it was in the earliest versions of RAPL-3. Syntax int input( int channel ) Parameters channel the input channel: an int Returns Success >= 0 the state, an int, one of: 0 = off 1 = on Failure < 0 Returns error code Example 1 state = input(4) Example 2 if (input(8)) then ;; check sensor for presence of material load_part() ;; material present else continue ;; material not present end if

Manejo de Entradas y Salidas


Entradas [ inputs] Las entradas no se establecen dentro del programa, pero son monitoreadas dentro del programa. Para monitorear una entrada en forma individual se debe usar la siguiente funcion: input (channel) Donde channel es una de las 16 entradas. Ya que esta es una funcion, esta regresa un valor ya sea 0 o 1.

Salidas [outputs] Se pueden activar y desactivar las salidas utilizando la siguiente funcion: output (canal, estado) Donde canal es una de las 16 salidas. estado es el estado de la salida que se desea, ya sea 1 o 0. 1 = Pone en alto la salida. 0 = Pone en bajo la salida.

Ejemplo: main loop output (1,0) ready() if input(1) == 0 printf( Presionar Boton Verde \n) delay(1000) end if if input(1) == 1 printf( Entrada 1 esta activa \n) output (1,1) delay(3000) end if end loop end main

Arrays.
Un array es una coleccin de datos de objetos donde todos son del mismo tipo de datos y todos usan el mismo identificador, pero cada uno tiene un nico ndice subscrito. Sintaxis

base_type[subscript_list] identifier
donde base_type: es el tipo de dato de cada elemento, subscript_list: es la lista de una o mas constantes separadas por coma, que definen la dimensin, y identifier: es el nombre de la variable. El subndice (subscript) debe ser una expresin constante, tal como un simple entero constante. Por lo tanto para poder usar un array, se debe de identificar primero el tipo de dato. Dentro de parntesis cuadrados se indica el tamao del array y el nombre del array. Ejemplo: teachable cloc[4] puntos

Esto nos va a generar un array del tipo cloc, con un tamao de 4 elementos con los nombres puntos. Cuando ensee esas locaciones, se debe de definir cuatro puntos para el array. Numeracin La numeracin comienza en cero. Declaracin int[4]a int[10]a int[20]a Numero de elementos 4 10 20 Numeracin a[0], a[1], a[2], a[3] a[0], a[1], a[2], a[3], ..., a[7], a[8], a[9] a[0], a[1], a[2], a[3], ..., a[17], a[18], a[19]

Ejemplo:

main teachable cloc[4] puntos ready() move (puntos[0])

move (puntos[1]) move (puntos[2]) move (puntos[3]) ready() end main

S-ar putea să vă placă și