Está en la página 1de 34

1 Page 1 of 34

Velez, Adrian

From: Corrales, Luis


Sent: Viernes 9 de Julio de 2010 10:12 a.m.
To: Lopez, Ramon; Velez, Adrian; Navarro, Alejandro; Araujo, Luis; Barrera, Jose; Hernandez, Enrique
Subject: Curso RSSql

Curso de RSSql

11/10/2010
1 Page 2 of 34

TABLA DE CONTENIDO

1 Introducción a RSSql.
2 Servicios que componen a RSSql.
2.1 Antecedentes
2.2 Arquitectura de RSSql
3 Interfase gráfica de RSSql.
4 Terminología
5 Definición de una Configuración.
5.1 Paso 1. Definición de la configuración.
5.2 Paso 2. Definición de Conectores.
5.3 Paso 3. Definición de Data Points
5.3.1 Conceptos de comunicación OPC
5.3.2 Descripción de la pantalla de Data Points
5.4 Paso 4. Definición de Data Objects
5.5 Paso 5. Definición de Transacciones
6 Ejercicios de Ejemplo
6.1 Ejemplo: Adquisición de variables en el tiempo
6.2 Ejemplo: Registro de alertas.
6.3 Ejemplo: Descargar setpoints de una receta.
7 Administración de configuraciones RSSql.
7.1 Crear y Restaurar Respaldos.
7.2 Exportar e Importar Transacciones.
8 Diagnóstico de problemas en RSSql

11/10/2010
1 Page 3 of 34

Curso de RSSql
1 Introducción a RSSql.
RSSql (pronunciado “Rascal”) es la solución de Rockwell Software para la comunicación entre
dispositivos de control industrial y bases de datos o software corporativo.

Existen muchas aplicaciones en las que se requiere registrar en base de datos el


comportamiento de las máquinas en piso de planta, como conteos de producción, alarmas,
comportamiento de variables en el tiempo, etcétera. O bien que la información que reside en
sistemas corporativos tal como recetas de producción, catálogos de componentes, existencias
de inventario, etcétera, se vea reflejada en las áreas de producción y que incluso puedan afectar
el comportamiento de las máquinas.

Esta comunicación bidireccional entre bases de datos y equipos de control es posible gracias a
RSSql.

2 Servicios que componen a RSSql.


2.1 Antecedentes
RSSql está conformado por varios servicios de Windows, por lo que es necesario precisar lo
que es un servicio de Windows.

Servicios de Windows
Los servicios de Windows, también conocidos como Servicios NT son programas que se
ejecutan en una PC en segundo plano. Normalmente no tienen una interfase gráfica o ventana,
es decir no tienen interacción con el usuario, simplemente realizan procesos cuando es
necesario.
Como ejemplos de servicios tenemos:
 Inicio de Sesión de Red: se encarga de validar las contraseñas de acceso de red en los
equipos de un dominio.
 Fax: permite enviar y recibir Faxes.
 Servidor web (IIS): Sirve páginas web a través del protocolo http.
 Actualizaciones automáticas: se conecta a Internet para descargar actualizaciones del
sistema operativo.

Los servicios de Windows se pueden controlar desde la consola de administración de servicios


del sistema operativo:

Desde esta consola los servicios se pueden iniciar, detener y establecer su configuración básica

11/10/2010
1 Page 4 of 34

que consiste en:


 Tipo de Inicio:
 Automático: Inicia automáticamente al iniciar la PC
 Manual: Inicia solo manualmente
 Deshabilitado: Evita que sea iniciado
 Usuario de Inicio de sesión: Define los permisos que tendrá el servicio al ser ejecutado.

2.2 Arquitectura de RSSql


La siguiente figura representa la arquitectura de una aplicación RSSql

Analizando la figura de izquierda a derecha tenemos:


1. PLC o conjunto de PLC´s con los que se desea tener comunicación. En nuestro ejemplo se
trata de un PLC ControlLogix o SoftLogix.

2. Servidor OPC: Es un software para PC que se comunica con el PLC y proporciona un


estándar de comunicación, denominado OPC, que permite a otras aplicaciones de Windows
acceder a los registros de memoria o variables del PLC. En nuestro ejemplo estamos
utilizando RSLinx.

3. Conectores de Control: Se trata de un conjunto de servicios de Windows que forman parte


de RSSql y que fungen como clientes del servidor OPC, se encargan de hacer lectura y
escritura a las variables del PLC, utilizando como canal el servidor OPC. Estos son los
conectores de control de RSSql:
 DDE
 OPC de RSLinx Clásico
 RSView32
 OPC Genérico
 FactoryTalk Live Data

4. Transaction Manager: Es un servicio de Windows que es la parte principal de RSSql, se


encarga de ejecutar las lecturas y escrituras al PLC, así como las lecturas y escrituras a la
base de datos en el momento oportuno, y administrar los archivos de caché y Log.

11/10/2010
1 Page 5 of 34

5. Conectores Corporativos: Es un conjunto de servicios de Windows que forman parte de


RSSql y que se encargan de realizar las lecturas y escrituras a las tablas de la base de datos
o bien de invocar la ejecución de procedimientos almacenados, utilizando como canal el
componente de acceso a datos que corresponda. Estos son los conectores corporativos de
RSSql:
 ODBC
 Oracle OCI
 Microsoft OLE-DB
 Microsoft COM+
 Time-Series Data Compression
 RSBizWare PlantMetrics

