Documente Academic
Documente Profesional
Documente Cultură
www.afcon-inc.com
www.schneider-electric.com.ar
En todos los sistemas de control, grandes o pequeños, es necesario tener información visual
del funcionamiento del mismo. A medida que los sistemas de control han ido evolucionando,
también ha aumentado la complejidad de los elementos que proporcionan la información al
usuario.
De un simple indicador de aguja, que representa una variable del proceso, se ha llegado a
paneles sinópticos que muestran el estado de grandes instalaciones.
Desde la era moderna, se presentó la necesidad de visualizar y poder controlar a distancia una
máquina. Aparecen los primeros cuadros de control, donde una multitud de luces indicaban las
diferentes situaciones previstas de la máquina. Cualquier situación imprevista o modificación,
requería varias horas de trabajo, para llevar la señal olvidada al panel de control.
La aparición de la informática permitió realizar este tipo de control de manera mas sencilla. Ya
no es necesario recurrir a un experto en automatización, cuando se requiere cambiar el ajuste
de un temporizador, en un sistema de control.
Los grandes cuadros de control se convirtieron en monitores que podía mostrar la misma
información. Para realizar cambios en la representación, basta con modificar una parte del
código de la aplicación para que en la pantalla apareciera.
La evolución de los sistemas operativos han incrementado también las posibilidades de estos
sistemas.
Los HMI se conciben principalmente como una herramienta de supervisión y mando, con las
siguientes características:
• Economía: es más fácil observar que ocurre en una instalación desde una oficina que
enviar un operario a realizar la tarea. Ciertas intervenciones serían innecesarias.
• Ergonomía: la ciencia que procura hacer que la relación entre el usuario y el proceso
sea lo mas simple posible.
• Gestión: todos los datos recopilados pueden ser valorados de múltiples maneras
mediante herramientas estadísticas, gráficas, tabulaciones, que permitan explorar el
sistema con el mejor rendimiento posible.
La IEEE define como sistema abierto todo aquel que proporciona los medios para
poder funcionar correctamente con otros sistemas que operen bajo las mismas
especificaciones, siendo éstas de dominio público.
El esquema que representa los flujos de información dentro de la empresa y representa como
se realiza la integración a todos los niveles es similar a la conocida como CIM (Computer
Integrated Manufacturing)
ERP
MES
HMI
CONTROL
AUTOMATISMO
DATOS DE PLANTA
Estos niveles abarcan los diferentes flujos de información que se dan entre los elementos de
cada uno de ellos (comunicación horizontal) y el intercambio entre diferentes niveles
(comunicación vertical).
Los tres niveles no tienen límites claramente definidos. Las herramientas ERP van asimilando
capacidades propias del nivel MES de la misma manera que las aplicaciones de control
(SCADA) van adquiriendo prestaciones del nivel superior (MES) al disponer de herramientas de
comunicación con bases de datos y con aplicaciones internas y externas.
• Es la “cara” por medio del cual los operadores interactúan con los otros componentes
del HMI.
Reemplazan a los indicadores luminosos, instrumentos de agujas, registradores y
•
comandos manuales.
Debe proveer un entorno de operación fácil de usar, que le permitan al usuario un
• rápido reconocimiento, interpretación y manipulación del proceso.
Permite la utilización de objetos (p.e. ActiveX) que además de una representación
gráfica, proveen cierta funcionalidad adicional.
• Las diferentes pantallas o ventanas se crean, mediante herramientas gráficas en el
ambiente de desarrollo y se almacenan en el disco rígido
Incluyen animaciones por las cuales se modifican atributos de los objetos gráficos en
• función de los cambiantes valores de los tags asociados
En el entorno ejecutivo (runtime) las pantallas elegidas se visualizan y se activan las
• animaciones y controles definidos en el entorno de desarrollo
También incluyen elementos de control con los cuales el operador interactúa,
modificando los valores de los tags asociados o disparando la ejecución de scripts.
•
RDBM HMI
… … … TagN
Disco
Rígido
OPC
RTDB
Server
DDE
Server
ActiveX
Propietari
o
SCADA viene de las siglas de "Supervisory Control And Data Adquisition", es decir: adquisición
de datos y control de supervisión. Se trata de una aplicación software especialmente diseñada
para funcionar sobre ordenadores en el control de producción, proporcionando comunicación
con los dispositivos de campo (controladores autónomos, autómatas programables, etc.) y
controlando el proceso de forma automática desde la pantalla del ordenador. Además, provee
de toda la información que se genera en el proceso productivo a diversos usuarios, tanto del
mismo nivel como de otros supervisores dentro de la empresa: control de calidad, supervisión,
mantenimiento, etc.
• Mando: Posibilidad de que los operadores puedan cambiar consignas del proceso
directamente desde el ordenador.
• Seguridad de los Datos: Tanto el envío como la recepción de datos deben estar
suficientemente protegidos de influencias no deseadas (fallos de programación, intrusos).
SENSORES
SCADA
PLC
ACTUADORES
El sistema de proceso capta el estado del sistema a través de los elementos sensores e
informa al usuario a través de las herramientas HMI.
Basándose en comandos ejecutados por el usuario, el sistema de proceso inicia las acciones
pertinentes para mantener el control del sistema a través de los actuadores.
La transmisión de los datos entre el sistema de proceso y los elementos de campo se realiza
mediante los denominados Buses de Campo.
ESTACIÓN MAESTRA
Por unidad remota podemos entender aquel conjunto de elementos dedicados a labores de
control y/o supervisión de un sistema, alejados del centro de control y comunicados con este
por algún medio.
La RTU se conecta al equipo físicamente y lee los datos de estado como los estados
abierto/cerrado desde una válvula o un intercambiador, lee las medidas como presión, flujo,
voltaje o corriente. Por el equipo el RTU puede enviar señales que pueden controlarlo: abrirlo,
cerrarlo intercambiarlo la valvular o configurar la velocidad de la bomba.
Las unidades remotas RTU se encargan de recopilar los datos de los elementos de campo y de
transmitirlos hacia la unidad central, además de enviar los comandos de control a éstos. Son
los Procesadores de Comunicaciones.
Las RTU suelen estar basadas en ordenadores especiales que controlan directamente el
proceso mediante tarjetas convertidotas adecuadas o que se comunican con elementos de
control (PLC, reguladores).
El software de éstos elementos suele estar elaborado en lenguajes de alto nivel (C, Visual
Basic, Delphi).
Los periféricos inteligentes o IED, son elementos con capacidad de decisión propia, que se
ocupan de tareas de control, regulación y comunicación. Dentro de esta clasificación podemos
encontrar reguladores, variadores de velocidad, controladores de energía reactiva,
trasductores, etc. Es bastante habitual encontrar que muchos de estos elementos utilizan
protocolos propietarios y dan origen a las denominadas islas de automatización.
INFRAESTRUCTURA DE COMUNICACIÓN
Un servidor de campo puede gestionar varios protocolos simultáneamente, con una limitación
física de soportar interfaces de hardware (tarjetas de comunicación).
Permiten el intercambio de datos bidireccional entre la RTU y la unidad central, mediante un
protocolo de comunicaciones determinado y un sistema de transporte de información para
mantener el enlace entre los diferentes elementos de la red:
• Línea telefónica
• Cable coaxil
• Fibra óptica
• Telefonía celular
• Radio (VHF, UHF, microondas)
CARACTERÍSTICAS GENERALES
• Direccionamiento dinámico.
• Intercambio de información con otros software’s vía DDE (intercambio dinámico de datos).
• Arquitectura de red Cliente/ Servidor totalmente distribuida y transparente al usuario.
• Paquetes OEM adaptables a cada aplicación en particular.
• Versátil integración de reportes.
• Completa conectividad con mas de 150 familias de productos (PLCs, RTUs, Variadores de
velocidad, Monitores de circuitos, etc).
Gráficos de tendencias con herramientas de análisis integradas.
Mecanismos de procesamiento de recetas.
Sencillo editor de gráficos que permite edición on-line.
•
Recolección histórica y condicionada de datos.
•
Restricción de acceso por password.
•
Manejo avanzado de alarmas y eventos.
•
Arquitectura de reporte por excepción.
•
Fácil ingeniería y mantenimiento de la aplicación.
•
Versatilidad total: 100% actualizable, expandible, portable y documentable.
•
Disponible en los entornos: Windows 3.11, Windows 95/98, Windows NT y Windows CE.
•
Programación cero: No se requiere experiencia previa de programación para hacer un
•
desarrollo P-CIM.
•
Módulo SER (Registro Secuencial de Eventos).
•
P-CIM Basic Server: le permite hacer un desarrollo en lenguaje Basic.
•
•
CARACTERÍSTICAS PARTICULARES
P-CIM NIVEL STARTER (100 I/O) Permite leer y/o escribir del PLC hasta 100 TAGs.
PCIM-2191-010 (RUN TIME)
PCIM-2192-010 (RUN TIME y DESARROLLO)
P-CIM NIVEL COMPACT (300 I/O) Permite leer y/o escribir del PLC hasta 300 TAGs.
PCIM-2193-010 (RUN TIME)
PCIM-2194-010 (RUN TIME y DESARROLLO)
P-CIM NIVEL ADVANCED (800 I/O) Permite leer y/o escribir del PLC hasta 800 TAGs.
PCIM-2195-010 (RUN TIME)
PCIM-2196-010 (RUN TIME y DESARROLLO)
P-CIM NIVEL PROFESSIONAL (2000 I/O) Permite leer y/o escribir hasta 2000 TAGs.
PCIM-2197-010 (RUN TIME)
PCIM-2198-010 (RUN TIME y DESARROLLO)
P-CIM NIVEL UNLIMITED (ILIMITADO) Permite leer y/o escribir del PLC cantidad
ilimitada de I/O de TAGs.
PCIM-2095-010 (RUN TIME)
PCIM-2096-010 (RUN TIME y DESARROLLO)
TAG: Variable de intercambio con el PLC. Podrán ser variables analógicas o digitales.
1 TAG = 32 bits.
Ejemplo:
1 variable entera booleana=>1 TAG
1 variable analógica de 8 bits =>1 TAG
1 variable analógica de 10 bits =>1 TAG
1 variable entera de 16 bits=>1 TAG
1 variable analógica de 32bits =>1 TAG
1 celda Excel=>1 TAG
VERSIONES ACTUALES
VERSIÓN HARDWARE: 7.5
VERSIÓN SOFTWARE: 7.5 SP2 a
Es recomendable que las versiones del Software y Hardware coincidan, para poder
disponer de todas las funcionalidades.
Tanto la versión del Soft como del Hard es posible actualizarlas, mediante la adquisición de
la licencia para realizar el up-grate.
ESTACIÓN EDITOR
CAPA APLICACIÓN DEL DE
OPERADOR ANIMACIONES
BASE DDE
CAPA BASE DATOS DE EXCEL
DATOS
DRIVERS
CAPA COMUNICACIÓN DE
COMUNICACIÓN
PLC
BASE DE DATOS
Se definen las variables. Se pasan los datos crudos obtenidos del PLC a valores con formato
legible (unidades de ingeniería).
Permite realizar históricos y estadísticas.
Permite disparar alarmas.
DRIVERS DE COMUNICACIÓN
Dialoga con los equipos de campo, vinculándolos con el operador.
Toma el dato desde el PLC en estado crudo, sin procesar.
Existen diferentes protocolos de comunicación, para c/u de ellos se debe cargar un driver de
comunicación.
En el caso de los PLCs SCHNEIDER hay 2 protocolos:
ModBus: Twido, Micro, Premium, Quantum, Momentum
Unitelway: Micro, Premium
EDITOR DE ANIMACIONES:
Permite crear cada una de las pantallas de animación que podrá ver el usuario desde la
estación del operador.
Requerimientos Hardware:
• Pentium 500MHz o superior
• Mínimo 64MB de RAM
• 120MB de espacio libre en Disco para la instalación
• Monitor VGA
• Adaptador de red y dirección IP FIXED para aplicaciones de red.
Nota
Se puede abrir P-CIM para Windows 32 sin la Llave de Habilitación (SEK), en este caso se
trabajará en modo DEMO.
P-CIM está construido en un formato de capas. Durante la ejecución, los datos del proyecto P-
CIM son transferidos a través de las capas en forma bidireccional.
CAPA APLICACIÓN
CAPA COMUNICACIÓN
PLANTA
CAPA DE COMUNICACIONES: Recibe información desde el lugar de trabajo a través del PLC
y los transfiere al servidor de base de datos.
Los siguientes módulos son utilizados en esta capa:
• P-CIM Communication Setup (Setup de Comunicaciones)
• Alarm Summary Windows (Ventana Sumario de Alarmas)
• Data Scope (Alcance de Datos)
• Driver Server (Servidor de Driver)
CAPA APLICACIÓN
DISEÑO EJECUCIÓN
PASSWORD EDITOR
AAH
RECIPE EDITOR
TXT
ALARMAS
SUMARIO
DBF
REPORTS EDITOR
ODBC
CAPA COMUNICACIÓN
PLANTA
CAPA APLICACIÓN
ADVANCED OPERATOR
ALARM REPORTS
ALARMS WORKSTA RECIPES
HANDLER GENERATOR
HANDLER TION
S
E
R
BLOQUES DE BASE DATOS
BASE DATOS V
EXTERNA I
D
GENERADOR DE ALARMAS O
HISTORIA
R
D
VARIABLES A
T
O
MANEJO DE MEMORIA S
CAPA COMUNICACIÓN
ITEMS
RECOMENDADOS
1:1:W1
10:2:W3…W300
11:4:DW8…DW100
A
R
Q
U SERVIDOR DE
I DRIVERS
T
E El máximo número de tareas puede
C 1:1:w1 ser definido en la configuración del
10:2:W3…W300 Driver.
T 11:4:DW8….. Para acelerar la comunicación,
U conviene reducir el número de
R tareas usando direcciones
consecutivas en la aplicación.
A
I
N DRIVERS COMUNICACIÓN P-CIM
T
E
R
TASK 1 1:1:W1 TASK 1 TASK 1 1:1:W1
N TASK 2
A PORT 1 TASK 3 PORT 11
PORT 10
COMM
PLACA PLACA
DE RED CONTROLADORA
COMUNICACIÓN
ARQUITECTURA EXTERNA
NETWORK SETUP Este módulo se utiliza para definir y modificar la estación de red.
Este módulo puede ser usado para crear las pantallas gráficas que el
operador verá durante la ejecución de la aplicación, en el Operador
ANIMATION EDITOR Workstation (Estación del Operador).
Este módulo puede ser utilizado para ver y crear la sintaxis utilizada en un
SYNTAX MANAGER proyecto P-CIM.
Este módulo puede ser utilizado para crear y modificar una plantilla de
recetas. Una receta es un grupo de valores relacionados con una dirección
RECIPE EDITOR dinámica de datos.
REPORT EDITOR Este módulo puede ser utilizado para crear plantillas de reportes.
TOOLBAR EDITOR Este instrumento es utilizado para crear una barra de tareas personalizada.
VOLVER AL TEMARIO
Una vez creado aparecerá en el explorador de proyectos una carpeta con este nombre.
Hemos creado un proyecto Nuevo: Curso1a, y será abierto por defecto al abrir P-CIM
Luego salimos de Project Setup, desde FILE/ EXIT.
CERRAR P-CIM
ABRIR P-CIM
P-CIM STARTUP
P-CIM SHUTDOWN
P-CIM se debe cerrar desde el comando SHUTDOWN , no basta con cerrar cada una
de las ventanas.
La base de datos de P-CIM puede recuperar, almacenar y procesar información de tiempo real
e histórica de los controladores, dispositivos periféricos y variables internas.
Las funciones y capacidades esenciales de los bloques de la base de datos son las siguientes:
• Proporcionar Interfase con el Operador
• Generar Alarmas
• Intercambiar Información con Dispositivos Externos y Variables Internas
• Intercambiar Información entre Bloques
• Registrar Información a ser usada en las Tendencias
• Convertir Información – transformar información cruda en unidades de ingeniería y
viceversa.
TIPOS DE BLOQUE
P-CIM proporciona 8 tipos de bloques de base de datos para el manejo de 4 tipos básicos de
datos: analógicos (enteros o reales), digitales (un solo bit), string o cadena de caracteres
(veinte valores de palabras de 16 bits) y alarmas (en grupos de 16 bits):
• Valor Analógico
• Puntero Analógico
• Valor Digital
• Puntero Digital
• Bloque de Cálculo
• Bloque Booleano
• Puntero a String
• Bloque de Alarmas
El editor de animaciones es la herramienta que me permite crear cada una de las pantallas
que voy a ver luego desde la pantalla del operador.
El tamaño y posición de la pantalla serán los mismos que aparezcan en la estación del
operador.
Las pantallas creadas con P-CIM serán .drw (gráficos vectorizados). Puedo hacer gráficos
en otros software’s y guardarlos con esta extensión.
Desde el editor puedo realizar figuras, agregar texto, cambiarles el color, efectos de relleno,
color de línea, girar.
Nombre de la aplicación
Nombre de la pantalla
Número de Pantalla
El número de la pantalla en la lista (útil para hacer un seguimiento de la pantalla sin nombre).
Un asterisco (*) para hacer notar que se han hecho cambios en la pantalla y aún no han sido
guardados.
File Incluye los comandos estándar New (nuevo), Open (abrir), Close (cerrar), Save
(guardar), Save As (guardar como), Save All (guardar todo), Revert to Saved
(Volver a la versión guardada), y Exit (salir) - y comandos especiales para
acceder a archivos previamente usados (Recall), ClipArt, y el Operator
Workstation.
Edit Incluye comandos de edición estándar de Windows: Cut (cortar), Copy (copiar),
Paste (pegar), Delete (borrar), Duplicate (duplicar), Redraw (redibujar), Select All
(seleccionar todo), y Undo (deshacer) - y comandos especiales para operar sobre
objetos animados.
Pantalla Incluye comandos para definir la pantalla misma: Style (estilo), Background Color
(color de fondo), First Position (posición inicial), AutoActions (autoacciones),
AutoOpen (apertura automática), AutoClose (cierre automático), y Password
(clave de acceso).
Update Permite asignar propiedades de animación (updates) a los objetos gráficos por
medio de la Lista de Propiedades.
Window Permite acceder a cualquier pantalla ya abierta a partir de una lista secuencial –
incluye comandos especiales para mover objetos (Object Mode), para visualizar y
guardar información detallada sobre los contenidos de la animación de la pantalla
(List Animation), y para visualizar el orden completo de los objetos en la pantalla
(List Objects Order).
Help Se usa para obtener ayuda e información "Acerca de" (revisiones, copyrights,
recursos de sistema, dimensiones de pantalla, y un mensaje definido por el
usuario)
Herramienta Operación
Seleccionar Objetos
Dibujar Líneas
Rotar objetos
Reestablecer acercamiento
-Línea
-Texto
-Fondo
-Relleno
Los nombres de menú que aparecen inicialmente y los iconos de la ventana de ClipArt (ClipArt
Box) son como los que muestran a continuación:
Galería de Imágenes
Instruments
(instrumentos) Motores y tanques
Symbols
(símbolos) Símbolos varios
Frames
(marcos) Cuadros varios
Pipes
(tubos) Elementos de tubería
Shapes
(formas) Formas varias
Meters
(medidores) Medidores varios
Bars
(barras) Elementos de barra
Signs
(señales) Señales varias
Buttons
(botones) Elementos de botones
Sliders
(deslizantes) Elementos potenciómetros
3. Es posible modificar el estilo del texto accediendo a Font, se abrirá otro cuadro de
diálogo:
En este caso elegimos sólido para rellenar el cuadro con un solo color uniforme.
SELECCIÓN DE UN OBJETO:
Seleccionary luego hacer clic sobre el objeto. Una vez que el objeto es seleccionado,
queda rodeado por un cuadrado.
Seleccionary luego:
• Dibujar un cuadrado encerrando todos los objetos a seleccionar.
• Presione la tecla SHIFT y clic sobre cada objeto a seleccionar.
Los objetos seleccionados son rodeados por un cuadrado.
GUARDAR OBJETOS:
Existen tres alternativas:
• Guardar
• Guardar Como
• Guardar Todo
ROTACIÓN DE OBJETOS:
1. Seleccionar un objeto
2. Hacer un clic derecho sobre los objetos seleccionados, elegir GROUP. El grupo queda
ahora como
TAMAÑO DE OBJETOS:
• Para modificar el tamaño proporcionalmente, seleccionar el objeto y arrastrar desde
una de las esquinas hacia adentro o afuera.
• Clic en el medio del objeto y presionar la tecla SHIFT, con el cursor del Mouse mover
en la dirección deseada.
NOTA: Es posible mover varios objetos a la vez, seleccionarlos todos, clic en el centro, y
arrastrar en la dirección deseada.
ALINEAR OBJETOS:
Es posible alinear objetos automáticamente:
1. Seleccionar los objetos a alinear
2. Clic Derecho y seleccionar la opción ALIGN, se abrirá un cuadro de diálogo:
OBJETO TEXTO
OBJETO GRUPO
OBJETO IMAGEN
PROPIEDADES ESPECIALES
• TREND
• DERIVATION METER
• OBJECT
• ACTIVE X
Luego de asignarle propiedades a un objeto, se puede observar que aparecen los cuadros que
hacen las veces de aristas, llenos con una X.
NOTA:
DDE es un protocolo de Microsoft que permite el intercambio de datos entre diferentes
programas, por ejemplo: P-CIM y Excel.
Decrementa el valor de la
variable DDE por una DEC Dbsr|Pcim!A:1 2
DEC DEC DDE {Valor/DDE} A:1=10-2=8
cantidad específica
Incrementa el valor de la
variable DDE por una INC Dbsr|Pcim!A:1 5
INC INC DDE {Valor/DDE} A:1=8+5=13
cantidad específica
CLOSE MAIN
Cierra una pantalla en la Se cierra la pantalla
CLOSE estación del operador. CLOSE {Display|wildcard} Main en la estación del
operador.
RUN C:\Program
Files\Microsoft
RUN Ejecuta una tarea RUN [path] program [args] Office\Office\Excel.exe
Abre el Excel
Se desea arrancar y parar una bomba mediante 2 pulsadores: Posición MARCHA/ PARADA.
Cada uno de ellos actuará sobre la misma variable digital [D:1]:
MARCHAD:1=1
PARADAD:1=0
Esta variable digital afectará el estado (mediante un cambio de color) de una bomba.
Le asignaremos al botón
verde, acción de Marcha, es
decir: D:1=1. Haciendo doble
clic,oclicderecho
Propiedades, sobre la misma,
de esta forma se accede a las
PROPIEDADESdela
IMAGEN.
DEJAR EN BLANCO
Se acciona cuando se
presiona el mouse
Se acciona cuando se
suelta el clic del mouse
Texto de ayuda,
aparece cuando paso
el Mouse sobre él.
Nivel de Seguridad
Puedo usar el botón, o un requerido para
equivalente en teclado accionar el botón
Le asignaremos al botón rojo, acción de Parada, es decir: D:1=0. Haciendo doble clic, o clic
derecho Propiedades, sobre la misma, de esta forma se accede a las PROPIEDADES de la
IMAGEN.
Haciendo doble clic sobre el objeto animado, accedemos a las propiedades que este tiene
asignadas:
+ Dbsr|Pcim!d:1
Se desea arrancar y parar una bomba mediante 1 único pulsador que cambie de estado
MARCHA/ PARADA.
El mismo deberá actuar sobre la misma variable digital [D:1].
Partiendo del estado inicial PARADA D:1=0, si se presiona una vez, cambia de estado
MARCHA D:1=1,
Valor Variable EstadoColor Botón Indicación
D:1=1encendidoROJOPARADA
D:1=0apagadoVERDEMARCHA
Esta variable digital afectará el estado (mediante un cambio de color) de una bomba.
Mientras el motor está apagado D:1=0, debe mostrarse el botón en color VERDE y el cartel
debajo del mismo deberá indicar MARCHA.
Mientras el motor está encendido D:1=1, debe mostrarse el botón en color ROJO y el cartel
debajo del mismo deberá indicar PARADA.
1- BOTÓN DE ACCIÓN
Acción INV
+ VISIBILITY + Dbsr|Pcim!d:1
Debajo del botón de MARCHA/PARADA, colocaremos una leyenda que deberá cambiar
según el estado actual de la bomba. Si la bomba está encendida D:1=1, la leyenda dirá
PARADA, si la bomba está apagada D:1=0, la leyenda dirá MARCHA.
Para lograr este cambio de leyendas, agregaremos 2 cuadros de texto y modificamos las
condiciones de visibilidad:
+ VISIBILITY + Dbsr|Pcim!d:1
Desde la variable analógica interna A:1, se recibe el nivel de líquido contenido en un tanque de
500lts. Se debe mostrar en pantalla el valor en forma numérica y gráfica.
Para poder variar el nivel del líquido se deberá abrir el DATASCOPE y desde allí modificar el
valor de la variable A:1
Utilizaremos un OUTPUT TEXT para mostrar el valor numérico y la propiedad FLUID para la
gráfica.
1- OUTPUT TEXT
2- FLUID FILL
Sólo lectura
de la variable
Cantidad de dígitos
a mostrar
Valor Mínimo y
máximo que se
puede mostrar en
la gráfica
Mantener
presionado Color
hasta hallar el valor
deseado.
La temperatura del líquido llegará desde la variable analógica A:3 y será mostrada
gráficamente en un termómetro con diferentes colores según su valor:
• Color azul, si es inferior a los 25°C
• Color violeta, entre 26 y 45°C
• Color amarillo, entre los 46 y 65°C
• Color naranja, entre los 66 y 85°C
• Color rojo, si supera los 86°C
Lectura / Escritura
de Texto
Formato de Valores:
Valor mínimo y Valor
máximo. Restrinjo desde
pantalla el valor numérico
a ingresar!!!
Parpadeo
Desplazamiento Vertical
Para ajustar la
posición vertical
Rojo
Este rectángulo deberá cubrir todo el termómetro, ya que es la temperatura mas
elevada:
Desde el editor es posible posicionar las 3 pantallas de manera tal que puedan visualizarse
todas simultáneamente sin superponerse:
Para poder modificar el valor de las variables A:1 (nivel de líquido) y A:3 (Temperatura medida)
debemos utilizar el DataScope:
La base de datos puede recuperar, almacenar y procesar información en tiempo real y realizar
históricos de los controladores, dispositivos periféricos y variables internas.
Bloques Descripción
Variable de 16 bits de longitud, constantemente escaneada. Puede
Variable Analógica generar alarmas y hacer históricos.
Variable de 16 bits, es escaneada por requerimiento (normalmente
desde la estación del operador). Normalmente utilizada para la
Puntero Analógico conversión de datos. Permiten agilizar el proceso.
Variable de 1 bit, constantemente escaneada. Puede generar
alarmas y hacer históricos.
Variable Digital Variable de 1 bit, se escanean por requerimiento (normalmente
desde la estación del operador). Normalmente utilizada para la
conversión de datos. Permiten agilizar el proceso.
Puede guardar hasta 8 variables diferentes. Este tipo de bloque es
Puntero Digital constantemente escaneado y puede efectuar cálculos con valores y
constantes de bloques analógicos y digitales, produciendo un
resultado analógico.
Para cálculos algebraicos Booleanos. Este tipo de bloque es
Bloque de Cálculo constantemente escaneado y puede guardar hasta 8 variables
diferentes.
Este tipo de bloque recibe hasta 20 valores de palabras de 16 bits de
registros de un PLC u otro dispositivo periférico y los convierte en
una cadena de caracteres (string) de hasta 40 caracteres.
Bloque Booleano Un bloque de alarma permite la definición de hasta 80 alarmas
digitales. Cada bloque de Alarmas lee 5 registros de 16 bits cada uno
provenientes de hasta 5 distintos PLC y se relaciona con cada bit
como una alarma separada. Para cada bit, se puede definir un
Puntero String estado de alarma diferente: ON, OFF o Change of State (Cambio de
Estado)
Bloque de Alarmas
INFORMACIÓN PRINCIPAL
. Nombre del bloque de datos Los bloques del target & targetLogic son
campos de la base de datos que reciben
valores de otros bloques de la base de datos.
Dirección del bloque, podrá ser: Este tema será visto en SCADA P-CIM 2.
- Dirección Driver
- Variable interna
- $ Variable de sistema
- Servidor DDE
SCAN TIME:
Es el intervalo entre sucesivos procesamientos del bloque, en el orden de 1-255 unidades.
El tiempo de scan se mide en unidades de tiempo de lectura del driver. VER
Ejemplo: DRIVER MODBUS TWIDO Tscan=500ms
Suponemos tener tres variables analógicas:
A:1 => NIVEL_LIQUIDO TIEMPO SCAN = 1
A:2 => TEMP_SP TIEMPO SCAN = 3
A:3 => TEMP_PV TIEMPO SCAN = 2
TIEMPO SCAN
NIVEL_LIQUIDO
SCAN TIME = 1
TEMP_SP
SCAN TIME = 3
TEMP_PV
SCAN TIME = 2
PHASE TIME:
El tiempo inicial de demora entre la carga de la base de datos hasta el primer procesamiento
del bloque, en el orden de 1-255 unidades.
Este parámetro es útil si se tiene un gran número de bloques con tiempos de escaneado mayor
que 1, dado que la carga del Scan será optimizada por el factor tiempo de la Fase.
TIEMPO SCAN
NIVEL_LIQUIDO
SCAN TIME = 1
TEMP_SP
SCAN TIME = 3
TEMP_PV
SCAN TIME = 2
Con el tiempo de fase puedo descomprimir la comunicación entre la base de datos y el Driver.
SMOOTHING
Realiza el promedio de los últimos valores leídos. Puede variar entre 0 y 255.
Smoothing=0 => No hay Filtro
Smoothing=1 => No hay Filtro
Smoothing=2 => Promedio de las últimas 2 lecturas
Smoothing=3 => Promedio de las últimas 3 lecturas
OUTPUT TABLE
Ejemplo:
Escala Inferior: 0
Escala Superior: 100
Aseguramiento Inferior: 20
Aseguramiento Superior: 80
H.T. FACTOR
El número de lecturas (0-255) a ser promediadas para cada punto registrado en el archivo de
tendencia histórica:
H.T. STEP
Es especificado como un porcentaje, y representa la variación mínima necesaria para registrar
el histórico.
TIEMPO SCAN
LECTURA
SCAN TIME = 2
VALOR GUARDADO
HT STEP = 10% 100 85 72
Habilita procesamiento de alarmas Tiempo de espera para Pantalla de Alarma que se abre en la estación
disparo de alarma de trabajo cuando se dispara la alarrma
Ajuste Superior e
Inferior de disparo
Hace un reporte cuando de Alarma.
vuelve a la normalidad
• Una condición de alarma superior volverá a la normalidad solo después que el valor del
bloque haya descendido por debajo del setpoint de la Alarma Superior (High Alarm) menos
la Banda Muerta (Dead Band).
• Una condición de alarma inferior volverá a la normalidad solo después que el valor del
bloque haya superado el setpoint de la Alarma Inferior (Low Alarm) más el valor de la
Banda Muerta (Dead Band).
ZONA DE ALARMA
Asocia el bloque con una zona de alarma. Oprima la flecha para seleccionar una zona. P-CIM
para Windows proporciona 10 zonas y una zona de sistema. La zona de sistema contiene
mensajes de sistema (por ejemplo: driver exitosamente cargado, etc.). Utilice las otras 10
zonas para administrar en forma prudente y eficiente sus alarmas.
INTERLOGIC
Determina la forma en que la opera el Interlock:
• New envía la señal de Interconexión cuando una nueva alarma es detectada por el primer
escaneado solamente (con el flanco).
• Any envía la señal para cada escaneado en el que la condición de alarma persista.
DAILY LOG
Determina que la ocurrencia de alarma será escrita en el Daily Log.
PRINT
Determina que la ocurrencia de alarma será impresa en la impresora seleccionada por defecto.
BEEP
Determina que cuando ocurre la alarma genera un sonido en la estación del operador.
SCREEN
Determina que la ocurrencia de alarma será escrita en el sumario de Alarmas.
El monitor de datos puede ser usado como herramienta de diagnóstico durante el desarrollo de
aplicaciones para monitorear y cambiar en una ventana los valores y estados de hasta 17 items
de datos de un tópico y servidor particulares. Pueden abrirse varias instancias del monitor de
datos, referidas a diferentes combinaciones de tópicos y servidores, y puede guardarse la lista
de datos monitoreada en cada ventana.
Alarma Habilitada
Alarma Activa
Valor válido
Reconocimiento de
Alarma
Máximo 17
variables
Puedo Modificar el
valor o el estado
Los valores del Servidor de la Base de Datos son presentados con el siguiente formato:
• Tipo analógicos, número decimal con dos dígitos decimales si son de punto flotantes.
• Tipo digitales, texto (configurado para los estados ON y OFF).
• Tipo cadena de caracteres, texto.
Scan
Indica si un bloque de la Base de Datos está siendo escaneado o no. Esta casilla estará
marcada si el bloque está siendo escaneado.
Los objetos tipo Puntero (Pointer blocks, Analog, Digital y String) son puestos en escaneo (ON
scan) por el solo hecho de ser accedidos.
OK
Indica la validez de cualquier valor. Esta casilla estará marcada si el valor es válido.
$Date
Esta variable devuelve la fecha de la computadora representada como un número con
los dígitos decimales en formato YYMMDD. Sólo lectura.
$Time
Esta variable devuelve la hora del día representada como un número decimal en
formato HHMMSS (24 horas).
$GTimer
El Servidor de la Base de Datos provee un conjunto de treinta y dos (32) variables
$GTimer. Ud. puede configurar el número de variables $GTimer (hasta 1000 variables)
agregando manualmente la señal MaxGTimer a la sección [PcimDbsr] en el archivo
PCIMUSER.INI VER
$LastAlarm
Esta variable devuelve la más reciente alarma en el sistema (una hilera de hasta 80
caracteres) tal como se muestra en el Listado de Alarmas (Alarm Handler). Sólo de
lectura.
Soporta campos “de punto” tal como .IsRemote y .Type - que brindan información
detallada acerca del mensaje en cuestión.
$LastEvent
Esta variable devuelve el evento más reciente en el sistema (una hilera de hasta 80
caracteres) tal como se muestra en el Listado de Alarmas.
Soporta campos “de punto” tales como .IsAlarm, .IsEvent, .IsRemote y .Type – que
brindan información detallada acerca del mensaje en cuestión.
Un cliente puede escribir una hilera (68 caracteres como máximo) hacia él. La DBSR
producirá un mensaje de evento del Registro Diario de Eventos (Daily Log), precedido
por la indicación de la hora y el número del nodo (o sea, el número de la estación que
generó la alarma).
Por ejemplo, si el cliente escribe “Mensaje del cliente XYZ bla bla”, el mensaje de
evento en el Registro Diario resultante será: “(02) 11:23:45 Mensaje del cliente XYZ bla
bla”.
.ValueOK
Aplicable con los bloques de tipo: AV, AP, DV, DP, SP, AL, BIT, CL, BL, IO, DM
Utilidad: la validez del valor del bloque puede ser BAD u OK; es BAD cuando no hay
comunicación con el bloque/dirección especificado; es OK cuando la comunicación con
el bloque/dirección especificado está OK.
Por ejemplo: la validez del valor de un bloque de valor analógico llamado TEMP5
accesible como TEMP5.ValueOK, devuelve 1 por "OK" o 0 por "bad".
.ScanStatus
Aplicable con bloques del tipo: AV, AP, DV, DP, SP, AL, BIT, CL, BL
Utilidad: escaneado de bloques - On o bien Off.
Por ejemplo: el estado de escaneo de un bloque de valor analógico llamado AV1
accesible como AV1.ScanStatus responde ScanOn cuando el bloque es escaneado y
ScanOff cuando no está siendo escaneado.
Function @AtTime
La lectura de esta función devuelve al cliente el valor 1 durante el intervalo de tiempo del
verdadero momento del día que corresponde al argumento de la función, y el valor 0 cuando no
es así.
Utilice esta función para iniciar diariamente las AutoAcciones, a la misma hora del día.
Ejemplos
Para iniciar diariamente a las 15:30:00 (3:30 PM):
@AtTime(1530XX)
La función va a ponerse en ON (1) a las 15:30:00 y permanecerá así hasta las
15:30:59 (o sea el minuto completo entre las 3:30:00 PM y las 3:30:59 PM).
Para iniciar diariamente, a las y media de cada hora:
@AtTime(XX30XX)
La función va a ponerse en ON (1) a los 30 minutos de pasada la hora, y permanecerá
así hasta los 31 minutos de pasada la hora (30 minutos y 59 segundos para ser más
precisos).
Una conversión del Servidor de la Base de Datos puede ser invocada como un cliente DDE
como el sufijo del Item en la especificación DDE del Servidor, del Tópico y del Item. La
declaración de conversión está separada de la especificación del Item por una sola coma y uno
o más espacios.
No hay un caracter especial que preceda el nombre de la conversión (tal como $ para las
variables de sistema, la "@" para las funciones, etc.) y el nombre de la conversión no es
sensible a la utilización de mayúsculas o minúsculas.
El/los parámetro(s) de conversión, si lo(s) hay, está(n) incluido(s) entre paréntesis y va(n)
separado(s) por comas.
Luego desde la estación del operador, se pueden observar en tiempo de ejecución las
modificaciones que ocurren sobre la variable en cuestión:
Si los datos graficados son definirse previamente en la base de datos podremos realizar
gráficos de tendencia histórica.
Se genera un archivo
histórico por día
Luego desde la estación del Operador vemos las variaciones de la variable en un gráfico de
tendencia histórico:
Permite desplazar el
gráfico en el tiempo
Tenemos 2 posibilidades:
• Servidor: PCIM Cliente: Excel
• Servidor: Excel Cliente: PCIM
Los valores leídos desde Excel, podrán o no ser guardados en la Base de datos.
En caso de guardarlos, el proceso se endentece, pero nos da la posibilidad de realizar
históricos.
Proceso inmediato
EXCEL PCIM
No permite históricos
Tenemos 3 tanques representados en Pcim, con las variables A:5, A:6 y A:7
Deseamos utilizar estos valores en una planilla de cálculo, para representarlos también y
realizar un promedio del nivel de líquido en los tanques.
2- Asignamos a los tanques la propiedad de fluido asociada a cada una de las variables
NIVEL DE LÍQUIDO
PROMEDIO
TANQUE_1 TANQUE_2 TANQUE_3
800
700
600
500
400
300
200
100
0
TANQUE_1 TANQUE_2 TANQUE_3
litros
En una hoja de cálculo se guarda minuto a minuto la temperatura del líquido contenido en 3
tanques: TANQUE_1, TANQUE_2 y TANQUE_3. Desde Pcim, podemos leer esta tabla y
representarla utilizando gráficos de tendencia.
Nota:
En el item se indica fila y columna de la celda excel a acceder, según la versión del S.O., la
forma de declararlo puede variar.
Por ejemplo para llamar a la fila 1 – columna 1:
A1
R1C1 versiones en Inglés
L1C1 versiones en castellno
F1C1 windows 98
En una hoja de cálculo se guarda minuto a minuto la temperatura del líquido contenido en 3
tanques: TANQUE_1, TANQUE_2 y TANQUE_3. Desde Pcim, podemos leer esta tabla,
guardar los valores en la base de datos, y luego representarla utilizando gráficos de tendencia
y un análisis de históricos (esto es posible porque estamos guardando los datos en la
base de datos previamente).
Servidor: Excel
Topic: C:\Documents and Settings\CELESTE\SCADA P-CIM 1\Libro2.xls
Item: f4c1
De la misma forma para guardar en la base de datos las otras dos celdas:
En el Editor de Animaciones:
Podemos realizar una pantalla con el nivel de líquido deseado en 3 tanques. Este nivel será
ingresado desde la estación del operador.
Además se debe mostrar un gráfico de tendencia, indicando las variaciones de nivel deseadas
producidas en cada tanque.
Es posible ver los valores que tomaron las variables accediendo al archivo histórico:
Cuando P-CIM y los drivers de comunicación asociados son inicializados se crea un buffer
temporario de comunicación en RAM. Este buffer contiene dos tipos de información:
configuración de drivers y reserva de lugares (vacíos en un principio) para la información a ser
leída / escrita por el driver. El buffer de comunicación recolecta y almacena toda la información
cruda recibida de los PLCs por los drivers de comunicación, y almacena temporariamente los
datos escritos desde P-CIM para Windows a los PLCs.
DRIVER
Un driver es un programa que se comunica con dispositivos externos (habitualmente PLCs)
utilizando sus protocolos específicos, y permite que la información esté accesible para los otros
módulos de P-CIM para Windows.
Además,
– En una aplicación en red monitorea el estado de ésta, los mensajes e ítems
servidos en la red.
– En un cliente DDE, como sufijo del ítem en la especificación DDE del Server, Tópico e
Item (el informe de conversión está separado de la especificación del Item por una
coma): Server|Topic!Item,Conversión
– Ud. puede acceder a la conversión del driver durante su funcionamiento con servidores
DBSR y PFWDRVR.
Las conversiones las efectúa el módulo PFWDRVR, aún en los casos en que otro
servidor esté indicado.
Especifique la ruta del Driver que desea instalar, en este ejemplo: Modbus
Al finalizar la instalación:
VOLVER AL TEMARIO
Medio Físico:
RS232 – Ethernet – MB+ -
Modem – Packet Data
Cantidad de Dígitos:
4 dígitos 4001 – 4999
5 dígitos 40001 – 49999 (Twido)
6 dígitos 400001 – 499999 (Quantum)
Tiempo de Espera, el driver espera un cierto tiempo para la conexión. Por defecto 1seg.
Tiempo de Scan, define el tiempo entre lecturas de cada dirección. Por defecto este valor
es 0seg, es decir, es escaneado continuamente.
Tiempo de re-conexión, cantidad de minutos que el driver espera para considerarla fallida.
Por defecto e 1 minuto.
Parámetros de transporte:
Los datos de configuración del Scada deben coincidir con los datos del PLC.
El acceso directo es el método por el cual los programas de aplicación (por ejemplo: Estación
del operador) recuperan la información cruda recibida directamente por los drivers de
comunicación.
Servidor: DBSR
Topic: PCIM
Item: N°Puerto : N°Estación : Dirección
Por ejemplo: DBSR|PCIM!1:1:40011
La dirección 40011 es equivalente en IEC a la %MW10
LL IEC
40001 %MW0
40002 %MW1
40003 %MW2
… …
40011 %MW10
Para obtener mayor información sobre las direcciones a asignar, podemos recurrir a las notas
de aplicación del Driver:
– COM 1
– Velocidad: 19200
– 8N1
– RTU
Para que pueda establecerse la conexión deben coincidir los parámetros de comunicación.
El programa simplemente:
- reserva memoria (hasta la %MW100)
- si se cierra la llave de la entrada %i0.0, escribe el valor 44 en la palabra %MW35
- si se abre la llave de la entrada %i0.0, escribe el valor 33 en la palabra %MW35
EN EL SCADA…
Mostrar en el Scada en estado de las entradas y salidas del Twido Compacto de 10 E/S.
En el software de programación del PLC, existe la herramienta controlador, que nos muestra:
Los datos a intercambiar son binarios, por lo cual podemos utilizar una palabra (es decir 1
TAG), por ejemplo la %MW35.
%I0.0
%I0.1
%I0.2
%I0.3
%I0.4
%I0.5
%Q0.0
%Q0.1
%Q0.2
%Q0.3
De esta manera la variable interna A:200 (MuletoESbinaria) apunta a la variable ESbinaria, que
contiene la información del PLC.
Esta variable si puede ser direccionada bit a bit.
En el editor de animaciones:
Es posible realizar una conversión, de manera tal que para el operador comprenda que está
visualizando.
Por ejemplo, si por la entrada analógica se recibe una señal que varía entre 0 y 10V (0 y 1023)
que representa el nivel de líquido contenido en un tanque de 500litros, es posible hacer una
conversión lineal:
0V020lts
10V1023 500lts
500lts
1023
20lts
10V 1023
Las alarmas son configuradas desde el Editor de la Base de Datos, en los bloques de datos.
Las alarmas pueden ser definidas para los bloques de Valor Analógico, Valor Digital, de
Cálculo y Booleanos.
Tasa de Cambio Banda Muerta
Habilita procesamiento de alarmas Tiempo de espera para Pantalla de Alarma que se abre en la estación
disparo de alarma de trabajo cuando se dispara la alarrma
Ajuste Superior e
Inferior de disparo
Hace un reporte cuando de Alarma.
vuelve a la normalidad
También existen bloques de alarma dedicados. Es decir, su única función es generar alarmas.
No se conoce el valor del bloque, ni permite realizar históricos.
En general se utilizan para manejar palabras de alarmas que pueden llegar desde un
controlador lógico.
En este ejemplo se habilita una alarma sobre la variable NIVEL_TANQUE, en caso de alarma
se abrirá la pantalla ALAR_NIV. La misma podrá ser disparada por:
ROC= 20%, velocidad de variación superior al 20%
Hihi=500, alarma por valor igual o mayor a 500
High=450, alarma por valor igual o mayor a 450
Low=50, alarma por valor igual o menor a 50
Lolo=0, alarma por valor igual o menor a 0
Alarma HiHi
500
450
Alarma High
Alarma ROC
Alarma Low
50
VARIABLE DIGITAL
En este caso, se habilitó una alarma tipo ON, es decir, cuando el estado de esta variable sea 1,
se activará la alarma.
Su activación implica:
Se abre una pantalla: ALARM
La alarma será dispara 10seg después de ocurrida
Se guarda en el registro diario de alarmas su ocurrencia
Este bloque se utiliza para analizar alarmas empaquetadas en palabras, que llegan desde el
PLC.
Trabajamos con una variable interna del PLC que representa el nivel del líquido contenido en
un tanque: NIVEL:TANQUE => %MW10.
Mediante las entradas %i0.0 y %I0.1 se activan la BOMBA y la VALVULA respectivamente.
El Tanque tiene una capacidad de 500Ltrs. Es deseable que el Nivel se mantenga entre los 50
y 450Ltrs, fuera de ese rango debería generar una pantalla de Alarma.
Deberá registrarse una alarma si el nivel de líquido es inferior a 50ltrs o superior a 450Ltrs,
abriendo una pantalla de alarma: ALAR_NIV.
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
BOMBA
VALVULA
Esta variable podrá tomar valores entre 0 y 500Ltrs, debiendo dar aviso de alarma cuando
alcanza los 50Ltrs en su límite inferior o los 450Ltrs, en su límite superior.
Si llamamos a las variables de esta forma estaremos usando un TAG por cada pedido de a bit.
Para evitar el mal uso de TAGs, debemos crear una variable interna, por ejemplo: A:20, y la
denominamos MULETO_ESTADOS.
BOMBA
VALVULA
+ VISIBILITY + DBSR|PCIM!A:20:2
Para que se activen las pantallas de alarma, se debe seleccionar la opción AUTOALARM
Desde el Monitor de Datos, puedo ver el estado de las variables, si se ha activado una alarma
OPERANDOS:
– Numéricos (por ejemplo, 123), lógicos (por ejemplo, T. o F. – verdadero o falso) o
constantes, tales como números, caracteres (por ejemplo “abc”) , fecha.
– Direcciones DDE de cualquier servidor en el sistema, tal como DBSR|PCIM!TEMP5,
EXCEL|C:\EXCEL\Lista.xls!R3C5, etc.
– Funciones dBASE, tales como DATE(), SUBSTR(), etc.
OPERADORES:
– Operadores Aritméticos y matemáticos tales como +, -, *, /, ^ etc.
– Operadores de Comparación tales como >, <=, =, #, etc.
– Operadores de cadena de caracteres tales como +, -, $.
– Operadores Lógicos tales como .NOT., .Y., .OR.
– Operadores de Fecha: + y -.
Se recomienda configurar el Administrador de Sintaxis para ser ejecutado con la tecla rápida
F2 (del Conmutador de Tareas). Si se tiene configurado el Administrador de Sintaxis con una
tecla rápida, arrancar el Conmutador de Tareas al principio de la sesión de edición. Esto le
permite al usuario invocar al Administrador de Sintaxis desde otras aplicaciones.
El servidor de archivos de texto brinda acceso a través del DDE a los siguientes formatos de
archivo de información:
– TXT, cadena de caracteres lineal, especificada por fila, columna y longitud.
– INI, un simple valor de token, especificado por una sección y nombre del token.
– DBF, es un campo utilizado por dBASE, en desuso, se conserva para mantener la
compatibilidad.
– RDBMS, sistema de administración de base de datos relacionales. Se utiliza el ODBC
(conectividad de la base de datos abierta) para realizar la conexión. Existe un ODBC para
cada base de datos.
CLIENTE
P-CIM
SERVIDOR DE
TEXTO
ODBC
TXT
INI
RDBMS
Un archivo de texto está compuesto por filas de texto, terminadas por CR-LF (retorno de carro
– comienzo de fila). Cualquier editor simple crea archivos TXT con este formato, por ejemplo el
Notepad.
La ubicación del archivo deberá especificarse como número de fila, de columna y cantidad de
caracteres.
Para acceder al archivo es necesario que el archivo y la ubicación especificada existan.
SERVIDOR: TXTSRV
TOPIC: especificación del archivo, incluyendo ruta completa y la extención.
C:\DOCUMENTOS\NOTA_1.txt
ITEM: TXT (fila,columna,longitud,modo)
Fila: comienzo del archivo, si el número de fila es +, fin del archivo, si el número es -.
Columna: columna de inicio
Longitud: cantidad de caracteres a acceder
Modo: espedifica justificación y relleno al escribir un archivo:
L: justificado a la izquierda, sin relleno
LP: justificado izquierda, rellenado con espacios (modo por defecto)
R: justificado a la derecha, sin relleno
RP: justificado a la derecha, con relleno
EJEMPLO LECTURA:
Generamos un archivo de texto, por ejemplo utilizando el Bloc de Notas
En este caso leemos 40 caracteres a partir de la fila 3, columna 1, del archivo NOTA_1
EJEMPLO ESCRITURA:
Podemos también escribir en un documento de texto desde la estación del operador. Por
ejemplo queremos completar el siguiente documento con datos de una revisión desde P-CIM:
Al abrir el documento de texto NOTA_2, podemos verificar los datos ingresados por el
operador:
Por ejemplo:
COMENTARIO
SECCION
TOKEN
SECCION
Luego para visualizar un token de este archive .INI, a un texto le asigno propiedades de
OUTPU TEXT:
SUSTITUCIÓN INMEDIATA:
En este método la sustitución es llevada a cabo inmediatamente después de tipear el ALIAS.
Sólo minimiza la tarea del tipeado.
TxtSrv | ^carpeta^NOTA_INI.ini ! INI(SECCION_1;TOKEN_3;0)
Al salir de la edición el texto se cambia a automáticamente por el texto original, no simplificado.
Es decir pierde relación con el ALIAS.
SUSTITUCIÓN DIFERIDA:
En este método la sustitución es efectuada durante el funcionamiento de la aplicación. Además
de minimizar el tipeado, mantiene relación con el ALIAS.
TxtSrv | &carpeta&NOTA_INI.ini ! INI(SECCION_1;TOKEN_3;0)
Se tienen 3 tanques y se desea controlar el nivel de líquido de cada uno de ellos, en una
misma gráfica. Mediante el cambio dinámico del ALIAS se deberá representar el nivel del
tanque elegido.
Las variables utilizadas para representar el nivel de líquido contenido en cada tanque son: A:1
– A:2 y A:3
4) Configurar 3 propiedades de entrada de texto usando las 3 variables A:1 – A:2 – A:3
A partir del ejemplo anterior se desea realizar el cambio de nivel a mostrar en pantalla
mediante botones. Además cada nivel debe visualizarse con un color diferente:
Para resolver este ejemplo, hemos recurrido a variables internas (marcas) D:1 – D:2 y D:3, que
se asocian al tanque seleccionado: Tanque 1, 2 y 3 respectivamente.
Pasos a seguir:
1) Configuración del ALIAS
2) Configuración de botones para elegir tanque a representar.
3) Configuración del nivel de líquido
Una pantalla es mostrada en la estación del operador con el mismo tamaño y en la misma
posición con las que fue configurado en el Editor de Animaciones. La posición es relativa al
extremo superior izquierdo de la ventana efectiva (de ambos programas).
START MAXIMIZED
Inicia la estación del Operador maximizado.
Color Primario:
SHUTDOWN ACTION:
Puedo disparar acciones al cerrar la estación del operador. Por ejemplo: incrementa A:25
Nombre de usuario: tiene una longitud de hasta 10 caracteres alfanuméricos, sin distinción de
mayúsculas y minúsculas.
Clave de usuario: tiene una longitud de hasta 10 caracteres alfanuméricos, sin distinción de
mayúsculas y minúsculas.
Niveles de usuario: entre 0 y 99. El nivel mas alto (de mayor privilegio) es el 0. Permite el
control de todas las herramientas, operaciones, comandos, procedimientos, bloques, y niveles
de clave. El nivel más bajo es el 99, y puede usarse para la conexión sin nombre de usuario.
Desde el menú Tools del Editor de Animaciones o del Editor de la Base de datos, se puede
acceder al Editor de Password:
Pueden asignarse niveles de acceso a los comandos de la estación del operador en su barra
de menú y en el menú de control de sistema.
MENU DE AUTORIZACIÓN
Para realizar esta autorización de comandos, se debe ingresar al modo Autorización desde la
estación del operador, de la siguiente manera:
Sólo podrán acceder a este modo aquellos usuarios con nivel “0”.
Luego sobre cada menú que se seleccione podemos configurar el nivel de usuario requerido
para poder accederlo.
Según esta configuración todos los usuarios podrán abrir y visualizar la pantalla del
EJEMPLO13. Sólo los usuarios con nivel de acceso mayor o igual a 30, podrán ingresar
comandos, en dicha pantalla.
Podemos visualizar la pantalla, ya que tenemos acceso suficiente como para abrirla.
Pero al intentar presionar los botones o modificar el nivel de líquido, no podemos hacerlo.
De esta manera:
Julio (Nivel 40) y Lorena (Nivel 50) sólo podrán abrir la pantalla.
Daniel (Nivel 30) podrá accionar botones. Sólo aquellos en los que tiene acceso. Podrá elegir
que nivel representar en pantalla, pero no podrá modificar el nivel del tanque 1.
Diana (Nivel 20), Juan (Nivel 10) y Pcim (Nivel 0) podrán tener acceso a todos los comando en
esta pantalla.
Se desea tener una pantalla de inicio, que se abra automáticamente al arrancar la Estación del
Operador. Esta pantalla debe contener un botón para cambiar el nivel de acceso.
Usuario: DIANA
Usuario: JUAN
Si en este momento cerramos la estación del operador, y luego llega Lorena (Nivel 50) al abrir
la estación del operador nuevamente accederá a mayores permisos que los que posee, ya que
la sesión que quedó iniciada es la de Juan (Nivel 10).
Para evitar este inconveniente, se debe disparar una acción al cerrar la estación del operador,
que cargue un usuario de mínimo nivel, por ejemplo:
Usuario NULLClave NULLNivel 99
Al iniciar nuevamente la Estación del Operador, lo hará con el usuario NULL, nivel 99.
Este comando abrirá automáticamente el Sintax Manager, al iniciar la pantalla del Ejemplo 14
Cuando el nivel de líquido ingresado supere los 1000 litros deberá abrirse una pantalla de error.
EJEMPLO 15 – AUTOACCIONES
Se deben ingresar los porcentajes de material a colocar para preparar una mezcla, y el tiempo
de mezclado:
MATERIAL_1 (A:30)MATERIAL_2 (A:31)MATERIAL_3 (A:32)
El usuario debe ingresar estos valores y dar inicio al proceso.
Una vez terminada la mezcla, el material es empaquetado en bolsas de 10Kg.
Luego se realiza manualmente el pesado de estas bolsas, se acepta una dispersión de hasta el
5%, es decir bolsas con un peso mayor a 10,5Kg o menor a 9,5Kg son rechazadas.
Como este proceso es manual, el programa solicitará 1 vez por hora que se ingrese la cantidad
de bolsas aceptadas y la cantidad rechazada, para informarlo al sistema de gestión (Planilla
Excel, llamada CANT_BOLSAS).
Vamos a utilizar una variable de cálculo para MATERIAL_3, ya que esta debe tener relación
con los valores ingresados para MATERIAL_1 y 2: 100-(MATERIAL_1+MATERIAL_2)
VISIBILITY |!D:5 1
Tenemos un ALIAS: “CARPETA” creado que nos simplifica el tipeo, y nos permitirá traslador
luego la aplicación a otra máquina.
Esta autoacción debe dispararse 1 vez por hora, para ello podemos recurrir a la función
ÅTTIME.
Por ejemplo:
|!@attime(122000), generará 1 pulso de 1 segundo cuando sean las 12:20:00
|!@attime (xxxxx0), genera 1 pulso de 1 segundo, cada 10 segundos
|!@attime (xxxx0x), genera 1 pulso de 10 segundos, por minuto
Una vez por hora aparecerá una ventana solicitando la carga de datos: