# Diseñar un servidor OPC para monitorear y controlar un PIC



## ServidorOPC (Abr 29, 2009)

Hola a Todos


El asunto es diseñar un Servidor OPC propio, mediante programacion en visual basic para luego comunicarlo con un microcontrolador PIC.

Bueno en realidad ya tengo avanzado el tema, a todos los interesados en este tema les deseo compartir mi experiencia.

Al final utilizaré Wonderware Intocuh 10.0 para monitorear y controlar las señales.


----------



## ServidorOPC (May 1, 2009)

Como diseñar un Servidor OPC mediante el control Active X SLIK-DA

http://www.softwaretoolbox.com/vbopcservers/tutorial.htm

Aparte les dejo unos archivos interesantes sobre la tecnologia OPC.


----------



## José M. Rodríguez S. (Jun 7, 2009)

Hola a todos, este servidor OPC para PIC lo pueden encontar como referencia en el siguiente link: 
http://www.roso-control.com/Espanol/iLOADER/iLOADER.htm
Al mismo tiempo de ser un servidor OPC, se puede utilizar como Hyperterminal y como osciloscopio de 8 canales. Bueno es sólo una referencia. Saludos a todos.


----------



## ServidorOPC (Jun 9, 2009)

Muy bueno tu aporte José, una consulta o mejor 2 consultas:

En que lenguaje esta implementado el Servidor OPC?

Como lo implementaste hiciste tu propio .dll o control ActiveX que tuviera las especificaciones OPC, o usaste de algun tercero como "Wintech", "Northerm Dynamic", etc.


----------



## pchevriere (Nov 17, 2009)

Hola, estoy intentando controlar un PIC desde un sistema SCADA realizado con InTouch. Ya tengo implementado el código del PIC y he conseguido que envíe el estado de las I/O via UART a solicitud del Hyperterminal. 

Sin embargo, no se como enlazar el PIC con InTouch. He leido que tengo que realizar un programa en Visual Basic que me sirva de servidor pero la verdad es que no tengo mucha idea. ¿Alguien puede echarme un cable?

Saludos.


----------



## ServidorOPC (Dic 16, 2009)

Yo lo realice de la siguiente forma implemente en visual basic un Servidor OPC que realize dos funciones:

1.- Leer/escribir datos al PIC, solo discretas por momento(bits )

2.- Leer/escribir datos al Scada, mediante OPC tags.

Como realizarlo:

Primero tendrias que crear un protocolo de comunicacion entre el PIC y un lenguaje de comunicacion de PC(yo usé Visual basic 6.0, porque es un facil programar alli, es mas realice el protocolo sin saber nada de visual basic).

Por ejemplo: Hacer un programa en Visual basic para Leer RB0,RB1,RB2,RB3.RB4,RB5,RB6 y RB7.......y escribir las salidas RD0-RD7 individualmente.

Escribir Entradas(Botones)         Leer Salidas(Visualizadores)
[RB0]                                     RD0    [       ]
[RB1]                                     RD0    [       ]
[RB2]                                     RD0    [       ]
[RB3]                                     RD0    [       ]
[RB4]                                     RD0    [       ]
[RB5]                                     RD0    [       ]
[RB6]                                     RD0    [       ]
[RB7]                                     RD0    [       ]

Segundo comunicar la aplicacion desarrollada en visual basic(servidor opc), con cualquier Scada incluyendo Intouch, es mucho mas facil.

Pero todo tiene un orden hay que resolver primero lo primero, chequea esta web:

http://www.proteus.110mb.com/Simulaciones_compim_Visual_Basic_p1.html

te despejara muchas dudas, necesitaras el virtualserialport, ya sabras porqué 

http://www.todopic.com.ar/foros/index.php?topic=19143.0;do=Bookmark

Avanza con esto y seguimos en contacto con lo del OPC!!


----------



## zorro31 (Ene 27, 2010)

Hola ServidorOPC, yo estoy intentando desarrollar un servidor OPC para pics, ya tengo todo (con el puerto serial y proteus) en el VB con variables, me podrias ayudar a programar el Servidor OPC en el VB6? o pasarme algun documento para leer (español o ingles). Te agradezco de antemano.

Saludos Cordiales

José Carlos
http://www.instrumentacionycontrol.net


----------



## manzanita (Feb 10, 2010)

Hola ServidorOPC,

Lo primero muchas gracias por tu explicación, me ha salvado la vida.

¿Sabrías como enlazarlo con el Monitor Pro? 

Soy nueva en esto y ando bastante perdida. 