6. Componente de Acceso a Datos: Es un software de conectividad con base de datos que


forma parte de Windows, desarrollado por Microsoft o por el fabricante de la base de datos,
por ejemplo la API de OLE-DB, ODBC, ORACLE OCI.

7. Motor de Base de Datos, en nuestro ejemplo se trata de Microsoft SQL Server.

Notar que los elementos que componen a RSSql son únicamente los señalados en los puntos 3,
4 y 5.

11/10/2010
1 Page 6 of 34

Como se mencionó anteriormente, cada componente de RSSql está implementado como un


servicio de Windows, de tal forma que tras su instalación pueden ser vistos en la consola de
control de servicios del sistema operativo, como se muestra en la siguiente figura:

3 Interfase gráfica de RSSql.


A pesar de que los componentes principales de RSSql están implementados como servicios,
RSSql cuenta también con una interfase gráfica que le permite al usuario realizar toda la
configuración del sistema.

A continuación se describe su funcionamiento

La pantalla se compone de los siguientes elementos:

11/10/2010
1 Page 7 of 34

 Barra de título.
 Barra de menús.
 Barra de herramientas.
 Árbol de configuraciones.
 Área de trabajo.
 Barra de estatus.

A continuación se describe cada uno de ellos.

Barra de Título.
Muestra el ícono de RSSql y el nombre de la configuración o del servidor de configuraciones
(dependiendo de lo que se seleccione en el árbol de configuraciones), el nombre del producto y
los botones de Minimizar, Maximizar y Cerrar.

Barra de Menús.
Se puede acceder a muchas funciones de RSSql desde la barra de menús.

 Security: Permite iniciar o cerrar sesión en FactoryTalk para poder utilizar la aplicación.

 Configuration: Permite crear una nueva configuración de RSSql, establecer o cambiar las
propiedades de una configuración, acceder al CheckList de configuraciones, borrar,
respaldar o restaurar una configuración o iniciar o detener una configuración.

 Define: Permite definir un conector, un data object, data points, o una transacción RSSql.
Además se pueden definir las opciones de registro de los eventos de error y eventos
programados.

 View: Permite seleccionar la pantalla a visualizar en el área de trabajo:

 Definición de Transacciones. Muestra la información de las transacciones que están


definidas en la configuración.
 Monitor de Transacciones. Muestra la información de diagnóstico de las
transacciones de la configuración que está corriendo en ese momento.
 Ventana de Logs. Muestra el Log de errores del servicio seleccionado en el árbol de
configuraciones.
 Gráfico del Sistema. Muestra un esquema que detalla el funcionamiento del sistema.

También permite visualizar íconos grandes o pequeños, refrescar el estatus de la pantalla


y mostrar u ocultar las barras de herramientas y de estatus.

 Tools: Permite crear un reporte de configuración, verificar la configuración seleccionada o


usar el asistente para importar o exportar transacciones. También permite establecer las
opciones de los mensajes de confirmación y de la ventana de visualización de Logs.

 Help: Muestra los archivos de ayuda y la información sobre la versión del producto.

Barra de Herramientas
Cada botón de la barra de herramientas es un acceso rápido a una función de RSSql.

11/10/2010
1 Page 8 of 34

Botón Descripción
Crea una nueva configuración de RSSql
Despliega la pantalla “acerca de…”
Despliega la ayuda en línea de cualquier elemento de la pantalla
(Oprima este botón y después el elemento en cuestión)
Inicia la configuración de RSSql o el conector seleccionado en el
árbol de configuraciones
Detiene la configuración de RSSql o el conector seleccionado en el
árbol de configuraciones.
Verifica la configuración de RSSql seleccionada.
Despliega la pantalla de Definición de Transacciones en el área de
trabajo.
Despliega la pantalla de Monitor de Transacciones en el área de
trabajo
Despliega la pantalla de Logs en el área de trabajo.
Despliega el gráfico del sistema en el área de trabajo.

Árbol de Configuraciones
Se ubica en la parte izquierda de la pantalla y muestra en forma de árbol la siguiente
información:
El nivel superior es el servidor de configuraciones que tiene el mismo nombre de la
computadora en la que está corriendo RSSql, el segundo nivel es el nombre de la configuración,
el tercer nivel muestra el administrador de transacciones seguido de los conectores de control y
los controles corporativos definidos en la configuración

Los semáforos en el árbol de configuraciones, representan el estatus de los conectores y de las


configuraciones de RSSql, cambiando de rojo a verde cuando se inician los servicios. En la
siguiente tabla se muestran los íconos correspondientes a cada elemento del árbol.

Ícono Estado de la configuración Estado del conector


Corriendo adecuadamente; todos los Corriendo adecuadamente
conectores en la configuración están
corriendo adecuadamente. Todas las
transacciones iniciarán conforme a las
reglas definidas
Uno o más conectores no están Este estado no aplica para los
funcionando adecuadamente conectores
Configuración detenida. Todos los No está funcionando adecuadamente
conectores están detenidos

Área de trabajo

11/10/2010
1 Page 9 of 34

Se encuentra en la parte derecha de la pantalla y puede mostrar las cuatro vistas mencionadas
anteriormente: Definición de Transacciones, Monitor de Transacciones, Log de errores y Gráfico
del Sistema.

