82
NANOSCADA 2010 MANUAL DE USUARIO REVISIÓN 21 Rosario, Santa Fe Argentina Mayo de 2011

Nano Scad A

Embed Size (px)

Citation preview

Page 1: Nano Scad A

NANOSCADA 2010

MANUAL DE USUARIO

REVISIÓN 21

Rosario, Santa Fe Argentina

Mayo de 2011

Page 2: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 2 de 82

1 DESCRIPCION DE NANOSCADA 2010 5

1.1 Estructura de Nanoscada 2010 5 1.2 Listado de tareas adicionales 6 1.3 Listado de tags propios de Nanoscada 2010 6

2 INSTALANDO NANOSCADA 2010 7

2.1 Instalación de NanoScada 2010 7 2.2 Registración de NanoScada 2010 8 2.3 Creación de una aplicación NanoScada 2010 8

3 CONFIGURANDO UNA APLICACION NANOSCADA 2010 9

3.1 Elementos básicos de NanoScada 2010 9 3.2 Iniciar NanoScada 2010 11 3.3 Finalizar NanoScada 2010 11 3.4 Configuración del archivo NANOSCADA.INI 12 3.5 Creación de la BDCFG utilizando el archivo NANOSCADA.XLS 14 3.6 Tabla “Inicio” de NANOSCADA.XLS 15 3.7 Tabla “ns_tags” de NANOSCADA.XLS 16 3.8 Tabla “ns_io” de NANOSCADA.XLS 17 3.9 Tabla “ns_alarms” de NANOSCADA.XLS 18 3.10 Tabla “ns_net” de NANOSCADA.XLS 19 3.11 Tabla “ns_tasks” de NANOSCADA.XLS 22 3.12 Configuración de NSMODBUS 23 3.13 Configuración de NSMBTCP 27 3.14 Configuración de NSDNP 31 3.15 Configuración de E90GW 34 3.16 Configuración de NSOPCCNT 35 3.17 Configuración de NSOPCSRV 37 3.18 Configuración de NSHSB 38 3.19 Configuración de NSALARM 41 3.20 Configuración de NSCALC 43 3.21 Configuración de NSLOG 47 3.22 Configuración de NSODBC 50 3.23 Configuración de NSCSV 53 3.24 Configuración de NSMAIL 55 3.25 Configuración de NSPERS 58 3.26 Configuración de NSCONTROLS 59 3.27 Configuración de NSAPISRV 69

4 NANOSCADA 2010 REMOTE CLIENT 70

4.1 Instalación de NanoScada 2010 Remote Client 70 4.2 Creación de una aplicación NanoScada 2010 Remote Client 71 4.3 Configurando una aplicación Nanoscada 2010 Remote Client 72 4.4 Iniciar NanoScada 2010 Remote Client 73 4.5 Finalizar NanoScada 2010 Remote Client 74

5 BACKUP Y RESTORE DE APLICACIONES NANOSCADA 75

5.1 NSBackup 75 5.2 NSRestore 77

Page 3: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 3 de 82

6 CONSIDERACIONES PARA APLICACIONES HOT STAND-BY 81

Page 4: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 4 de 82

TIEMPO REAL SERVICIOS DE INGENIERIA CHACABUCO 2302

S2000FIN Rosario (Santa Fe), Argentina www.trsi.com.ar

® TIEMPO REAL SERVICIOS DE INGENIERIA, 2010

HECHO EL DEPOSITO QUE MARCA LA LEY. RESERVADOS TODOS LOS DERECHOS DEL AUTOR. PROHIBIDA LA REPRODUCCION TOTAL O PARCIAL DE LOS SOPORTES QUE CONTIENE EL PROGRAMA Y DE ESTA DOCUMENTACION, POR CUALQUIER MEDIO O PROCEDIMIENTO Y CON CUALQUIER DESTINO. ESTE MANUAL CONSTITUYE INFORMACION CONFIDENCIAL Y PROPIETARIA DE TIEMPO REAL SERVICIOS DE INGENIERIA Y DEBE SER MANTENIDO EN ABSOLUTA RESERVA. Los nombres de los productos mencionados aquí se utilizan con propósitos indentificativos y pueden ser marcas comerciales y/o marcas registradas de sus respectivas compañías.

Page 5: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 5 de 82

1 DESCRIPCION DE NANOSCADA 2010 1.1 Estructura de Nanoscada 2010 NanoScada 2010 es un sistema de adquisición, supervisión y administración de datos en tiempo real e históricos (SCADA). Está diseñado para funcionar sobre plataforma Windows 32 bits (Windows7, Windows XP, Windows Server) y consta de elementos de Configuración y elementos de Run-Time. A continuación se muestra un diagrama esquemático de los elementos de Configuración y Run-Time que forman NanoScada 2010. Cada uno de los elementos serán descriptos en detalle en las secciones siguientes.

NANOSCADA 2010

CONFIGURACION RUN-TIME

%NSAPP%\

NANOSCADA.INI

%NSAPP%\

NANOSCADA.XLS

MSSQL (MSDE)

BDCFG

ALARMS +

LOG +

ETC

NSRUN

(NSMAIN)

RTDB NSALARM

NSLOG

MBUS MBTCP

DNP (ETC)

NSOPCCNT

NSOPCSRV

NSAPISRV

NSNETSRV

PLC, RTUs, IED, equipos de campo, etc.

Servidores

OPC

Clientes

OPC

Consolas IHM

Remotas (Remote Client)

NanoScadas

Remotos

NSCALC NSHSB (ETC)

NSGRAPH

(IHM)

NSPERS

Page 6: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 6 de 82

La tarea NSMAIN es el módulo principal de NanoScada 2010 y es el encargado de leer la BDCFG almacenada en una base de datos MSSQL (MSDE). Luego de leer la configuración, crea la RTDB, arranca las tareas configuradas con inicio automático y queda residente como aplicación de soporte de la RTDB y control de las aplicaciones. NSMAIN es el único proceso indispensable para el funcionamiento del NanoScada y posee un icono en el agente de tareas desde el cual se puede cerrar NanoScada 2010. 1.2 Listado de tareas adicionales Nombre Descripción NSALARM Manejador de alarmas del sistema NSOPCSRV Aplicación servidor OPC de NanoScada NSOPCCNT Aplicación cliente OPC de NanoScada NSAPISRV Aplicación de servidor de API remota de NanoScada NSDEBUG Aplicación de consola para administración de la RTDB NSWATCH Aplicación gráfica para monitoreo de la RTDB NSNETCNT Cliente de red para interconexión de NanoScadas NSNETSRV Servidor de red para interconexión de NanoScadas NSMODBUS Driver Modbus Master NSMBTCP Driver Modbus TCP Master NSDNP Driver DNP V3.0 Master NSODBC Driver de acceso a Bases de Datos externas por ODBC. NSHSB Administrador de redundancia NSCALC Aplicación de soporte de bloques y scripts de cálculo NSLOG Aplicación de registro en base de datos NSPERS Aplicación para almacenamiento de datos persistentes NSMAIL Aplicación para el envío de emails ante eventos. NSBACKUP Aplicación para realizar backup de aplicaciones NSRESTORE Aplicación para realizar restauración de aplicaciones 1.3 Listado de tags propios de Nanoscada 2010 Nombre del TAG Tipo Descripción NS_SRV_ID T Srv Id de la ejecución de NanoScada.

Se toma de la configuración. NS_RUN_ID I Run Id de la ejecución de NanoScada. NS_ALARM_ACK D Tag de indicación de reconocimiento de

alarma NS_ALARMS_CHANGE D Tag de indicación de cambio en alarma NS_ASCII_DATE T Fecha en formato ASCII NS_ASCII_TIME T Hora en formato ASCII NS_SECTIME I Segundos pasados 1970 (GMT) NS_DAY I Dia (1 - 31) NS_MONTH I Mes (1 - 12) NS_YEAR I Año (1900 - 2036) NS_HOUR I Hora (0 - 23) NS_MINUTE I Minutos (0 - 60) NS_SECOND I Segundos (0 - 60)

Page 7: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 7 de 82

2 INSTALANDO NANOSCADA 2010 2.1 Instalación de NanoScada 2010 Requisitos para la instalación:

• Equipo PC con sistema operativo Windows XP profesional o similar (2000, 2003, etc.).

• Microsoft SQL Server 2000 o 2005. • La configuración regional del equipo deberá ser la siguiente:

Español (Argentina) Personalizado Simbolo decimal: . (punto) Separador de miles: (espacio en blanco) Separador de listas: , (coma) Formato de hora: HH:mm:ss (24 horas) Formato de fecha: dd/MM/aaaa Números: -123 456 789.00 Moneda: $-123 456 789.00 Hora: HH:mm:ss Fecha: dd/MM/aaaa Idioma: Español/Argentina

La instalación de NanoScada 2010 se realiza mediante un asistente de instalación, el cual permitirá seleccionar la carpeta de destino para los archivos de NanoScada 2010, luego de los primeros pasos de la instalación aparecerá el siguiente mensaje:

*************************************

** **

** NANOSCADA 2010 INSTALLATION **

** **

*************************************

Do you want to create NanoScada Database? (Y/N)? Y

Presionar ENTER para crear la base de datos de NanoScada 2010. Si usted no desea crear la base de datos, presione N seguido de la tecla ENTER. En el caso de aceptar la creación de la base de datos se mostrarán los siguientes mensajes, mediante los cuales se requiere indicar el tipo de base de datos MSSQL a utilizar y los parámetros de conexión (entre corchetes se indican los valores por defecto):

NanoScada 2010

Script de instalacion de base de datos de configuracion

.

Ingrese la version de MSSQL (2000 o 2005) [2005]:

Ingrese el nombre de la instancia de MSSQL [.]:

Ingrese el nombre del usuario administrador [sa]:

Ingrese palabra clave del usuario [trsi]:

Una vez finalizado el proceso de instalación se habrá creado el grupo de programas de NanoScada 2010.

Page 8: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 8 de 82

2.2 Registración de NanoScada 2010 NanoScada 2010 requiere de una licencia de software la cual deberá ser solicitada a:

TIEMPO REAL Servicios de Ingeniería Chacabuco 2302 - (S2000FIN) Rosario Tel/FAX: 0341-4824962 http://www.trsi.com.ar

Si NanoScada 2010 no está debidamente registrado funcionará en modo DEMOSTRACION y finalizará automáticamente a los 30 minutos. 2.3 Creación de una aplicación NanoScada 2010 Dentro del grupo de programas NanoScad 2010 se habrá creado la carpeta Sample Application en la cual se encuentran los accesos directos para configurar e iniciar una aplicación NanoScada de ejemplo. El icono New NanoScada Application permite crear una nueva aplicación Al presionarlo aparecerá una ventana mostrando el siguiente mensaje:

NanoScada 2010 - New application script

Atención: Utilice comillas si el destino posee espacios

Ingrese el nombre de la carpeta de destino:

Ingresar el nombre de la carpeta de destino y presionar ENTER. Una vez creada la aplicación aparecerá un nuevo icono dentro de la carpeta de accesos directos de NanoScada 2010 correspondiente a la nueva aplicación creada.

Page 9: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 9 de 82

Observación: Al momento de la instalación de NanoScada 2010 se creará una aplicación de ejemplo llamada Sample Application. Esta carpeta de aplicación posee todos los elementos necesarios para configurar e iniciar una aplicación NanoScada 2010.

3 CONFIGURANDO UNA APLICACION NANOSCADA 2010 3.1 Elementos básicos de NanoScada 2010 NanoScada 2010 requiere para su funcionamiento de tres elementos básicos:

1) Base de datos de configuración (NANOSCADA.XLS + DBCFG) 2) Archivo de configuración (NANOSCADA.INI) 3) Aplicación IHM (NSGRAPH)

La Base de datos de configuración DBCFG es una base de datos Microsoft SQL (usualmente MSDE 2000) la cual es administrada desde un archivo Excel (usualmente llamado NANOSCADA.XLS). Desde la carpeta de aplicación, este archivo es accedido mediante el icono NanoScada Database Configuration. El archivo de configuración NANOSCADA.INI es un archivo de parámetros dividido en secciones. Desde la carpeta de aplicación, este archivo es accedido mediante el icono NanoScada Configuration File. La aplicación IHM usualmente es desarrollada en MS Visual Basic utilizando los controles Active X de NanoScada. Desde la carpeta de aplicación, el editor de MS Visual Basic puede ser accedido mediante el icono NanoScada Graph Configuration. Al momento de la instalación se creará la base de datos en MSSQL (MSDE), se crearán los DSN de acceso a la BDCFG. Al momento de crear una aplicación se crearan los archivos NANOSCADA.XLS y NANOSCADA.INI (ubicados en el directorio de destino de la aplicación). También se instala una aplicación IHM con los lineamientos básicos sugeridos para realizar aplicaciones IHM utilizando los controles Active X de NanoScada. Para crear una aplicación NanoScada se deberá seguir el siguiente procedimiento:

Page 10: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 10 de 82

1) Crear una nueva aplicación utilizando el icono New NanoScada Application

2) Opcionalmente podrán modificarse los parámetros del archivo NSNOSCADA.INI

ubicado en el directorio de la aplicación o bien a través del icono NanoScada

Configuration File. Ver referencias en las siguientes secciones.

3) Editar el archivo NANOSCADA.XLS ubicado en el directorio de la aplicación de acuerdo al detalle de las secciones siguientes. Este archivo puede ser accedido mediante el icono NanoScada Database Configuration. Escribir la BDCFG presionando el botón “Escribir base de datos” ubicado en la tabla “Inicio”.

4) Crear una aplicación IHM utilizando MS Visual Basic, utilizando como base los la aplicación de ejemplo NSGRAPH. El editor de MS Visual Basic puede ser accedido mediante el icono NanoScada Graph Configuration.

La aplicación IHM (NSGRAPH) posee parámetros que deben ser configurados en el archivo NANOSCADA.INI en sección llamada [NSGRAPH]: Parámetro Descripción use_networked_api Esta flag indica a la aplicación IHM que deberá utilizar la API de

acceso remoto. Valores posibles: 0: Utilizar API local (Válido para aplicaciones IHM que se ejecutan en el mismo equipo donde corre NanoScada 2010) 1: Utilizar API de acceso remoto (Válido para aplicaciones IHM que se ejecutan en un equipo diferente al equipo donde corre NanoScada 2010, utilizando NanoScada Remote Client).

access_default Nivel de acceso por defecto que tendrá la aplicación. Valores posibles: Valores numéricos enteros. IMPORTANTE: El nivel de acceso con valor bitmapped 0x1 (uno) es necesario para que funcione el reconocimiento de alarmas.

Page 11: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 11 de 82

3.2 Iniciar NanoScada 2010 Toda aplicación NanoScada deberá estar almacenada dentro de una carpeta y poseerá al menos los siguientes archivos: NANOSCADA.INI: Archivo de configuración general NANOSCADA.XLS: Archivo de configuración de BDCFG NSRUN.BAT: Script de arranque de Nanoscada NSSET.BAT: Script para inicialización de entorno Para iniciar NanoScada 2010 con una aplicación en particular, se deberá realizar el siguiente procedimiento:

1. Asegurarse que la BDCFG está actualizada, para ello abrir el archivo NANOSCADA.XLS y escribir la BDCFG presionando el botón Escribir base de

datos ubicado en la tabla “Inicio”.

2. Ejecutar el archivo “NSRUN.BAT” ubicado en la carpeta de la aplicación o bien ejecutar el icono Start NanoScada 2010 ubicado en la carpeta de la aplicación.

3.3 Finalizar NanoScada 2010 Para finalizar NanoScada 2010 se podrán realizar cualquiera de las operaciones siguientes:

1. Buscar en el agente de tareas (usualmente en la parte inferior derecha de la pantalla) el icono de NanoScada 2010, presionar el botón derecho y seleccionar “Shutdown NanoScada 2010”, respondiendo afirmativamente a la advertencia.

2. Desde el IHM o NSDEBUG escribir el TAG llamado “NS_START_NSMAIN” con el valor 0 (cero).

3. Desde NSDEBUG ejecutar el comando siguiente: t stop NSMAIN

