SYSMAC Gateway CxCompolet La perfecta combinacin para CJ
SYSMAC Gateway & Cx-Compolet La perfecta combinación para CJ 2 & Ether. Net/IP
SYSMAC Gateway
Información general de SYSMAC Gateway • SYSMAC Gateway – Es un middleware (interface) de comunicaciones que proporciona un entorno de red de FA sobre un ordenador. – Compatible con Ether. Net/IP. – Puede trabajar en un entorno industrial Ethernet multi-vendedor. • Función principal de SYSMAC Gateway – Gestión de comunicaciones de mensajes CIP (CIP Message Communications Functionality). – Soporte disponible de envió/recepción de datos a/desde una amplia variedad de dispositivos Ether. Net/IP con el estándar de comunicaciones CIP (Common Industrial Protocol)
Información general de SYSMAC Gateway • Tag Data Link (Communicaciones Ciclicas) – Apoyado en comunicaciones Implícitas estándar Ether. Net/IP, permite comunicaciones cíclicas con dispositivos Ether. Net/IP (llamado ‘Tag Data Link’). Independiente de las distintas redes Rápido Gran Capacidad – Permite comunicaciones de dato en alta velocidad y alto volumen de datos, entre el ordenador y los PLCs. – Además, los datos obtenidos por los Tag Data Link son almacenados en Event. Memory, poniéndolos a disposición de las aplicaciones. Gran velocidad y capacidad, notificación de cambios, … Sin necesidad de tarjeta especial No necesario modificar la aplicación de usuario Incluso si cambia el mapa de memoria del PLC
Información general de SYSMAC Gateway • Soporte de Tag – SYSMAC Gateway también soporta Tags como un PLC. – Los Tags (con tipo de datos y dirección definida) pueden ser accedidos por el nombre desde las aplicaciones. Independiente de las distintas redes Rápido Gran Capacidad Gran velocidad y capacidad, notificación de cambios, … – Los datos de los Tags son asignados a Event. Memory. – Las etiquetas son usadas para permitir el desarrollo de programa sin la preocupación por dirección de datos o tipo. Sin necesidad de tarjeta especial No necesario modificar la aplicación de usuario Incluso si cambia el mapa de memoria del PLC
Información general de SYSMAC Gateway • Desarrollo de aplicaciones – La utilización de CX-Compolet permite el desarrollo de aplicación simples. Software de comunicación industrial Aplicaciones de usuario – El CX-Compolet soporta Microsoft Visual Basic. Net y C#, y permite la creación de programas de comunicaciones con PLCs sin preocuparse de los protocolos. – Las comunicaciones tradicionales con la especificación de direcciones físicas son posibles, pero ahora los datos también se puede acceder por etiquetas (variable de red ‘Tags’). Middleware de comunicaciones FINS/CIP
Información general de SYSMAC Gateway • Co-existe con el entorno de comunicaciones tradicional FINS. – SYSMAC Gateway puede operar en el mismo ordenador con Fins. Gateway (servicio de comunicaciones FINS). – Se puede crear un sistema flexible combinado con redes FINS tradicionales. – Usando Event. Memory para los datos permite que los valores de los Tag Data Link puedan ser leídos con FINS.
Servicios de Communicaciones
Servicio de Comunicaciones CIP • SYSMAC Gateway proporciona comunicaciones a dispositivos utilizando: – Ethernet/IP (usado para publicaciones de red) – USB (no recomendado para la ejecución de aplicaciones – ruido/distancias/etc) • Usa la consola del SYSMAC Gateway para determinar como arranca el ‘servicio’ de comunicaciones. – ‘Servicio’ – para PC’s desatendidos Cuando el ordenador arranca (antes del inicio de sesión)
CIP Services • Servicio del SYSMAC Gateway – Este servicio debe de estar en ejecución para poder utilizar las comunicaciones CIP • Una vez que el servicio esta en ejecución, se pude tener acceso a las funciones CIP usando: – Tag Data Links (PLC <-> PC) – Variables de red del PLC – CJ 2 Compolet (acceso directo a memoria)
Otras Funciones en SYSMAC Gateway – Tag Table (tabla de tags) • Crear variables de red para su acceso desde la red como PLC, pero estas son creadas en el espacio de memoria de PC
Otras Funciones en SYSMAC Gateway – Tag Table (tabla de tags) • Tipos de variables. Item Descripción BOOL Bit; (ON/OFF) UINT Entero sin signo, 1 -word INT Entero con signo, 1 -word UINT_BCD sin signo, 1 -word UDINT Entero sin signo, 2 -word DINT Entero con signo, 2 -word UDINT_BCD sin signo, 2 -word ULINT Entero sin signo, 4 -word LINT Entero con signo, 4 -word ULINT_BCD sin signo, 4 -word REAL Decimal de coma flotante Simple LREAL Decimal de coma flotante Doble CHANNEL Entero sin signo, 1 -word WORD Entero sin signo, 1 -word DWORD Entero sin signo, 2 -word LWORD Entero sin signo, 4 -word STRING cadena de caracteres (1 to 255 characters) Usuario Definido por el usuario
Otras Funciones en SYSMAC Gateway – Tag Table (tabla de tags) Campo Nombre Comentario Tipo de dato Descripción Especifica el nombre de la variable (máx. 48 caracteres). Comentario o explicación. Seleccionar el tipo de dato. Dirección Especifica la dirección de memoria del tag. También es posible la asignación de memoria automáticamente. • Parámetros de las variables. Especifica si se publica o no la variable en la red. Publish-only: El tag será accesible externamente. Network Tags Input: El tag será una variable de red de entrada para Tag Data Link. Output: El tag será una variable de red de salida para Tag Data Link.
Otras Funciones en SYSMAC Gateway – Memoria • Visualizar la Event Memory (EM) creada en el PC. – También permite crear su propios EM para datos de aplicaciones específicas.
SYSMAC Gateway – Tag Data Link (características) Item Tipo de comunicaciones No. de Conexiones/Unidad Descripción Comunicaciones cíclicas orientadas a conexión. 256, máximo Ancho de banda de comunicaciones 5000 pps (Paquetes Por Segundo) Intervalo entre paquetes (RPI) 1 a 10000 ms. (Establecido para cada conexión) No. de Tag Sets No. def Tags/Conexión (Tag Set) Tamaño del Data Link Tamaño del Tag Set 256, máximo 8, máximo 184, 832 Word, máximo 722 Word (1, 444 bytes) 1: 1 (punto-a-punto) o 1: N (multi-cast) El tipo de comunicaciones pueden ser seleccionado para cada conexión (defecto: multi-cast) Tipo de conexión Origen/Destino Ambos roles origen y destino son posibles. Origen: Origen Abre la conexión. Destino: Destino Recebe las peticiones de conexión. Número de puerto TCP/UDP 2222
SYSMAC Gateway – Mensajería explicita (características) Item Detalles Mensaje Send (Cliente) CIP unconnected (UCMM) CIP connected (Class 3) Mensaje Receive (Servidor) CIP unconnected (UCMM) CIP connected (Class 3) Numero de conexiones Cliente: UCMM, Class 3 total maximum connections = 128 Servidor: Sin limite (depende de la memoria del ordenador) Tamaño de los datos 502 Byte Port ID Port 2: Ethernet Port 3: USB Numero de puerto TCP/UDP 44818
SYSMAC Gateway – Tag Data Link (Notas) • Las capacidades de dispositivo de comunicaciones están limitadas para cada producto. – Consulte el manual de la unidad de Ether. Net/IP para establecer el intervalo de paquetes (RPI) de manera apropiada. • Windows es un sistema operativo multitarea, capaz de ejecutar varios programas simultáneamente. – Por lo tanto, cuando se ejecutan varias aplicaciones al mismo tiempo y la carga de la CPU aumenta, el ajuste RPI puede ser excedido. • El tiempo de configuración del RPI puede ser excedido, en función de la carga de la red.
SYSMAC Gateway – Tag Data Link (Notas) • Siempre utilice un switchs cuando se utilizan tag data link en la red. – Si se utiliza un repetidor para los tag data link de Ether. Net/IP (comunicaciones cíclicas), la carga de comunicaciones de la red aumentará, las colisiones de datos se producirán con frecuencia, y será imposible tener las comunicaciones estables. • La función Tag Data Link espera el envío de paquete sin fragmentar. – Para una máxima transmisión de datos, el SYSMAC Gateway esperan que la "unidad de transmisión máxima (MTU)" este configurada por defecto (1500 byte). – Algunos ordenadores personales establecen el MTU para menos 1500 bytes. – En este caso, intentar reducir el tamaño del data link para evitar el fragmentar la trama.
Otras Funciones en SYSMAC Gateway – Panel de Control Permite un acceso rápido a otras utilidades.
Otras Funciones en SYSMAC Gateway – Panel de Control • Test de Comunicaciones – Envió/Recepción de mensajes CIP.
Otras Funciones en SYSMAC Gateway – Panel de Control • Visualizador del log de eventos para los servicios de SYSMAC Gateway & FGW. – Una herramienta muy útil, si hay problemas.
Otras Funciones en SYSMAC Gateway – Panel de Control • Configuración del FINS Gateway – Solamente usado si la comunicaciones FINS son necesarias al mismo tiempo que las comunicaciones CIP. – Normalmente si el Ether. Net/IP esta disponible sobre el CJ 2, entonces no es necesario configurar esto.
Otras Funciones en SYSMAC Gateway – Panel de Control • Monitor de Memoria – Permite acceder a la Memoria configurada en la pestaña ‘Memory’. – Leer y escribir datos. – Una herramienta de depuración útil para "ver" lo que está pasando en el PC de memoria.
Otras Funciones en SYSMAC Gateway – Panel de Control • Network Configurator – Inicia una instancia de la aplicación Network Configurator, para configurar los Tag Data Links de la Ether. Net/IP.
Otras Funciones en SYSMAC Gateway – Panel de Control • Configuración del Área de Estado – Configurar donde se mapeara el área de estado en los Event. Memory • Para el uso de aplicaciones de usuario – Permite saber: • Si Los Tags Data. Links funcionan correctamente o no. • El estado de los PLCs implicados en el Data Link.
Otras Funciones en SYSMAC Gateway – Panel de Control • Utilidad para ver las variables de red en tiempo real.
Librería de Componentes. NET
Componentes. Net Interface Ethernet/IP CJ 2 (CIP) Interface Genérica para Ethernet/IP (CIP) Interroga/Arranca/Para Servicio CIP en el PC Interface NE 1 S Ethernet/IP (CIP) Interface FGW para acceder a Event. Memory (FGW CIO & DM) y mensajes de control FINS RAW (avanzado) Interface del gestión del Control del Servicio en el PC (Interroga/Arranca/Para Servicios FINS)(Fins. Gateway) Métodos de acceso FINS (Net. Node. Unit) para todos los PLC’s OMRON.
Librería. NET
Librería. NET • Librería Fins. Gateway. NET – Gestión del Fins. Gateway, conversión de datos, definición de áreas de memoria, etc. • Librería Fins. Gateway Compolet – Gestión de servicios del Fins. Gateway, gestión de mensajes FINS, gestión de Event. Memory • Librería SYSMAC Gateway. NET – Software de comunicación industrial Aplicaciones de usuario Manejo de mensajes CIP • Librería SYSMAC Compolet. NET – Simplifica el acceso y la manipulación de PLCs de las series SYSMAC C/CV/CS/CJ • Librería CIPPlc. Compolet – Es una clase de propósito general que permite comunicaciones con dispositivos que soporten el protocolo CIP. – Clase Variable Compolet. NET • Permite leer/escribir las variables registradas en el SYSMAC Gateway – Clase CJ 2 Compolet • Permite gestionar los Tags registrados en PLCs de la serie CJ 2. – Clase NE 1 SCompolet • Permite gestionar los Tags registrados en el NE 1 S. Middleware de comunicaciones FINS/CIP
Tag Datalinks con Compolet
Tag Datalinks – Configuración • Los Tag Data Links del SYSMAC Gateway se configuran con la misma herramienta (Network Configurator) que para los Data Links del PLC. • Las variables Tag Data Link se escriben en el PC en la Event. Memory (EM) – Las EMs por Defecto son CIO (32 K words) y DM (32 K words) – Descargar como se haría con un PLC.
Tag Datalinks – Configuración 2 • Utilice el ‘Ethernet/IP Datalink Wizard’ para un mapeo rápido y fácil de datos entre el PLC(s) y SYSMAC Gateway Configuración del PLC Configuración del PC
Tag Datalinks – Configuración 3 • Verifique su funcionamiento utilizando CX-Programmer (PLC) y Memory Monitor (PC) Escritura Lectura Escritura
Acceso a los datos de los Tag Datalink en Aplicaciones. Net • Use el Control del FGW Em. Memory Control en Form – Inicializar – Acceso a memoria – Ejecutar código Leer CIO 1000
Publicación de datos en Red (Variables de red)
Variables de red. • Publicar variables desde el PLC y el acceso a través de los nombres de símbolos definidos en PLC. • El usuario no necesita saber dónde se almacenan los datos en el PLC.
Cx-Programmer - Definición de Variables de ‘Red’ Parte importante Tener en cuenta se puede utilizar Auto Asignación de Direcciones (No nos importa donde están los datos en el PLC)
Cx-Programmer - Usando Variable de ‘Red’ Icono mostrado en los símbolos de red
Control Cx-Compolet (CJ 2 Compolet) • Entorno de trabajo del Visual Basic. • Muestra – Form – Controles usados en la Aplicación
Control Cx-Compolet (CJ 2 Compolet) ¿Con quien habla?
Cx-Compolet (CJ 2 Compolet) Accediendo a Variables por nombre en. Net • Usar el Control CJ 2 Compolet – Inicializar – Acceder Poner el nombre de las variables, tal como fue definido en la tabla de simbolos del PLC! • Si no conocen los nombres de variables definidas, utilice 'CJ 2 Compolet 1. Variables' para averiguar qué variables están disponibles.
Cx-Compolet (CJ 2 Compolet) Accediendo a Variables por nombre en. Net • Funcionamiento simple. Ejecutando el código en el PC ¿Que hay en el PLC?
Acceso Directo a datos del PLC
Cx-Compolet (CJ 2 Compolet) Accediendo a datos directamente • Acceso usando Misma dirección que el PLC • Ejecutar código • Datos en el PLC – También esta disponible la lectura de bloques de datos (arrays), recomendado para mejor rendimiento.
Consejos y Sugerencias
Consejos y Sugerencias • Tag Data Links son bloqueados por algunas VPN (IGMP multicast) – La VPN de OMRON (AT&T) bloquea los Tag Datalinks cíclicos; aunque ‘los mensajes explícitos’ (CJ 2 Compolet) siguen trabajado. • CJ 2 M-CPU 3 x – Tag Data Links • Use data links para la actualización rápida de la información de control • Usar arrays en los símbolos de Red para obtener grandes cantidades de datos. • Tag Data Links – En redes grandes, asegurarse de utilizar Switchs Ethernet gestionados de Capa 4 para dirigir los paquetes de IGMP. – Tener en cuenta que los cortafuegos bloquean los datos.
Consejos y sujerencias • Consola SYSMAC Gateway – Es necesario tener derechos de administrador para utilizar la Consola de SYSMAC Gateway. • La programación en PC es necesaria – Para su uso es necesario VB. Net, C#, etc. (Framework. NET)
¿ Preguntas?
Librería Fins. Gateway. NET
Librería. NET • Librería Fins. Gateway. NET – Está diseñada para ser la base para el desarrollo de aplicaciones Fins. Gateway, sobre la plataforma Microsoft. NET Framework. – La librería de clases Fins. Gateway. NET ofrece los servicios para el Fins. Gateway como: • Enviar / Recibir mensajes de ALERTAS, • Lectura / escritura del Event. Memory, etc. – Name. Space (Espacio de nombres) • Los siguientes Name. Spaces están disponibles en la librería de clases Fins. Gateway. NET: – – – OMRON. Fins. Gateway. Messaging OMRON. Fins. Gateway. Event. Memory OMRON. Fins. Gateway. Service OMRON. Fins. Gateway. Name. Space
Librería. NET • Librería Fins. Gateway. NET – OMRON. Fins. Gateway • Incluye los tipos de datos del PLC y clases de conversión de tipos de datos. – OMRON. Fins. Gateway. Messaging • Incluye las clases para realizar comunicaciones con mensajes FINS. – OMRON. Fins. Gateway. Event. Memory • Permite acceder a una zona de memoria donde los datos pueden ser compartidos entre las aplicaciones y se puede envían notificaciones por eventos.
Librería. NET • Librería Fins. Gateway. NET – OMRON. Fins. Gateway. Service • Incluye las clases para operar con los servicios del Fins. Gateway y obtener datos de estado. – OMRON. Fins. Gateway. Name. Space • Se trata de un repositorio (estilo datos del cliente / servidor) con una estructura de árbol para permitir la gestión de etiquetas en general. • Cuando se utiliza OMRON. Fins. Gateway, OMRON. Fins. Gateway el OMRON. Fins. Gateway. Name. Space se utiliza sobre todo para la configuración del dispositivo.
Librería. NET • Librería Fins. Gateway. NET Imports OMRON. Fins. Gateway. Event. Memory Dim location As Integer = 0 Dim memory As Memory = New Memory("DM") memory(1) = memory(0) memory(0, 1) = memory(0, location) memory(0, Byte. Location. Type. High) = memory(0, Byte. Location. Type. Low) memory(1, Factor. Type. Factor. Dword) = memory(0, Factor. Type. Factor. Dword)
Librería. NET • Librería Fins. Gateway. NET Imports OMRON. Fins. Gateway. Messaging. FINS • Librería Fins. Gateway. NET Dim port As New Port() port. Open("sample") Dim send. Header As New Fins. Head() send. Header. Compose(Fins. Address. Get. Fins. Address("0. 0. 0"), -1) Dim command As New Fins. Command. Message("0501") port. Send(send. Header, command. Get. Bytes(), command. Length) Dim receive. Header As Fins. Head Dim receive. Data() As Byte port. Receive(receive. Header, receive. Data, -1) Dim response As New Fins. Response. Message(receive. Data) Console. Write. Line("Response. Code: " + response. End. Code. To. String("X")) Console. Write. Line("Error. Message: " + response. Response. Message) Console. Write. Line("Response: " + response. To. String())
Librería. NET • Librería Fins. Gateway. NET Imports OMRON. Fins. Gateway. Service Dim service As New Service("CPU_UNIT") If service. Status = service. Status. Stopped Then service. Start() Else service. Stop() End If Imports OMRON. Fins. Gateway. Service Dim servicename As String For Each servicename In Service. Control. Manager. Get. Instance(). Service. Names Console. Write(servicename + ", ") Next
Librería Fins. Gateway Compolet
Librería. NET • Librería Fins. Gateway Compolet – Fins. Gateway Compolet proporciona Framework. NET para el uso de Fins. Gateway. – El uso principal de Fins. Gateway está en enviar/recibir mensajes FINS, lectura / escritura de Event. Memory, etc. – Namespace • Definen un espacio de nombres OMRON. Compolet. Fins. Gateway, OMRON. Compolet. Fins. Gateway que proporcionan las siguientes clases: – – – Fins. Msg Em. Memory Em. Event Em. Condition Fgw. Scm
Librería. NET • Librería Fins. Gateway Compolet – Name. Space • Fins. Msg – Comunicaciones con mensajes FINS. • Em. Memory – Lectura/Escriture de Event. Memory. • Em. Event – Envío/Recepción de eventos Event. Memory. • Em. Condition – Operaciones condiciones de eventos Event. Memory. • Fgw. Scm – Este componente maneja y administrar los servicios del Fins. Gateway.
Librería. NET • Librería Fins. Gateway Compolet – Envía el comando FINS 0501, obteniendo la respuesta en una tabla de bytes y visualizando la dirección FINS origen y los datos en Label 1. Dim Dim Dim ret. Byte() As Byte net As Short node As Short unit As Short cnt As Integer Fins. Msg 1. Send. Fins. Command("0501") ret. Byte = Fins. Msg 1. Receive. Message(net, node, unit) Label 1. Text = "Fins Address : " & net & ". " & node & ". " & unit & vb. Cr. Lf For cnt = 0 to ret. Byte. Length -1 Label 1. Text = Label 1. Text & Hex(ret. Byte(cnt)) & " " Next
Librería. NET • Librería Fins. Gateway Compolet – El siguiente ejemplo lee del DM 0 al DM 9 del Event. Memory «DM» y los visualiza en Label 1 Dim ret. Arr() As Integer Dim cnt As Integer Em. Memory 1. Memory. Name = "DM" ret. Arr = Em. Memory 1. Read. Word(0, 10, False) Label 1. Text = "" For cnt = 0 To ret. Arr. Length - 1 Label 1. Text = Label 1. Text & Hex(ret. Arr(cnt)) & " " Next
Librería. NET • Librería Fins. Gateway Compolet – El siguiente codigo envia el evento ‘test. Port’ cuando Button 1 es pulsado, y ejecuta una operación de recepción asincrona. El timeout es configurado a 3 segundos, y los datos recebido son formateados como un string, "aaa". El handler del evento de recepción visualiza los datos recibidos en Label 1. Private Sub Button 1_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Button 4. Click Em. Event 1. Send("test. Port", CLng(0), "11112222") Em. Event 1. Async. Receive(3000, "aaa") End Sub Private Sub Em. Event 1_Received(By. Val sender As Object, By. Val e As OMRON. Compolet. Fins. Gateway. Receive. Em. Event. Args) Handles Em. Event 1. Received Dim cnt As Integer Dim data. String As String For cnt = 0 To e. receive. Data. Length - 1 data. String = data. String & Hex(e. receive. Data(cnt)) & " " Next Label 1. Text = data. String End Sub
Librería de clases SYSMAC Gateway. NET
Librería. NET • Librería de clases SYSMAC Gateway. NET – Esta biblioteca de clases ofrece servicios para enviar / recibir mensajes mediante el Common Industrial Protocol (CIP). – Las clases de comunicaciones de mensajes explícitos son los siguientes: • CIPMessage • Route. Path • CIARequest. Path
Librería. NET • Librería de clases SYSMAC Gateway. NET – Las clases de comunicaciones de mensajes explícitos son las siguientes: • CIPMessage – Proporciona servicios de comunicación de mensajes con el protocolo explicito de CIP. • Route. Path – Muestra la trayectoria de la ruta al dispositivo de destino. • CIARequest. Path – Contiene la ruta de solicitud al objeto CIP de destino.
Librería. NET • Librería de clases SYSMAC Gateway. NET Imports OMRON. CIP. Messaging Module 1 Sub Main() Dim cip As CIPMessage = New CIPMessage("sample") Try ' connect to node. Dim route. Path As Route. Path = OMRON. CIP. Route. Path. Parse("2%10. 145. 681%0") Dim connection. ID As Int. Ptr = cip. Open. Connection. Explicit(CIPMessage. Type. UCMM, Route. Path, 5000) Dim service. Code As Byte = &H 1 ' Get Attribute All Dim class. ID As Integer = &H 1 ' Class ID. 1=Identity Object Dim instance. ID As Integer = &H 1 ' Instance ID Dim attribute. ID As Byte = &H 0 ' Attribute ID Dim send. MID As Long ' send message ID send. MID = cip. Send. Request. Explicit(connection. ID, service. Code, class. ID, instance. ID, attribute. ID, Nothing, 0) ' send request message Dim recv. MID As Long ' recieve message ID Dim resp. Header As Response. Header = Nothing ' response header Dim timeout As Long = 5000 ' timeout milliseconds Dim data As Byte() ' receive data Do data = cip. Receive. Explicit(recv. MID, resp. Header, timeout) ' recieve response message Loop While (send. MID <> recv. MID) ' dump Console. Write. Line(Bit. Converter. To. String(data)) Catch exp As Exception Console. Write. Line(exp. Message) End Try End Sub End Module
Librería de clases SYSMAC Compolet. NET
Librería. NET • Librería de clases SYSMAC Compolet. NET – Son un conjunto de componentes de software. – Proporcionan a las aplicaciones la funcionalidad para simplificar el acceso y la manipulación de PLCs de las series SYSMAC C/CV/CS/CJ, que están conectados al ordenador. – Utiliza el protocolo FINS para las comunicaciones con los PLCs.
Librería. NET • Librería de clases SYSMAC Compolet. NET – Las clases del SYSMAC Compolet están definidas dentro del Name. Space OMRON. Compolet. SYSMAC, OMRON. Compolet. SYSMAC y son las siguientes: • • Sysmac. CV Sysmac. CS Sysmac. CJ
Librería. NET • Librería SYSMAC Compolet. NET With Sysmac. CJ 1. Set. Peer. Address(1, 2, 0) End With Dim write. Data(3) As Integer write. Data(0)=1111 write. Data(1)=2222 write. Data(2)=3333 write. Data(3)=4444 Dim res. String As String res. String = Sysmsac. CJ 1. Execute. Fins. Service("0501") Sysmac. CJ 1. Write. Memory("DM", 0, write. Data) Dim ret. Int(9) As Integer Dim ch As Integer ret. Int = Sysmac. CJ 1. read. Memory(Sysmac. CJ 1. Memory. Types. DM, 0, 10, False) ch = ret. Int(2)
Librería SYSMAC CJ 2 Compolet. NET
Librería. NET • Librería SYSMAC CJ 2 Compolet. NET – Es una clase especifica para los PLCs de la serie CJ 2. – Las clases del SYSMAC CJ 2 Compolet es una clase derivada de la clase de propósito general CIPPlc. Compolet (OMRON. Compolet. CIP) – Utiliza el protocolo CIP las comunicaciones con los PLCs. – Permite el acceso a todas las áreas del PLC y al manejo de los Tags definidos en este.
Librería. NET • Librería SYSMAC Compolet. NET CJ 2 Compolet 1. Use. Route. Path = false CJ 2 Compolet 1. Peer. Address = "192. 168. 250. 1" CJ 2 Compolet 1. Local. Port = 2 CJ 2 Compolet 1. Active = true CJ 2 Compolet 1. Use. Route. Path = true CJ 2 Compolet 1. Route. Path = "2%192. 168. 250. 11%182%10. 145. 821%0“ CJ 2 Compolet 1. Active = true Dim write. Data (2) As Integer write. Data (0) = 1000 write. Data (1) = 2000 CJ 2 Compolet 1. Write. Variable ( "Total. Counts", write. Data ) Dim val As Object val = CJ 2 Compolet 1. Read. Variable ("Total. Counts[1]") Text. Box 1. Text = val. To. String () Dim ret. Str As String ret. Str = CJ 2 Compolet 1. Read. Memory(CJ 2 Compolet. Memory. Types. DM, 0, 10, True)
Librería Variable Compolet. NET
Librería. NET • Librería de clases Variable Compolet. NET – Variable Compolet es el componente que lee/escribe las variables registradas en el SYSMAC Gateway. – La funcionalidad de Tag Data Link de Ether. Net/IP puede ser usada para cargar datos de PLC en el ordenador y despues es posible leer los datos con las variables. – Este componente también puede controlar los cambios en los valores de esas variables y recibir notificaciones de cambios. • Con esta funcionalidad, las aplicaciones pueden ser programadas para leer el valor de la variable cada vez que cambia.
Librería. NET • Librería de clases Variable Compolet. NET – Las clases del Variable Compolet es una clase derivada de la clase de propósito general CIPPlc. Compolet (OMRON. Compolet. CIP) – El Name. Space OMRON. Compolet. CIP proporciona la siguiente clase: • Variable. Compolet
Librería. NET • Librería de clases Variable Compolet. NET Dim val As Object val = Variable. Compolet 1. Read. Variable ("Count") Text. Box 1. Text = val. To. String () Variable. Compolet 1. Write. Variable ("Count", 1234) Dim write. Data (2) As Integer write. Data (0) = 1000 write. Data (1) = 2000 Variable. Compolet 1. Write. Variable ( "Total. Counts", write. Data ) Dim t. Info As Variable. Info t. Info = Variable. Compolet 1. Get. Variable. Info("var 1") Console. Write. Line("Name = " + t. Info. Name. To. String()) Console. Write. Line("Type = " + t. Info. Type. To. String()) Console. Write. Line("Is. Array = " + t. Info. Is. Array. To. String())
Librería. NET • Librería de clases Variable Compolet. NET Private Sub Button 1_Click (By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Button 1. Click Dim event. ID As Integer Dim variable. Name As String variable. Name = "Variable 1" event. ID = 100 Variable. Compolet 1. Set. Event (variable. Name, event. ID) Variable. Compolet 1. Window. Handle = Me. Handle Variable. Compolet 1. Active = True End Sub Private Sub Variable. Compolet 1_Changed (By. Val sender As Object, By. Val e As System. Event. Args) Handles Variable. Compolet 1. Changed Dim event. ID As Integer Dim variable. Name As String Dim ret As Object Variable. Compolet 1. Recive. Event (variable. Name, event. ID, 1000) ret = Variable. Compolet 1. Read. Variable (variable. Name) Me. Text. Box 1. Text = ret. To. String () End Sub
Librería. NET • Thread-safe – Todos los miembros públicos estáticos, pueden usarse con seguridad en las operaciones multi-hilo. – Los miembros de instancias no son seguros para subprocesos. – Si se utiliza las clases que no son seguras para subprocesos en un entorno multi-hilo, las instancias de la clase debe ser envueltas con un código que ofrezca la estructura de sincronización necesaria.
¡¡¡ Gracias por la atención !!! Antonio Cambronero Berlanga Product Engineer, PLCs & Networking & Software. OMRON Electronics Iberia, S. A. U.
- Slides: 80