4 Terminología
Configuración: Una configuración de RSSql consiste en un conjunto de transacciones de RSSql
que utiliza conectores de control y corporativos requeridos para la realización de dichas
transacciones.

Se pueden crear varias configuraciones, pero solo se puede ejecutar una a la vez, por lo que
todas las transacciones requeridas para implementar una aplicación deben estar contenidas en
una sola configuración.

Transacción: Se denomina transacción a la acción de leer datos del PLC (denominados Data
Points), enviarlos a la base de datos para ser registrados y opcionalmente obtener un resultado
de la base de datos y enviarlo de regreso al PLC.

11/10/2010
1 Page 10 of 34

5 Definición de una Configuración.


Para definir una configuración nueva se oprime el botón de la barra de herramientas y a
continuación se presenta la pantalla “CheckList de Configuración”

Esta pantalla muestra todos los pasos a seguir para completar una configuración. Primero se
debe alimentar el nombre de la configuración nueva y se oprime el botón “Step 1”

Esta pantalla enlista los pasos requeridos y muestra el progreso de la configuración. Una marca
verde indica que el paso está concluido, mientras que una marca amarilla indica que el paso
está parcialmente concluido.

11/10/2010
1 Page 11 of 34

5.1 Paso 1. Definición de la configuración.


Al oprimir el botón Step 1 se presenta la siguiente pantalla

En donde se selecciona la ruta en la que se almacenarán los archivos de la configuración y los


conectores de control y corporativos que utilizará la configuración. Una vez alimentada esta
información, el paso 1 se marca concluido en el CheckList con una marca verde.

11/10/2010
1 Page 12 of 34

5.2 Paso 2. Definición de Conectores.


Como se mencionó anteriormente, cada conector y el administrador de Transacciones son
servicios de Windows, por lo que se debe especificar el usuario y contraseña con el que cada
servicio se ejecutará.

Al oprimir el botón “Step 2” se presentará la siguiente pantalla, en donde se selecciona un


servicio para el que se deberá definir: nombre del conector, usuario con el que se ejecutará y su
contraseña.

Para el caso del Servicio Transaction Manager, también se debe definir el puerto de
comunicación que utilizará, por default es el 400

En la casilla “Host Name” se especifica el nombre de la computadora en donde está corriendo el


servicio correspondiente, normalmente se trata de la misma PC para todos los servicios, salvo
en el caso de una instalación de RSSql distribuida.

11/10/2010
1 Page 13 of 34

El botón “Options” especifica parámetros de funcionamiento avanzado que se tratarán en la


sección Tips y trucos.

El botón “Passwords” establece el mismo usuario y contraseña para todos los servicios
involucrados en la configuración, evita tener que capturarlos repetidamente para cada servicio.

El botón “Host/User” funciona igual que el botón “passwords”, salvo que adicionalmente copia el
Host Name a todos los servicios.

El botón “Delete” borra la configuración del servicio seleccionado.

5.3 Paso 3. Definición de Data Points


Los Data Points son las variables del PLC (También conocidas como Tags) que van a ser
leídas o escritas por los conectores de control.

Como se mencionó antes, los diferentes conectores de control acceden a los registros del PLC
utilizando un servidor OPC o DDE, por lo que conviene estar familiarizado con los términos
utilizados en una comunicación OPC o DDE

5.3.1 Conceptos de comunicación OPC


Un servidor OPC es un software se comunica con el PLC y proporciona un estándar de
comunicación, que permite a otras aplicaciones de Windows acceder a los registros de memoria
o variables del PLC. En nuestro ejemplo estamos utilizando RSLinx.

El estándar OPC se basó originalmente en la tecnología DDE de Microsoft para proporcionar


intercambio dinámico de datos entre aplicaciones de Windows, por lo que aún conservan mucha
terminología en común.

En el siguiente diagrama se muestran los componentes que forman parte de una comunicación
OPC.

En una comunicación OPC se requieren 2 componentes: una aplicación servidor y una


aplicación cliente.
La aplicación servidor –o el servidor OPC- es el que se encarga de acceder directamente a los
registros del PLC y hacerlos disponibles a la aplicación cliente. El servidor OPC conserva
internamente una copia de los valores de los registros del PLC en una memoria caché, de tal
forma que en ocasiones no es necesario volver a leerlos directamente del PLC.

11/10/2010
1 Page 14 of 34

El cliente OPC realiza una conexión con el servidor OPC para realizar lecturas y escrituras de la
información que dispone el servidor, e incluso para ser notificado cuando algún valor cambie.
Dado que el servidor OPC puede tener acceso a varios PLCs, se necesita una manera de
distinguir los datos de un PLC con los de otro (ya que los PLCs pueden tener registros con el
mismo nombre o dirección de memoria). Para esta finalidad se utilizan los tópicos, que son
simplemente un nombre que distingue a un PLC de otro.

En resumen, para que un cliente OPC pueda leer un dato de un PLC utilizando en Servidor OPC
debe establecer la comunicación con el servidor, y especificando un tópico, solicitar al Servidor
OPC las variables que requiere para leer o escribir.

RSLinx es un servidor OPC que aun cuando cumple con el estándar OPC contiene algunas
funciones internas optimizadas para el uso de controladores Allen-Bradley y software de
Rockwell software. Una de estas diferencias es que un cliente OPC que utiliza RSLinx puede
utilizar un tópico para especificar un PLC o también, una ruta de acceso de red que apunta a
donde se encuentra el PLC. En este curso utilizaremos el acceso por tópico.

