Automatización Industrial



Documentos relacionados
Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Notas para la instalación de un lector de tarjetas inteligentes.

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Plantillas Office. Manual de usuario Versión 1.1

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

Carlos Castro Grande 1

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

Correo Electrónico: Webmail: Horde 3.1.1

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

Uso de Visual C++ Pre-Practica No. 3

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Cómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?

Redes de área local: Aplicaciones y servicios WINDOWS

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

FUNDAMENTOS DE PROGRAMACION CON C#

Guía Rápida de Inicio

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN

Conexión a red LAN con servidor DHCP

MANUAL INSTALACIÓN ABOGADOS MF

Introducción. Conexión de los terminales a la toma telefónica. Instalación del módem ADSL. Conexión del módem. Desinstalación del módem y la conexión

Contenido. cursos.cl / Teléfono:

Internet Information Server

Aplicaciones Windows con Microsoft Visual Studio

APROVECHAR LA BASE DE DATOS BIBLIOGRÁFICOS REBECA CON EL PRO- GRAMA ABIES.

INSTALACIÓN DE MEDPRO

REGISTRAR LOS SITIOS WEB MÁS INTERESANTES

DOCENTES FORMADORES UGEL 03 PRIMARIA

CURSOS PRÁCTICOS SEDEN SEDEN

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Unidad 5. Gestión de ficheros. CURSO: Introducción LibreOffice

UNIVERSIDAD TECNICA DEL NORTE

UNIVERSIDAD DE SALAMANCA

Protocolo Traslado_envío datos personales

UNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE

Crear una Nueva Solución Vacía:

Cobian Backup. Inguralde [Enero 2011]

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Apéndice A Instalación de Visual Studio.NET

Comentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

Explotación de Sistemas Informáticos IES Murgi PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Microsoft Access proporciona dos métodos para crear una Base de datos.

PLANTILLAS EN MICROSOFT WORD

Guía de uso del Cloud Datacenter de acens

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

DESCARGA DE CARPETAS DE MENSAJES DE CORREO DESDE EL WEBMAIL A PC S LOCALES

Desarrollo de Servicios Web con JBuilder

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

Creando una webquests

Implantar Microsoft Software Updates Service (SUS)

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Uso básico desde la propia página del sitio

Tema: CREACIÓN DE CONSULTAS E INFORMES EN UNA BASE DE DATOS CON MICROSOFT ACCESS 2013.

SUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB

Escudo Movistar Guía Rápida de Instalación Para Windows

ArduLab. 1. Qué te pasa Nerea? 2.Este robot no funciona bien y no sé que le pasa

INSTALACIÓN Y REGISTRO

TEMA 5: Trabajando con bases de datos. ClaseOracleBD

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

Copias de Seguridad con SQL Server Realizar una copia de seguridad de Bases de Datos

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Colegio de Ingenieros de Caminos, Canales y Puertos. Manual de Gestión de correo electrónico y SMS

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

ADMINISTRACION DE BASES DE DATOS CUN 2014

Edición de Ofertas Excel Manual de Usuario

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE

índice in the cloud BOX

Taller: Introducción a Windows Communication Foundation

Internet como herramientas de comunicación: El correo electrónico

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

CONFIGURACION AVANZADA DE OUTLOOK 2003

Manual Configuración GlopDroid. Configuración del módulo GlopDroid para toma de comandas en tablets, móviles y tpv Android.

Instalación de DRIVER de mochila

CAPÍTULO 3 VISUAL BASIC

Software Criptográfico FNMT-RCM

ÍNDICE INDICE. MANUAL WinPoET. Manual de formularios en Manual WinPoET

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

Seminario de Informática

Centro de Profesorado Luisa Revuelta (Córdoba) TEMA 2 CREAR, GUARDAR, CERRAR, ABRIR y VISUALIZAR PRESENTACIONES

CONFIGURACIÓN DE SOFTPHONES

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

SCANTERRA. Manual de usuario

SISTEMA DE TRANSMISIÓN DE FICHEROS Usuarios Responsables de Centro Lácteo LETRA Q TRAZABILIDAD

Audio y vídeo en Ardora 7

Creación un instalador con Visual Studio.NET. Irene Sobrón. Ingeniero de Telecomunicaciones por la Escuela Técnica Superior de Bilbao

Manual de iniciación a