Page 12: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 12 de 82

3.4 Configuración del archivo NANOSCADA.INI El archivo NANOSCADA.INI posee inicialmente dos secciones las cuales son detalladas a continuación. Sección [DATABASE]: Esta sección permite configurar los parámetros de acceso a la base de datos de NanoScada 2010. Parámetro Descripción DSN Indica el nombre del DSN ODBC para acceso a la BDCFG

Valor por defecto: nanoscada (Es el nombre creado por el instalador)

USER Indica el nombre de usuario para acceso a la BDCFG Valor por defecto: nanoscada (Es el nombre creado por el instalador)

PWD Indica la palabra clave del usuario para acceso a la BDCFG Valor por defecto: nanoscada (Es el nombre creado por el instalador)

Sección [SOUNDS]: Esta sección permite configurar el nombre de archivo WAV a reproducir para la indicación de alarma sonora. Los parámetros de esta sección son válidos para Nano Scada 2010 y para Nano Scada 2010 Remote Client. Parámetro Descripción alarm Indica el nombre del archivo WAV a reproducir para la indicación

de alarma sonora. Valor por defecto: alarm.wav (Es el archivo creado por el instalador)

Sección [LABEL]: La sección llamada [LABEL] permite configurar las etiquetas a visualizar como calificadores de los TAGS. Los parámetros de esta sección son válidos para Nano Scada 2010 y para Nano Scada 2010 Remote Client. Parámetro Descripción measured Valor a utilizar para calidad medida.

Valor por defecto: MEASURED manual Valor a utilizar para calidad manual.

Valor por defecto: MANUAL invalid Valor a utilizar para calidad inválida.

Valor por defecto: INVALID

Page 13: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 13 de 82

Sección [NSMAIN]: Esta sección permite configurar el formato del menú de opciones del agente de NanoScada 2010.. Parámetro Descripción enable_menu Indica si NanoScada 2010 presentará las opciones de menú

adicionales: Update Configuration, Start NanoScada Debug y Start NanoScada Watch. Estas opciones son útiles durante el desarrollo de una aplicación y es conveniente inhabilitarla cuando se encuentra en producción. Valores posibles: 0 – No mostrar opciones de menú adicionales. 1 – Mostrar opciones de menú adicionales. Valor por defecnto: 0 La opción de menú: Shutdown NanoScada 2010 siempre estará presente.

Page 14: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 14 de 82

3.5 Creación de la BDCFG utilizando el archivo NANOSCADA.XLS El archivo NANOSCADA.XLS es un archivo creado con MS Excel 2000 que posee las siguientes tablas: Tabla Descripción

Inicio Tabla de presentación, con botones que permiten la lectura y escritura de la BFCFG y la creación de un SCRIPT con todos los datos del archivo.

ns_tags Contiene la configuración básica de los TAGs de la Base de Datos de NanoScada.

ns_io Contiene la configuración de Entrada / Salida (I/O) de los TAGs de la Base de Datos de NanoScada.

ns_alarms Contiene la configuración de Alarmas de los TAGs de la Base de Datos de NanoScada.

ns_net Contiene la configuración de Red (Network) para la interconexión de dos o mas sistemas NanoScada 2010.

ns_tasks Contiene la configuración de las Tareas de NanoScada 2010. En las secciones siguientes se detallas cada una de las tablas del archivo NANOSCADA.XLS

Page 15: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 15 de 82

3.6 Tabla “Inicio” de NANOSCADA.XLS Es la primera tabla del archivo. En la misma podrán configurarse los siguientes parámetros (acceso a la BDCFG): Celda Descripción

APLICACIÓN (D7)

Es el nombre de la aplicación y se utiliza con el solo efecto de identificar a la aplicación. No posee uso adicional.

DSN BASE DE DATOS (D8)

Indica el nombre del DSN ODBC para acceso a la BDCFG.

NOMBRE BASE DE DATOS (D9)

Indica el nombre de la base de datos donde reside la BDCFG

USUARIO (D10)

Indica el nombre de usuario para acceso a la BDCFG

PASSWORD: Indica la palabra clave del usuario para acceso a la BDCFG. La tabla posee también los siguientes botones: Botón Descripción

Leer Base de Datos Mediante este botón se puede leer el contenido actual de la BDCFG el cual será volcado a las demás tablas del archivo. CUIDADO: Esta operación borra el contenido actual de las tablas del archivo.

Escribir Base de Datos

Mediante este botón se puede escribir la BDCFG con el contenido actual de las tablas del archivo. CUIDADO: Esta operación borra el contenido actual de la BDCFG.

Crear Script SQL Mediante este botón se podrá crear un archivo conteniendo un script SQL (el cual podrá ser importado a la BDCFG utilizando una herramienta de SQL compatible con MSSQL) con el contenido actual de las tablas del archivo. Esto es util cuando no se dispone de MSExcel en el equipo o la red donde se instalará NanoScada 2010. El archivo de destino será el indicado en la celda C32.

Page 16: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 16 de 82

3.7 Tabla “ns_tags” de NANOSCADA.XLS Esta tabla contiene la configuración básica de los TAGs de la Base de Datos de NanoScada. Inicialmente esta tabla posee varios elementos con tag_name iniciados con el prefijo “NS_”. Estos TAGs son del sistema y deben ser mantenidos. Se recomienda leer la descripción de los mismos para comprender la utilidad de dichos TAGs. Campo Longitud Máxima Descripción

tag_name 63 Es el nombre mediante el cual el TAG será identificado en NanoScada. Utilizar solo caracteres alfanuméricos y ‘_’ (guión bajo). No utilizar espacios. Utilizar el carácter ‘:’ solo cuando se hace referencia a un TAG de un NanoScada remoto (ver “ns_net”). Cada elemento de la tabla debe contener un “tag_name” diferente.

tag_desc 79 Es la descripción del TAG. Este campo forma parte de la RTDB y puede ser accedido desde el IHM y demás módulos de NanoScada.

tag_type 1 Tipo de dato del TAG. Valores posibles: M: Medición (flotante - 32 bits) I: Entero (con signo – 32 bits) D: Digital (0 o 1) T: Texto (hasta 256 bytes)

tag_units 7 Unidades del valor contenido en el TAG. Este campo forma parte de la RTDB y puede ser accedido desde el IHM y demás módulos de NanoScada.

tag_label0 15 Etiqueta del TAG cuando éste posee el valor 0 (cero). Este campo forma parte de la RTDB y puede ser accedido desde el IHM y demás módulos de NanoScada.

tag_label1 15 Etiqueta del TAG cuando éste posee el valor 1 (uno). Este campo forma parte de la RTDB y puede ser accedido desde el IHM y demás módulos de NanoScada.

tag_label2 15 Etiqueta del TAG cuando éste posee el valor 2 (dos). Este campo forma parte de la RTDB y puede ser accedido desde el IHM y demás módulos de NanoScada.

tag_label3 15 Etiqueta del TAG cuando éste posee el valor 3 (tres). Este campo forma parte de la RTDB y puede ser accedido desde el IHM y demás módulos de NanoScada.

tag_default 79 Valor inicial de TAG. Si un TAG no posee valor por defecto su calidad inicial será INVALID. Si un TAG posee valor por defecto su calidad inicial será MEASURED.

Page 17: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 17 de 82

3.8 Tabla “ns_io” de NANOSCADA.XLS Esta tabla contiene la configuración de Entrada / Salida (I/O) de los TAGs de la Base de Datos de NanoScada. Los módulos de I/O son tareas de NanoScada que se caracterizan por relacionar valores de la RTDB con elementos externos (PLC, RTU, aplicaciones específicas, personas, etc.). Mediante esta tabla se configuran los parámetros que realizan dicha relación. Por favor remitirse a la sección correspondiente a cada módulo de I/O para obtener detalles específicos de cada tarea. Campo Longitud Máxima Descripción

io_tag_name 63 Es el nombre del TAG. Este nombre debe estar configurado en la tabla “ns_tags” en el campo “tag_name”. Un “tag_name” puede ser repetido múltiples veces dentro de esta tabla, generalmente vinculado a distintos “io_driver”.

io_driver 63 Es el nombre del módulo de I/O correspondiente. Indica que este elemento de la tabla será interpretado por la tarea indicada en este campo.

io_address 79 Campo de dirección de I/O. El formato de este campo es determinado por la tarea (io_driver) correspondiente.

io_scan 15 Grupo de scan al que pertenece el elemento. La interpretación de este campo es determinada por la tarea (io_driver) correspondiente, pero generalmente está vinculada a tiempo de scan (lectura o escritura) más otros parámetros.

io_min_raw Valor entero io_max_raw Valor entero io_min_eng Valor flotante io_max_eng Valor flotante

Estos campos están vinculados con operaciones de escalado, es decir cuando los valores provenientes desde el exterior no están expresados en la escala utilizada por NanoScada. Solo se soporta escalado LINEAL. La interpretación de estos campos es determinada por la tarea (io_driver) correspondiente.

Page 18: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 18 de 82

3.9 Tabla “ns_alarms” de NANOSCADA.XLS Esta tabla contiene la configuración de Alarmas de los TAGs de la Base de Datos de NanoScada. La información de esta tabla es interpretada por la tarea NSALARM. Campo Longitud Máxima Descripción

alarm_id Valor Entero Es un número identificador de la alarma. Este valor no debe repetirse.

alarm_tag_name 63 Es el nombre del TAG. Este nombre debe estar configurado en la tabla “ns_tags” en el campo “tag_name”. Un “tag_name” puede ser repetido múltiples veces dentro de esta tabla, con distintas condiciones de alarma.

alarm_type 1 Indica el tipo de alarma a generar. Valores posibles: A: Alarma (Permanece visible mientras este presente). E: Evento (Desaparece al ser reconocido)

alarm_require_ack 1 Indica si requiere reconocimiento por parte del operador. Valores posibles: Y: Requiere reconocimiento N: No requiere reconocimiento

alarm_condition 7 Operación lógica para la determinación de la alarma. Opera junto con “alarm_limit” Valores posibles: = Igual <> Distinto >= Mayor o Igual <= Menor o Igual > Mayor < Menor CH Cambio de valor

alarm_limit Valor flotante Indica el valor contra el cual realizar la operación lógica. Por ejemplo si: TAG_VALUE=5067 alarm_condition=’>’ alarm_limit=5000 la alarma estará activa (presente).

alarm_deadband Valor flotante No implementado hasta el momento alarm_label 15 Es el mensaje a mostrar en el visualizador de

alarmas, junto con la descripción del TAG. alarm_area 15 Es un elemento que se utiliza a los efectos de filtrar

alarmas de distintos tipos o agrupar alarmas del mismo tipo.

alarm_adelay Valor Entero Tiempo en segundos que debe estar presente la condición de alarma antes de que sea activada la misma.

alarm_ndelay Valor Entero Tiempo en segundos que debe desaparecer la condición de alarma antes de que sea normalizada.

Page 19: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 19 de 82

3.10 Tabla “ns_net” de NANOSCADA.XLS Esta tabla contiene la configuración de Red (Network) para la interconexión de dos o mas sistemas NanoScada 2010. Los nombres de los TAGs pueden contener el carácter ‘:’. De esta forma se indica que se está haciendo referencia a un TAG perteneciente a un NanoScada remoto. Estos nombres de TAG poseen el siguiente formato:

<NET_ID>:<TAG_NAME> donde:

<NET_ID> es un prefijo que identifica al NanoScada remoto. <TAG_NAME> es el nombre del TAG en el NanoScada remoto

El NanoScada local deberá tener activa la tarea NSNETCNT. En la tabla “ns_net” se configuran los parámetros de conexión a los sistemas NanoScada remoto para cada NET_ID. Esta tabla tendrá tantos elementos como distintos <NET_ID> se hayan utilizado en la tabla “ns_tags”. Por consiguiente la información de esta tabla es interpretada por la tarea NSNETCNT. Campo Descripción

net_host Nombre o dirección IP del Servidor NanoScada remoto Si este campo comienza con * hará referencia a un TAG de tipo TEXTO (el deberá estar definido en la tabla “ns_tags”). En este caso podrá cambiarse el Servidor NanoScada remoto en run time escribiendo distintos valores en este TAG.

net_port Puerto TCP donde escucha el Servidor NanoScada remoto. En el servidor se configura en NANOSCADA.INI, mediante el parámetro [NSNETSRV].tcp_port. El valor usual de este parámetro es 7004.

net_id Prefijo con el cual se identifican los tags locales que hacen referencias a TAGs del NanoScada remoto que se está configurando.

net_mode Valores válidos (cmbinaciones de cualquiera de ellos): R: Conexión de lectura W: Conexión de escritura WF: Conexión de escritura (con escritura forzada) H: Conexión con características de HSB Para la conexión que utilice reconocimiento remoto de alarmas, se deberá usar RWF. Cuando una conexión tiene características de HSB (letra H), NanoScada 2010 creará automáticamente para cada tag configurado en la tabla NS_TAGS con este NET_ID, un tag con idéntico nombre sin NET_ID.

Page 20: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 20 de 82

net_status_tag Estado de la conexión (lo escribe NSNETCNT) Valores posibles: - Disconnected Conexión no establecida - Connecting Conexión en progreso (etapa de conexión) - Binding Conexión en progreso (etapa de datos) - Connected Conexión establecida (luego de actualizar los datos).

IMPORTANTE:

• El NanoScada remoto deberá tener activa la tarea NSNETSRV.

• El NanoScada remoto reporta los datos en el siguiente orden: 1) Cambios que se producen en variables I, M, F (en orden alfabético)

2) Cambios que se producen en variables tipo T (en orden alfabético) Parámetros de NSNETSRV Los parámetros de NSNETSRV se configuran en el archivo NANOSCADA.INI en la sección NSNETSRV. Parámetro Descripción max_conn Cantidad de conexiones soportadas por NSNETSRV.

Valor por defecto: 10 tcp_port Puerto TCP en el cual escucha NSNSETSRV. scan_period Periodo (en segundos) de SCAN por cambios. wresponse_timeout Tiempo a esperar por respuseta a comandos. connect_timeout Tiempo máximo que dura el período de conexión y binding de datos. iecal_timer Granularidad (en milisegundos) del timer de administración de red.

Valores posibles: 200 – 1000. Valor por defecto: 1000 Valor recomendado: 200

inactivity_timer Tiempo (en segundos) máximo de inactividad de la conexión. Valores posibles: 0 (inhabilitado) o la cantidad de segundos. Valor por defecto: 0

Parámetros de NSNETCNT Los parámetros de NSNETCNT se configuran en el archivo NANOSCADA.INI en la sección NSNETCNT. Parámetro Descripción wresponse_timeout Tiempo a esperar por respuseta a comandos. connect_timeout Tiempo máximo que dura el período de conexión y binding de datos. iecal_timer Granularidad (en milisegundos) del timer de administración de red.

Valores posibles: 200 – 1000. Valor por defecto: 1000 Valor recomendado: 200

Page 21: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 21 de 82

inactivity_timer Tiempo (en segundos) máximo de inactividad de la conexión. Valores posibles: 0 (inhabilitado) o la cantidad de segundos. Valor por defecto: 0

Page 22: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 22 de 82

3.11 Tabla “ns_tasks” de NANOSCADA.XLS Esta tabla contiene la configuración de las Tareas de NanoScada 2010. Mediante esta tabla se indican las tareas configuradas en el sistema NanoScada y cuáles deberán iniciarse automáticamente al inicio de NanoScada 2010. Campo Descripción

task_name Nombre de la tarea. Deberá ser un nombre de tarea válido. Ver configuración de los distintos módulos para obtener información sobre los nombres de tarea de cada módulo.

task_run Flags de arranque Valores Posibles: - R: Arrancar en el inicio - S: Iniciar en una consola aparte.

task_pre_sleep Cantidad de segundos a esperar antes de lanzar la tarea en el inicio. task_directory Directorio donde reside el archivo ejecutable.

Si se especifica ‘.’ indica que el archivo ejecutable reside en la misma carpeta de instalación de NanoScada. Si se especifica ‘%NSAPP%’ indica que el archivo ejecutable reside en la misma carpeta de la aplicación.