Definición de un tópico en RSLinx.


En el menú DDE/OPC de RSLinx se selecciona la opción “Topic configuration” que muestra la
siguiente ventana.

Se oprime el botón “New” para crear un nuevo tópico al que llamaremos, en nuestro ejemplo,
Curso_RSSql. Aparece en la sección izquierda de la pantalla. Del lado derecho de la pantalla se
muestra la red de PLCs con la que tiene comunicación RSLinx, se debe seleccionar el PLC al
que hará referencia el tópico, en nuestro ejemplo al SoftLogix denominado Curso_RSSql.

5.3.2 Descripción de la pantalla de Data Points


Una vez definido el tópico de comunicación en RSLinx, se puede continuar con la definición de
Data Points de RSSql.

11/10/2010
1 Page 15 of 34

Para dar de alta y definir los Data Points, que serán utilizados por los conectores de control, se
cuenta con una pantalla con ciertas particularidades para cada conector, que deberán ser
tomadas en cuenta. En este documento nos enfocamos al conector RSLinx Classic OPC Control
Connector, que presenta la siguiente ventana

La parte superior de la pantalla muestra el nombre del conector definido en el paso 2 del
CheckList, el nombre del dispositivo PLC que en vez de ser tecleado, debe seleccionarse de la
ventana de exploración de redes de RSLinx (también conocida como RSwho), que está en el
centro de la ventana.

11/10/2010
1 Page 16 of 34

También se debe especificar la ruta o directorio donde se encuentra el archivo de Tags para ese
PLC. Un archivo de Tags es un archivo de texto plano separado por comas (formato CSV,
Comma Separated Values) que contiene la lista de los Tags que se encuentran dentro de un
PLC. Este archivo se puede elaborar en Microsoft Excel y debe tener el siguiente formato

El archivo no debe tener ningún encabezado, debe tener cuatro columnas con los siguientes
datos:

1. Dirección de memoria o nombre del Tag como está definido dentro del PLC.
2. Tipo de dato (Real, DINT, INT, STRING, BOOL, etc.)
3. Nombre del Tag que utilizará RSSql para su identificación.
4. Descripción del Tag.

La parte inferior de la pantalla muestra la lista de los Data Points de PLC seleccionado, que
RSSql utilizará. Inicialmente la lista aparece vacía.

Antes de agregar nuevos Data Points a esta lista conviene especificar es modo de acceso que
el conector utilizará al comunicarse con RSLinx, si por tópico o por ruta de red, para esto se
oprime el botón “Access Options”, que presenta la siguiente ventana

Es conveniente utilizar el modo por tópico, ya que de otro modo si se cambia la ruta de conexión
de la red es necesario ajustar cada Data Point, mientras que si se utiliza por tópico sólo bastaría
con apuntarlo al PLC correspondiente.

11/10/2010
1 Page 17 of 34

Para llenar la lista de Data Points a partir del archivo de Tags especificado, se oprime el botón
“Add Tags”, que muestra la siguiente ventana

En la parte superior se muestra información del conector, como su nombre y el archivo de Tag
seleccionado.

En la parte inferior de la pantalla se muestran dos listas, una, la de la izquierda muestra la lista
de Tags del archivo de Tags. La lista de la derecha muestra los Tags seleccionados para ser
agregados a este conector, como Data Points.

Si se selecciona la opción “Filter Out Existing…” la lista de la izquierda desplegara únicamente


aquellos Tags, del archivo de Tags que aún no han sido seleccionados para ser agregados al
conector.

11/10/2010
1 Page 18 of 34

Para pasar Tags de una lista a la otra se utilizan los botones “>>” y “>>”. Una vez
seleccionados los Tags que se desean agregar se oprime el botón “Apply” que cierra esta
ventana y nos lleva a la ventana anterior donde se presentarán los nuevos Data Points
agregados.

Una de las partes más importantes de RSSql es la definición de los parámetros de los Data
Points, que se presentan en la lista inferior de la ventana. Como se dijo anteriormente, esta lista
se importó desde el archivo de Tags, pero el usuario puede agregar nuevos Data Points
escribiéndolos directamente sobre esta cuadrícula, así mismo, se puede modificar la
información que aparece en cualquier columna de esta lista. A continuación describiremos cada
una de las columnas que aparecen en ese listado:

1. Item address: Muestra la dirección o nombre del tag dentro del PLC.
2. Tag symbol: Es el nombre asignado al Tag (nombre corto)
3. Tag Description: Es la descripción del Tag.
4. Data Point Name: Es el nombre completo del Data Point, tal y como lo conoce RSSql,
está compuesto de la siguiente forma: Conector. Tópico. Nombre del tag. Ejemplo:
cnnLinx.Curso_RSSql.Maq0_ConteoPiezas
5. Topic: Nombre de tópico a utilizar. Si dice default se está utilizando el acceso por ruta.
6. Data Type: Es el tipo de dato.
7. Elements: Es la cantidad de elementos a leer/escribir. Es útil al leer arreglos de Tags.
8. Bindings: Indica si el Data Point ya está siendo utilizado por alguna transacción, si dice
“none” es que no está siendo utilizado.

11/10/2010
1 Page 19 of 34

Las siguientes columnas:


9. Mode:
10. Scan Rate:
11. Data Valid Timeout
12. Units (Valid)
13. Retrieval Timeout
14. Units (Retrieval)
15. Subst/Quality type
16. Subst Value