Transcripción:

ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASILLA-LA MANCHA Automatización Industrial Programación de la Interfaz FTI con C# Tercera práctica Jose Domingo López López josed.lopez1@alu.uclm.es Raúl Arias García raul.arias2@alu.uclm.es Grupo: ELF 08 (Tarde) 26 de Marzo del 2009

Índice de contenidos 1. Introducción...1 2. Entorno de Programación...1 3. Programación de la interfaz FTI...2 3.1. Cómo crear un proyecto en Microsoft Visual Studio C#...2 3.2. Descripción de la librería FishFa30...7 3.3. Ejemplos prácticos...8 3.3.1. Primer ejemplo práctico...9 3.3.2. Segundo ejemplo práctico...10 4. Conclusiones...11 5. Bibliografía...12 I

Índice de figuras Ilustración 1: Pantalla de inicio de Microsoft Visual Studio 2008 C#...3 Ilustración 2: Ventana de creación de un proyecto...3 Ilustración 3: Proyecto nuevo...4 Ilustración 4: Añadir una librería existente...4 Ilustración 5: Librería añadida...5 Ilustración 6: Añadir una referencia...5 Ilustración 7: Añadir la referencia System.Windows.Forms...6 Ilustración 8: Referencia System.Windows.Forms añadida...6 II

Índice de tablas Tabla 1: Referencia a la clase FishFa30 mediante la sentencia "using"...8 Tabla 2: Referencia a la clase FishFa30 sin la sentencia "using"...8 Tabla 3: Ejemplo práctico 1...9 Tabla 4: Ejemplo práctico 2...10 III

1. Introducción La programación on-line permite a los usuarios la creación y ejecución del código en el PC. Este modo nos posibilita una gran versatilidad, puesto que no dependemos de la capacidad de la interfaz si no que dependemos del PC en cuestión. Esto nos permite la generación de código más complejo y nos da la libertad de utilizar cualquier lenguaje de programación, entorno de programación y no estamos limitados por el tamaño del código. 2. Entorno de Programación El lenguaje de programación que utilizaremos para realizar las prácticas será C#. C# es un lenguaje de programación orientado a objetos y estandarizado por Microsoft como parte de su plataforma.net, que después fue aprobado como un estándar por la ECMA e ISO. Sus sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.net el cual es similar a JAVA aunque incluye mejoras derivadas de otros lenguajes. Nos hemos decidido por éste dada su flexibilidad para realizar interfaces gráficas y por aprender un nuevo lenguaje, ya que la plataforma.net es muy demandada en el mundo laboral hoy en día. Como entorno de programación utilizaremos Microsoft Visual Studio 2008 C# aunque también tenemos alternativas gratis y libres #develop (Sharp Develop) y la plataforma Mono. Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas Windows. Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic.NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Además permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma.net (a partir de la versión 6). Así se pueden 1

crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. 3. Programación de la interfaz FTI Inicialmente disponemos de la librería hckfish que está escrita en lenguaje C, por lo que necesitaremos una adaptación a C#. Esta adaptación, que recibe el nombre de FishFa30 y ha sido realizada por Ulrich-Müller, puede ser descargada de su página Web (ver enlace 1). A continuación se muestra cómo crear un proyecto en Microsoft Visual Studio C#, un resumen de la librería comentando los métodos que utilizaremos, y dos ejemplos en los que se ilustra cómo manejar las entradas y salidas digitales. 3.1. Cómo crear un proyecto en Microsoft Visual Studio C# 1. El primer paso consiste en incluir el fichero umfish30.dll en el directorio C:\Windows\system32. 2. A continuación instalaremos el Microsoft Visual Studio C# (en este documento no se hará una descripción detallada de este paso). 3. Una vez instalado, al ejecutar la aplicación se nos mostrará la pantalla principal (ver Ilustración 1). 2

Ilustración 1: Pantalla de inicio de Microsoft Visual Studio 2008 C# 4. Navegamos en el menú de herramientas a través de la ruta Archivo > Nuevo > Proyecto y seleccionamos la opción Aplicación de consola para crear un programa con interfaz basada en texto. A continuación elegimos el nombre de nuestro proyecto y decidimos en qué directorio deseamos guardarlo (ver Ilustración 2). Ilustración 2: Ventana de creación de un proyecto 3