task_cmd_line Línea de comando para el arranque del proceso. Usualmente es el nombre del archivo ejecutable, más parámetros opcionales que dependen de la tarea.

task_start_tag Tag de arranque y parada de la tarea (1: Arrancar, 0: Parar). Aquí se debe configurar el nombre de un TAG de tipo DIGITAL (el cual deberá estar creado en la tabla “ns_tags”) mediante el cual se podrá arrancar o parar la tarea.

task_status_tag Tag de estado de la tarea. Aquí se debe configurar el nombre de un TAG de tipo TEXTO (el cual deberá estar creado en la tabla “ns_tags”) mediante el cual se podrá obtener información acerca del estado de la tarea. Valores posibles: - STOPPED - STARTING - RUNNING - TERMINATING

Page 23: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 23 de 82

3.12 Configuración de NSMODBUS Cada instancia de NSMODBUS realizara lecturas / escrituras en forma serializada, razón por la cual se recomienda tener una instancia de NSMODBUS por puerto serie. Cada instancia de NSMODBUS se configura de la siguiente manera: 1) El task_name por defecto de NSMODBUS es MBUS y puede ser cambiado ejecutando la aplicación con el task_name requerido como línea de comando, por ejemplo: NSMODBUS MBUS1

ejecutará el servidor con task_name = MBUS1 2) Cada instancia deberá tener una carpeta en el NSAPP con el nombre de la tarea. En dicha carpeta residirán los archivos de configuración del driver MODBUS para dicho task_name. Por ejemplo, si el NSAPP = C:\NSAPP y el task_name es MBUS, los archivos de configuración del driver serán: C:\NSAPP\MBUS\MODCOM.CFG

C:\NSAPP\MBUS\MODAPI.CFG

En dichos archivos se encuentran los parámetros de configuración de los puertos series y las estaciones MODBUS. 3) Las direcciones de los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción

io_tag_name Nombre del TAG de NanoScada io_driver task_name del driver (MBUS, MBUS1, etc) io_address Estación, tipo de registro y dirección (ver detalles abajo)

Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del TAG en 1, se requiere una ejecución inmediata del SCAN.

io_scan Scan Group (ver detalles abajo) io_min_raw Valor RAW mínimo para escalado io_max_raw Valor RAW máximo para escalado io_min_eng Valor ENG mínimo para escalado io_max_eng Valor ENG máximo para escalado FORMATO io_address:

<st_id>:<reg_type>.<address>.[<bit>|SW|UW|SL|UL|F|M10K]

<st_id> numero lógico de la estación esclava <reg_type> tipo de registro Modbus: COIL, INP, HREG, SREG <address> numero de registro modbus: de 1 a 65535 <bit> bit dentro del registro: 1 a 16 SW El registro es un WORD con signo (valor por defecto) UW El registro es un WORD sin signo SL El registro es un DOUBLE WORD con signo UL El registro es un DOUBLE WORD sin signo F El registro es un punto flotante M10K El registro es un 32-bit signed M10K (solo lectura)

Page 24: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 24 de 82

Codificación de SREG: Address R/W Descripción

9999 W Habilitación (1) / Inhabilitación (2) de la estación Ejemplos: 3:HREG.2.1 Bit 1 del registro HREG 2 de la estación 3 3:HREG.2 Contenido del registro HREG 2 interpretado como WORD con signo 3:HREG.2.SW Contenido del registro HREG 2 interpretado como WORD con signo 3:HREG.2.UW Contenido del registro HREG 2 interpretado como WORD sin signo 3:HREG.2.SL Contenido de los registros HREG 2 y 3 interpretado como una DOUBLE WORD con signo. 3:HREG.2.F Contenido de los registros HREG 2 y 3 interpretado como un valor en punto flotante. 3:SREG.9999 Habilitación e inhabilitación de la estación 4) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción read Lectura por bloque.

Valores posibles: 0 - No se realiza lectura periódica para este grupo 1 - Se realiza lectura periódica para este grupo. Valor por defecto: 1

write Escritura por bloque. Valores posibles: 0 - No se realiza escritura periódica para este grupo 1 - Se realiza escritura periódica para este grupo. Valor por defecto: 0. Si write = 1 automáticamente se asumirá read = 0.

exception_write Escritura por excepción Valores posibles: 0 - No se realiza escritura por excepción para este grupo 1 - Se realiza escritura por excepción para este grupo Valor por defecto: 1

period Periodo de SCAN (en segundos) para lectura / escritura por bloque Si el valor de este parámetro es 0 indica que solo podrá leerse o escribirse a través del elemento FORCE_SCAN. Valor por defecto: 1 segundo

initial_scan Indica si se deberá realizar una lectura inmediatamente luego de iniciar la tarea. Valores posibles: 0 - No se realizará lectura al iniciar la tarea 1 - Se realizará lectura al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

Page 25: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 25 de 82

Ejemplo: En el siguiente ejemplo se requiere ejecutar el scan cada 1 minuto y el mismo será ejecutado a los 58 segundos de cada minuto. [SCAN_R1]

read=1

exception_write=1

period=60

scan_offset=-2

initial_scan=0

5) El archivo NANOSCADA.INI puede incluir una sección con el nombre de la tarea y los siguientes parámetros generales de toda la tarea: Parámetro Descripción use_forced_write Indica si el driver realizará escrituras forzadas cuando escriba en

NanoScada los valores de los elementos leídos desde estaciones remotas. Valores posibles: 0 – Se realizarán escrituras normales 1 – Se realizarán escrituras forzadas (producen cambio en la estampa de tiempo y producen evento de cambio en el valor del TAG) Valor por defecto: 0

limit_scaled_values Indica si el driver, cuando lea un valor fuera de rango, limitará los valores leídos a los minimos y máximos configurados en el escalado cada TAG. Valores posibles: 0 – No limitar los valores leídos 1 – Limitar los valores leídos a los minimos y máximos configurados en el escalado cada TAG. 2 – Escribir el valor 0 (cero) cuando se lea un valor fuera de escala. Valor por defecto: 0

Page 26: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 26 de 82

3.12.1 Archivo MODCOM.CFG Posee la configuración de los puertos series a utilizar:

# port: Nombre del puerto serie (COMx) o

# <direccion IP>:<port> en el caso de usar Servidor TCP / COM.

# baud_rate: Velocidad (9600, 19200, etc)

# data_bits: Cantidad de bits de datos por carácter (7, 8)

# stop_bits: Cantidad de bits de stop por carácter (1, 1.5, 2)

# parity: Tipo de paridad (NO, ODD, EVEN, MARK, SPACE)

# TX delay: Tiempo (milisegundos) a esperar antes de trasmitir un mensaje

# flow_control: Tipo de control de flujo (bitmap) (1: DSR, 2:CTS, 4: RTS)

#Port baud_rate data_bits stop_bits parity tx_delay flow_ctrl

COM4 9600 8 1 NO 0 0

10.10.0.1:5555 9600 8 1 NO 0 0

3.12.2 Archivo MODAPI.CFG Posee la configuración de las estaciones MODBUS:

# Configuration file for Modbus Master - STATIONS

# log_number: Identificador logico de la estacion

# station_id: Numero de estacion MODBUS

# port: Nombre del puerto serie

# timeout: Tiempo de espera por respuesta (en decimas de segundo)

# retries: Cantidad de reintentos

# min_block: Maxima distancia entre direcciones para un mismo pedido

# pulse_time: Tiempo de duracion de pulsos (en decimas de segundo)

# mode: Modo de comunicacion Modbus: ASCII o RTU

# swap: Swap register for long data type (2 registers): NO or YES

# debug: Debug level: 0001 => Character traffic

# 0002 => Serial port additional information

# 0010 => MODBUS headers and data

# 0020 => MODBUS headers

#LSN station_id port timeout retries min_block pulse_time mode swap debug

1 1 COM4 100 0 0 0 RTU NO 30

2 2 COM4 100 0 0 0 RTU NO 30

3 3 COM4 100 0 0 0 RTU NO 30

Page 27: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 27 de 82

3.13 Configuración de NSMBTCP Cada instancia de NSMBTCP realizara lecturas / escrituras en forma serializada, por dicha razón es posible que alguna aplicación requiera iniciar varias instancias de NSMBTCP a los efectos de mejorar la performance. Cada instancia de NSMBTCP se configura de la siguiente manera: 1) El task_name por defecto de NSMBTCP es MBTCP y puede ser cambiado ejecutando la aplicación con el task_name requerido como línea de comando, por ejemplo: NSMBTCP MBTCP1

ejecutará el servidor con task_name = MBTCP1 2) Cada instancia deberá tener una carpeta en el NSAPP con el nombre de la tarea. En dicha carpeta residirá el archivo de configuración del driver MODBUS TCP para dicho task_name. Por ejemplo, si el NSAPP = C:\NSAPP y el task_name es MBTCP, el archivo de configuración del driver será: C:\NSAPP\MBTCP\MBTCPSTA.CFG

En dicho archivo se encuentran los parámetros de configuración de las estaciones MODBUS TCP (ver descripción mas abajo). 3) También en dicha carpeta podrá configurarse un archivo de configuración llamado MBTCP.INI, en el cual podrán configurarse parámetros generales del driver MODBUS TCP. Este archivo es del tipo INI de Windows separado en secciones con parámetros. La única sección configurable es [MBTCP] y a continuación se describen los parámetros de la misma. Parámetro Descripción disconnect_nerrors Cantidad de errores de lectura (todos los reintenos fallidos es un error de

lectura) que esperará el driver MODBUS TCP antes de cerrar la conexión TCP/IP. Valores posibles: 0 - No se cerrará la conexión TCP por errores de lectura. 1-N - Cantidad de errores antes de cerrar la conexión Valor por defecto: 0

4) Las direcciones de los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción

io_tag_name Nombre del TAG de NanoScada io_driver task_name del driver (MBTCP, MBTCP1, etc) io_address Estacion, tipo de registro y direccion (ver detalles abajo)

Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del TAG en 1, se requiere una ejecución inmediata del SCAN.

io_scan Scan Group (ver detalles abajo) io_min_raw Valor RAW minimo para escalado io_max_raw Valor RAW maximo para escalado io_min_eng Valor ENG minimo para escalado io_max_eng Valor ENG maximo para escalado

Page 28: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 28 de 82

FORMATO io_address:

<st_id>:<reg_type>.<address>.[<bit>|SW|UW|SL|UL|F|M10K]

<st_id> numero lógico de la estación esclava <reg_type> tipo de registro Modbus: COIL, INP, HREG, SREG <address> numero de registro modbus: de 1 a 65535 <bit> bit dentro del registro: 1 a 16 SW El registro es un WORD con signo (valor por defecto) UW El registro es un WORD sin signo SL El registro es un DOUBLE WORD con signo UL El registro es un DOUBLE WORD sin signo F El registro es un punto flotante M10K El registro es un 32-bit signed M10K (solo lectura)

Codificación de SREG:

Address R/W Descripción 9999 W Habilitación (1) / Inhabilitación (2) de la estación Ejemplos: 3:HREG.2.1 Bit 1 del registro HREG 2 de la estación 3 3:HREG.2 Contenido del registro HREG 2 interpretado como WORD con signo 3:HREG.2.SW Contenido del registro HREG 2 interpretado como WORD con signo 3:HREG.2.UW Contenido del registro HREG 2 interpretado como WORD sin signo 3:HREG.2.SL Contenido de los registros HREG 2 y 3 interpretado como una DOUBLE WORD con signo. 3:HREG.2.F Contenido de los registros HREG 2 y 3 interpretado como un valor en punto flotante. 3:SREG.9999 Habilitación e inhabilitación de la estación

Page 29: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 29 de 82

5) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción read Lectura por bloque.

Valores posibles: 0 - No se realiza lectura periódica para este grupo 1 - Se realiza lectura periódica para este grupo. Valor por defecto: 1

write Escritura por bloque. Valores posibles: 0 - No se realiza escritura periódica para este grupo 1 - Se realiza escritura periódica para este grupo. Valor por defecto: 0. Si write = 1 automáticamente se asumirá read = 0.

exception_write Escritura por excepción Valores posibles: 0 - No se realiza escritura por excepción para este grupo 1 - Se realiza escritura por excepción para este grupo Valor por defecto: 1

period Periodo de SCAN (en segundos) para lectura / escritura por bloque Si el valor de este parámetro es 0 indica que solo podrá leerse o escribirse a través del elemento FORCE_SCAN. Valor por defecto: 1 segundo

initial_scan Indica si se deberá realizar una lectura inmediatamente luego de iniciar la tarea. Valores posibles: 0 - No se realizará lectura al iniciar la tarea 1 - Se realizará lectura al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

Ejemplo: En el siguiente ejemplo se requiere ejectuar el scan cada 1 minuto y el mismo será ejecutado a los 58 segundos de cada minuto. [SCAN_R1]

read=1

exception_write=1

period=60

scan_offset=-2

initial_scan=0

Page 30: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 30 de 82

6) El archivo NANOSCADA.INI puede incluir una sección con el nombre de la tarea y los siguientes parámetros generales de toda la tarea: Parámetro Descripción use_forced_write Indica si el driver realizará escrituras forzadas cuando escriba en

NanoScada los valores de los elementos leídos desde estaciones remotas. Valores posibles: 0 – Se realizarán escrituras normales 1 – Se realizarán escrituras forzadas (producen cambio en la estampa de tiempo y producen evento de cambio en el valor del TAG) Valor por defecto: 0

limit_scaled_values Indica si el driver, cuando lea un valor fuera de rango, limitará los valores leídos a los minimos y máximos configurados en el escalado cada TAG. Valores posibles: 0 – No limitar los valores leídos 1 – Limitar los valores leídos a los minimos y máximos configurados en el escalado cada TAG. 2 – Escribir el valor 0 (cero) cuando se lea un valor fuera de escala. Valor por defecto: 0

3.13.1 Archivo MBTCPSTA.CFG Posee la configuración de las estaciones MODBUS TCP: # log_number: Logical station number

# address: IP address and port (port is optional)

# station_id: Fisical MODBUS station number

# port: Serial port for communication with the station

# timeout: Time to wait for the station answer before timeout(in .1 seconds)

# retries: Number of retries for each poll

# min_block: Maximum hole between addresses in each poll bock

# pulse_time: Duracion de los comandos tipo pulsado

# swap: Swap register for long data type (2 registers)

# debug: Debug level: 0001 => Character traffic

# 0002 => Serial port additional information

# 0010 => MODBUS headers and data

# 0020 => MODBUS headers

#

# log_number: Identificador logico de la estacion

# address: Dirección IP y puerto (opcional, 502 por defecto)

# station_id: Numero de estacion MODBUS

# timeout: Tiempo de espera por respuesta (en decimas de segundo)

# retries: Cantidad de reintentos

# min_block: Maxima distancia entre direcciones para un mismo pedido

# pulse_time: Tiempo de duracion de pulsos (en decimas de segundo)

# swap: Invertir el orden de los registros para datos DWORD (YES, NO)

# debug: Debug level: 0001 => Character traffic

# 0002 => Serial port additional information

# 0010 => MODBUS headers and data

# 0020 => MODBUS headers

#Log_number address station_id timeout retries min_block pulse_time swap debug

1 192.168.0.51 1 100 0 20 0 YES 30

2 pc_ganatrone2 2 100 0 20 0 YES 30

3 192.168.0.51 3 100 0 20 0 NO 30

Page 31: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 31 de 82

3.14 Configuración de NSDNP NSDNP se configura de la siguiente manera: 1) El task_name de NSDNP es DNP. 2) Dentro de la carpeta NSAPP, deberá existir una carpeta en el DNP. En dicha carpeta residirán los archivos de configuración del driver DNP de acuerdo a la configuración de Trsi-DNPMTR.. Por ejemplo, si el NSAPP = C:\NSAPP, los archivos de configuración del driver serán:

C:\NSAPP\DNP\dnp.ini

C:\NSAPP\DNP\dnpcom.cfg

C:\NSAPP\DNP\dnpgen.cfg