Estas pueden ser configuradas directamente sobre la cuadrícula o bien, al dar click derecho
sobre un renglón de la lista y seleccionando “Edit Collection Parameters”, que resulta más
sencillo pues se muestra la siguiente ventana

Data Point Collection Mode


Corresponde a la columna Mode del listado de Data Points y especifica la manera en que el
conector de control accederá al Tag y se puede seleccionar alguno de los tres siguientes
valores:

Scheduled: Mantiene el valor actual del Tag.


Durante el modo de adquisición “scheduled”, cada Data Point es leído, continuamente a la
frecuencia configurada. El Servidor OPC envía cada cambio en valor o calidad al conector de
control. El conector de control mantiene el valor actual en un buffer y se lo proporciona al
Transaction Manager cuando es solicitado. El Transaction Manager también mantiene una copia
en un buffer interno que lo utiliza cuando es necesario.

El servidor OPC lee el valor del Data Point a la frecuencia especificada en el campo
“Subscription Scan Rate”, si se encuentra un nuevo valor, éste es enviado al conector de
control. Si el valor no ha cambiado en servidor OPC, no se transfiere ningún dato, de este modo
no se utiliza tráfico en la red para transmitir el mismo valor entre el servidor OPC y el conector
de control.

Este modo de adquisición es utilizado por transacciones que registran datos constantemente
(por ejemplo registrar datos de temperatura de un horno cada 5 minutos).

Device Scheduled: Adquiere el valor actual desde el PLC.


Durante este modo de adquisición de datos, los Data Points no son leídos a una frecuencia
específica y tampoco se mantiene un buffer el conector de control ni en el servidor OPC. El

11/10/2010
1 Page 20 of 34

Servidor OPC lee directamente del PLC cuando el conector de control le solicita un dato. De
todos los modos de adquisición, este es el más tardado ya que no hace uso de ningún buffer.
Sin embargo es el más preciso ya que lee los datos directamente del PLC, cada vez que se
requieren.

Unscheduled: Envía el valor en cuanto éste cambia.


Este modo de adquisición de datos es controlado por el servidor OPC y cada Data Point es
monitoreado continuamente a una frecuencia especificada. Cuando el servidor OPC detecta un
cambio en el valor o la calidad de un Data Point, envía el dato al conector de control, que a su
vez lo envía al Transaction Manager. Este modo no está en función del tiempo, sino que es
asíncrono, es decir cuando ocurre el evento.

Cabe mencionar que si no hay cambios en el valor del Data Point, el dato no será enviado a
RSSql.

El campo “Subscription Scan Rate” establece que tan rápido pueden llegar los datos, por
ejemplo, si se establece a 250 ms el servidor OPC no puede enviar los datos más rápido que a
esa tasa. Si el valor del Data Point cambia más rápido, el conector de control solo podrá ver los
valores cada 250 ms.

Este modo de adquisición se utiliza principalmente para los triggers de las transacciones.

Timeout Properties

Data Retrieval Timeout. (Timeout de adquisición de datos)


El timeout de adquisición de datos se mide desde el momento en que inicia una transacción
hasta que el Data Point llega al Transaction Manager. Si se presenta un retardo en la
comunicación entre el Transaction Manager y el conector de control, o bien, entre el conector de
control y el servidor OPC, el timeout del Data Point podría expirar.
Un ejemplo de este tipo de retraso es cuando se utiliza un Data Point en modo Device
Scheduled, en este caso el Transaction Manager solicita el Data Point al conector de control.
Entonces, el conector de control solicita el dato al servidor OPC. El servidor OPC realiza una
lectura directamente del PLC, el cual le regresa el valor, posteriormente el servidor OPC le
regresa el valor al conector de control, que a su vez se lo envía al Transaction Manager. Si el
Data Point no es devuelto en el tiempo especificado en el campo Data Retrieval Timeout,
entonces se dice que ocurre un timeout y se aplicarán las reglas de sustitución (descritas más
adelante).

Este timeout aplica a los Data Points Scheduled y Device Scheduled

Data Valid (Lapso de vigencia del dato)


Es el lapso de tiempo en el que el Transaction Manager considera válido el valor del Data Point.
Si este límite se excede, el conector de control vuelve a adquirir el dato desde el servidor OPC,
antes de enviarlo al Transaction Manager.

Dado que este valor controla que tan seguido se debe refrescar el caché del conector de
control, el usuario puede especificar un valor alto, de tal manera que se reduzca la carga de
trabajo en el sistema. Por ejemplo, si un valor, como la temperatura de un horno, no cambia
muy seguido se puede especificar un valor de 10 minutos. Para una transacción que se ejecuta
cada minuto, RSSql utilizará la información del caché hasta que la vigencia del dato expire. Para

11/10/2010
1 Page 21 of 34

refrescar el dato cada vez que se utiliza se deberá especificar este lapso como 0.

Este lapso aplica a los Data Points Scheduled y Unscheduled.

Data Point Value Properties


OPC Bad Quality Option
Una de la características de los servidores OPC es que le pueden informar al cliente no sólo el
valor del Tag, sino que además, un valor de calidad del dato, que significa si el servidor OPC
tuvo problemas al leer el dato del PLC, por ejemplo, por tráfico en la red u otro error de
comunicación. El recuadro OPC Bad Quality Option sirve para especificar al conector de control
lo que debe hacer cuando el servidor OPC reporta un dato con mala calida y existen dos
opciones:

Use Substitution Option For Bad Quality (Usar sustitución por mala calidad del dato)
Esta opción indica al conector de control que cuando reciba un dato con mala calidad, lo
sustituya por el valor especificado en el recuadro “Substitution Options”, esta opción sólo
es válida para los servidores OPC (no está presente para servidores DDE)

Use Bad Qualities (Usar datos de mala calidad)


Esta opción indica al conector de control que utilice el dato aunque venga con mala
calidad. Adicionalmente el conector de control puede informar al Transaction Manager si
la calidad del dato es buena o mala.

Substitution Option
En este recuadro se establece el valor de sustitución que será empleado al recibir un dato con
mala calidad (Cuando se ha seleccionado “Use Substitution Option…” en el recuadro anterior).
Los valores posibles son:

No Substitution (No sustituir)


Significa que no se realizará sustitución alguna, por lo que cuando se reciba un dato con
mala calidad provocará que la transacción falle.

Substitute Previous Value (Sustituir con el valor previo)


El dato de mala calidad será sustituido por el último dato bueno que se haya registrado,
esta opción sólo aplica para Data Points Scheduled.

Substitute Value (Valor de sustitución)


El dato de mala calidad será sustituido por el valor especificado. Se puede especificar
cualquier valor e incluso el valor NULL.

5.4 Paso 4. Definición de Data Objects


Un Data Object es un objeto de base de datos que será utilizado por el conector corporativo. Al
igual que con los conectores de control existe una pantalla particular para cada conector
corporativo, que son muy similares pero tienen algunas diferencias que deberán tomarse en
cuenta. En este curso se está utilizando el conector corporativo Microsoft OLEDB.

Los objetos de base de datos que pueden utilizarse como Data Objects son:
 Tablas

11/10/2010
1 Page 22 of 34

 Vistas
 Procedimientos almacenados

Entonces, para cada conector corporativo se deben crear tantos Data Objects, como tablas,
vistas o procedimientos almacenados se vayan a utilizar.

Para dar de alta y definir los Data Objects, que serán utilizados por los conectores corporativos,
se debe oprimir el botón “Step 4”, que presenta la siguiente ventana

Inicialmente aparece vacía, ya que no existe ningún Data Object en el conector OLEDB y como
en este ejemplo es la primera vez que se va a dar de alta uno, primero se debe establecer una
conexión a la base de datos, oprimiendo el botón “…” del campo Database connection, que
presenta la siguiente ventana que se deberá configurar sólo una vez por cada base de datos
que se utilice, en este ejemplo todos los Data Objects que utilizaremos residen en la misma
base de datos, por lo que este paso se realizará sólo una vez.

11/10/2010
1 Page 23 of 34

La pantalla inicialmente aparece vacía y para especificar la conexión a la base de datos se debe
introducir los parámetros en el siguiente orden:

1. Se escribe el nombre de la PC donde se encuentra el servidor de base de datos SQL


Server.
2. Se oprime el botón “Refresh” para visualizar la lista de bases de datos presentes en el
Server.
3. Se selecciona la base de datos a utilizar.
4. Se escribe el usuario y la contraseña de base de datos que utilizará el conector
corporativo para conectarse a la misma.
5. Se oprime el botón “Test” para verificar que la conexión es exitosa, en cuyo caso se
muestra el mensaje

6. Se oprime el botón “Apply” para guardar los cambios.

11/10/2010
1 Page 24 of 34

Una vez alimentada la conexión, se podrá escoger el objeto de base de datos a utilizar como
Data Object.

En el campo Data Object “Name” se escribe el nombre que le daremos al Data Object, es
recomendable utilizar el mismo nombre de la tabla, vista o procedimiento al que hará referencia.
En este ejemplo el Data Object “datMuestras” apunta a la tabla “Muestras”.

En campo “Mode” se define si se utilizará para realizar operaciones insert o update (sólo aplica
para tablas y vistas).

En el recuadro database se selecciona si se utilizará una tabla, vista o un procedimiento


almacenado y en el combo “table/Stored procedure” se selecciona la tabla, vista o
procedimiento a utilizar. (En la figura anterior se muestra la selección de una tabla)

En la parte inferior de la ventana se muestran dos listas, la primera es la lista de campos que
contiene la tabla o vista, o bien. Para el caso de procedimientos almacenados, se muestra la
lista de parámetros del procedimiento.

En la lista de la derecha se muestran los campos (o parámetros) seleccionados para ser


utilizados por el Data Object.

Al oprimir el botón “Apply” queda registrado el Data Object. Se debe repetir esta operación para
cada Data Object que utilice el conector corporativo.

11/10/2010
1 Page 25 of 34

5.5 Paso 5. Definición de Transacciones


Se denomina transacción a la acción de leer Data Points del PLC y enviarlos a la base de datos
para ser registrados y opcionalmente obtener un resultado de la base de datos y enviarlo de
regreso al PLC, el flujo de datos en una transacción puede ser de una de las dos formas
siguientes:

 Transacción Unidireccional: PLC  Base de Datos


 Transacción bidireccional: PLC  Base de Datos  PLC

Transacciones Unidireccionales
Son el tipo más simple de transacción para añadir o actualizar registros en la base de datos, o
incluso, llamar a procedimientos almacenados que no devuelven parámetros. Son apropiadas
para el registro de eventos que ocurren en planta.