Muchisimas gracias por adelantado,


Manzanita


----------



## ServidorOPC (Abr 7, 2010)

Para zorro31

En este link explican como desarrollar un Servidor OPC en Visual Basic 6.0, gracias a un control activeX "SLIK-DA"que esa empresa desarrollo  

http://www.softwaretoolbox.com/vbopc...s/tutorial.htm

En una parte del link, explican como añadir  dicho control, el cual no estará presente sino instalar el siguiente software Slik-DA v4.02

http://www.nordyn.com/Main/Products/SLIKDA/SLIKDA_DemoConfirm.htm

ah disculpen que haya desantendido el foro estaba algo ocupado terminando mi proyecto Tesis.

Para manzanita,

No he trabajado con el Monitor Pro, pero si lo que deseas es comunicarlo con cualquier Servidor OPC, ese software debe poseer un driver de comunicacion especico para el estandar OPC. Si detallas mejor lo que deseas te podria ayudar mejor.

En este documunto indican como integrar un Servidor OPC a Monitor Pro.

http://v1.graybar.com/automation/ga...itor Pro/Getting_Started_with_Monitor_Pro.pdf

La empresa Wintech en su pagina Web dispone de mucha informacion de Servidores y clientes OPC. Se puede descargar software demos para realizar las conexiones OPC.

http://www.win-tech.com/html/opc.htm


----------



## djxero (Jul 7, 2010)

Que buen tema 
Se me ocurre   recivir los datos por medio de VB 6.O guardar estos datos en una Base de datos y de es base extraer los valores al hmi.... 
Voy a instalar algun hmi para hacer pruebas


----------



## elvicus (Ago 4, 2010)

Aun siguen viendo este tema??? estoy muy interesado en controlar pics usando un sistema SCADA, por favor alguien me puede hechar una mano??? y me pueda explicar maso menos que es lo que se necesita. Gracias!


----------



## djxero (Ago 4, 2010)

Elvicus  yo estoy desarrollando  lo que necesitas  
aka
https://www.forosdeelectronica.com/f26/intouch-v-10-0-pic-1677a-39894/
saludos


----------



## ServidorOPC (Ago 15, 2010)

Ya termine este proyecto hace algun tiempo, fue mi tema de Tesis. 
Cualquier consulta que tengan los puedo ayudar sin ningun problema
sobretodo en el manejo de Intouch y visual basic.


----------



## gmondrax (Ago 16, 2010)

ServidorOPC dijo:


> Ya termine este proyecto hace algun tiempo, fue mi tema de Tesis.
> Cualquier consulta que tengan los puedo ayudar sin ningun problema
> sobretodo en el manejo de Intouch y visual basic.



Yo estoy tratando de comunicar un PLC allen bradley con el intouch, pero no he tenido exito.
Estoy utilizando  Kepserver, ya cree los tags y todo para estar bien, pero cuando corro la aplicacion en "windows Viewer" no hace nada, es como si no se comunica con el PLC. No se que sera..!! Seria de gran ayuda tu consejo hermano. este es mi correo 







Gracias por la ayuda de antemano.


----------



## djxero (Ago 16, 2010)

servidor opc que protocolos de comunicacion  utilizaste  yo de monento por DDE  anda sin problemas.pero me gustaria impementar un protoclo mas industrial.
saludos.


----------



## ServidorOPC (Ago 18, 2010)

Respuesta sobre comuniacion Intouch Allen Bradley

http://www.infoplc.net/foro/showthread.php?t=13

http://www.infoplc.net/Enlace/Doc_SCADA/Intouch/infoPLC_net_Inicio_Intouch_FSGateway.html

KepserverEx es un Servidor OPC e Intouch posee un cliente llamado FactorySuiteGateway que lo puedes encontrar en el CD Device Integration II de Pack Wondeware.


Respuesta sobre OPC/DDE y protocolos industriales.


Yo use la libreria http://www.nordyn.com/Main/Products/SLIKDA/SLIKDA_DemoConfirm.htm
que implementa el protocolo DDE/OPC.

Pero tambien pueden implemtarse protocolos industriales como Modbus RTU(Modicom) y PPI,MPI, Profibus (Siemens). Entonces para Intouch el uPIC seria un esclavo Modbus, la info respecto a este tema en la WEB es abundante, no siendo asi el caso de siemens por ser propietario pero si mal no recuerdo por ahi encontre un manual con las tramas de PPI.


Espero haber colaborado.


----------



## elvicus (Ago 18, 2010)

