Tarjeta ENCONOR - Programación en Visual Basic |
 |
La programación de este caso se estructura en los siguientes pasos.
Se crea un nuevo proyecto EXE Estándar.
Agregar un Modulo Existente, éste será un modulo para la programación en Visual Basic que nos proporciona Enconor. El modulo se denomina “Enconor”.
Además se agregará un módulo nuevo, en el cuál se creará un procedimiento denominado “Motor” que llamará a l función “enviar”del módulo Enconor. En este módulo se agregaran dos variables denominada “motor1” y “motor2”, que serán las que guardaran los valores de las salidas digitales para utilizarlas sobre los dos motores que se utilizan. El motor1 corresponde al giro horizontal de la plataforma, y el motor2 corresponde al giro vertical de la plataforma.
Public Sub Motor(led)
Enviar (led)
End Sub
Hay que agregar un objeto del tipo “Microsoft Comm Control 6.0”, dentro del formulario donde trabajaremos. Si en la barra de herramientas no existe un objeto del tipo MSComm, identificado por un icono de un teléfono, deberá añadirlo a la barra de herramientas del siguiente modo:
1.- Seleccionar el menú “Proyecto”.
2.- Elegir la opción “Componentes”.
3.- Buscar el componente del tipo “Microsoft Comm Control 6.0”.
4.- Aceptar.
Suponiendo que utilizaremos el puerto serie COM 1, se actuará de la siguiente manera: (para cualquier otro puerto, los valores deberán adecuarse con el puerto elegido).
Todas las órdenes referidas a la comunicación con el puerto, tienen el siguiente formato:
Nombre_Formulario.Nombre_Objeto_MSComm.Operación = Valor_Operación
Por ejemplo, nosotros asumiremos lo siguiente, aunque el usuario podrá ponerlo a su gusto:
Nombre_Formulario = FormEnconor
Nombre_Objeto_MSComm = ENCONOR
De esta manera, en el procedimiento Form_Load del formulario FormEnconor, se inicializará el puerto COM1:
Private Sub Form_Load()
‘Se elige el Puerto COM1 mediante la propiedad CommPort
FormEnconor.ENCONOR.CommPort = 1
‘Se establece el modo de comunicación a 9600 baudios, sin paridad, 8 bits de ‘datos y 1 bit de parada mediante la propiedad Settings
FormEnconor.ENCONOR.Settings = "9600,N,8,1"
'Indicar al control que lea todo el búfer al usar ' Input.
FormEnconor.ENCONOR.InputLen = 0
' Abrir el puerto, poniendo a True la propiedad PortOpen
FormEnconor.ENCONOR.PortOpen = True
End Sub
En el formulario se crearán varios botones para los diferentes movimientos que va a realizar la plataforma (giro izquierda, giro derecha, subir rampa, bajar rampa, parar), en los cuales se introducirá el código necesario para que active la salida digital correspondiente. A continuación mostramos el botón de subir la rampa.
Private Sub Command1_Click()
If motor2 = 34 Then'32=32+2 Salida Digitales 6 y 2
motor2 = 0'Si la plataforma ya esta subiendo,se para
Else
motor2 = 34'La plataforma sube
End If
Call Motor(motor1 + motor2)
End Sub
Se puede crear otro botón que permita cargar otro formulario en el que se muestre una imagen de las conexiones a realizar entre el dispositivo y la controladora Enconor.
En el formulario creado, en el código de carga del formulario se introducirá el siguiente comando “canal = DetectarPuerto()” para que la aplicación a crear se pueda comunicar con la controladora Enconor.
También en el formulario se creará un procedimiento de control, el cual interpreta el dato leído en las entradas digitales para a continuación realizar la acción que corresponda a ese dato, activando las adecuadas salidas digitales. Por ejemplo, si el dato leído en las entradas digitales indica que la plataforma ha llegado al tope izquierdo, entonces se activarán las salidas digitales adecuadas para que la torre gire en el sentido contrario.
El procedimiento de control quedaría dela siguiente forma, para lo cual se pone un Timer para que vaya leyendo el valor de las entradas digitales continuamente.
Private Sub Timer1_Timer ( )
x = Recibir()
Dato = ValorEntradas
Select Case Dato
Case 1
motor1 = 1'La torre gira a la derecha
Case 2
motor1 = 17'La torre gira a la izquierda
Case 4
motor2 = 2 'La rampa esta bajando
Case 8
motor2 = 34'La rampa esta subiendo
Case 5
motor1 = 1'La torre gira a la derecha
motor2 = 34'La rampa esta subiendo
Case 9
motor1 = 1'La torre gira a la derecha
motor2 = 2 'La rampa esta bajando
Case 6
motor1 = 17'La torre gira a la izquierda
motor2 = 34'La rampa esta subiendo
Case 10
motor1 = 17'La torre gira a la izquierda
motor2 = 2 'La rampa esta bajando
Case 3, 7, 11, 12, 13, 14, 15 'Cualquier otro caso no posible
motor1 = 0
motor2 = 0
End Select
Call Motor(motor1 + motor2)
End Sub
También se utilizará el Timer para cargar diferentes imágenes dependiendo del valor de las entradas digitales.
Una vez terminado el proyecto, éste se guarda y pulsa F5 o el botón Iniciar para ejecutar la aplicación.
Una vez comprobada que la aplicación funciona, se creará un archivo ejecutable del proyecto creado.
Puede descargarse desde este enlace que viene a continuación los diferentes archivos que forman todo el proyecto.
|