Las transacciones unidireccionales pueden utilizar la opción “Use Cache Transaction Files”, que
permite al Transaction Manager utilizar un archivo caché cuando la base de datos está muy
ocupada y no responde rápidamente y posteriormente enviar todos los datos del caché a la
base de datos.

Transacciones bidireccionales.
Las transacciones bidireccionales leen datos desde el PLC y llaman a un procedimiento
almacenado que ejecuta cierta lógica y que devuelve parámetros de salida, que a su vez son
enviados de regreso al PLC. También se pueden hacer transacciones bidireccionales que sólo
escriben en el PLC datos provenientes de la base de datos.

Este tipo de transacción es la más poderosa, ya que le permite al PLC interactuar con la base
de datos, mediante procedimientos almacenados o incluso, llamar a métodos de componentes
COM+.

Las transacciones bidireccionales deben utilizar la opción “Real Time Thread”, ya que por su
naturaleza, no es posible utilizar los archivos caché.

11/10/2010
1 Page 26 of 34

Para definir una transacción se oprime el botón “Step 5” del checkList de configuración y se
presenta la siguiente pantalla

En el campo “Transaction Name” se anota el nombre que se le dará a la transacción.

En el campo” Data Object Name” se selecciona el nombre del Data Object que se utilizará en la
transacción.

El campo “Transaction Timeout” es el lapso de tiempo en el que el Transaction Manager espera


que una transacción se complete, antes de que el tiempo expire, resultando en una transacción
fallida.

Se selecciona si la transacción utilizará los archivos caché o “Real Time Thread” (descritos
anteriormente)

“Transaction Status” permite habilitar o deshabilitar una transacción.

“Transaction Validation” al oprimir el botón “Verify”, RSSql realiza una verificación de la


transacción y en caso de que haya algún error en su definición, lo muestra en este recuadro.

En la parte inferior de la ventana se muestra la lista de asignaciones (bindings), inicialmente


aparecen los campos o parámetros del Data Object a utilizar. Para cada uno se debe especificar
el Data Point correspondiente. Para realizar una asignación se puede dar doble click sobre
algún renglón de la lista y aparecerá la siguiente ventana, desde la cual se puede seleccionar el
Data Point deseado. Para realizar la asignación se arrastran con el Mouse los Data Points y se
sueltan sobre el parámetro.

11/10/2010
1 Page 27 of 34

En la siguiente pantalla se muestran las asignaciones para cada parámetro, la columna “Bind
Type” indica el tipo de asignación utilizado para cada campo

Se tienen tres diferentes tipos de asignación:


 Asignación de Data Point: Se pasa el valor de un Data Point al campo o parámetro del
data Object.
 Asignación de expresión: Se pasa una fórmula o valor explícito a un Data Point.
 Asignación de un valor nulo: No se pasa ningún valor al campo o parámetro del Data
Object.
Para seleccionar un tipo de asignación se da click derecho sobre un campo o parámetro y se
selecciona el tipo de asignación a utilizar.

11/10/2010
1 Page 28 of 34

Para la asignación de expresiones se presenta la siguiente ventana

En el campo “Expression String” se escribe la fórmula o valor explícito que se desee asignar al
parámetro. La fórmula puede tener multiplicación, división y otros operadores y utilizar Data
Points como operandos. También incluye algunas funciones, entre las que destacan:

TimestampOf(Data Point): Devuelve la fecha y hora en que se realizó la lectura del Data Point.
TransTimestamp(): Devuelve la fecha y la hora en que se dispara la transacción.

11/10/2010
1 Page 29 of 34

El botón “Trigger/Storage” de la ventana de definición de transacción permite definir el momento


en que la transacción debe ejecutarse, al ser oprimido se presenta la siguiente ventana

Se permite seleccionar tres posibles modos de iniciar una transacción:


 Por un evento programado (On Scheduled Event): Se permite seleccionar cada cuanto
tiempo se debe ejecutar una transacción para el caso de transacciones periódicas, a una
frecuencia constante. El botón “Scheduler” permite crear eventos que disparen la
transacción cada lunes a las dos de la tarde, el día primero de cada mes, tres veces al día,
etc.

 Por eventos no programados (On Unscheduled Event): Permite seleccionar un Data Point
Unscheduled para que dispare la transacción, en un flanco de subida, en un flanco de
bajada, cada que cambie, etc. Como se muestra en la siguiente figura

 Por una aplicación externa: RSSql proporciona unas bibliotecas o DLLs que se pueden
utilizar en aplicaciones Visual Basic, para disparar transacciones.

11/10/2010
1 Page 30 of 34

En la parte inferior de la pantalla de definición de transacciones se encuentra la opción “Bind


Transaction Result”

Cuando se activa esta opción se permite seleccionar un Data Point en el cual el Transaction
Manager registrará el resultado de la transacción, se trata de un valor numérico en donde un
valor igual a 1 indica que la transacción se ejecutó satisfactoriamente, un valor mayor que 1
representa que la transacción falló y el valor corresponde al código de error de la
transacción.

De este modo, el PLC puede saber si una transacción fue ejecutada correctamente, de lo
contrario se puede programar la lógica necesaria en el PLC para que la operación se
reintente (es recomendable que el PLC contenga la lógica que ponga en 0 este Tag para
después detectar un cambio en el valor).