5. Ya tenemos nuestro proyecto creado (Ilustración 3). Ilustración 3: Proyecto nuevo 6. El siguiente paso es código fuente de la librería FishFa30 en nuestro proyecto. Para ello, movemos el fichero FishFa30.cs al directorio donde hemos guardado el proyecto y la añadimos a la solución que nos ha creado el MVSC#. Esto se hace haciendo clic derecho en la solución de nuestro proyecto y navegando por Añadir > Objeto existente (ver Ilustración 4). Ilustración 4: Añadir una librería existente 4

7. En la ventana emergente que nos aparece, debemos buscar el fichero FishFa30.cs que hemos copiado en la carpeta de nuestro proyecto y clicar en Aceptar. Como podemos observar, ya sale la librería dentro de nuestro proyecto (ver Ilustración 5). Ilustración 5: Librería añadida 8. Por último, es necesario hacer un pequeño ajuste en el entorno para evitar unos errores que aparecen con las ventanas. Consiste en navegar por Proyecto > Añadir referencia (ver Ilustración 6). Ilustración 6: Añadir una referencia 5

9. Y a continuación seleccionamos System.Windows.Forms y hacemos clic en Aceptar (ver Ilustración 7). Ilustración 7: Añadir la referencia System.Windows.Forms 10. Por último, comprobamos que se ha añadido bien la referencia (ver Ilustración 8) y a programar! Ilustración 8: Referencia System.Windows.Forms añadida 6

3.2. Descripción de la librería FishFa30 La clase FishFace será la interfaz por medio de la cual controlaremos la tarjeta inteligente de fishertechnik. Los métodos que utilizaremos de la clase serán las siguientes: void OpenInterface(Port PortNr): lo utilizaremos para crear la conexión con la tarjeta inteligente. Para ello, tendremos que indicarle el puerto al que tenemos conectada la FTI. Este método no devuelve nada y el control de errores se hace mediante excepciones. void CloseInterface(): cerraremos la conexión con la tarjeta. Este método tampoco devuelve nada, el control de errores mediante excepciones. int GetAnalog(Nr AnalogNr): este método sirve para consultar el valor de las entradas analógicas. Indicaremos por parámetro la entrada analógica queremos consultar y nos devolverá un entero que representará lo que está leyendo en la entrada en ese momento. bool GetInput(Nr InputNr): vamos a utilizar este método para consultar el valor de las entradas digitales. Para ello le indicamos qué entrada queremos consultar por parámetro y nos devolverá true si la entrada está a 1 y false si la entrada está a 0. void Pause(int msek): este método detendrá la interfaz durante los microsegundos que le indiquemos por parámetro. void WaitForTime(int msek): tiene un comportamiento similar al de la función Pause(int msek). void SetLamp(Nr LampNr, Dir OnOff): gracias a este método podremos manejar las lámpara. Éstas se conectan igual que los motores, a una de las salidas digitales de la tarjeta inteligente, pero solamente se podrá indicar si están encendidas o apagadas. Al método le pasaremos por parámetro la salida a modificar y el estado al que queremos 7

llevarla. Los estados serán unos predefinidos que leeremos del objeto de la clase Enumeration Dir. void SetMotor(Nr MotorNr, Dir Direction): gracias a este método podremos manejar los motores. Éstos funcionan igual que las lámparas, explicadas anteriormente, pero nos permiten un número mayor de posibilidades en cuanto a la elección de la dirección. Podremos hacer que gire en un sentido o en otro, además esto nos permite realizar la multiplexación para las lámparas. 3.3. Ejemplos prácticos Para poder crear una instancia de la clase FishFa30, y utilizar sus atributos y funciones, debemos declarar de algún modo dónde se encuentran. Para hacer esto hay dos formas: 1. Importando la librería mediante la sentencia using. using FishFa30; FishFace fish = new FishFace(); fish.setmotor(nr.m1, Dir.On); Tabla 1: Referencia a la clase FishFa30 mediante la sentencia "using" 2. Haciendo referencia a la librería cada vez que vamos a utilizar un atributo o método. //using FishFa30; FishFa30.FishFace fish = new FishFa30.FishFace(); fish.setmotor(fishfa30.nr.m1, FishFa30.Dir.On); Tabla 2: Referencia a la clase FishFa30 sin la sentencia "using" 8