Si estas usando allen bradley, porque no usas las herramientas de rockwell, osea el RSlinx(para establecer la comunicacion PLC compu), RSlogix(para hacer la programacion del PLC), si necesitas ayuda avisame


----------



## ElectricJaZZ (Ago 22, 2010)

Hola, no me quedo muy claro como trabaja el visual basic con proteus y el virtual serial port, tienes algún tutorial por ahi???
 Quiero hacer un control PID de temperatura, la cual será recogida por un microcontrolador pic 16f877A, y enviarla a un OPC hecho en Visual... sabes si estos datos pueden ser enviados a KepServer y visualisados en INfilink???
Estoy en etapa de creacion y simulacion para mi proyecto de electronica.
De antemano Muchas Gracias.....


----------



## ServidorOPC (Ago 24, 2010)

El programa VirtualSerialPort una la de las funciones que tiene es crearte un null-modem
virtual, como es esto:

POR EJEMPLO:
Fisicamente posees un COM1 COM2

el VirtualSerilPort te crea un COM3 y COM4 cruzado y entonces

             1.- EN proteus al COMPIN asignas COM3
             2.- Al Visual Basic asignas el puerto COM4.

Y Bingo se comunican!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


----------



## djxero (Ago 24, 2010)

creo k con dll  se complika la cosa  yo use  directamente DDE  desde Vb y ANDUBO 100%  en visual basta con crear la rutina de comunicacion serial  o usb  y listo  funka de una  pero me gustaria hacerlo mas industrial esta cosa.
saludoss..


----------



## jokelnice (Sep 7, 2010)

huy hola colegas que bueno encontrar sitios como estos , les comento que estoy haciendo algo parecido   la idea , esta centrada en el uso de plc , microcontroladores , servidores opc , sistemas scada entre otros , pero claramente todavia no he definido en concreto que se pueda realizar aceptaria algun consejo de nuestro amigo  

@servidoropc
y ademas si me podria colaborar en la programacion de los plc , espero acompañarlos y aportar cosas

basicamente les comento a diferencia de ustedes yo hice la comunicacion usb .. aqui un post 
https://www.forosdeelectronica.com/f26/usb-labview-entre-otros-18338/
y mi proyecto fue una comunicacion cliente servidor con ayuda de "winsock"  donde habia una especie de mini targetas de adquision por USB desarrolladas con un micro  que eran controladas por equipos clientes estos enviaban los datos a un servidor general donde se podia observar y controlar dichas salidas o entradas de las targeticas ........... entonces la idea es agrandar el proyecto y presentarlo como ocpion de grado para lo cual me gustaria entrar en el tema de plc sistemas scada etc...... bueno pues le queria comentar esto si se puede ayudar en algo con gusto


----------



## ServidorOPC (Sep 29, 2010)

jokelnice,

Realmente es muy interesante lo que estas haciendo!!!!!!!!!

Bueno la idea de hacer que un PIC tenga comunicacion OPC, es  integrarlo a una red industrial. Se me ocurre, monitorear las señales desde un SCADA (cualquiera) a un PLC 
de Siemens y el microcontrolador., todo por OPC.

Programar un PLC es muy sencillo, he trabajado con PLC de Siemens, Allen Bradley y GEFanuc.

Como ya sabras el SCADA se comporta como Cliente OPC que se conectará a:

   1.- Tu servidor OPC creado (para el PIC)
   2.- KepserEX (es un servidor OPC muy popular que se conecta a muchos PLC)
   3.- OPCAccess V1.0 (Servidor OPC de Siemens para PLC S7-200)
   4.- Etc, etc,...............

Si tienes un PLC a  la mano por ahi podemos comenzar. Voy a tratar de realizar videotutoriales demostrativos.

Saludos


----------



## elvicus (Sep 29, 2010)

Muchas gracias por sus aportes, en verdad son de gran ayuda. 
bueno hubo un cambio en mi proyecto, ahora estoy realizando un modulo de control industrial con un PLC, quisiera saber si esta informacion me servira para comunicar un PLC con visual basic, y a traves de visual basic desarrollar un sistema scada, gracias por su tiempo. saludos


----------



## ServidorOPC (Oct 1, 2010)

elvicus,

Como me gustaria tener mas tiempo para dejar volar mi imaginación!!!!!

Lo que tienes que hacer ahora no es un ServidorOPC sino un ClienteOPC.

Por ejemplo: El PLC Siemens se puede conectar directamente a KepSerEX o PCAccess
                 (ambos servidores OPC), 

                 el trabajo sería realizar  el Cliente OPC con visual basic y
                 tambien las Pantallas.