6 Ejercicios de Ejemplo
6.1 Ejemplo: Adquisición de variables en el tiempo
Con la información proporcionada por el instructor, realizar en el laboratorio un conjunto de
transacciones que registren el comportamiento de tres variables que cambian en el tiempo, las
transacciones deberán ejecutarse de forma periódica cada 20 segundos y registrar el muestreo
en una tabla de SQL.

6.2 Ejemplo: Registro de alertas.


En este ejemplo suponemos que en el PLC existen variables tipo booleano que indican la
presencia de un falla en una máquina, se tienen cinco máquinas y tres tipos de falla en cada
una (15 Tags booleanos).

Se desea crear las transacciones necesarias para registrar en la base de datos la presencia o
ausencia de fallas en cada máquina y registrar el historial de incidencias.

6.3 Ejemplo: Descargar setpoints de una receta.


En este ejemplo suponemos que existe un PLC que tiene conectado un PanelView, desde el
cual se selecciona una receta con la que se deberá realizar un proceso, dado que son muchas
recetas, éstas no pueden estar almacenadas en la memoria del PLC, además las recetas son
administradas o definidas desde una aplicación Visual Basic que las guarda en una base de
datos.

Se desea escribir una transacción que consulte los valores de especificación de la receta
seleccionada desde el PanelView y que se descarguen en el PLC.

7 Administración de configuraciones RSSql.


7.1 Crear y Restaurar Respaldos.

11/10/2010
1 Page 31 of 34

Crear Respaldos
Desde el menú “Configuration” opción “Backup” se puede crear un archivo de respaldo de toda
una configuración RSSql. La información que se respalda es:

Conectores utilizados.
Configuración de cada conector.
 Data Points de todos los conectores de control.
 Data Objects de todos los conectores corporativos, incluyendo los parámetros de conexión
de cada conector corporativo.
 Transacciones, incluyendo asignaciones y triggers.
Cabe mencionar que NO se respaldan los archivos de Tags utilizados por el conector RSLinx
Classic OPC Control Connector.

Al crear un respaldo se selecciona la ruta donde se almacenará y el nombre del archivo, al cual
se le asigna la extensión .RSQ

Restaurar Respaldos
Para restaurar un respaldo se selecciona la opción “Restore” del menú “Configuration”. El
sistema pregunta la ruta o directorio donde se desea escribir los archivos de configuración de
RSSql y el nombre que se le dará a la configuración a restaurar, puede ser la misma u otra.

Una vez que se restaura una configuración, sobretodo cuando se copia a otra computadora, es
muy importante verificar los parámetros configurados en los pasos 1 y 2 del CheckList, ya que
las rutas de directorios, usuarios y contraseñas pueden haber cambiado.

11/10/2010
1 Page 32 of 34

7.2 Exportar e Importar Transacciones.


Existe una herramienta que sirve para exportar o importar transacciones de y hacia archivos de
texto plano en formato TSV (Tab Separated Values). Se encuentra en la opción “Wizards” del
menú “Tools”. Se presenta la siguiente pantalla de bienvenida

Al oprimir “siguiente” comienza el primer paso del asistente, en la que se debe seleccionar la
operación a realizar (importar o exportar), la configuración que contiene las transacciones en
cuestión y el nombre del archivo TSV

11/10/2010
1 Page 33 of 34

Al oprimir “siguiente” se selecciona el Data Object y las transacciones asociadas al mismo que
se desean exportar.

Al oprimir “Finalizar”, el asistente termina, generando el archivo TSV, que puede ser visualizado
en Excel, como se muestra en la siguiente figura

Como se puede observar el archivo contiene columnas correspondientes a cada campo o


parámetro del Data Object, por esta razón sólo se pueden exportar transacciones de un Data
Object determinado en el mismo archivo. En otras palabras, las transacciones que utilizan
diferentes Data Objects se exportan en diferentes archivos TSV.

Por esta razón al oprimir el botón “Finalizar” en vez de cerrarse la ventana, se presenta
nuevamente la primera pantalla del asistente.

La importación de transacciones se ejecuta de forma similar, alimentando o especificando el


archivo TSV por cada ejecución del asistente.

11/10/2010
1 Page 34 of 34

8 Diagnóstico de problemas en RSSql


Es común que mientras se está elaborando una aplicación con RSSql, las transacciones no se
ejecuten correctamente y se reporten errores en los Logs. Como se mencionó al inicio del curso,
se pueden visualizar, en el área de trabajo de RSSql, los Logs de errores de los servicios
utilizados en la configuración (el Transaction Manager y los conectores).

El Log del Transaction Manager muestra los errores correspondientes cuando alguna
transacción ha fallado y el texto del error siempre incluye el código de error asociado al mismo.
Al momento de instalar RSSql se instala también una aplicación llamada “Error Messages” que
sirve para obtener una descripción un poco más detallada del error, a partir de su código, como
se muestra en la siguiente ventana

Se alimenta el código de error y se selecciona el tipo, esto es:

 RSSql Error: Se selecciona esta opción si es que el código de error fue leído en el Log del
Transaction Manager (el que aparece en la pantalla de RSSql)

 Bind Transaction Result Error: Se selecciona esta opción si es que el código de error fue
leído desde el Data Point, en donde se reporta el resultado de la transacción (por ejemplo
visualizado desde RSLogix o desplegado en un PanelView del PLC)

11/10/2010

También podría gustarte