C:\NSAPP\DNP\dnpsta.cfg

C:\NSAPP\DNP\dnptrg.cfg

En dichos archivos se encuentran los parámetros de configuración de los puertos series y las estaciones DNP. Ver manual de configuración del driver DNP. 3) Las direcciones de los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción io_tag_name Nombre del TAG de NanoScada io_driver DNP io_address Estacion, tipo de registro y direccion (ver detalles abajo) io_scan En el caso de objetos de tipo AO o CROB, este parámetro indica el

período cada cuanto se escribe el dato en la estación remota. Si este valor está vacío o es cero, la escritura es por excepción. En caso de escritura por excepcion, la misma será realizada solo a una estación remota (no se soporta un mismo TAG con escritura por excepción a múltiples estaciones remotas).

io_min_raw Valor RAW minimo para escalado io_max_raw Valor RAW maximo para escalado io_min_eng Valor ENG minimo para escalado io_max_eng Valor ENG maximo para escalado FORMATO io_address:

<station>:<data_type>.<address>.<options>

<station> nombre de la estación esclava <data_type>: Campo obligatorio que identifica el tipo de señal. Valores posibles:

BI: Binary Input BO: Binary Output (read only) CROB: Control Relay Output Block (Operación de salidas digitales) BC: Binary Counter (Contadores numéricos) AI: Analog Input AO: Analog Output FP: Floating Point

<address>: Campo obligatorio con la dirección del objeto DNP.

Puesto que DNP no maneja entradas digitales dobles ni comandos dobles,

Page 32: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 32 de 82

es necesario especificar dos direcciones para obtener un equivalente a estas señales. En estos casos, las dos direcciones se ingresarán separadas por un signo "-" (signo de sustracción). Por ejemplo: 1-2. El <data_type> AI también soporta direcciones dobles, para poder leer valores enteros y flotantes de 32 bits encapsulados en dos direcciones DNP (AI de 16 bits.)

<options>: Campo opcional válido para <data_type> AI, CROB o AO. Los canales CROB que no posean el campo <options> utilizarán las opciones por defecto configuradas en el archivo de configuración local en el campo [DNP].CROB_OPTIONS. Los canales AO que no posean el campo <options> utilizarán las opciones por defecto configuradas en el archivo de configuración local en el campo [DNP].AO_OPTIONS.

Formato para CROB: <ctrl_type>,<code_1>,<code_0>,<on_time>,<off_time>,<count>

<ctrl_type>: Tipo de control o clase de comando. Valores posibles: S: Select O: Operate DO: Direct Operate DONA: Direct Operate No Acknowledge El tipo de operación es independiente del valor que se esta escribiendo.

<code1>: Especifica la operación de control a realizar cuando se escriba el TAG en el valor 1. Ver codificación más abajo (bitmapped).

<code0>: Especifica la operación de control a realizar cuando se escriba el TAG en el valor 0. Ver codificación más abajo (bitmapped).

<on_time>: Tiempo de ON del pulso (en milisegundos) <off_time>: Tiempo de OFF del pulso (en milisegundos)

<ctrl_count>: Cantidad de pulsos

Codificación de los campos <code1> y <code0>

bits: 7 6 5 4 3 2 1 0

|_| | | |_____|

| | | |_________ Code

| | |______________ Queue

| |________________ Clear

|___________________ Trip/Close: 00-NUL, 01-Close, 10-Trip

Code:

0: NUL operation. No operation specified. Only the R attribute is processed.

1: Pulse On - The point(s) is turned on for the specified on-time, turned off

for the specified off-time and left in the off state.

2: Pulse Off - The point(s) is turned off for the specified off-time, then turned

on for the specified on-time and left in the on state.

3: Latch On - This latches the point(s) on.

4: Latch Off - This latches the point(s) off. Formato para AO: <ctrl_type>

<ctrl_type>: Tipo de control o clase de comando. Valores posibles: S: Select O: Operate DO: Direct Operate DONA: Direct Operate No Acknowledge El tipo de operación es independiente del valor que se esta escribiendo.

Page 33: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 33 de 82

Opciones para AI: F: Solo válido cuando es configurado con doble dirección, para indicar

que el valor leído es un flotantes de 32 bits encapsulado en dos direcciones DNP (AI de 16 bits.). Si no se especifica la opción F, y se indica doble dirección, se asume que el valor leído es un entero de 32 bits.

Existen dos registros especiales para las estaciones: <station>:ENABLE Permite habilitar o inhabilitar la lectura de una estación <station>:TRACE Permite asignar un nivel de trace a una estación Ejemplos de configuracón: RTU:BI.42 // Entrada binaria con dirección 42

RTU:AI.12 // Entrada analógica con dirección 12

RTU:AI.13-14 // Entradas analógicas con direcciones

// 13 y 14 contienen un valor entero

// de 32 bits.

RTU:AI.16-17.F // Entradas analógicas con direcciones

// 13 y 14 contienen un valor flotante

// de 32 bits.

4) El archivo NANOSCADA.INI puede incluir una sección con el nombre de la tarea y los siguientes parámetros generales de toda la tarea: Parámetro Descripción CROB_OPTIONS Los canales CROB que no posean el campo <options> en su

configuración utilizarán las opciones por defecto configuradas en este campo. Valor por defecto: DO,3,4,3000,3000,1

AO_OPTIONS Los canales AO que no posean el campo <options> en su configuración utilizarán las opciones por defecto configuradas en este campo. Valor por defecto: DO

SOE_BI_DELAY Esta opción permite establecer un tiempo mínimo (en milisegundos) entre escrituras sucesivas a un mismo TAG. De esta manera, se dará tiempo al módulo NSALARM de procesar cada uno de los cambios reportados por DNP cuando la estación remota reporte múltiples eventos BI en forma simultánea. Valor por defecto: 0

Page 34: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 34 de 82

3.15 Configuración de E90GW E90GW se configura de la siguiente manera: 1) El task_name de E90GW es E90GW. 2) Todos los TAGS utilizados por E90GW deberán estar incluidos en la tabla NS_IO de la siguiente manera: Campo Descripción io_tag_name Nombre del TAG de NanoScada io_driver E90GW io_address No utilizado io_scan No utilizado io_min_raw No utilizado io_max_raw No utilizado io_min_eng No utilizado io_max_eng No utilizado

Page 35: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 35 de 82

3.16 Configuración de NSOPCCNT NSOPCCNT es el cliente OPC de NanoScada el cual permite conectar a NanoScada a uno o múltiples servidores OPC, tanto locales como remotos. Cada instancia de NSOPCNT posee un thread dedicado a la comunicación con cada servidor OPC, por tal razón no es necesario crear múltiples instancias de NSOPCCNT para mejorar la performance, aunque sí es posible. Cada instancia de NSOPCCNT se configura de la siguiente manera: 1) El task_name por defecto de NSOPCCNT es OPCCNT y puede ser cambiado ejecutando la aplicación con el task_name requerido como línea de comando, por ejemplo: NSOPCCNT OPCCNT1

ejecutará el servidor con task_name = OPCCNT1 4) Las direcciones de los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción io_tag_name Nombre del TAG de NanoScada io_driver task_name del driver (OPCCNT, OPCCNT 1, etc) io_address Nombre del item OPC (Ver detalles abajo) io_scan Scan Group (ver detalles abajo) io_min_raw Valor RAW mínimo para escalado io_max_raw Valor RAW máximo para escalado io_min_eng Valor ENG mínimo para escalado io_max_eng Valor ENG máximo para escalado FORMATO io_address: El formato de io_address depende exclusivamente de la sintaxis de los ítems OPC de cada servidor. En este campo se debe configurar solamente el nombre del ítem (ItemName) puesto que el nombre del servidor OPC y grupo OPC se configura dentro de los parámetros del grupo de SCAN. 4) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción server_name Nombre del servidor OPC en la forma en la cual éste es publicado.

Valor por defecto: No posee host_name Nombre del host (precedido por el prefijo “\\”) o dirección IP donde

reside el servidor OPC. Valor por defecto: localhost

period Periodo de refresco a solicitar al servidor OPC (en milisegundos). Valor por defecto: 0 (lo mas rápido posible)

time_bias Time bias a solicitar al servidor OPC (en minutos) Valor por defecto: 0

Page 36: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 36 de 82

async_type Tipo de lectura (sincrónica o asincrónica) para la lectura del grupo. Valor posibles: 0 – Asincrónico (Versión 2 o Versión 1)

1 – Asincrónico Versión 1 2 – Asincrónico Versión 2 3 – Sincrónico

Valor por defecto: 0 create_items_inactive Indica la forma de crear los items del grupo.

Valor posibles: 0 – Los items serán creados activos 1 – Los items serán creados inactivos y activados luego de haber sido creados. Valor por defecto: 0

write Escritura por bloque. Valores posibles: 0 - No se realiza escritura periódica para este grupo 1 - Se realiza escritura periódica para este grupo. Valor por defecto: 0. Si write = 1 automáticamente se asumirá read = 0.

exception_write Escritura por excepción Valores posibles: 0 - No se realiza escritura por excepción para este grupo 1 - Se realiza escritura por excepción para este grupo Valor por defecto: 1

Ejemplo: [SCAN_R1]

server_name=Matrikon.OPC.Simulation.1

host_name=localhost

group_name=PRUEBA

period=5000

time_bias=-180

async_type=0

create_items_inactive = 0

Page 37: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 37 de 82

3.17 Configuración de NSOPCSRV NSOPCSRV es el servidor OPC de NanoScada el cual permite a clientes OPC (locales o remotos) acceder a la RTDB de NanoScada a través de las interfaces OPC (Versión 1 o Versión 2). El nombre a través del cual se identifica a NSOPCSRV es: “NANOSCADA.OPC.1”. NSOPCSRV exporta la totalidad de los tags de la RTDB de NanoScada, con permiso de lectura y escritura. El nombre de cada ítem OPC coincide con el nombre del tag en la RTDB de NanoScada. El tipo de dato canónico de los tags es el siguiente de acuerdo al tipo de dato del tag en la RTDB de NanoScada: Tipo de dato en NanoScada Tipo de dato en OPC

Digital – ‘D’ VT_I4 Integer – ‘I’ VT_I4 Measure – ‘M’ VT_R4 Text – ‘T’ VT_BSTR (longitud máxima 256) NSOPCSRV se configura de la siguiente manera: 1) El task_name de NSOPCSRV es OPCSRV. 2) El archivo NANOSCADA.INI deberá poseer una entrada llamada [OPCSRV] en la cual se podrán configurar los siguientes parámetros: Parámetro Descripción max_ítems Cantidad de ítems totales concurrentes que soportará el servidor OPC

Valor por defecto: (El tamaño de la RTDB). trace_item_name Nombre del TAG en la RTDB que indica el nivel de trace para el servidor

OPC. Mediante este TAG se puede cambiar dinámicamente la traza visualizada. Valor por defecto: (No posee).

trace_level Nivel de trace inicial Valores posibles (bitmapped): 0x00000010 // Interfaces OPC 0x00000020 // Creación y eliminación de elementos OPC 0x00000040 // Tráfico de datos OPC. Valor por defecto: 0

Ejemplo: [OPCSRV]

trace_level=0x000000FF

max_items=5000

trace_item_name=OPC_SERVER_TRACE

Page 38: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 38 de 82

3.18 Configuración de NSHSB NSHSB administra múltiples tareas entre nodos NanoScada redundantes. La configuración es la siguiente: 1) El task_name NSHSB 2) Las configuración de los TAGS de control se configuran en la tabla NS_IO de la siguiente manera: io_tag_name: Nombre del TAG de NanoScada io_driver: NSHSB io_address: Campo mediante el cual se identifica el grupo y función de cada TAG. FORMATO io_address: <hsb_group>:<tag_function>

<hsb_group> Nombre que identifica a la tarea que se administrara <tag_function> Función del TAG

Las funciones son las siguientes y se recomienda configurarlas a todas: PARTNER_CONN: Direccion Aplicacion -> NSHSB

TAG que indica el estado de comunicación con el NanoScada Asociado. Debe ser el TAG configurado en "ns_net.net_status_tag" para la conexión con el NanoScada Asociado.

Tipo de tag: T COMMAND: Direccion Aplicacion -> NSHSB

TAG para el envío de comandos a NSHSB. Tipo de tag: I Comandos soportados: 1: Failover 2: Force to active 3: Set to automatic mode LOCAL_STATUS: Direccion NSHSB -> Aplicacion

TAG que indica el estado del HSB Tipo de tag: I o T Valores posibles:

0: HSB_IDLE 1: HSB_STANDBY 2: HSB_ACTIVE_REQ 3: HSB_MAN_ACTIVE_REQ 4: HSB_ACTIVE 5: HSB_STANDBY_REQ 6: HSB_FORCED_ACTIVE 7: HSB_FORCED_STANDBY 8: HSB_FORCED_ACTIVE_REQ LOCAL_ERROR: Direccion Aplicacion -> NSHSB

Page 39: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 39 de 82

TAG que indica el estado de la tarea que se esta monitoreando. Tipo de tag: I o D Valores posibles:

0: DESCONOCIDO 1: OK 2: ERROR PARTNER_STATUS: Direccion Aplicacion -> NSHSB

TAG que indica el estado del HSB del NanoScada asociado. Tipo de tag: I o T Valores posibles:

0: HSB_IDLE 1: HSB_STANDBY 2: HSB_ACTIVE_REQ 3: HSB_MAN_ACTIVE_REQ 4: HSB_ACTIVE 5: HSB_STANDBY_REQ 6: HSB_FORCED_ACTIVE 7: HSB_FORCED_STANDBY 8: HSB_FORCED_ACTIVE_REQ START: Dirección NSHSB --> Aplicación

TAG mediante el cual NSHB arrancara y parara a la tarea Puede ser el TAG configurado en "ns_task.task_start_tag" para la tarea que se esta administrando. Tipo de tag: I Valores posibles:

0: Parar la tarea 1: Arrancar la tarea NBLOQUED: Dirección NSHSB --> Aplicación

En el caso que exista una conexión en la tabla NS_NET con NET_ID igual al <hsb_group> configurado y esta posea el atributo ‘F’ en el campo net_mode, NSHSB contará la cantidad de TAGs bloqueados y lo escribirá en este TAG. Tipo de tag: I

NINVALID: Dirección NSHSB --> Aplicación

En el caso que exista una conexión en la tabla NS_NET con NET_ID igual al <hsb_group> configurado y esta posea el atributo ‘F’ en el campo net_mode, NSHSB contará la cantidad de TAGs con calificador inválido y lo escribirá en este TAG. Tipo de tag: I

Ejemplos: Para una tarea llamada RTU io_tag_name io_driver io_address PARTNER_STATUS NSHSB RTU:PARTNER_CONN HSB_RTU_COMMAND NSHSB RTU:COMMAND HSB_RTU_STATUS NSHSB RTU:LOCAL_STATUS HSB_RTU_ERROR NSHSB RTU:LOCAL_ERROR PARTNER:HSB_RTU_STATUS NSHSB RTU:PARTNER_STATUS NS_START_MBRTU NSHSB RTU:START

Page 40: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 40 de 82

RTU_NINVALID NSHSB RTU:NINVALID RTU_NBLOQUED NSHSB RTU:NBLOQUED 4) En el archivo NANOSCADA.INI que reside en NSAPP podrán configurarse los siguientes parámetros dentro de la sección [NSHSB] Parámetro Descripción failover_to_primary Valores posibles:

0 - No se realizaran conmutaciones automáticas desde nodo backup a nodo primary. 1 - Se realizaran conmutaciones automáticas desde nodo backup a nodo primary. Valor por defecto: 1

failover_latency Tiempo (en segundos) que NSHSB esperará luego de arrancar o parar una tarea antes de volver a monitorear el tag LOCAL_ERROR. Valor por defecto: 10.

invalid_in_standby Indica si los calificadores de los TAGs locales correspondientes al NET_ID igual al <hsb_group> configurado serán puestos con calificador INVALID cuando la tarea se encuentre en estado STANDBY. Valores posibles: 0 - No asignar calificador INVALIDO 1 - Asignar calificador INVALIDO Valor por defecto: 1