Voy a investigar más del Tema de como desarrollar este Cliente.


----------



## elvicus (Oct 1, 2010)

Muchas gracias por tu interes en ayudarme, tambien buscare informacion sobre el tema, facil al final hacemos un recopilatorio de info para la gente interesada =D


----------



## ahenriqu3 (Nov 8, 2010)

hola amigo @servidoropc, la presente era para pedirle ayuda mi proyecto consiste en integrar un plc siemens s7-300 por medio de un servidor OPC a Labview, si me puedes ayudar en alguna documentacion referente a esto de mil maneras te lo agradeceria..

Alexander Henriquez


----------



## ServidorOPC (Dic 1, 2010)

Hay dos formas de hacerlo que conozco:

1.- Usar Kepserver Enterprise:

El problema con este metodo es que solo puede usar el 
cable RS232-MPI ya que solo te da la opcion por puerto serial.

2.- Usar Simatic Net OPC Server.

Lo puedes conectar atraves de una Red TCP/IP.

Aqui te dejo unos link entre manuales y software`s

http://support.automation.siemens.com/ES/llisapi.dll?func=cslib.csinfo&objId=10118401&nodeid0=10805148&load=content&prodLstObjId=25330824&prodLstStart=11&prodLstSort=%2DMLFBSTR&subtype=133100&lang=es&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=ES

http://www.filecatch.com/?x=1&q=KepServer

http://www.filecatch.com/?x=1&q=Simatic+Net+OPC

http://forums.ni.com/t5/Discusiones...ion-con-PLC-Step7/m-p/595838?query.id=1462952

Lo primero que tienes que definir es que medio fisico
usaras para conectar el PLC S7-300 con Labview.

Cable USB-MPI
Cable RS232-MPI
Cable ethernet.

Por otro lado es posible que Labview siendo un software conocido
posea drivers de comunicacion con el PLC S7-300.


----------



## kike84 (Ene 27, 2011)

Servidor OPC 
Leyendo en estos foros me he dado cuenta que es usted un buen conocedor del tema.

es por esto que acudo a usted con la misma pregunta que han hecho los anteriores ponentes debido a quemi proycto tambien trata de la comunicacion de labview con un PLC SIEMENS315F-2 PN/DP agradeceria muchisimo una respuesta gracias.


----------



## MECALCO (Mar 22, 2011)

hola soy nuevo aca y pues no se mucho como se usa foros en fin.

mi maestro me pidio que realizara un proyecto en el cual usara un pic16f84 y por dar un ejemplo  que encienda  un 5 led amarillos y 5 rojos y en la pc yo pueda ver y monitorear lo que estoy haciendo pero para empezar no se ni en que programa puedo hacer eso de que si prende fisicamente el pic me de la señal de que esta encendido. 

espero y me entiendan lo que necesito y me puedan ayudar.  gracias


----------



## zitonguito (Mar 28, 2011)

> hola soy nuevo aca y pues no se mucho como se usa foros en fin.
> 
> mi maestro me pidio que realizara un proyecto en el cual usara un pic16f84 y por dar un ejemplo que encienda un 5 led amarillos y 5 rojos y en la pc yo pueda ver y monitorear lo que estoy haciendo pero para empezar no se ni en que programa puedo hacer eso de que si prende fisicamente el pic me de la señal de que esta encendido.
> 
> ...



Creo que no es el lugar para tu pregunta pero comienza por aprender el set de instrucciones de este pic y descarga el MPLab que es el entorno para programar estas cosas


----------



## MECALCO (Mar 29, 2011)

zitonguito dijo:


> Creo que no es el lugar para tu pregunta pero comienza por aprender el set de instrucciones de este pic y descarga el MPLab que es el entorno para programar estas cosas



ok gracias zitonguito ya descarge el mplab  y el proteus que es donde debo simular el pic  y  pues no se en que foro o tema pueda continuar para aprehender y seguir con el tema de mi proyecto ¿en donde publico mi problema?


----------



## zitonguito (Mar 30, 2011)

> ok gracias zitonguito ya descarge el mplab y el proteus que es donde debo simular el pic y pues no se en que foro o tema pueda continuar para aprehender y seguir con el tema de mi proyecto ¿en donde publico mi problema?



Bueno no soy moredaror ni mucho menos, pero creo que basado en las necesidades de tu proyecto podrias ya sea buscar o postear tu tema en la seccion Electronica Digital -> Interfaces y Programacion, encajaria mucho mejor el tema.

Saludos


----------

