¿Qué funciones tiene VBA en Excel? ¿Dónde puedo encontrar tutoriales?
1. Tendencia de desarrollo del software de automatización
El software de automatización se refiere principalmente al software que proporciona a los usuarios un entorno operativo y de desarrollo HMI. Algunos software también pueden proporcionar funciones de control de bucle, lo que permite a los usuarios implementar. Esquema de control de PC basado en HMI. El software de automatización debe tener las siguientes funciones y características principales: visualización dinámica de procesos industriales; recopilación y gestión de datos; funciones de monitoreo y alarmas de procesos y gestión jerárquica de la seguridad del sistema; ; ajuste de bucle simple; control de lotes, etc.
En los últimos años, con el desarrollo y la aplicación de la tecnología informática y de redes, el desarrollo del software de automatización también ha mostrado las siguientes tendencias de desarrollo.
1.1 Apertura y estandarización
En los últimos años, muchos fabricantes de software de automatización han integrado lenguajes de programación estandarizados comunes, como VBA (Visual Basic para Aplicaciones) de Microsoft, en sus propios sistemas de desarrollo de software. ambiente. VBA es muy similar a VB (Visual Basic), pero no se puede compilar en un archivo ejecutable. Esto proporciona un entorno de programación para muchos usuarios que están familiarizados con VB. Cuando los usuarios escriben programas en el entorno VBA, pueden utilizar DDE, controles ActiveX, ODBC, COM/DCOM y otras tecnologías para convertir el software de automatización en una plataforma de software abierta. Cuando las funciones del software no pueden satisfacer las necesidades especiales de los usuarios, los usuarios pueden realizar un desarrollo secundario de acuerdo con sus propias necesidades.
Al mismo tiempo, la tecnología OPC (OLE para control de procesos 1) también es un punto caliente en el software de automatización. OPC es una aplicación de vinculación de objetos de Microsoft y tecnología OLE/COM integrada en el control de procesos, que proporciona un mecanismo estándar de acceso a datos para el campo del control industrial.
1.2 Red
Con la popularidad de Internet/Intranet, el software de automatización integra funciones de red basadas en el protocolo TCP/IP, convirtiéndolo en el sistema central en el proceso de fabricación colaborativo, realizando Real- gestión de datos en tiempo, visualización de procesos en tiempo real, exploración de tendencias en tiempo real, grabación y visualización de alarmas, almacenamiento de datos de informes, almacenamiento y visualización de tendencias históricas, generación de informes de procesos de producción, generación de informes estadísticos de producción y otras funciones en el entorno de red empresarial, por lo tanto Realización del sistema de control de procesos. Integración de redes con sistemas de información. Los usuarios pueden iniciar sesión en el servidor web del software de automatización a través del navegador IE para realizar una navegación remota del proceso de producción.
1.3 Integración de gestión y control
El sistema de información de gestión de producción es un proyecto de construcción clave para las grandes empresas. Con la madurez de la tecnología de bases de datos a gran escala, el software de automatización se ha convertido en una herramienta para recopilar e integrar información en toda la fábrica. En el futuro proceso de informatización empresarial, el software de automatización se convertirá en el puente entre los equipos de hardware y los sistemas de información de gestión de producción. Porque el software de automatización puede proporcionar datos históricos y en tiempo real del proceso de producción al sistema de información de gestión de producción, y el sistema de información de gestión de producción tiene un papel rector en el proceso de producción.
2. Aplicación de VBA en software de automatización
A continuación, tomando como ejemplo el software iFIX, a través de un script escrito en VBA, se da un ejemplo de salida de datos históricos a Excel. de VBA en software de automatización.
2.1 Introducción al software iFIX
El software IFIX es un componente HMI/SCADA basado en Windows de la serie de productos de software de automatización GE. IFIX es un producto basado en tecnologías abiertas y de componentes diseñado para proporcionar un entorno de diseño que sea fácil de integrar y trabajar en conjunto entre sistemas comerciales y de nivel de fábrica. iFIX también agrega tecnologías de estandarización industrial como OPC, VBA, ActiveX, DDE y ODBC para proporcionar un potente entorno de desarrollo que satisfaga las necesidades especiales de los usuarios.
2.2 Ejemplos de aplicación de VBA en el software ifix
Mecanismo de acceso a datos de Ifix. Los datos en iFIX se dividen en bases de datos en tiempo real y bases de datos históricas, y los métodos de acceso de estas dos bases de datos son diferentes. Para bases de datos en tiempo real, se proporcionan varios objetos iFIX en el proyecto iFIX VBA. Con estos objetos, puede implementar fácilmente funciones de control iFIX en VBA. Para bases de datos históricas, puede acceder a la base de datos relacional para obtener datos históricos. Para estas bases de datos relacionales, la mayoría de los lenguajes de programación proporcionan los controles de datos correspondientes para acceder a ellas. En VBA, el modelo de objetos ADO se utiliza normalmente para acceder a estas bases de datos históricas.
B) El control de datos ADO utiliza Microsoft ActiveX Data Objects (ADO) para establecer rápidamente una conexión entre el control vinculado a datos y el proveedor de datos. Un control vinculado a datos es cualquier control que tenga una propiedad de origen de datos. El proveedor de datos puede ser cualquier fuente de datos que cumpla con la especificación ODBC.
c) Utilizar VBA para implementar informes de Excel.
Al escribir scripts VBA, puede enviar datos históricos a Excel y generar informes de Excel. Hay dos métodos de activación: uno es iniciar un programa de script VBA para generar un informe a una hora o evento fijo a través del programador iFIX; también puede usar VBA directamente para generar una interfaz de usuario; Los usuarios pueden ingresar parámetros como el tiempo de inicio y el intervalo, y luego hacer clic en un botón para iniciar el programa de script VBA y generar informes. Los dos métodos son procesalmente similares y las partes principales del programa de script VBA son las siguientes. Entre ellos, el programa envía datos históricos, hora, nombres de etiquetas y otros parámetros a la Hoja 2 de Excel. Los usuarios pueden utilizar la Hoja1 como diseño del informe y formar el informe final editando el formato de diseño y haciendo referencia a los datos de la Hoja2.
Defina el período de tiempo y el nombre de la variable a consultar según los requerimientos del usuario.
Atenuar MyDate, StartTime, EndTime como cadena Atenuar etiqueta 1, Etiqueta2 como cadena
Tagl="TIC101.F_CV "
Tag2="TIC102. F_CV "
MiFecha=Formato(Ahora()," aaaa-mm-DD ")
HoraInicio = MiFecha & amp"& amp"0:00:00"
Hora de finalización = mi fecha. ”& amp" 23:OO:OO "
Utilice objetos ADO para acceder a la base de datos ODBC y utilice el lenguaje SQL para consultar ciegamente datos históricos.
strQuerySamp="Seleccione fecha y hora, valor, etiqueta de corrección donde modo = 'muestra' y (etiqueta = ' " & Tagl & amp; " ' o TAG = ' " & ampTag2) e intervalo =' 01 :00:00 ' y (Fecha y hora) > = { ts ' " & hora de inicio & ) y Fecha y hora < = { ts ' hora de finalización & ' })"
Atenuar cnADO como nuevo ADODB. Relaciones
Atenuar rsADO como conjunto de registros
Establecer cnADO=Nuevo ADODB. Relación
cnADO. ConnectionString=" DSN=arreglar datos históricos dinámicos; UID=saPWD=;"
cnAD0. Abra "Reparar datos históricos dinámicos", "sa", "Reparar datos históricos dinámicos"
Establezca rsADO: nuevo ADODB. Conjunto de registros
rsADO. Abra strQuerySamp, cnADO, adOpenForwardOnly, adLockBatchOptimistic
Llame a Excel para escribir datos históricos en el archivo de informe de Excel abierto.
Atenuar archivo de informe, como una cadena en el archivo de informe
Establecer Intyexcel= Nuevo Excel. Aplicar
en el archivo de informe: "C:\data\his report"
Intyexce1. Abra InReportFile y amp".XLS"
Intyexce1. Papel("Papel2"). Seleccione
mientras rsADO. EOF & lt& gtreal
Utilice Intyexce1. Hoja de trabajo(2)
Para C=0 al elemento
Si rsADO(c) = " "entonces. celda(r,C+1). valor = rsADO(c)
siguiente C
r; r+ 1
rsADO. MoveNex
Finalizar con...
w end
Cierre Excel y guarde el archivo del informe.
archivo de informe de salida = en archivo de informe & "_"&mi cita
Intyexce1. Libro de trabajo ActiveW. Guardar como OutReportFile
Intyexce1. Renunciar
Establecer Intyexcel=Nada
Establecer cnADO==Nada
3. Precauciones y perspectivas para las aplicaciones VBA.
El software de automatización integrado con el lenguaje de programación VBA se ha convertido en una plataforma de desarrollo de software abierta y estandarizada, lo que hace que el software de automatización sea infinitamente abierto y escalable. Pero también trae algunos problemas. En primer lugar, los desarrolladores deben garantizar la confiabilidad y simplicidad de los programas de script VBA.
Los programas VBA deben someterse a pruebas rigurosas y completas y se deben escribir procedimientos de manejo de errores para garantizar un control infalible del proceso de producción. En segundo lugar, los programas VBA actualmente no pueden escribir programas multiproceso. Los desarrolladores deben elegir un método de activación adecuado para evitar conflictos.
En resumen, a medida que los usuarios finales se vuelvan más sofisticados y comprendan mejor el software de automatización, escribirán programas para personalizar sus procesos y sistemas para satisfacer sus necesidades. El software de automatización seguirá proporcionando a los usuarios este medio técnico seguro y fiable.
Referencia
Liu Entao, Zhao. . Tecnología de programación Visual Basic6.0 y análisis de casos, Beijing: China Water Conservancy and Hydropower Press, 1999.455 ~ 456, 472 ~ 478, 479 ~ 482.
[2]Liu Bingwen, Zhang Shen. . Programación Visual Basic - Base de datos. Beijing: Prensa Popular de Correos y Telecomunicaciones.
1999.196~198,224~232,248~251
Tutorial detallado:/read.php? wid=455