Page 41: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 41 de 82

3.19 Configuración de NSALARM NAALARM es el servidor de alarmas de NanoScada 2010. La configuración es la siguiente: 1) El task_name NSALARM 2) Las alarmas son configuradas en la tabla NS_ALARMS de la siguiente manera: alarm_id: Identificador numérico entero (único) de la alarma alarm_tag_name: Nombre del TAG de NanoScada que produce la alarma alarm_type: Tipos de alarma soportadas (ver abajo) alarm_require_ack: Indica si la alarma debe ser reconocida (Y) o no (N) en el alarmero. alarm_condition: Condición para la evaluación de la alarma (ver abajo) alarm_limit: Límite para la evaluación de la alarma (ver abajo) alarm_deadband: No soportado por el momento alarm_label: Etiqueta que identifica la condición de alarma alarm_area: Area de la alarma (utilizada para filtrado de alarmas) alarm_adelay: Tiempo que debe permanecer la condición de alarma para que se

dispare la alarma. alarm_ndelay: Tiempo que debe desaparecer la condición de alarma para que se

normalice la alarma. Condiciones soportadas (alarm_condition) = Igual <> Distinto >= Mayor o igual <= Menor o igual > Mayor < Menor CH Change Para los tags de tipo texto siempre será alarma si el texto cambia a un valor distinto de cadena vacía. Evaluación de alarma La condición de alarma se dará siempre que la expresión siguiente sea verdader:

<alarm_tag_name> <alarm_condition> <alarm_limit> El campo alarm_limit se evalua como expresion (ver sección 3.20.1-Evaluación de expresiones) si comienza con el caracter '=', caso contrario se asume que es un valor numerico constante. Por ejemplo si:

alarm_tag_name: M_CALC1 alarm_condition: >= alarm_limit: =M_CALC2 + M_CALC3

La condición de alarma estará presente cuando el valor del tag M_CALC1 sea mayor o igual al valor del tag M_CALC2 más el valor del tag M_CALC3. Si:

alarm_limit: 50 La condición de alarma estará presente cuando el valor del tag M_CALC1 sea mayor o igual a 50.

Page 42: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 42 de 82

4) En el archivo NANOSCADA.INI que reside en NSAPP podrán configurarse los siguientes parámetros dentro de la sección [NSALARM] Parámetro Descripción ignore_invalid Permite no realizar el procesamiento de alarmas cuando el calificador

del TAG de alarma (alarm_tag_name) es invalido. Valores posibles: 0 - No ignorar 1 - Ignorar Valor por defecto: 0

silent_init Permite que NSALARM arranque en modo silencioso, esto es que todas las alarmas presentes al momento del arranque de NSALARM aparezcan como reconocidas. Ademas las alarmas temporizadas (alarm_adelay != 0) apareceran inmediatamente (tambien como reconocidas). Valores posibles: 0 - Arranque normal 1 - Arranque silencioso Valor por defecto: 0 Los TAGs de evento nunca son registrados al momento de arranque de NSALARMS.

limit_compute_period Tiempo (en segundos) cada cuando se evaluan las expresiones de límite (comenzadas con el carácter ‘=’). Valor por defecto: 1.

Page 43: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 43 de 82

3.20 Configuración de NSCALC La tarea NSCALC realiza el procesamiento de una expresión o script y vuelca el resultado en un TAG. Se configura de la siguiente manera: 1) El task_name es NSCALC y puede ser ingresado en el listado de tareas NS_TASKS. 2) Los TAGS de cálculo se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción io_tag_name Nombre del TAG de NanoScada donde se escribirá el resultado io_driver NSCALC io_address Expresión o archivo a evaluar (ver abajo)

Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del TAG en 1, se requiere una ejecución inmediata del SCAN.

io_scan Scan Group (ver detalles abajo) FORMATO io_address: En io_address se escribirá la expresión a computar. Si se desea podrá escribirse en este campo el nombre de un archivo conteniendo el script a ejecutar, precedido por el carácter ‘!’. El archivo deberá residir en la carpeta NSAPP. En el caso de utilizar un archivo de script, la líneas comenzadas con el carácter ‘#’ serán interpretadas como líneas de comentario. El tamaño máximo de un archivo de script es de 64 Kbytes. Ejemplos: if (M_01 > 10) then M_01 else 0 endif // Expresión a calcular !calc_script.txt // El archivo calc_script.txt contiene la expresión a calcular. Ver debajo la descripción de los formatos de expresión soportados. 4) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción period Periodo de en segundos cada cuanto se calcula el bloque.

Valor por defecto: 0 (lo mas rápido posible). initial_scan Indica si se deberá realizar un cálculo del bloque inmediatamente luego de

iniciar la tarea. Valores posibles: 0 - No se realizará cálculo al iniciar la tarea 1 - Se realizará cálculo al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

Page 44: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 44 de 82

Ejemplo: En el siguiente ejemplo se requiere ejecutar el scan cada 1 minuto y el mismo será ejecutado a los 58 segundos de cada minuto. [SCAN_R1]

period=60

scan_offset=-2

initial_scan=0

3.20.1 Evaluación de expresiones NSCALC soporta los siguientes operadores, bloques y funciones: - Operadores aritméticos:

^ potencia / división * multiplicación % resto de división (módulo) + suma - resta

- Operadores relacionales:

!= distinto <= menor o igual >= mayor o igual == igual < menor > mayor

- Operadores bitwaise (bit a bit):

band and bor or bxor exclusive or

- Operadores lógicos:

and and or or

- Bloque condicional:

if (expression) then (expression1) endif if (expression) then (expression1) else (exprssion2) endif donde (expression1) o (expression2) pueden ser bloques condicionales.

- Funciones: acos arcocoseno asin arcoseno atan arcotangente sin seno (en radianes) cos coseno (en radianes) tan tangente abs valor absoluto exp exponencial

Page 45: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 45 de 82

log logaritmo natural log10 logaritmo base-10 sqrt raiz cuadrada rand numero aleatorio (menor o igual al argumento) system ejecuta el programa indicado como argumento (no se soportan espacios) trace crea un mensaje de trace con el argumento (no se soportan espacios) qual calidad del TAG (el argumento debe ser el nombre de un TAG)(*1). changed flag de cambio en TAG (el argumento debe ser el nombre de un TAG)(*2) flags flags del TAG (el argumento debe ser el nombre de un TAG)(*3).

(*1): Los valores devuelto por qual() son: 0: Calificador MEASURED 1: Calificador INVALID 2: Calificador MANUAL (*2): Los valores devuelto por flags() son bitmapped: 0x01: BLOQUED // Indicacion de TAG bloqueado 0x02: ALARM_DISABLED // Indicacion de ALARMAS inhabilitadas 0x04: ALARM_PRESENT // Indicacion de alarma presente 0x08: PERSIST // Indicacion de TAG con valor persistente (*3): La flag de cambio indica si TAG cambió desde la ultima lectura realizada por el módulo 0: El TAG no cambió desde la ultima lectura realizada 1: El TAG no cambió desde la ultima lectura realizada Cuando se hace referencia de lectura a un TAG de tipo TEXT, el valor devuelto será el valor ASCII correspondiente a la primer letra del valor del TAG. Precedencia de operaciones: NSCALC interpreta las distintas operaciones soportadas en el siguiente orden, evaluando en forma separada las que se encuentran entre paréntesis o forman parte de un bloque if-then-else-endif:

1. Evaluación de funciones 2. Evaluación de operaciones bitwaise 3. Evaluación de operaciones aritméticas de potencia (^) 4. Evaluación de operaciones aritméticas de división y multiplicación (/*%) 5. Evaluación de operaciones aritméticas de suma y resta (+-) 6. Evaluación de operaciones relacionales en el siguiente orden ("<=", ">=", "<", ">",

"!=", "=="). 7. Evaluación de operaciones lógicas en el siguiente orden ("and”, “or").

NSCALC soporta dos tipos de expresiones: Expresiones que devuelven un resultado: En este tipo de expresiones, el resultado de la expresión será asignado al TAG configurado en la correspondiente entrada de la tabla NS_IO: Ejemplos: - if (M_01+M_02) > 10 and (M_03+M_04) > 10 then M_05 else M_04 endif

Page 46: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 46 de 82

- S_01 bor S_02 - rand(100) - qual(S_02) Expresiones de asignación: En este tipo de expresiones, se asigna valores de TAGS directamente dentro de la expresión. Puesto que estas expresiones no devuelven resultados, no se escribirá valor en el TAG configurado en la correspondiente entrada de la tabla NS_IO a menos que la expresión lo indique como asignación. Las expresiones de asignación deberán estar finalizadas con un carácter ‘;’ (punto y coma) y se permite realizar múltiples asignaciones. En las expresiones de asignación se puede utilizar las siguientes opciones:

TAG = <expresion> escribe valor y calificador TAG.value = <expresion> escribe solo valor, el calificador no es modificado. TAG.qualifier = <expresion> escribe solo calificador, el valor no es modificado. TAG.forced = <expresion> escribe valor y calificador en forma forzada

Ejemplos: - if (M_01+M_02) > 10 and (M_03+M_04) > 10 then TAG_1 = M_05; else TAG_1 = M_04; endif - TAG_1 = S_01 bor S_02;

TAG_2 = rand(100); TAG1_3.qualifier = qual(S_02);

NSCALC interpretará expresiones formadas por múltiples bloques ‘if’ con múltiples asignaciones, como la siguiente (las cuales generalmente son creadas en archivos script): # Asignacion condicional if, else

if (M_01+M_02) > 10 and (M_03+M_04) > 10 then

TAG_1 = M_05;

else

TAG_1 = M_04;

endif

# Asignacion directa

TAG1_3 = qual(S_02);

# Asignacion condicional if

if rand(100) > 10 then

TAG_2 = M_05;

endif

Page 47: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 47 de 82

3.21 Configuración de NSLOG La tarea NSLOG realiza el LOG en base de datos para un conjunto de TAGS. NSLOG realiza dos tipos de registro en base de datos. El tipo DUMP es un registro periódico en donde la tabla posee una columna por TAG a registrar. La tabla puede ser configurada para poseer campos sectime, date_time y srv_id. Los nombres de las columnas pueden ser los nombres de los TAGs o configurables para cada columna. El tipo SOE es un registro de cambios en los TAGS configurados. La tabla a crear posee las siguientes columnas TAG_NAME, DESCRIPTION, VALUE, QUALIFIER; TIMESTAMP (El tipo de dato de estas columnas es varchar(256)). La tabla puede ser configurada para poseer adicionalmente campos sectime, date_time y srv_id. Se configura de la siguiente manera: 1) El task_name es NSLOG y puede ser ingresado en el listado de tareas NS_TASKS. 2) Los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción io_tag_name Nombre del TAG

(sera tambien el nombre de la columna si io_address esta vacio) io_driver NSLOG io_address Nombre de la columna

(si se desea que sea diferente al nombre del TAG) Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del TAG en 1, se requiere una ejecución inmediata del SCAN.

io_scan Scan Group (ver detalles abajo) min_raw En el caso que el TAG sea de tipo M (Measure) este campo indica

la cantidad de decimales a registrar. Valores posibles: 1- 9 Valor por defecto: 5

max_raw Este tag indica si el valor del TAG deberá ser registrado aún si su calificador es inválido. Es válido solo cuando el SCAN correspondiente tiene el campo varchar_fields=1. Valores posibles: 0 – No registrar valor si el calificador es inválido 1 – Registrar el valor aún si el calificador es inválido

3) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción type Tipo de registro que realizará NSLOG para este SCAN.

Valores posibles: - DUMP - SOE

Valor por defecto: DUMP

Page 48: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 48 de 82

period Periodo en segundos cada cuanto se insertará un registro (Solo válido para tipo DUMP). Si period <= 0, no se realizará registro periódico. Valor por defecto: 60

table_name Nombre de la tabla (la base de datos será nanoscada) Valor por defecto: El nombre del SCAN

sectime Indica si la tabla tendrá SECTIME: 0 (No), 1: (Si) Valor por defecto: Si

date_time Indica si la tabla tendrá campo datetime: 0 (No), 1: (Si) Valor por defecto: Si

srv_id Indica si la tabla tendrá campo srv_id: 0 (No), 1: (Si) Valor por defecto: Si

live_days Indica la cantidad de días de almacenamiento de los datos. Los datos correspondientes a días anteriores respecto de éste parámetro serán eliminados mediante un procedimiento de limpieza automático que se realiza una vez por día. Para que el procedimiento de limpieza automática funcione, la tabla deberá poseer el campo sectime. Valor por defecto: 0 (No se realiza limpieza automática)

cleanup_time Indica la hora a la cual se realizará el procedimiento de limpieza automática de datos antiguos para esta tabla. El formato de este parámetro es: HH:MM (hora y minutos). Valor por defecto: 12:00

initial_scan Indica si se deberá insertar un registro inmediatamente luego de iniciar la tarea (Solo vlido para tipo DUMP). Valores posibles: 0 - No se insertará registro al iniciar la tarea 1 - Se insertará registro al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema (Solo vlido para tipo DUMP). Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

varchar_fields Indica si los el tipo de dato a crear en los campos de la base de datos serán de acuerdo al tipo de dato del TAG o serán fijos de tipo varchar(256) (Solo vlido para tipo DUMP). Valores posibles: 0 – En este caso los tipos de datos de las columnas a crear serán los siguientes: DIGITAL – integer INTEGER – integer MEASURE – float TEXT – varchar(256) 1 – En este caso el tipo de datos de las columnas correspondientes a TAGs serán de tipo varchar(256). En esta condición NSLOG registrará un valor vacío (‘’) si el calificador del TAG es INVALIDO. Valor por defecto: 0

Page 49: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 49 de 82

ignore_invalid En el caso que el tipo de registro sea SOE, mediante este campo se indica si se deberán ignorar cambios en el TAG cuando el calificador del mismo es INVALIDO. Valores posibles: 0-No ignorar cambios cuando el calificador es INVALIDO 1-Ignorar cambios cuando el calificador es INVALIDO Valor por defecto: 1

Ejemplo: En el siguiente ejemplo se insertará un registro cada 1 minuto a los 58 segundos de cada minuto. [SCAN_R1]

period=10

table_name=trend_log_10sec

sectime=1

date_time=0

srv_id=0

live_days=30

cleanup_time=11:10

scan_offset=-2

initial_scan=0

varchar_fields = 1

OBSERVACIONES: • Registro de datos para tendencias: Deberán configurarse tags que no sean de tipo T,

con io_address vacío y grupo de scan con type=DUMP, sectime=1, date_time=1, scan_offset=0 e initial_time = 0, varchar_fields = 1 (puede ser 0, pero se recomienda 1).

• NSLOG creará la tabla si no existe • NSLOG agregará campos si no existen • NSLOG no eliminará campos previamente creados

Page 50: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 50 de 82

3.22 Configuración de NSODBC La tarea NSODBC permite ejecutar sentencias SQL a través de conexiones ODBC a bases de datos y volcar los resultados de las mismas en TAGs de NanoScada 2010. Cada instancia de NSODBC realizara las consultas SQL en forma serializada, por dicha razón es posible que alguna aplicación requiera iniciar varias instancias de NSODBC a los efectos de mejorar la performance. Cada instancia de NSODBC se configura de la siguiente manera: 1) El task_name por defecto de NSODBC es NSODBC y puede ser cambiado ejecutando la aplicación con el task_name requerido como línea de comando, por ejemplo: NSODBC NSODBC1

ejecutará la tarea con task_name = NSODBC1 2) Las direcciones de los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción

io_tag_name Nombre del TAG de NanoScada donde se escribirá el valor io_driver task_name del driver (NSODBC, NSODBC1, etc) io_address Número de query, columna, tipo (ver detalles abajo)

Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del TAG en 1, se requiere una ejecución inmediata del SCAN.

io_scan Scan Group (ver detalles abajo) io_min_raw No utilizado io_max_raw No utilizado io_min_eng No utilizado io_max_eng No utilizado FORMATO io_address:

<nquery>:<ncolumn1>[,q.<ncolumn2>]

<nquery>: Número de query del SCAN <ncolumn1>: Numero de columna que devuelve el valor a escribir <ncolumn2>: Numero de columna que devuelve el calificador a escribir los parámetros entre corchetes son opcionales

Ejemplos: 1:1 La primer columna del primer query indica el valor a escribir 1:1,q.2 La primer columna del primer query indica el valor a escribir y la segunda columna indica el calificador a escribir. 2:4 La cuarta columna del segundo query indica el valor a escribir

Page 51: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 51 de 82

5) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción period Periodo de SCAN (en segundos) para la ejecución de las sentencias

SQL. Valor por defecto: 0 (lo mas rápido posible).

initial_scan Indica si se deberá realizar una ejecución de las sentencias inmediatamente luego de iniciar la tarea. Valores posibles: 0 - No se realizará ejecución al iniciar la tarea 1 - Se realizará ejecución al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

dns DNS correspondiente a la conexión ODBC user Usuario correspondiente a la conexión ODBC pwd Password correspondiente a la conexión ODBC database Base de datos correspondiente a la conexión ODBC nqueries Cantidad de sentencias SQL que posee el SCAN query_ncols_<n> Cantidad de columnas que devuelve la sentencia SQL enésima (n: 1-10) query_sentence_<n> Sentencia SQL enésima (n: 1-10) a ejecutar.

En el caso que la sentencia SQL no devuelva ninguna columna, se deberá configurar ncols = 0. La sentencia SQL puede ser un select, insert, update, delete o la ejecución de un stored procedure.

Ejemplo: El siguiente ejemplo configura un SCAN que posee dos sentencias SQL que devuelven 10 columnas cada una. [SCAN_ODBC1]

period = 10

scan_offset=0

initial_scan=0

DNS=nanoscada

USER=nanoscada

PWD=nanoscada

DATABASE=nanoscada

nqueries = 2

query_ncols_1 = 10

query_sentence_1 = select top 1 NSLOG_AI_1, NSLOG_AI_2, NSLOG_AI_3,

NSLOG_AI_4, NSLOG_AI_5, NSLOG_AI_6, NSLOG_AI_7, NSLOG_AI_8, NSLOG_AI_9,

NSLOG_AI_10 from trend_log_10sec order by sectime desc

query_ncols_2 = 10

query_sentence_2 = select top 1 NSLOG_AI_11, NSLOG_AI_12, NSLOG_AI_13,

NSLOG_AI_14, NSLOG_AI_15, NSLOG_AI_16, NSLOG_AI_17, NSLOG_AI_18,

NSLOG_AI_19, NSLOG_AI_20 from trend_log_10sec order by sectime desc

Page 52: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 52 de 82

Ejemplos de sentencias SQL: Tipo Select: select top 1 NSLOG_AI_1, NSLOG_AI_2, NSLOG_AI_3, NSLOG_AI_4, NSLOG_AI_5,

NSLOG_AI_6, NSLOG_AI_7, NSLOG_AI_8, NSLOG_AI_9, NSLOG_AI_10 from

trend_log_10sec order by sectime desc

query_ncols_2 = 10

query_sentence_2 = select top 1 NSLOG_AI_11, NSLOG_AI_12, NSLOG_AI_13,

NSLOG_AI_14, NSLOG_AI_15, NSLOG_AI_16, NSLOG_AI_17, NSLOG_AI_18,

NSLOG_AI_19, NSLOG_AI_20 from trend_log_10sec order by sectime desc Tipo Delete (log_table es el nombre de una tabla) delete log_table

Tipo ejecución de stored procedure (log_insert es un stored procedure): log_insert 'a', 'NSODBC', Mensaje de NSODBC'

6) El archivo NANOSCADA.INI puede incluir una sección con el nombre de la tarea y los siguientes parámetros generales de toda la tarea: Parámetro Descripción use_forced_write Indica si el driver NSODBC realizará escrituras forzadas cuando escriba

en NanoScada los valores de los elementos leídos por ODBC. Valores posibles: 0 – Se realizarán escrituras normales 1 – Se realizarán escrituras forzadas (producen cambio en la estampa de tiempo y producen evento de cambio en el valor del TAG) Valor por defecto: 0

Page 53: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 53 de 82

3.23 Configuración de NSCSV La tarea NSCSV permite obtener datos desde un archivo CVS (archivo de texto separado por comas) y volcarlos en TAGs de NanoScada 2010. Cada instancia de NSCSV realizará las operaciones en forma serializada, por dicha razón es posible que alguna aplicación requiera iniciar varias instancias de NSCSV a los efectos de mejorar la performance. Cada instancia de NSCSV se configura de la siguiente manera: 1) El task_name por defecto de NSCSV es NSCSV y puede ser cambiado ejecutando la aplicación con el task_name requerido como línea de comando, por ejemplo: NSCSV NSCSV1

ejecutará la tarea con task_name = NSCSV1 2) Las direcciones de los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción

io_tag_name Nombre del TAG de NanoScada donde se escribirá el valor io_driver task_name del driver (NSCSV, NSCSV1, etc) io_address Número de fila, columna, tipo (ver detalles abajo)

Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del TAG en 1, se requiere una ejecución inmediata del SCAN.

io_scan Scan Group (ver detalles abajo) io_min_raw No utilizado io_max_raw No utilizado io_min_eng No utilizado io_max_eng No utilizado FORMATO io_address:

<nrow>:<ncolumn1>[,q.<ncolumn2>]

<nrow>: Número de fila (renglón dentro del archivo) <ncolumn1>: Numero de columna que devuelve el valor a escribir <ncolumn2>: Numero de columna que devuelve el calificador a escribir los parámetros entre corchetes son opcionales

Ejemplos: 1:1 La primer columna del primer renglón indica el valor a escribir 1:1,q.2 La primer columna del primer renglón indica el valor a escribir y la segunda columna indica el calificador a escribir. 2:4 La cuarta columna del segundo renglón indica el valor a escribir

Page 54: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 54 de 82

5) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción period Periodo de SCAN (en segundos) para la ejecución de las lecturas.

El valor 0 (cero) indica que el SCAN será ejecutado solo a través del TAG FORCE_SCAN. Valor por defecto: 1

initial_scan Indica si se deberá realizar una ejecución de las sentencias inmediatamente luego de iniciar la tarea. Valores posibles: 0 - No se realizará ejecución al iniciar la tarea 1 - Se realizará ejecución al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

filename Nombre completo del archivo CSV Ejemplo: [SCAN_CSV1]

period = 10

scan_offset=0

initial_scan=0

filename=C:\csvfile.csv

6) El archivo NANOSCADA.INI puede incluir una sección con el nombre de la tarea y los siguientes parámetros generales de toda la tarea: Parámetro Descripción use_forced_write Indica si el driver NSCSV realizará escrituras forzadas cuando escriba en

NanoScada los valores de los elementos leídos. Valores posibles: 0 – Se realizarán escrituras normales 1 – Se realizarán escrituras forzadas (producen cambio en la estampa de tiempo y producen evento de cambio en el valor del TAG) Valor por defecto: 0

separator Indica el carácter de separación utilizado Valor por defecto: , (coma)

Page 55: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 55 de 82

3.24 Configuración de NSMAIL La tarea NSMAIL permite enviar emails ante determinados eventos. NSMAIL utiliza la siguiente aplicación GNU para el envío de correo electrónico a través de un servidor smtp: sendemail-1.56 by Brandon Zehm. Esta aplicación deberá estar instalada en el equipo donde se ejecuta NanoScada. Los eventos que determinan el envío de mails están basados en valores de TAGS de NanoScada 2010. De esta manera se puede configurar que cuando un TAG tome un determinado valor durante una cantidad de segundos se envíe un correo electrónico a un conjunto de cuentas de correo. Los mails enviados por NSMAIL poseen el siguiente formato: Subject: <TAG_DESCRIPTION> o <TAG_DESCRIPTION>: <TAG_LABEL > Message body: Event: <TAG_DESCRIPTION> Value: <TAG_LABEL> Date and Time: <TAG_TIMESTAMP> Los títulos “Event”, “Value” y “Date and Time” son configurables.

NSMAIL se configura de la siguiente manera: 1) El task_name es NSMAIL y puede ser ingresado en el listado de tareas NS_TASKS. 2) Las TAGS que generarán envío de emails se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción

io_tag_name Nombre del TAG de NanoScada. io_driver NSMAIL io_address Valor y tiempos para el envío de mails (ver detalles abajo) io_scan Scan Group (ver detalles abajo) io_min_raw io_max_raw io_min_eng io_max_eng El campo io_address determina la condición de envío de mails. Para TAGs de tipo TEXTO la condición de envío es por cambio (a un valor distinto de cadena vacía) en forma inmediata. Los TAGS de otros tipos pueden ser configurados de la siguiente manera: FORMATO io_address:

<value>;<adelay>[;<ndelay>] <value>: Valor que produce el envío del mail. <adelay>: Tiempo en segundos que debe estar presente el valor antes de que sea enviado el mail. <ndelay>: Tiempo en segundos que debe desaparecer el valor de envío antes

Page 56: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 56 de 82

de que se vuelva a monitorear. Este parámetro opcional es útil en los casos en que se dan situaciones transitorias que no debe generar envío de mail.

Ejemplos: 1;30;0 Cada vez que TAG tome el valor 1 durante 30 segundos se enviara mail. 2;30;10 Cada vez que TAG tome el valor 2 durante 30 segundos se enviara mail. Además cuando tome otro valor por un tiempo menor a 10 segundos antes de volver a 2, no se enviará mail. Se asume que es una situación transitoria que no debe generar envío de mail. 3) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parámetro Descripción period Periodo de SCAN (en segundos) para la verificación de valores.

Valor por defecto: 0 (o mas rápido posible). initial_scan Indica si se deberá realizar la verificación de valores inmediatamente

luego de iniciar la tarea. Valores posibles: 0 - No se realizará ejecución al iniciar la tarea 1 - Se realizará ejecución al iniciar la tarea Valor por defecto: 0

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

repeat_period Indica la cantidad de segundos que se debe esperar antes de volver a enviar mail si la condición permanece. Valores posibles: 0 - No se repite el envío de mails N – Cantidad de segundos entre mails sucesivos. Valor por defecto: 0

label_in_subject Indica el formato del asunto (Subject) del mensaje: Valores posibles: 0 – El Subject poseerá solo la descripción del TAG 1 – El Subject poseerá la descripción y el valor del TAG Valor por defecto: 0

from Nombre de la cuenta de email a especificar como remitente. Parámetro obligatorio, no posee valor por defecto.

to Cuenta de email de destinatario del mail. En caso ser múltiples destinatarios, separarlos con un espacio. Si este parámetro no es configurado, NSMAIL buscará los destinatarios de los mails en la tabla configurada en el parámetro EMAIL_DEST_TABLE de la sección NSMAIL del archivo NANOSCADA.INI. Esta tabla deberá tener las siguientes columnas: io_scan: varchar (15) email_address: varchar (63)

Page 57: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 57 de 82

smtp Servidor SMTP y puerto (opcional) donde enviar el mail. Formato: <smpt_server>[:port] Parámetro obligatorio, no posee valor por defecto.

user Nombre de usuario para autenticación en el servidor SMTP, si éste la requiere.

pwd Password de usuario para autenticación en el servidor SMTP, si éste la requiere.

tls Indica si se debe utilizar TLS. Valores posibles: 0 – No 1 – Si Valor por defecto: 0

Ejemplo: [SCAN_MAIL1]

repeat_period = 0

label_in_subject = 0

[email protected]

[email protected] [email protected]

smtp=smtp.gmail.com:587

[email protected]

pwd=mypassword

tls=1

4) El archivo NANOSCADA.INI puede incluir una sección con el nombre de la tarea y los siguientes parámetros generales de toda la tarea: Parámetro Descripción SendEmail Indica el path completo y nombre del programa ejecutable

correspondiente a la aplicación de envío de mails “sendemail-1.56 by Brandon Zehm” Valor por defecto: sendEmail.exe

event Etiqueta a utilizar en cuerpo (body) del mensaje para indicar la descripción del evento. Valor por defecto: “Event:”

value Etiqueta a utilizar en cuerpo (body) del mensaje para indicar el valor del evento. Valor por defecto: “Value:”

date_time Etiqueta a utilizar en cuerpo (body) del mensaje para indicar la fecha y hora del evento. Valor por defecto: “Date and Time:”

[NSMAIL]

SendEmail=E:\util\sendEmail\sendEmail.exe

event=Codigo de evento:

value=Valor del evento:

date_time=estampa de tiempo del evento:

Page 58: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 58 de 82

3.25 Configuración de NSPERS La tarea NSPERS permite almacenar en disco la información correspondiente a TAGS denominados persistentes, de manera tal que mantengan su valor al reiniciar NanoScada 2010 o ante problemas de alimentación. Se configura de la siguiente manera: 1) El task_name es NSPERS y puede ser ingresado en el listado de tareas NS_TASKS. 2) Los TAGS se configuran en la tabla NS_IO de la siguiente manera: Campo Descripción io_tag_name Nombre del TAG que se desea hacer persistente. io_driver NSPERS io_address Valor Reservado: FORCE_SCAN. Indica que al forzar el valor del

TAG en 1, se requiere una ejecución inmediata del SCAN. io_scan Scan Group (ver detalles abajo) 3) Los grupos de SCAN se configuran en el archivo NANOSCADA.INI que reside en NSAPP. Cada grupo de SCAN poseerá una sección en este archivo con el nombre del grupo de SCAN configurado en el campo io_scan de la tabla NS_IO, mas el prefijo SCAN_. Por ejemplo si io_scan = R1, el archivo deberá tener una sección llamada[SCAN_R1]. Parametro Descripción period Periodo en segundos cada cuanto se actualizará en disco el valor de

los TAGS persistentes. La actualización efectiva en disco será siempre ante cambios. Valores posibles: Valores enteros positivos o cero. Valor por defecto: 1

initial_scan Indica si se deberá actualizar en disco inmediatamente luego de iniciar la tarea. Valores posibles: 0 - No actualizar en disco al iniciar la tarea 1 - actualizar en disco al iniciar la tarea Valor por defecto: 1

scan_offset Segundos a desplazar la ejecución del SCAN respecto de la hora del sistema. Valores posibles: Valores enteros positivos, negativos o cero Valor por defecto: 0

[SCAN_R1]

period=0

Page 59: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 59 de 82

3.26 Configuración de NSCONTROLS NSCONTROLS es un grupo de objectos ActiveX que permiten la animación gráfica de TAGs de la RTDB así como también visualizar tendencias y alarmas activas e históricas. Algunos controles permiten realizar animaciones en función de la calidad de un TAG. En tales casos la codificación de calidades utilizada es la siguiente:

MEASURED: 0 INVALID: 1 MANUAL: 2

3.26.1 NSMain Este objeto deberá ser insertado (solo una vez) en cada formulario en el cual se inserte algún otro control Active X de NanoScada. Realiza la inicialización de variables, control de la tarea y actualiza la información de todos los controles. Propiedades Descripción m_ns_interval Periodo de en milisegundos cada cuanto se actualizan los controles

insertados en el formulario. Valor por defecto: 1000 msec.

Page 60: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 60 de 82

3.26.2 NSTagDisplay Este objeto permite la animación de un recuadro texto en función del valor, calidad, estampa de tiempo, unidades, descripción, etiquetas de TAGS de la RTDB Las propiedades de este control son accesibles mediante la pantalla de propiedades del mismo. Eventos Descripción nsClick (tag_name, tag_id, value)

Cuando de realiza un click sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante). El tag indicado es el que corresponde a la Animación General.

nsMouseUp (tag_name, tag_id, value, Button, Shift, X, Y)

Cuando de realiza un MouseUp sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante) y las carácterísticas del click (Button, Shift, X, Y) El tag indicado es el que corresponde a la Animación General.

nsMouseDown (tag_name, tag_id, value, Button, Shift, X, Y)

Cuando de realiza un MouseDown sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante) y las carácterísticas del click (Button, Shift, X, Y) El tag indicado es el que corresponde a la Animación General.

Page 61: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 61 de 82

3.26.3 NSText Este objeto permite la animación de un recuadro texto fijo en función del valor, calidad, estampa de tiempo, unidades, descripción, etiquetas de TAGS de la RTDB Las propiedades de este control son accesibles mediante la pantalla de propiedades del mismo. Eventos Descripción nsClick (tag_name, tag_id, value)

Cuando de realiza un click sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante). El tag indicado es el que corresponde a la Animación por Text List.

nsMouseUp (tag_name, tag_id, value, Button, Shift, X, Y)

Cuando de realiza un MouseUp sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante) y las carácterísticas del click (Button, Shift, X, Y) El tag indicado es el que corresponde a la Animación por Text List.

nsMouseDown (tag_name, tag_id, value, Button, Shift, X, Y)

Cuando de realiza un MouseDown sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante) y las carácterísticas del click (Button, Shift, X, Y) El tag indicado es el que corresponde a la Animación por Text List.

Page 62: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 62 de 82

3.26.4 NSShape Este objeto permite la animación de una figura geométrica (rectangular o circular) en función del valor, calidad, estampa de tiempo, unidades, descripción, etiquetas de TAGS de la RTDB Las propiedades de este control son accesibles mediante la pantalla de propiedades del mismo. 3.26.5 NSFill Este objeto permite la animación del relleno de una figura rectangular en función del valor de TAGS de la RTDB. El relleno puede ser horizontal o vertical en ambos sentidos. También se permite animación del borde y la visibilidad del objeto. Las propiedades de este control son accesibles mediante la pantalla de propiedades del mismo. 3.26.6 NSBMP Este objeto permite la visualización de una imagen (archivo mapa de bits) en función del valor o calificador de un TAG de la RTDB Las propiedades de este control son accesibles mediante la pantalla de propiedades del mismo. Eventos Descripción nsClick (tag_name, tag_id, value)

Cuando de realiza un click sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante). El tag indicado es el que corresponde a la Animación por BMP List.

nsMouseUp (tag_name, tag_id, value, Button, Shift, X, Y)

Cuando de realiza un MouseUp sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante) y las carácterísticas del click (Button, Shift, X, Y) El tag indicado es el que corresponde a la Animación por BMP List.

nsMouseDown (tag_name, tag_id, value, Button, Shift, X, Y)

Cuando de realiza un MouseDown sobre del control, se enviará un evento a la aplicación indicando el nombre del tag (tag_name), el tag_id y el valor (numérico flotante) y las carácterísticas del click (Button, Shift, X, Y) El tag indicado es el que corresponde a la Animación por BMP List.

Page 63: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 63 de 82

3.26.7 NSAlarmManager Este objeto permite la visualización y administración de alarmas activas e históricas. Propiedades Descripción m_ns_dsn Indica el DSN sobre el cual se conecta NSAlarmManager a la DB.

En caso que comience con un * significa que “m_ns_dsn” cuyo contenido indica el nombre del DSN a utilizar.

m_ns_filter Indica el filtro a aplicar a la búsqueda. Si la expresión del filtro posee la cadena “alarm_state” se asume que se visualizan alarmas activas, caso contrario se asume que se visualizan alarmas históricas. Los valores recomendados son: “alarm_state <> ' '”: Para ver alarmas activas o no reconocidas “”: Para visualizar alarmas historicas

m_ns_srv_net_id Indica el net_id a utilizar para leer y escribir las variables de alarma de la RTDB: “NS_ALARM_CHANGE”, “NS_RUN_ID”, “NS_SRV_ID” y “NS_ALARM_ACK”. Por ejemplo si esta propiedad posee el valor “SRV_ALA” utilizará los tags: “SRV_ALA:NS_ALARM_CHANGE”, “SRV_ALA:NS_RUN_ID”, “SRV_ALA:NS_SRV_ID” y “SRV_ALA:NS_ALARM_ACK”.

Métodos Descripción GetRow(idx) Obtiene el contenido de la fila ‘idx’ (la fila conteniendo los

nombres de los campos es la idx=0). Los valores de las columnas estarán separados por el carácter de delimitación configurado en el parámetro char_delimiter (ver abajo)

En el archivo nscontrols.ini, el cual reside en la carpeta de la aplicación, en la seccion [NsAlarmManager], se pueden configurar los siguientes parámetros (los cuales son válidos para todos los controles NsAlarmManager de la aplicación: Propiedades Descripción odbc_user Nombre de usuario a utilizar en la conexión ODBC.

Valor por defecto: nanoscada odbc_pwd Password a utilizar en la conexión ODBC.

Valor por defecto: nanoscada odbc_db Nombre de la base de datos a utilizar en la conexión ODBC.

Valor por defecto: nanoscada active_select_query Sentencia SQL a utilizar para visualizar alarmas activas.

Valor por defecto: CONVERT(varchar(32), initial_time, 103) + ' ' + CONVERT(varchar(32), initial_time, 108) + '.' + REPLACE(STR(initial_msec, 3), ' ', '0') AS 'Alarm Time', tag_name AS 'TAG', " tag_desc AS 'Alarm Message', alarm_label AS 'Status', alarm_seq AS 'Seq.', alarm_state AS 'State'

Page 64: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 64 de 82

active_format Nombres de las columnas (separadas por el carácter | -ASCII 124) para visualización de alarmas activas. Valor por defecto: Alarm Time|TAG|Alarm Message|Status|Seq|State

active_col0_width a active_col9_width

Ancho de las columnas para la visualización de alarmas activas. Valores por defecto: active_col0_width = 2300 active_col1_width = 1500 active_col2_width = -7300 active_col3_width = 1500 active_col4_width = 1000 active_col5_width = 1000 active_col6_width = 1000 active_col7_width = 1000 active_col8_width = 1000 active_col9_width = 1000

active_font_size Tamaño de letra a utilizar para la visualización de alarmas activas. Valores por defecto: 10

historical_select_query Sentencia SQL a utilizar para visualizar alarmas históricas. Valor por defecto: CONVERT(varchar(32), initial_time, 103) + ' ' + CONVERT(varchar(32), initial_time, 108) + '.' + REPLACE(STR(initial_msec, 3), ' ', '0') AS 'Alarm Time', normal_time AS 'Normal Time', tag_name AS 'TAG', tag_desc AS 'Alarm Message', alarm_label AS 'Status'

historical _format Nombres de las columnas (separadas por el carácter | -ASCII 124) para visualización de alarmas históricas. Valor por defecto: Alarm Time|Normal Time|TAG|Alarm Message|Status

historical _col0_width a historical _col9_width

Ancho de las columnas para la visualización de alarmas históricas. Valores por defecto: historical_col0_width = 2300 historical_col1_width = 2000 historical_col2_width = 1500 historical_col3_width = -7300 historical_col4_width = 1500 historical_col5_width = 1000 historical_col6_width = 1000 historical_col7_width = 1000 historical_col8_width = 1000 historical_col9_width = 1000

historical _font_size Tamaño de letra a utilizar para la visualización de alarmas históricas. Valores por defecto: 10

char_delimiter Indica el carácter de separación a utilizar por el método GetRow(). Valores por defecto: , (coma).

Page 65: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 65 de 82

char_prefix Indica si se debe agregar un espacio al comienzo del valor de cada columna reportada por la función GetRow(). Esto permite evitar la conversión de formato cuando se utiliza esta función para la exportación de datos a Excel. Valores posibles: 0 – No agregar espacio 1 – Agregar un espacio 2 – Agregar dos espacios Valores por defecto: 1

Page 66: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 66 de 82

3.26.8 NSDBBrowser Este objeto permite la visualización del contenido de una tabla en la base de datos de nanoscada. Propiedades Descripción ns_dsn Indica el DSN sobre el cual se conecta NSDBBrowser a la DB.

En caso que comience con un * significa que “m_ns_dsn” cuyo contenido indica el nombre del DSN a utilizar. Valor por defecto: No Posee

ns_parms Indica usuario, password y nombre de la base de datos a conectar. Formato: <user>#<password>#<database> Valor por defecto : nanoscada#nanoscada#nanoscada

ns_query Indica la sentencia SQL a ejecutar para obtener los datos. Valor por defecto: No Posee

ns_width Permite especificar el ancho de cada columna. Para asignar el ancho de las columnas utilizar la siguiente rutina de ejemplo: Dim w w = Array(4000, 8000, 0) nsDBBrowser1.ns_width = w

Métodos Descripción Refresh() Permite requerir una actualización de los datos. GetRow(idx) Obtiene el contenido de la fila ‘idx’ (la fila conteniendo los

nombres de los campos es la idx=0). Los valores de las columnas estarán separados por el carácter de delimitación configurado en el parámetro char_delimiter (ver abajo)

Eventos Descripción nsClick(row_info) Cuando se realiza un doble click sobre una fila del control

NSDBBrowser, se enviará este evento, indicando en row_info el contenido de la fila donde las columnas estarán separados por el carácter ‘,’ (coma).

En el archivo nscontrols.ini, el cual reside en la carpeta de la aplicación, en la seccion [NSDBBrowser], se pueden configurar los siguientes parámetros (los cuales son válidos para todos los controles NsdbBrowser de la aplicación: Propiedades Descripción char_delimiter Indica el carácter de separación a utilizar por el método GetRow().

Valores por defecto: , (coma).

Page 67: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 67 de 82

char_prefix Indica si se debe agregar un espacio al comienzo del valor de cada columna reportada por la función GetRow(). Esto permite evitar la conversión de formato cuando se utiliza esta función para la exportación de datos a Excel. Valores posibles: 0 – No agregar espacio 1 – Agregar un espacio 2 – Agregar dos espacios Valores por defecto: 1

Page 68: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 68 de 82

NSTrend Este objeto permite la visualización de gráficos de tendencia histórica y en tiempo real. Propiedades Descripción m_ns_dsn Indica el DSN sobre el cual se conecta NSTrend a la DB.

En caso que comience con un * significa que “m_ns_dsn” cuyo contenido indica el nombre del DSN a utilizar.

m_ns_db Indica el nombre de la base de datos de la cual extraer los datos. m_ns_table Indica el nombre de la tabla de la cual extraer los datos. m_ns_tag1 Indica el nombre de columna (y TAG) para graficar el Pen1 m_ns_tag2 Indica el nombre de columna (y TAG) para graficar el Pen2 m_ns_tag3 Indica el nombre de columna (y TAG) para graficar el Pen3 m_ns_tag4 Indica el nombre de columna (y TAG) para graficar el Pen3 m_ns_begin_time Indica el tiempo en segundos (SECTIME) desde el cual comenzar

la visualización de los datos. Si este parámetro es cero, significa visualización de datos en tiempo real (refresco automático)

m_ns_display_time Indica la cantidad de tiempo, en segundos, a mostrar en el gráfico. m_ns_refresh_time Indica la período de refresco automático, en segundos. m_ns_font_size Indica el tamaño de la fuente a utilizar en los textos mostrados. Métodos Descripción get_columns () Esta métododevuelve un elemento tipo ADODB.Recordset

conteniendo los nombres de las columnas de la tabla que se está utilizando para realizar el gráfico de tendencias.

En el archivo nscontrols.ini, el cual reside en la carpeta de la aplicación se pueden configurar los siguientes parámetros (los cuales son válidos para todos los controles NsTrend de la aplicación: Propiedades Descripción odbc_user Nombre de usuario a utilizar en la conexión ODBC.

Valor por defecto: nanoscada odbc_pwd Password a utilizar en la conexión ODBC.

Valor por defecto: nanoscada

Page 69: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 69 de 82

3.27 Configuración de NSAPISRV La tarea NSAPISRV en conjunto con NSAPICNT forman una API de acceso remoto a la RTDB de NanoScada. De esta manera clientes remotos desarrollados utilizando NSAPICNT (y también NSVBAPI o NSCONTROLS.OCX) pueden acceder a la RTDB de un NanoScada que no esta corriendo en el equipo local (estación remota). NSAPISRV se configura de la siguiente manera: 1) El task_name es NSAPISRV y puede ser ingresado en el listado de tareas NS_TASKS. 2) En el archivo NANOSCADA.INI de la aplicación pueden configurarse los siguientes parámetros: Parámetro Descripción max_conn Máxima cantidad de conexiones concurrentes a soportar.

Valor por defecto: 10 tcp_port Puerto TCP en el cual espera conexiones de clientes remotos.

Valor por defecto: 7010 scan_period Tiempo (en segundos) de scan para el refresco de TAGs.

Valor por defecto: 0 (Lo mas rápido posible) iecal_timer Granularidad (en milisegundos) del timer de administración de red.

Valores posibles: 200 – 1000. Valor por defecto: 1000 Valor recomendado: 200

Ejemplo: [NSAPISRV]

max_conn=10

tcp_port=7010

scan_period=0

iecal_timer=200

LIMITACIONES:

• NSAPISRV reportará solo los primeros 60 caracteres de la descripción de los TAGs. 3) Las conexiones de los clientes remotos serán de solo lectura a menos que en la sección [NSAPISRV] se encuentre configurado un parámetro con el nombre de la estación remota (parámetro station_name en la sección correspondiente a la tarea remota) con el valor asignado en 0 (cero). Ejemplo: En el siguiente ejemplo, la estación llamada STATION_1 tendrá acceso de lectura y escritura, mientras que el resto de las estaciones tendrán acceso de solo lectura. [NSAPISRV]

STATION_1=0

Page 70: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 70 de 82

4 NANOSCADA 2010 REMOTE CLIENT NanoScada 2010 Remote Client es un conjunto de aplicaciones que permiten ejecutar la misma aplicación IHM que corre en un sistema NanoScada 2010 en un equipo remoto conectado por TCPIP al sistema NanoScada 2010. 4.1 Instalación de NanoScada 2010 Remote Client Requisitos para la instalación:

• Equipo PC con sistema operativo Windows XP profesional o similar (2000, 2003, etc.).

La instalación de NanoScada 2010 Remote Client se realiza mediante un asistente de instalación, el cual permitirá seleccionar la carpeta de destino para los archivos de NanoScada 2010 Remote Client, luego de los primeros pasos de la instalación aparecerá el siguiente mensaje:

***************************************************

** **

** NANOSCADA 2010 REMOTE CLIENT INSTALLATION **

** **

***************************************************

Do you want to create NanoScada ODBC DSN? (Y/N)? Y

Presionar ENTER para crear el acceso ODBC al sistema NanoScada (recomendado). Aparecerá luego el siguiente mensaje:

Ingrese el nombre del servidor NanoScada:

Ingresar el nombre del equipo o la dirección IP correspondiente al equipo donde corre NanoScada 2010. A continuación se creará una aplicación de ejemplo, por lo cual aparecerá una nueva pantalla pidiendo que se vuelva a ingresar el nombre del equipo o la dirección IP correspondiente al equipo donde corre NanoScada 2010.

NanoScada 2010 - New remote client application

Creando archivos ...

Ingrese el nombre del servidor NanoScada 2010: Ingresar el nombre del equipo o la dirección IP correspondiente al equipo donde corre NanoScada 2010.

Page 71: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 71 de 82

4.2 Creación de una aplicación NanoScada 2010 Remote Client Luego de la instalación de NanoScada 2010 Remote Client se habrá dentro de la carpeta creado una carpeta como la siguiente:

Dentro de la carpeta Sample Application se encuentran los accesos directos para configurar e iniciar una aplicación NanoScada Remote Client de ejemplo. El icono New NanoScada Remote Client permite crear una nueva aplicación remota. Al presionarlo aparecerá una ventana mostrando el siguiente mensaje:

NanoScada 2010 - New remote client application

Atención: Utilice comillas si el destino posee espacios

Ingrese el nombre de la carpeta de destino:

Ingresar el nombre de la carpeta de destino y presionar ENTER. Aparecerá una nueva pantalla pidiendo ingresar el nombre del equipo o la dirección IP correspondiente al equipo donde corre NanoScada 2010.

Ingrese el nombre del servidor NanoScada 2010: Ingresar el nombre del equipo o la dirección IP correspondiente al equipo donde corre NanoScada 2010. Una vez creada la aplicación aparecerá un nuevo icono dentro de la carpeta de accesos directos de NanoScada 2010 Remote Client correspondiente a la nueva aplicación creada.

Page 72: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 72 de 82

Observación: Al momento de la instalación de NanoScada 2010 se creará una aplicación de ejemplo llamada Sample Application. Esta carpeta de aplicación posee todos los elementos necesarios para configurar e iniciar una aplicación NanoScada 2010 Remote Client. 4.3 Configurando una aplicación Nanoscada 2010 Remote Client NanoScada 2010 Remote Client requiere para su funcionamiento de tres elementos básicos:

1) Archivo de configuración (NANOSCADA.INI) 2) Aplicación IHM (NSGRAPH)

El archivo de configuración NANOSCADA.INI es un archivo de parámetros dividido en secciones. Desde la carpeta de aplicación, este archivo es accedido mediante el icono NanoScada Configuration File. El archivo NANOSCADA.INI deberá poseer una sección llamada [NSGRAPH] con los siguientes parámetros (además de los parámetros propios de la aplicación): Parámetro Descripción use_networked_api Esta flag indica a la aplicación IHM que deberá utilizar la API de

acceso remoto. Valores posibles: 0: Utilizar API local (Válido para aplicaciones IHM que se ejecutan en el mismo equipo donde corre NanoScada 2010) 1: Utilizar API de acceso remoto (Válido para aplicaciones IHM que se ejecutan en unn equipo diferente al equipo donde corre NanoScada 2010)

host_name Dirección IP o Host Name del servidor NanoScada remoto. Valor por defecto: 127.0.0.1

tcp_port Puerto TCP al cual conectar. Valor por defecto: 7010

host_name_1 a host_name_4

Direcciónes IPs o Host Names de los servidores NanoScada remotos para el caso de LAN múltiples o servidores redundantes. Valor por defecto: <vacío>

Page 73: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 73 de 82

tcp_port_1 a tcp_port_4

Puertos TCP al cual conectar para el caso de LAN múltiples o servidores redundantes. Valor por defecto: 7010

station_name Nombre de la estación (utilizada solo a los efectos de TACE). Valor por defecto: NSAPICNT

iecal_timer Granularidad (en milisegundos) del timer de administración de red. Valores posibles: 200 – 1000. Valor por defecto: 1000 Valor recomendado: 200

Ejemplo: [NSGRAPH]

use_networked_api = 1

host_name=PC_HZABALA

tcp_port=7010

station_name=PC_GANATRONE

iecal_timer = 200

Tener en cuenta que las conexiones a través de Nanoscada 2010 Remote Client serán de solo lectura a menos que sean configuradas en el NanoScada remoto para tener acceso completo. La aplicación IHM deberá ser la misma que se ejecuta en el sistema NanoScada y debe ser copiada en la carpeta de destino de la aplicación. Al momento de crear una aplicación se creará el archivo NANOSCADA.INI (ubicado en el directorio de destino de la aplicación). También se instala una aplicación IHM por defecto. Para crear una aplicación NanoScada se deberá seguir el siguiente procedimiento:

1. Crear una nueva aplicación utilizando el icono New NanoScada Application

2. Opcionalmente podrán modificarse los parámetros del archivo NSNOSCADA.INI ubicado en el directorio de la aplicación o bien a través del icono NanoScada

Configuration File. Ver referencias en las siguientes secciones.

3. Copiar la aplicación IHM desde el equipo donde se ejecuta NanoScada 2010.

4.4 Iniciar NanoScada 2010 Remote Client Toda aplicación NanoScada Remote Client deberá estar almacenada dentro de una carpeta y poseerá al menos los siguientes archivos: NANOSCADA.INI: Archivo de configuración general NSRUN.BAT: Script de arranque de Nanoscada Remote Client Para iniciar NanoScada 2010 Remote Client con una aplicación en particular, se deberá realizar el siguiente procedimiento:

1. Asegurarse que el acceso ODBC llamado NANOSCADA esté correctamente configurado apuntando a la base de datos MSDE.del equipo donde corre NanoScada

Page 74: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 74 de 82

2010.

2. Ejecutar el archivo “NSRUN.BAT” ubicado en la carpeta de la aplicación o bien ejecutar el icono Start NanoScada 2010 Remote Client ubicado en la carpeta de la aplicación.

4.5 Finalizar NanoScada 2010 Remote Client Para finalizar NanoScada 2010 Remote Client se deberá cerrar la aplicación IHM. Si se desea también se podrá finalizar la aplicación NanoScada 2010 en forma remota escribiendo el TAG llamado “NS_START_NSMAIN” con el valor 0 (cero).

Page 75: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 75 de 82

5 BACKUP Y RESTORE DE APLICACIONES NANOSCADA NanoScada 2010 posee aplicaciones para realizar respaldo y restauración de aplicaciones desarrolladas en NanoScada. IMPORTANTES:

En la instalación por defecto de MSSQL 2005, éste se ejecuta utilizando el usuario NETWORK SERVICE. En algunas instalaciones será necesario cambiar el usuario de ejecución del servicio MSSQL Server por LOCAL SYSTEM, caso contrario las operaciones de Backup y Restore de la base de datos podrán fallar.

5.1 NSBackup NSBackup es una aplicación que permite realizar un respaldo de aplicaciones desarrolladas en NanoScada. Opcionalmente se podrá incluir en el respaldo los archivos binarios de NanoScada 2010 y la Base de datos MSSQL de NanoScada. Para iniciar la aplicación NSBackup, ejecutar el NanoScada Backup ubicado en la carpeta de instalación de NanoScada 2010.

Ingresar en Application Path el nombre de la carpeta donde reside la aplicación a respaldar. Verificar que NanoScada Path posea el nombre de la carpeta de instalación de NanoScada 2010. Ingresar en Destination File el nombre del archivo donde se va a almacenar el respaldo (la extensión por defecto y sugerida es “.zip”). Tildar las opciones deseadas:

- Backup Application Files: Incluir en el respaldo a la carpeta Application Path. - Backup NanoScada Database: Incluir en el respaldo un backup de la base de datos

MSSQL nanoscada. - Backup NanoScada Binary Files: Incluir en el respaldo a la carpeta NanoScada Path.

Presionar el botón OK para iniciar el procedimiento.

Page 76: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 76 de 82

Se abrirá la pantalla del script de backup. Si se seleccionó la opcion Backup NanoScada

Database se requierá al usuario ingresar los parámetros de conexión a la base de datos nanoscada (entre corchetes se indican los valores por defecto). NanoScada 2010 - Backup Application script

NanoScada Path: "C:\NanoScada"

Application Path: "C:\nsapp"

Destination File: "c:\nsapp_backup.zip"

Ingrese el nombre de la instancia de MSSQL [.]:

Ingrese el nombre del usuario nanoscada [nanoscada]:

Ingrese palabra clave del usuario nanoscada [nanoscada]:

Backing up NanoScada Application Folder ...

Backing up NanoScada Database ...

Processed 18984 pages for database 'nanoscada', file 'nanoscada' on file 1.

Processed 1 pages for database 'nanoscada', file 'nanoscada_log' on file 1.

BACKUP DATABASE successfully processed 18985 pages in 14.309 seconds

(10.869

MB/sec).

Backing up NanoScada 2010 Binary Files ...

Backing up NanoScada 2010 Folder ...

Creating backup file ...

Backup completed successfully

Press any key to continue . . .

Presionar <ENTER> para cerrar la ventana del script de backup. Si la ejecución del script finalizó exitosamente se habrá creado el archivo de respaldo.

Page 77: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 77 de 82

5.2 NSRestore NSRestore es una aplicación que permite restaurar aplicaciones desarrolladas en NanoScada y respaldadas mediante NSBackup. Opcionalmente se podrá incluir en la restauración a los archivos binarios de NanoScada 2010 y la Base de datos MSSQL de NanoScada. Para iniciar la aplicación NSRestore, ejecutar el NanoScada Restore ubicado en la carpeta de instalación de NanoScada 2010.

Ingresar en Source Backup File el nombre del archivo de respaldo realizado con NSBackup. Ingresar en Application Path el nombre de la carpeta donde almacenar la aplicación. Verificar que NanoScada Path posea el nombre de la carpeta de instalación de NanoScada 2010. Tildar las opciones deseadas:

- Restore Application Files: Restaurar la aplicación contenida en la copia de respaldo. - Restore NanoScada Database: Restaurar la base de datos MSSQL nanoscada con el

backup contenido en la copia de respaldo.. - Restore NanoScada Binary Files: Restaurar los archivos binarios de NanoScada con

los contenidos en la copia de respaldo. Presionar el botón OK para iniciar el procedimiento. Se abrirá la pantalla del script de restauración. Si se seleccionó la opcion Restore NanoScada

Database se requierá al usuario ingresar los parámetros de conexión a la base de datos nanoscada (entre corchetes se indican los valores por defecto). NanoScada 2010 - Restore Application script

Source Backup File: "C:\nsapp_backup.zip"

NanoScada Path: "C:\NanoScada"

Application Path: "C:\nsapp"

Ingrese el nombre de la instancia de MSSQL [.]:

Ingrese el nombre del usuario nanoscada [nanoscada]:

Ingrese palabra clave del usuario nanoscada [nanoscada]:

Page 78: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 78 de 82

Deploying backup file ...

Restoring application files ...

Restoring NanoScada Database ...

Processed 18984 pages for database 'nanoscada', file 'nanoscada' on file 1.

Processed 1 pages for database 'nanoscada', file 'nanoscada_log' on file 1.

RESTORE DATABASE successfully processed 18985 pages in 20.269 seconds

(7.673

MB/sec).

Restoring NanoScada 2010 Files ...

Restore completed successfully

Press any key to continue . . .

Presionar <ENTER> para cerrar la ventana del script de restauración. Si la ejecución del script finalizó exitosamente se habrá realizado la restauración requerida. IMPORTANTE: El procedimiento de restauración de aplicaciones restaurará el contenido de las carpetas tal cual estaban almacenadas al momento de realizar el respaldo con NSBACKUP. En el caso de restaurar la aplicación o archivos binarios de NanoScada en carpetas diferentes a la originales, será necesario modificar los scripts (archivos con extensión .bat) tanto de la carpeta de aplicación como de la carpeta de NanoScada.

Page 79: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 79 de 82

NSImport NSImport es una aplicación que permite importar datos desde una base de datos MSSQL externa con datos históricos (previamente registrados o replicados por NanoScada 2010). En las instalaciones en las cuales hay equipos de respaldo fuera de línea (quiere decir que se encuentra apagado mientras no está en servicio), cuando sea necesario que este equipo entre en servicio, será conveniente ejecutar NSIMPORT antes de poner en servicio al equipo, de manera tal que cuando se lo ponga en servicio posea toda la información histórica posible. En estos casos la fuente de los datos debera corresponder a una base de datos MSSQL en la cual se habrán registrado o respaldado los datos de la aplicación (alarmas, datos históricos, tendencias, tablas, etc.) Para iniciar la aplicación NSImport, ejecutar el NanoScada Import ubicado en la carpeta de instalación de NanoScada 2010.

Source Database DSN es el nombre del acceso ODBC (el cual deberá haber sido creado con anterioridad a ejecutar NSImport) correspondiente a la base de datos origen de los datos que se desean importar. Para asignar estos parámetros presionar el botón Params ... correspondiente e ingresar los parámetros de conexión a la base de datos (DSN, Usuario, Password y Base de Datos). Una vez ingresado el DSN de origen, seleccionar en Table Name la tabla que se desea importar. Si la tabla seleccionada la tabla, se mostrarán en Date Time field los campos de tipo fecha existentes en la tabla seleccionada. En el caso de haber mas de uno, se podrá seleccionar el campo fecha a partir del cual se realizará la importación de los datos. En este caso también habrá que ingersar en Date Time range el rango de fechas que se desea importar. Destination Database DSN es el nombre del acceso ODBC (el cual deberá haber sido creado con anterioridad a ejecutar NSImport) correspondiente a la base de datos destino de los datos que se desean importar. Para asignar estos parámetros presionar el botón Params ... correspondiente e ingresar los parámetros de conexión a la base de datos (DSN, Usuario, Password y Base de Datos). La tabla a importar poseerá el mismo nombre y estructura que la de origen.

Page 80: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 80 de 82

La opción Delete existing data permite eliminar todos los registros existentes en la tabla de destino antes de importar los datos desde la tabla de origen. Esta opción es útil para evitar insertar registros duplicados. La opción Replace (drop) existing table permite eliminar la tabla de destino (si existe) y volver a crearla con el formato existente en la base de datos de origen. Cuando esta opción es seleccionada, la tabla de destino será borrada junto con sus indices y datos, quedando la tabla de destino sin índice. Es importante mencionar que si la tabla, es utilizada para registro de datos con NSLOG, los índices serán creados nuevamente en forma automática por NSLOG al iniciarse NanoScada 2010. Presionar el botón Import para realizar la importación de los datos. Una vez finalizada la operación, de haber sido existosa mostrará un mensaje con la cantidad de registros importados.

El procedimiento anterior podrá repetirse para todas las tablas que se desee importar. Presionar el botón Close para salir de NSImport.

Page 81: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 81 de 82

6 CONSIDERACIONES PARA APLICACIONES HOT STAND-BY Las aplicaciones Hot Stand-By son aquellas formadas por dos sistemas NanoScada 2010, los cuales están configurados para trabajar en forma conjunta, mediante la adminsitración de NSHSB. Estas aplicaciones redundantes, hacen uso de los servicios de NSNETSRV y NSNETCNT para intercambiar información de estado del sistema y/o valores de I/O. Una aplicación tipica HSB está formada por dos sistemas NanoScada 2010, vinculados entre sí por una red TCP/IP de alta confiabilidad. En una aplicación de este tipo, NSHSB administra la lectura de campo (a través de algunos de los drivers de protocolo como NSDNP, NSMBTCP, NSMODBUS, NSVCOMM, NSOPCCNT, etc.), activando y desactivando la tarea correspondiente (estado ACTIVE o STANDBY). Para crear una aplicación HSB en la cual se obtendrán datos de campo, por ejemplo de una RTU, se deberán configurar los siguientes elementos: 1) Una conexión en la tabla NS_NET como la siguiente:

net_host net_port net_id net_mode net_status_tag

*RTU_NAME 7004RTU RWH RTU_STATUS

*PARTNER_NAME 7004PARTNER R PARTNER_STATUS

2) Configuración de NS_HSB como la siguiente (el hsb_group debe ser igual al net_id): io_tag_name io_driver io_address

PARTNER_NAME NSHSB RTU:PARTNER_NAME

PARTNER_STATUS NSHSB RTU:PARTNER_CONN

HSB_RTU_COMMAND NSHSB RTU:COMMAND

HSB_RTU_STATUS NSHSB RTU:LOCAL_STATUS

RTU_ERROR NSHSB RTU:LOCAL_ERROR

PARTNER:HSB_RTU_STATUS NSHSB RTU:PARTNER_STATUS

NS_START_DNP NSHSB RTU:START

RTU_NAME NSHSB RTU:SERVER_NAME

3) En la tabla NS_TAGs se configuran los tags a obtener de la RTU con los nombres de los

elementos y el prefijo RTU solamente (es decir que no deben crearse los tags con idéntico nombre y sin prefijo, ya que este será automáticamente creado por NanoScada 2010 al detectar la letra H en el net_mode RTU de la tabla NS_NET).

tag_name

RTU:LSH_314

RTU:LSH_414

RTU:LSH_514

RTU:LSH_614

RTU:LSH_714

4) Cuando se utilice un TAGs con el prefijo RTU (ejemplo RTU:LSH_314) se estará

haciendo uso del elemento correspondiente al NanoScada 2010 del equipo que posee la tarea activa.

Page 82: Nano Scad A

NanoScada 2010 Tiempo Real Servicios de Ingeniería

Página 82 de 82

5) Cuando se utilice un TAGs sin prefijo (ejemplo LSH_314) se estará haciendo uso del elemento correspondiente al NanoScada 2010 del equipo local donde se ejecuta la acción.