3.3.1. Primer ejemplo práctico En este primer ejemplo se muestra cómo hacer funcionar dos motores, conectados a las salidas digitales M1 y M2, durante 2 segundos. using System; using System.Collections.Generic; using System.Linq; using System.Text; //using FishFa30; namespace Ejemplo1 class Program static void Main(string[] args) // Creamos una instancia de la clase FishFace FishFa30.FishFace fish = new FishFa30.FishFace(); try // Abrimos la conexion con interfaz fish.openinterface(fishfa30.port.com1); // Activamos el actuador conectado a la salida M2. fish.setmotor(fishfa30.nr.m2, FishFa30.Dir.On); // Activamos el actuador conectado a la salida M1 a la Derecha fish.setmotor(fishfa30.nr.m1, FishFa30.Dir.Right); // Realizamos un wait para esperar un tiempo, en este caso 2000 fish.waitfortime(2000); // Desactivamos los actuadores conectados a las salidas M1 y M2 fish.setmotor(fishfa30.nr.m1, FishFa30.Dir.Off); fish.setmotor(fishfa30.nr.m2, FishFa30.Dir.Off); // Por ultimo cerramos la conexion con la interfaz fish.closeinterface(); catch (FishFa30.FishFaceException) Console.WriteLine("ERROR:: No se ha podido abrir la interfaz"); Console.ReadLine(); Tabla 3: Ejemplo práctico 1 9

3.3.2. Segundo ejemplo práctico En este segundo ejemplo se muestra cómo hacer para que un interruptor conectado a la entrada digital E1 ponga en funcionamiento un motor conectado a la salida digital M1. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ejemplo2 class Program static void Main(string[] args) Boolean hayentrada = false; // Creamos una instancia de la clase FishFace FishFa30.FishFace fish = new FishFa30.FishFace(); try // Abrimos la conexion con el interfaz fish.openinterface(fishfa30.port.com1); // Esperamos una señal por parte del sensor conectado a la entrada digital E1 while (!hayentrada) hayentrada = fish.getinput(fishfa30.nr.e1); // Una vez que se ha activado el interruptor... if (hayentrada) // Activamos el actuador conectado a la salida digital M1 fish.setmotor(fishfa30.nr.m1, FishFa30.Dir.On); // Esperamos 3000 ms fish.pause(3000); // Paramos el actuador conectado a la salida digital M1 fish.setmotor(fishfa30.nr.m1, FishFa30.Dir.Off); // Cerramos la conexion con el interfaz fish.closeinterface(); Console.ReadLine(); catch (FishFa30.FishFaceException) Console.WriteLine("ERROR:: No se ha podido abrir la interfaz"); Console.ReadLine(); Tabla 4: Ejemplo práctico 2 10

4. Conclusiones Como se ha podido observar, la programación del interfaz FTI es sencilla si se tienen ciertos conocimientos en programación y el lenguaje escogido no supone una barrera aunque no se conozca a fondo, dada su similitud con otros lenguajes muy extendidos como C y Java. En nuestro caso, esta es la primera vez que programamos en C# y apenas hemos tenido problemas. El único problema que nos supuso el entorno es en la referencia a System.Windows.Forms, que fue resuelto tal y como se ha descrito en el paso 8 de la sección 3.1 (Cómo crear un proyecto en Microsoft Visual Studio C#). Además, algo que no es muy agradable y supone un gran impedimento es que toda la documentación referente a la librería umfish30.dll y la clase FishFa30.cs se encuentra en alemán y hasta ahora no hemos conseguido hacernos de una versión en inglés. Por último, decir que la realización de los ejemplos proporcionados con esta práctica nos ha aumentado considerablemente el interés por la asignatura dado que es la primera vez que hacemos este tipo de programación, además nos parece muy interesante y divertido. 11

5. Bibliografía 1: Página de Ulrich-Müller http://www.ulrich-mueller.de/csecke.htm 2: Wikipedia: La enciclopedia libre http://es.wikipedia.org/wiki/c_sharp http://es.wikipedia.org/wiki/microsoft_visual_studio 3: Página de #develop (Sharp Develop): http://www.icsharpcode.net/opensource/sd/ 4: Página oficial de la plataforma Mono: http://mono-project.com/main_page 5: Joseph Albahari; Ben Albahari, C# 3.0 in a Nutshell, 3rd Edition. 12