TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: kuauhtemok en 19 de Diciembre de 2005, 13:33:00
-
Hola amigos aqui molestandolos otra vez...
Tengo que implementar el Protocolo DNP3 en un dispositivo RTU.
EL RTU no es mas que un sistema de adquisicion de datos (temperatura) con un PIC como microprocesador.
Pero el problema esta en que necesito implementar el DNP3 en este dispositivo para su comunicacion..
con un sistema SCADA.
Pues bien en estos momentos me encuentro leyendo toda la info (q es demasiada) acerca de este protocolo, pero aun no he podido aterrizarla.. 
Y si alguien ha trabajado con este protocolo y si de casualidad lo ha implementado en Pic´s...
pues me serviria de mucho si me puede decir si:
¿ se puede implementar el DNP3 en un PIC ?
¿ Cuales son las consideraciones basicas para lograr la implementacion en un PIC ?
Espero que alguien haya trabajado con este protocolo...
Agradeciendo de antemano.
GRACIAS !
-
Hola:
Te comento: DNP3.0 es un protocolo muy complejo de implementar .Las razones son varias: el hecho de mandar aunque sea un solo dato genera una serie de transacciones bastante complejas ,no hay herramientas libres para ensayar comunicaciones y las que hay son costosas. Información solo en ingles y dificil de conseguir (los manuales del protocolo se llaman basic4 ,pero se encuentran disponibles en la web de DNP solo para socios).
Pero teniendo mucha dedicación y tiempo puede implementarse en un pic.-
¿Que scada usarás de master? ¿Necesariamente tiene que ser en DNP?
Seguramente no vas a encontrar muchas respuestas a tu pregunta porque este protocolo es casi solo usado por grandes compañias de electricidad.-
Saludos
Jorge
-
Gracias por contestar Jorge...
Efectivamente es muy dificil la implementacion de este protocolo... yo ya tengo toda la informacion acerca del DNP3 (todos loas basic4) y ademas tengo las herramientas para ensayar comunicaciones (Citect). EL tiempo al parecer lo tendre... pero la paciencia para estar haciendolo
espero no volverme medio loco

Como comento estoy leyendo toda la info para poder hacer algo...
De master es una estacion PC que al parecer usa Layer 3 (q para colmo es la mas compleja layer de DNP3)
Bueno exactamente es para una aplicacion de Transformadores de subestaciones electricas ya que el DNP3 se convertira muy pronto en el estandar para las comunicaciones.
Afortunadamente encontre un distribuidor de protocolo Serial a DNP3
www.protocessor.com
Lo puedo conectar directo del puerto serial del PIC y por lo que he leido es muy facil adaptarlo
¡MAGNIFICO!
Pero lo malo es que cuesta $200 dolares mas envios, impuestos, etc cada uno.
Y solo implementa la Layer 1...
Bueno gracias por tu apoyo Jorge...
Si alguien tiene mas comentarios les agradecere !!
SALUDOS !! 
-
Hola:
Estuve viendo los procesadores que comentas y es cierto ,son bastante caros para soluciones masivas y tambien caros si quiero comprar uno a nivel particular ,pero si me interesa a nivel empresa no me parecen caros.-
Con respecto a las herramientas ,yo me referia a analizadores de protocolos y simuladores master y esclavo como para analizar tramas, entiendo que citect es directamente el scada.-
Tu idea es medir la temperatura de un trafo de potencia por lo que me parece ,bueno ,de ser asi debe estar en una estación transformadora y a su vez en la estacion debe haber una RTU ¿es este el esquema?.-
Saludos
Jorge
-
Pues al parecer ya estoy a un 99 % de que mejor compremos el Protocessor.
¡ MAGNIFICO !
Es a nivel empresa.... creo que si lo vamos a comprar.
El esquema es en el Trafo tener un IED (Inteligent Electronic Device)
Y en la estacion es una PC que supervisa las temperaturas y alarmas... etc. Se puede decir que es el Master. Su pongo que esta conectada a una Red
Los analizadores de protocolos son los de http://www.imperioustech.com/
Solo que esos no los he conseguido y creo que voy a bajar los demos... No se si conoscas algun simulador y / o analizador que me peudas recomendar...
Saludos Jorge 
-
Bueno, no es el esquema al que estamos acostumbrados. Normalmente nosotros tenemos RTU en cada estacion transformadora y estas se comunican con un centro de control que tiene el scada.-
Las rtu a su vez consultan los datos a los ied en distintos protocolos (modbus,courier,procomm,etc) los concentran en su base de datos y los transmiten en dnp al centro de control .Justamente estoy en el desarrollo de un sistema de mediciones de variables de un trafo de potencia ,pero la idea es comunicarlo a la rtu en modbus .Las variables a medir son temperatura del aceite, posicion de punto del regulador bajo carga y algunos valores digitales y a su vez efectuar algunos comandos.¿Que otros valores piensan tomarle al trafo?.-
Con respecto a simuladores yo no tengo porque normalmente si necesito ocupo una RTU Harris (la madre del dnp) ya sea como maestra o esclava.-
La gente de imperioustech tiene un simulador de master bastante bueno y yo tengo el analizador de protocolos de ellos que funciona muy bien,el inconveniente es que cuesta como 1500 dolares por lo que se justifica si uno tiene muchos enlaces en dnp.-
Saludos
Jorge
-
Bueno, no es el esquema al que estamos acostumbrados. Normalmente nosotros tenemos RTU en cada estacion transformadora y estas se comunican con un centro de control que tiene el scada.-
Las rtu a su vez consultan los datos a los ied en distintos protocolos (modbus,courier,procomm,etc) los concentran en su base de datos y los transmiten en dnp al centro de control .Justamente estoy en el desarrollo de un sistema de mediciones de variables de un trafo de potencia ,pero la idea es comunicarlo a la rtu en modbus .Las variables a medir son temperatura del aceite, posicion de punto del regulador bajo carga y algunos valores digitales y a su vez efectuar algunos comandos.¿Que otros valores piensan tomarle al trafo?.-
Con respecto a simuladores yo no tengo porque normalmente si necesito ocupo una RTU Harris (la madre del dnp) ya sea como maestra o esclava.-
La gente de imperioustech tiene un simulador de master bastante bueno y yo tengo el analizador de protocolos de ellos que funciona muy bien,el inconveniente es que cuesta como 1500 dolares por lo que se justifica si uno tiene muchos enlaces en dnp.-
Saludos
Jorge
-
Pues el IED que te menciono es un Monitor de Temperaturas... no se si los conoscas...
Ya sabes temperatura del aceite y de los devanados. Accionamiento de las alarmas a cierta temperatura, accionamiento de los grupos de ventilacion.
Entonces esos paramentros son los que seran supervisados en el Master, el cual tambien peude activarlos remotamente, claro esta.
Oye por cierto... el Protocessor me hace la conversion a DNP3 en Layer 1, y como sabes son 3 layers.
¿ Que layer usa tu RTU ?
Aunque supongo que como es de Harris implementa el Layer 3.
Bueno me gustaria seguir discutiendo este tipo de asuntos si es que puedes...
Saludos y Felices Fiestas Jorge !!!
-
Hola:
Bueno,lo que miden es lo que se conoce aca como imagen termica y nosotros protejemos el transformador con un rele exclusivo para esa funcion.-
Por otro aldo la rtu resuelve todos los layer entregandome la informacion en un puerto 232 (las harris tienen 7 puertos).-
Saludos
Jorge
-
Saludos
Bueno podemos realizar el protocolo DNP3p/PIC? Creo que si verdad. Un poco complicado, pero que le parece si utilizamos enero para ello. Harris utiliza muchisimos protocolos +de 150 pero solo con sus RTU (D20, D200..etc) es decir no va. Nosotros lo queremos para PIC. Contamos con toda la informacion del protocolo? Ya realice para otros protocolos versiones minimas que cumplen y ningun problema. Cual es el minimo para Digitales-Analogicos-Comandos de DNP3?. No hay que contemplar el total del protocolo. Solo funciones minimas para que funcione sin problemas con, FIX, Realflex..etc. Que les parece?
-
Asi es todo pic.. yo tengo toda la info acerca del protocolo.
y si efectivamente solo se necesitan ciertas funciones del protocolo... pero eso si que tenga la mayor compatibilidad con todos estos programas. (citect,realflex...etc)
Las especificaciones minimas son contenidas en lo que le llamamos Layer 1 y en la informacion del DNP3 se detalla un minimo para poder implementar esta Layer 1 y para su interoperabilidad.
Bueno pues si se puede con un PIc... pero al parecer usan pics de los 18f´s...y yo lo quiero hacer con 16f´s.
Pues a mi me parece buena idea Todo pic... yo de todos modos estoy en esto investigando... a ver que podemos hacer...
Saludos y Gracias !!!
-
Hola:
Me parece que con un 16f no habria inconvenientes ,ya que se trata de una pequeña aplicacion, aunque luego pasar a un 18f no influye ya que cuestan lo mismo. Inicialmente podria hacerse con un 877 y lo minimo deberia ser 4 analogicas ,16 digitales y 8 comandos ,aunque no usemos todos y mandemos algunos en blanco ,es previendo el futuro.-
El lenguaje de programacion que manejo es picbasicpro y C ,pero me siento mas comodo con el basic.-
Herramientas para probar: analizador de protocolos ,scada oasys, scada powerlink, rtu harris d20 y d200 y rtu polecat de valmet.-
creo que deveriamos considerar solo una configuracion master-slave ,inicialmente sin mensajes no solicitados, digitales en clase 1 y analogicas en clase 2 ,y eventos sin timestamp.-
Me parece que vamos a ser muy pocos los que nos sumemos al proyecto,ya que como comenté anteriormente ,este es un protocolo bastante particular (aunque el mas comun en empresas electricas) y no tiene herramientas baratas.-
Toto una pregunta ¿de que parte de argentina sos?
Bueno,espero comentarios
Jorge
-
Pues yo solo programo en ensamblador... pero aun asi entiendo bien el C
Pues si tienes razon... Dejame ver los requerimentos basicos del layer1 para poder ponerlos
saludos
-
Hola Jorge y Kua. Podemos realizarlo con los 18F. No existe alta relacion con el costo. Perdon pero no estoy todo el dia conectado. Hermano soy de Neuquen. Por favor mandenme el correo con especificaciones de DNP (manual). Aunque no seamos muchos somos + de 1 verdad?. Como no lo vamos a sacar? Como tengo placas de Mini RTU con PIC (Disenos propios) puedo probar rapido. Con pines de 18 y 40 pines entradas digitales 8 (optoacopladas) entradas AD 6 (0-5V) y 4 comandos. Comunicacion 485- 232. Timer incorporado (dallas)..etc
-
Saludos. Les adjunto fotos de las placas que les comente. Manejo poco los 18f, tengo algunos y son mucho + potente que los 16f (comandos para operacionesmatematicasyotrosmemoria). Mi opinion es que usemos los18f y por supuesto slave (ya que siempre respondra a un master PC),las velocidades maxima sera por el medio de comunicacion,pero les parece 1200,2400,4800,9600.(configurable).Y por supuesto 8 digitales, 6AD, 4comandos(si es mas lo rellenamos), con el correspondiente CRC. Aun me falta el manual (correo interno gracias, registro).
ERROR EN LAS FOTOS>>>EL SITIO NO PUEDE
-
Buenas
Quiero implementar el protocolo DNP 3.0 y no puedo conseguir toda la info, si
Alguien podria subir los docs basic4 del protocolo DNP 3.0 agradeceria
gracias
-
Buenas
Quiero implementar el protocolo DNP 3.0 y no puedo conseguir toda la info, si
Alguien podria subir los docs basic4 del protocolo DNP 3.0 agradeceria
gracias
El 18 de octubre se abre el segundo congreso virtual de microcontroladores (http://www.areacapacitacion.com.ar/), allí junto un amigo hemos publicado información sobre el protocolo. Habría que esperar un tiempito :mrgreen:
Saludos!
-
Gracias Suky
pero me perdi el congreso porque estuve de viaje
si alguien puede proporcionar esos documento agradezco
mi e-mail es teguoc@hotmail.com
gracias
-
hola
Yo estoy intentando implementar el protocolo dnp3 en una RTU que estoy diseñando
pero no puedo conseguir los manuales basic4, si alguien me los pudiera proporcionar agadeceria ya que me es imposible pagar por los mismos debido a mi situacion economica
mi mail es teguoc@hotmail.com
una vez que lo termine prometo subir el codigo del protocolo terminado para pics 16F en asm
gracias amigos del foro
-
Aquí se comparte para todos, así que por mail no se envía nada ;-) En ingles y bien completo tienes lo siguiente:
[1] Clarke Gordon, Reynders Deon, Wright Edwin. Practical Modern SCADA Protocols: DNP3, 60870.5 and Related Systems . Newnes, First
published 2004.
[2] Curtis Ken. A DNP3 Protocol Primer. DNP Users Group, 2000, 2005.
Usando el buscador vas a podes encontrarlos ;-) Eso si, en un 16F va a ser muy limitado, casi lo veo imposible por la cantidad de datos que debes almacenar.
Saludos!
-
gracias nuevamente, lo voy a estudiar para un 18F entonces
-
Hola amigos del foro, estoy aprendiendo el protocolo dnp3 para implementarlo en un pic el lenguaje c, lo primero es entender el protocolo, lo q hice fue buscar informacion, pero en español por que de ingles muy poco, y gracias a Dios me he encontrado con una tesis de grado de una persona en Quito la cual habla mucho acerca del protocolo, quisiera saber si esta informacion es correcto o si me pueden agregar algo mas, ya la estoy entendiendo lo malo es q es muy extensa y compleja, pero ya gracias a Dios la voy entendiendo, tengo tambien una duda, alli dice que cada escalon que se baja se hace mas pequeña la informacion, lo pregunta es, que para hacer esto, solo tengo q dividir la informacion que ya tengo en pedazos mas pequeños o tengo q hacer algo mas?... de donde me estoy basando es esto: http://bibdigital.epn.edu.ec/handle/15000/2153
-
Hola amigos aqui molestandolos otra vez...
Tengo que implementar el Protocolo DNP3 en un dispositivo RTU.
EL RTU no es mas que un sistema de adquisicion de datos (temperatura) con un PIC como microprocesador.
Pero el problema esta en que necesito implementar el DNP3 en este dispositivo para su comunicacion.. <img style="border:0px;width:21px;height:16px;padding:0px;margin:0px;background:none;" src="http://pics.miarroba.com/caretos/bawling.gif" alt="Llorica" title="Llorica" /> con un sistema SCADA.
Pues bien en estos momentos me encuentro leyendo toda la info (q es demasiada) acerca de este protocolo, pero aun no he podido aterrizarla.. <img src="http://pics.miarroba.com/caretos/frown.gif" alt="Enfurruñado" title="Enfurruñado" />
Y si alguien ha trabajado con este protocolo y si de casualidad lo ha implementado en Pic´s...
pues me serviria de mucho si me puede decir si:
¿ se puede implementar el DNP3 en un PIC ?
¿ Cuales son las consideraciones basicas para lograr la implementacion en un PIC ?
Espero que alguien haya trabajado con este protocolo...
Agradeciendo de antemano.
GRACIAS ! <img src="http://pics.miarroba.com/caretos/smokie.gif" alt="Fumador" title="Fumador" />
Hay Lineas y modelos de PLCs que ya tienen el protocolo DNP3 incorporado y no hay que desarrollar nada, por ejemplo Rockwell Automation (Allen Bradley) ya lo tiene implementado en varios equipos.
Porque renegar si ya esta hecho??
-
Por los $, porque es entretenido, para aprobar meterias, y para .... :D :D ;-)
-
Pues principalmente, por que si quieres desarrollar tienes q aprender, por eso, si no nunca desarrollas y solo compras lo hecho, pero no estarias diseñando nada... :x
-
Suky, espero que sea para aprobar materias..., porque meterias me suena a... :D ;-)
-
Suky, espero que sea para aprobar materias..., porque meterias me suena a... :D ;-)
:D :D Una letra y complica todo! :oops: :D
-
Suky, espero que sea para aprobar materias..., porque meterias me suena a... :D ;-)
:D :D Una letra y complica todo! :oops: :D
Yo también estoy buscando información acerca de esto! donde puedo encontrar ejemplos de las tramas enviadas por equipos?
-
Hola! Está el software dnp-0.0.1 que lo pueden bajar desde aquí: http://sourceforge.net/projects/dnp/ Con este pueden emular un Maestro y un esclavo, y se muestra la trama de las transacciones.
Después tienen trianglemicroworks (http://www.trianglemicroworks.com/downloads.htm), allí pueden descargar una versión de evaluación de .NET Components, los cuales tienen ejemplos precopilados donde pueden simular un maestro y esclavo, y se detalla cada trama. También pueden modificar el código fuente y jugar con eso :)
Eso si, dura 21 días, así que hay que aprovecharlos.
Y lo mejor para comprender cada byte/bit/transacción del protocolo es el libro Practical Modern SCADA Protocols: DNP3, 60870.5 and Related Systems, está en ingles pero no he visto nada mejor.
Saludos!
-
Hola SUKY, revice el primer programa que recomendaste para poder simular la comuniscaciones maestro esclavo en dnp3, pero la verdad no entiendo como ejecutarlo, no sale ningun instalador, y la verdad no entiendo, si me podrias hacer el favor de decirme como lo instalo, me seria de gran ayuda. :)
-
No hay que instalarlo. Lo bajas, ejecutas y se abrirán 2 ventanas, una MS-DOS y una aplicación Windows. Luego vas a File/Simule Oustation y listo. Desde la primer ventana podes hacer un polling y en MS-DOS veras las tramas resultantes. Por ahí es mucho más sencillo de visualizar en las aplicaciones de trianglemicroworks :tongue:
Es un poco confuso, pero sale. Les conviene tomar los primeros 10 bytes de cada trama, esos corresponden al mensaje en capa de enlace en donde tienen:
- 16-bits de Start, 0x05 0x64
- longitud de la trama sin tener en cuenta los bytes de CRC, los bytes de start y el byte de longitud.
- un byte de control donde se indica, direccion del mensaje, tipo de mensaje, y las funciones a nivel enlace (ACK, NACK, Reset Link, Status, Estado del buffer, ect)
- 16-bits de dirección de destino.
- 16-bits de dirección de origen.
- 16-bits de CRC
Hay que comenzar a entender como se trabaja a nivel enlace y despues sumarle capaz, sino se complica un poco :undecided: Voy a generar un par de tramas a nivel enlace que tengo implementado y las subo.
Saludos!
-
Subo algunas tramas capturadas con ASE 2000. Fíjense la particularidad del bit FCB cuando se hace un Test, y que se fija su próximo estado con un Reset Link.
Saludos!
-
Subo algunas tramas capturadas con ASE 2000. Fíjense la particularidad del bit FCB cuando se hace un Test, y que se fija su próximo estado con un Reset Link.
Saludos!
:-/ gracias Suky! ya se esta iluminando mi mente muchísimo mas! :mrgreen:
el primer enlace (http://sourceforge.net/projects/dnp/) es un código fuente?
ya entiendo mucho mas la capa física, ahora con calma la estudiare a fondo, para así pasar a la siguiente capa.
-
Subo algunas tramas capturadas con ASE 2000. Fíjense la particularidad del bit FCB cuando se hace un Test, y que se fija su próximo estado con un Reset Link.
Saludos!
:-/ gracias Suky! ya se esta iluminando mi mente muchísimo mas! :mrgreen:
el primer enlace (http://sourceforge.net/projects/dnp/) es un código fuente?
ya entiendo mucho mas la capa física, ahora con calma la estudiare a fondo, para así pasar a la siguiente capa.
De nada! El primer enlace tiene un ejecutable y también hay código fuente en c++.
Saludos!
-
hola suky, muchas gracias por la ayuda, voy a empezar a leer y hacer pruebas a ver q tal y les comentare apenas tenga resultado, muchas gracias. :)
Tengo una pregunta: en el primer link, no se encuentra ninguno ejecutable, si estan los codigos pero en ningun lado esta el ejecutable, si me podrias decir donde esta o como hago para ejecutarlo, gracias.
PD: las tramas que montaste, nos muestran perfecto lo que dice la teoria, muchas gracias me has ayudado bastante.
-
Aqui, en la pagina oficial de la organizacion, hay un video gratuito para iniciar en el protocolo...
http://www.dnp.org/ (http://www.dnp.org/)
-
hola suky, muchas gracias por la ayuda, voy a empezar a leer y hacer pruebas a ver q tal y les comentare apenas tenga resultado, muchas gracias. :)
Tengo una pregunta: en el primer link, no se encuentra ninguno ejecutable, si estan los codigos pero en ningun lado esta el ejecutable, si me podrias decir donde esta o como hago para ejecutarlo, gracias.
PD: las tramas que montaste, nos muestran perfecto lo que dice la teoria, muchas gracias me has ayudado bastante.
Puedes ir a all files, abres todas las carpetas (Home / dnp / 0.0.1) y allí se puede descargar un ejecutable.
Aqui, en la pagina oficial de la organizacion, hay un video gratuito para iniciar en el protocolo...
http://www.dnp.org/ (http://www.dnp.org/)
Se dice que es un protocolo abierto, pero esa organización no lo demuestra :5]
-
En la pared detras del Gerente dice:
Armarum Protocolum Abiertum
Capturarum Clientum EST
:D :D :D
-
En la pared detras del Gerente dice:
Armarum Protocolum Abiertum
Capturarum Clientum EST
:D :D :D
:? eso no tiene cara de protocolo abierto por ningún lado! :x Arman una farsa para pedir plata!
Pronto comentare mis avances en la capa física, para llegar a la siguiente capa.
-
Buenas:
¡Que ven de extraño a que no sea abierto? El protocolo es abierto ,esto significa que cualquiera puede implementarlo sin pagar licencias ni nada por el estilo .-
lo que si hace DNP.ORG es vender los manuales del protocolo ,pero eso no implica que uno pueda coseguirlos por otro lado .-
Ojo ,no mezclen quizas la idea de protocolo abierto con "código abierto" .-
Asi y todo uno cuando trabaja con este protocolo se encuentra con implementadores grosos qe tienen alguún problemita en la implementación y comienzan las discusiones de si está bien o mal implementado .-
A ese nivel yo solo se que quien tiene la verdad del protocolo es GE y por eso si tengo que ensayar algo ,ya sea como maesro o esclavo lo hago cun una RTU que habla DNP.-
sds.
jorge
-
Hola amigos del foro, he estado revisando los programar que el compañero suky nos dejo y pues he slaido de muchas dudas del protocolo, todavia no se trabajar muy bien el programa pero alli vamos, muchas gracias por la ayuda, tengo una duda, internamente el protocolo dice que hay q trabajar en alguna forma especifica, osea trabajar los datos en binario o en hex, etc?
-
Binario o hex? A que te refieres con ello? 101011010.... :mrgreen: O te refieres a ASCII?
-
hola suky, osea mi pregunta concreta es la siguiente, en la capa de aplicación, cuando yo pido un valor, como pude ser un mensaje de texto o una temperatura, etc, como recibe el esos datos, en que formato, un ejemplo seria, yo tengo en la pc escrito ¨Hola Mundo¨ y lo voy a mandar, al pasarle yo esos datos al programa que me va a crear el protocolo para enviármelo, se los doy en que formato????... ademas de eso, sigo trabajando en ese mismo formato en las demás capas o se puede cambiar y no hay problema???... lo pregunto por que necesito dejar claro en mi cabeza y a todos los compañeros que puedan tener esta misma duda ahora o futura, cada punto del protocolo... muchas gracias por tu ayuda.
-
Los tipos de datos en DNP ya están bien especificados, y está pensado para aplicaciones industriales. Esto se establece en lo que sería la capa de datos por parte del usuario y debe tener una estructura dada, a esto se le llama Modelos de Objetos de datos en DNP3.
En DNP3 los datos siempre consisten de dos partes, una cabecera de objeto y un objeto de datos. Las cabeceras identifican los tipos de datos del objeto de datos. El objeto de datos no necesariamente pueden estar contenidos en el mensaje, por ejemplo, cuando la estación principal realiza una petición de datos el mensaje contendrá la cabecera objeto indicando el tipo de datos, y la estación secundaria responderá con la misma cabecera objeto y con los datos correspondientes. Se adjunta figura donde está la estructura de datos.
En un mensaje se puede tener varios tipos de datos, por lo que, cada uno tendrá su cabecera de objeto y datos correspondientes. La cabecera indica que tipo de datos, pero dentro de los tipos de datos hay variaciones, por ejemplo un valor analogico puede ser 16-bits, 32-bits, float, double, ect.
Los tipos de datos generales son:
- Entradas binarias.
- Salidas binarias.
- Contadores
- Entradas analógicas
- Salidas analógicas
- Datos de tiempo (absoluta o relativa)
- Clases de datos (los datos se pueden agrupar en clase dependiendo de las prioridades de datos)
- Trabajo con archivos de configuración
- Configuraciones internas del protocolo
- Otras alternativas de formato de números (BCD's)
Ahora las variaciones son distintas para cada grupo, por lo que conviene leer las especificaciones de DNP. En el libro Practical Modern SCADA Protocols están bien detalladas.
En la cabecera de datos están los campos calificador y rango, estos se utilizan para direccionar los datos solicitados o enviados, pudiendo ser datos consecutivos dentro de un rango mediante un indice que los identifica (Al estilo arreglo de datos), utilizando las direcciones propias de las variables, datos no consecutivos o todo lo que hay...
Saludos!
-
Hola a todos, sigo estudiando y la verdad ya esta mucho mas clara la informacion acerca del protocolo, de todas maneras todavia voy por la parte de aplicacion, pero quisiera saber quien tiene los libros de DNP3 Basic Four que me haga le favor y me los pase... ademas tengo una duda, en el encabezado de objeto no lo entiendo mucho, la primera parte me habla acerca de ¨Object Group¨ y las variaciones de estos, y pues por lo que vi es como una tabla de tipos de datos que puedo pedir y su orden o algo asi y creo q eso lo defino yo y solo es una tabla, pero en la parte que dice ¨Qualifier¨ la verdad no entendi nada y el ¨Range¨ depende del ¨Qualifier¨ y creo q es como una formula o algo asi, pero necesitaria conocer primero el ¨Qualifier¨... si me pueden ayudar con esto, me seria de gran ayuda, muchas gracias.
-
Hola a todos, sigo estudiando y la verdad ya esta mucho mas clara la informacion acerca del protocolo, de todas maneras todavia voy por la parte de aplicacion, pero quisiera saber quien tiene los libros de DNP3 Basic Four que me haga le favor y me los pase... ademas tengo una duda, en el encabezado de objeto no lo entiendo mucho, la primera parte me habla acerca de ¨Object Group¨ y las variaciones de estos, y pues por lo que vi es como una tabla de tipos de datos que puedo pedir y su orden o algo asi y creo q eso lo defino yo y solo es una tabla, pero en la parte que dice ¨Qualifier¨ la verdad no entendi nada y el ¨Range¨ depende del ¨Qualifier¨ y creo q es como una formula o algo asi, pero necesitaria conocer primero el ¨Qualifier¨... si me pueden ayudar con esto, me seria de gran ayuda, muchas gracias.
Hola IngRandall, leyendo un poco pienso que el Object Group asi com tu dices, son especificaciones de los tipos de datos que se van a pedir, aunque aveces no piden el dato, si no alguna particularidad de este como en que momento ocurrio tal evento, creo q tambien se puede... el calificador nos dice el tamano de los datos, pero la verdad no estoy muy seguro, voy a seguir leyendo para tratar de sacarte de la duda.
-
Hola a todos, sigo estudiando y la verdad ya esta mucho mas clara la informacion acerca del protocolo, de todas maneras todavia voy por la parte de aplicacion, pero quisiera saber quien tiene los libros de DNP3 Basic Four que me haga le favor y me los pase... ademas tengo una duda, en el encabezado de objeto no lo entiendo mucho, la primera parte me habla acerca de ¨Object Group¨ y las variaciones de estos, y pues por lo que vi es como una tabla de tipos de datos que puedo pedir y su orden o algo asi y creo q eso lo defino yo y solo es una tabla, pero en la parte que dice ¨Qualifier¨ la verdad no entendi nada y el ¨Range¨ depende del ¨Qualifier¨ y creo q es como una formula o algo asi, pero necesitaria conocer primero el ¨Qualifier¨... si me pueden ayudar con esto, me seria de gran ayuda, muchas gracias.
Disculpas por no contestar antes, pero lei la versión anterior de tu mensaje, antes de la modificación.
Claro, el tipo de datos y las variaciones que presenta se definen en el RTU. Por ejemplo, puedo tener entradas analógicas, pero pueden ser signadas o sin signo, enteras de 16-bits o 32-bits, o de punto flotante de 32-bits o 64-bits. Esto último se indica con el campo variación.
Loas campos Qualifier y Range, son para definir el modo de direccionamiento de las variables, y direccionarlas. O sea, cuando se realiza una encuesta, se puede pedir el estado de 1 sola variable, un rango de variables consecutivas, una serie de variables pero no consecutivas y todas las variables disponibles.
Saludos!
-
Hola fidodido18 y Suky, muchas gracias por sus respuestas, he estado leyendo mucho y ya he entendido todo lo q he preguntado y lo que me han respondido, pero creo q tengo una de mis ultimas dudas, en DNP3 si yo quiero pedir, por ejemplo: voltaje a una rtu en x punto, como hace el para preguntarle eso, osea como define que valor va a pedir o si esta pregunta va en los datos, si no me supe explicar me lo dicen y trato de explicarme mejor, muchas gracias por todo su tiempo.
-
La RTU tiene seguramente bien identificado las variables que soporta y su direccionamiento. Por ejemplo, una RTU que mide 3 tensiones (RST), puede entregar su valores en 16-bits, en donde:
AnalogsInput[0]->TensionR, AnalogsInput[1]->TensionS, AnalogsInput[2]->TensionT
Ahora, desde Scada se puede encuestar por evento o por integridad, y pedir el valor de uno, de 2 consecutivos, de 2 no consecutivos o de los 3, ect.
Saludos!
-
Hola :
para una aclaración ,en DNP se define una tabla con direcciones y se piden de varias frmas:
Solo analógicas ,
por clase 1,2 o 3
por clase 123
por integridad
Ahora si ,si se pide integridad vienen todos los datos que tiene la RTU ,0,1,2,3 y esto actualiza la base de datos de la master.-
Cuando se pide por clase o tipo realmente la rtu entrega los que cambiaron ,si son analógicas la rtu define normalmente una banda muerta lo que significa que si una analogica cambio un delta mayor al establecido ,entonces transmite ese cambio. Esto es a una pregunta viene la respuesta.-
Existe otra manera que es transmitir no solicitados ,esto significa que si la rtu tuvo cambios para transmitir no espera la pregunta sino lo transmite de manera espontánea.-
Lo que no se puede hacer es pedir solo el dato en la dirección N .-
Sds.
Jorge
-
hola amigos del foro, revisando lo que ustedes me esta diciendo, entonces el dnp3 se formaria asi mas o menos, el encabezado del LPDU + el emcabezado del TPDU + el encabezado del APDU + Datos (donde viene la pregunta???????? y si es asi, sepregunta dependiendo de como se configuro, osea por ejemplo la RTu dice que el voltaje de tal punto es la direccion FFFF, entonces en los datos uno manda ese valor y devolvera en los datos el valor del voltaje en ese momento y en ese punto)
-
No sé si dispondrá de 65535 variables a medir :shock: Pero si, salvo que estés pidiendo datos por dirección real dentro de la memoria, es uno de las posibles direccionamientos. Sino piensa como que armas un arreglo de variables y accedes por el indice.
Saludos!
-
hola amigos del foro, revisando lo que ustedes me esta diciendo, entonces el dnp3 se formaria asi mas o menos, el encabezado del LPDU + el emcabezado del TPDU + el encabezado del APDU + Datos (donde viene la pregunta???????? y si es asi, sepregunta dependiendo de como se configuro, osea por ejemplo la RTu dice que el voltaje de tal punto es la direccion FFFF, entonces en los datos uno manda ese valor y devolvera en los datos el valor del voltaje en ese momento y en ese punto)
Saludos amigos foreros! todos sus comentarios me han ayudado muchisimo!
Yo también tengo un pregunta muy parecida, como le pregunta el master al esclavo por los registros? o en realidad que le pregunta un master a un esclavo?
-
Que tal, me apunto al tema, pues también ocupo desarrollar una comunicación dnp con Pic.
A utilizar un D20 como colector de datos de unos pics en red, para la simulación usaré el ASE
Por el momento a leer mucho y haber que sale.
Saludos y enlistado.
-
Que tal, me apunto al tema, pues también ocupo desarrollar una comunicación dnp con Pic.
A utilizar un D20 como colector de datos de unos pics en red, para la simulación usaré el ASE
Por el momento a leer mucho y haber que sale.
Saludos y enlistado.
Hola, gracias por apuntarte al tema, cualquier duda aqui la resolveremos con mucho gusto, yo no es que sepa mucho pero gracias al foro ya no estoy en 0... una pregunta,que es un D20?????????????
-
Hola, gracias por apuntarte al tema, cualquier duda aqui la resolveremos con mucho gusto, yo no es que sepa mucho pero gracias al foro ya no estoy en 0... una pregunta,que es un D20?????????????
Es una UTR de la marca Harris, pero esta misma puede implementar dnp a nivel inferior, leyendo los mensajes vi que alguien más la estaba utilizando. ´Funcionará como maestra para los pics y como esclavo para la MTU.
Saludos
-
hola amigos del foro, revisando lo que ustedes me esta diciendo, entonces el dnp3 se formaria asi mas o menos, el encabezado del LPDU + el emcabezado del TPDU + el encabezado del APDU + Datos (donde viene la pregunta???????? y si es asi, sepregunta dependiendo de como se configuro, osea por ejemplo la RTu dice que el voltaje de tal punto es la direccion FFFF, entonces en los datos uno manda ese valor y devolvera en los datos el valor del voltaje en ese momento y en ese punto)
Saludos amigos foreros! todos sus comentarios me han ayudado muchisimo!
Yo también tengo un pregunta muy parecida, como le pregunta el master al esclavo por los registros? o en realidad que le pregunta un master a un esclavo?
Como comentó jansuini, hay varias formas de pedir datos a un Esclavo DNP. Más o menos es así: Puede preguntar por un tipo de dato direccionando un en especial, varios o todos los que implemente. Por clase las cuales le asignan prioridades (1,2,3) y además son por eventos, envía solo los datos que han cambiado. Clase 0 o por integridad, envía todos los datos que se implementan.
Y despues están las respuestas no solicitadas..
Saludos!
-
Hola Suky, esa tabla de la que hablan, donde se crea?????
-
Que tabla?
-
Hola :
para una aclaración ,en DNP se define una tabla con direcciones y se piden de varias frmas:
Solo analógicas ,
por clase 1,2 o 3
por clase 123
por integridad
Ahora si ,si se pide integridad vienen todos los datos que tiene la RTU ,0,1,2,3 y esto actualiza la base de datos de la master.-
Cuando se pide por clase o tipo realmente la rtu entrega los que cambiaron ,si son analógicas la rtu define normalmente una banda muerta lo que significa que si una analogica cambio un delta mayor al establecido ,entonces transmite ese cambio. Esto es a una pregunta viene la respuesta.-
Existe otra manera que es transmitir no solicitados ,esto significa que si la rtu tuvo cambios para transmitir no espera la pregunta sino lo transmite de manera espontánea.-
Lo que no se puede hacer es pedir solo el dato en la dirección N .-
Sds.
Jorge
¨para una aclaración ,en DNP se define una tabla con direcciones y se piden de varias frmas:¨ esa tabla, donde la definen????
-
Hola:
La tabla la creas en tu esclavo y vos definis las direcciones y clase del dato ,Esta misma tabla es el "mapa" DNP y cuando se arma el master se arma en función de esta tabla.-
En el caso de las D20 (antes eran harris ,ahora son GE ) se forma una tabla de salida que uno crea como quiere en función del mapa interno de la rtu ,pero después se lo tiene que entregar a quien implemente el master.-
Jorge
-
En le firmware del microcontrolador en tu caso. Fíjate en Practical Modern Scada Protocols, en el apéndice C se muestra un ejemplo de lo que puede implementar un RTU, después de ahi cada dirección se fija a gusto
Saludos!
-
Hola amigos del foro, bueno segun lo que he entendido hasta el momento es esto:
1. los datos se definen con una direccion en la rtu.
2. la tabla de direcciones tambien se definen en el master, osea se le dan a cada
valor la direccion por la que van a preguntar.
3. en la tabla de objetos y sus variaciones, se define el tipo de dato que se pide.
Ahora bien si estamos de acuerdo con lo anterior viene la siguiente pregunta:
el master pregunta por la direccion xxxx en la trama ese valor va ubicado en la parte
de los datos?? y si es asi, me tocaria ir subiendo las capas para poder ir quitando las
cabeceras y poder conocer al final en el capo de datos, cual es la direccion por la
que me preguntan. y si es asi, la respuesta ira alli mismo???
me disculpan por preguntarles tanto, pero es que tengo dudas, estoy muy agradecido con ustedes por su colaboracion.
-
Podes pensarlo como que se define un buffer donde se accede por el indice que identifica a cada elemento. Ahora el master si o si tiene que saber por qué dato está preguntando, sino no tiene sentido :rolleyes:
Ahora, el master si pregunta por un dato en particular envía el Object, variation, qualifier y range para seleccionar exactamente ese dato. El esclavo devuelve exactamente los mismos valores de Object, variation, qualifier y range más el dato.
No es así cuando desde el master se pide todo los datos de un grupo, o sea qualifier 0x06, el esclavo devuelve los datos indicando un rango consecutivo. Adjunto una imagen para que analicen los datos....
Saludos!
-
hola amigos dle foro, muchas gracias, ya pude comprender lo que preguntaba gracias a las tramas que muy amablemente subio suky, en lo que le spueda ayudar alli estare, muchas gracias por su colaboracion, espero seguir aportando mas.
-
hola, aclaradas las dudas, tengo otra pregunta, si el crc esta malo, que se envia para decir que el crc esta malo. muchas gracias por sus aportes.
-
hola, aclaradas las dudas, tengo otra pregunta, si el crc esta malo, que se envia para decir que el crc esta malo. muchas gracias por sus aportes.
Se descarta la trama y no se hace nada.. Existe el Timeout, así que si a un determinado tiempo no hay respuesta se reenvían los datos. Además tienes ACK a nivel enlace y confirmación a nivel aplicación.
Saludos!
-
Hola, otra vez yo por aqui molestando, revisando los datos que mando nuestro amigo suky, ya puedo entender perfectamente la trama, pero ahora me surgio otra pregunta, al casi al final de la trama estan los datos de respuesta ¨01 00 00¨ hablo de la primera respuesta, quisiera saber como se realiza esta configuracion de respuesta, he estado leyendo y dice que tiene que ver con el ¨Referencing Mode¨... quisiera saber si es cierto, y ademas poder entenderlo... muchas gracias por sus respuestas.
-
Si hablamos de lo mismo, se envía 02 02, que serían start y Stop, y luego 01 00 00, el 01 es del byte de flag y lo único que indica es que está On-Line, y luego los 16-bits de datos.
Saludos!
-
ok listo, gracias por la respuesta.
-
Si hablamos de lo mismo, se envía 02 02, que serían start y Stop, y luego 01 00 00, el 01 es del byte de flag y lo único que indica es que está On-Line, y luego los 16-bits de datos.
Saludos!
Gracias Suky! muy amable por toda la colaboración, al final espero colocar un explicación detallada de la capa de enlace, que seria la base de toda la comunicación DNP!
-
Hola amigos del foro, ahora vengo con otra pregunta, estoy realizando pruebas del “test link” según lo que dice el libro, pero estoy confundido, hice pruebas con el ase 2000 y quiero q las revisen a ver si están bien.
Según entendí en el libro de scada que dejo el suky en el foro dice lo siguiente:
si los fcb no concuerdan, se envía la ultima trama ack
si concuerda se envía la trama ack, y se cambia el bit fcb se cambia pero no se envía ese cambio
la segunda foto esta mejor detallado todo.
muchas gracias por su colaboración.
-
Hola amigos del foro, ahora vengo con otra pregunta, estoy realizando pruebas del “test link” según lo que dice el libro, pero estoy confundido, hice pruebas con el ase 2000 y quiero q las revisen a ver si están bien.
Según entendí en el libro de scada que dejo el suky en el foro dice lo siguiente:
si los fcb no concuerdan, se envía la ultima trama ack
si concuerda se envía la trama ack, y se cambia el bit fcb se cambia pero no se envía ese cambio
la segunda foto esta mejor detallado todo.
muchas gracias por su colaboración.
Hola IngRandall, te puedo dar una idea de como puedes probar esta parte, por que no colocas dos computadores con el software ASE2000 uno como maestro y uno como esclavo y haces esas preguntas a ver que te responde el sistema, y allí miras si tienes razón en lo que dices y sales de tus dudas y de las demás dudas, de paso nos comentas, por que es muy interesante aclarar todas las dudas en el foro.
-
Hola fidodido18, la verdad de pensar en tantas cosas no se me había ocurrido algo tan sencillo, voy a ponerlo a prueba a ver como funciona y les comento, muchas gracias por tu ayuda.
-
Hola amigos del foro, aqui subo una foto de las pruebas que he estado haciendo con el ASE2000, gracias a Dios ya entiendo mucho mejor el protocolo, muchas gracias por el foro, alguna duda pregunten, no se mucho pero creo q les podre ayudar.
-
Hola amigos del foro, tengo una nueva duda, estaba leyendo como escriben la hora el DNP3 pero la verdad no me dan los cálculos y el libro no habla a fondo el tema, quisiera saber si alguno de ustedes sabe o me puede decir donde me puedo descargar el Basic4 que de pronto allí hablan mas acerca de esto, muchas gracias.
-
Hola amigos del foro, tengo una nueva duda, estaba leyendo como escriben la hora el DNP3 pero la verdad no me dan los cálculos y el libro no habla a fondo el tema, quisiera saber si alguno de ustedes sabe o me puede decir donde me puedo descargar el Basic4 que de pronto allí hablan mas acerca de esto, muchas gracias.
Es muy sencillo, se envían los mili-segundos pasados desde el 1º de enero de 1970 (en 48-bits si mal no recuerdo).
Saludos!
-
Hola Suky, si asi es, asi lo he hecho, pero le problema es cuando llego a la hora, no me da exacta, y lo peor de todo es q las variaciones varian y he hehco de todo para q me de pero nada, hasta hice el calculo con el tiempo de los años bisiestos, si queires te muestro los calculos de lo q tengo para que veas, ya no se ni que ma sinventarme. Gracias.
-
Revisa por aquí:
http://www.todopic.com.ar/foros/index.php?topic=31697.msg264633#msg264633
Seguro tienes un error en el algoritmo.
Saludos!
-
hola suky, mira por ejemplo:
el scada me da este valor:
02/11/11 09:27:40.000
equivalente a este en hex:
0E 16 0C 14 2E 01
al invertirlo y pasarlo a decimal me da este valor:
01 2E 14 0C 16 0E = 1297416460000
este valor esta en milisegundos, ahora ese valor lo divido entre el valor de milisegundos en un año, basado en la siguiente tabla:
1 año en milisegundo es igual a: 31557600000
1 mes en milisegundo es igual a: 2629800000
1 dia en milisegundo es igual a: 86400000
1 hora en milisegundo es igual a: 3600000
1 minuto en milisegundo es igual a: 60000
1 segundo en milisegundo es igual a: 1000
1297416460000 / 31557600000 = 41,112646715846578954039597434532
lo que es equivalente a 41 años, de 1970 hasta hoy hay 41 años, vamos bien. Ahora tomamos los decimales y los multiplicamos por 12 y me debe dar el valor de los meses.
0,112646715846578954039597434532 * 12 = 1,351760590158947448475169214384
lo que nos dice q estamos corriendo el segundo mes del año 41, vamos bien. Ahora tomamos los decimales y los multiplicamos por 365 y lo dividimos por 12 para que nos de los dias que llevamos corridos hasta hoy.
0,351760590158947448475169214384 * 365 / 12 = 10,699384617334651557786396937513
lo que me dice que esta corriendo el dia 11 del mes 2 del año 41, vamos bien. Ahora viene lo que no me da, tomamos los decimales y los multiplicamos por 24 para que nos de las horas
0,699384617334651557786396937513 * 24 = 16,78523081603163738687352650032
aqui me imagino q me esta diciendo que son las 16 horas, con x numero de minutos, pero si vemos la informacion nos damos cuenta que alli dice el scada que son las 9 horas, entonces no se en que me habre equivocado, ojala te des cuenta de mi problema, por que ya no se q mas inventar, gracias por tu colaboracion.
-
No revise las cuentas, pero tienes que tener en cuenta los años bisiestos. Yo lo he probado y daba correctamente.
Saludos!
-
Hola a todos, me anoto con el tema del DNP, que estoy retomando despues de un tiempo.
IngRandall: si partimos del tiempo en mseg (contados desde el 01/01/1970 que toma el dnp). Haces lo siguiente
01 2E 14 0C 16 E0 = 1297416460000 (ojo que la ultima es E0 y no 0E como lo habias escrito ... )
1297416460000 / 86400000 = 15016,3942129630 (la totalidad de mseg / mseg de 1 dia)
La parte decimal es efectivamente la fraccion de un dia, entonces
0,3942129630 * 24 = 9,461111111 (la parte entera te da las 9 horas)
tomando la parte decimal del anterior
0,461111111 * 60 = 27,66666666 (la parte entera te da los 27 minutos)
tomando la parte decimal del anterior
0,66666666 * 60 = 40 (la parte entera te da los 40 segundos)
En resumen 09:27:40, que es lo que te indica el scada.
Te paso un archivito en excel que use en un tiempo para hacer este tipo de conversiones (de dnp a formato gregoriano). Fijate que en el modulo de las macros tenes el algoritmo para el pasaje de fechas.
Proba tu fechado haciendo en cualquier celda de la planilla
=DNP_A_GREG(1297416460000)
y te va a devolver la fecha que te da el scada, lo probe y da correctamente
A mi me sirvio bastante para corroborar los fechados de dnp en el analisis de tramas, que normalmente las hago en una planillita de excel. La parte entera de la primera cuenta te da la fecha y como bien dice suky tenes que tener en cuenta el tema de los bisiestos.
Espero te sea de ayuda
Saludos
Nestor
PD: Jorge Ansuini ... tanto tiempo sin verte!
-
Hola NestorN, muchas gracias por el archivo y la explicacion, ya lo entendi, ahora estoy aprendiendo a usar un software que se llama IOServer con el se trabaja el DNP3, se ve muy bueno tambien, ahora lo q quiero aprender es acerca de como puedo pedir historiales o archivos con el protocolo o cuando se activa el bit DFC, si saben algo, se los agradeceria mucho.
-
Hola amigos del foro, nuevamente he regresado, tenia al protocolo un poco olvidado jajajajja... bueno ahora vengo con una nueva duda, cuando queremos enviar un mensaje no solicitado, en el campo de datos del mensaje va a ir el mensaje de la alarma que se genero, osea quiero saber si por ejemplo va a decir que el objeto 30 variación tal tiene un valor de 20, o si dice otra cosa, muchas gracias por su colaboración.
-
Se envía el estado de la entrada binaria o analógica que ha cambiado, y claro se puede (Debe!!) solicitar un ACK a nivel enlace o confirmación a nivel enlace.
Saludos!
-
Gracias por la informacion, ahora bien, estoy estudiando el nivel 2 pero la verdad no entiendo que me quiere decir, aquí está la informacion del nivel dos DNP3 Slave:
*Accepts freeze requests on binary counter objects.
*Parses read requests for variation 0 (all variations) for some objects.
*Parses read requests for variation 1, 2 & 3 of binary change objects.
*Parses and may respond to requests for frozen counter objects.
*May send unsolicited responses containing static data.
contador binario, osea un contador de alguna entrada binaria me imagino, o si me equivoco como seria, y pues el envió de mensajes no solicitados creo que se respondía con la respuesta anterior que dio Suky, y los que comienzan con "Parse" no se que significa parse, osea algunos me dicen que es analiza pero no le encuentro coherencia y otros me dice que es cambiar, pero entonces seria algo así como cambiar los datos de esas variaciones... si no me supe explicar me dicen y les vuelvo a hacer la pregunta de otro forma, muchas gracias por su colaboración.
-
Se más claro en la pregunta, no entredí exactamente cual es la duda :tongue:
-
Hola, los puntos que mencione anteriormente son los que necesita un esclavo dnp3, ahora bien, yo quiero entender que es lo que me quieren decir, pues lo de las respuestas no solicitadas lo entiendo, pero lo que no entiendo bien es lo que dice por ejemplo:
"Parses read requests for variation 0 (all variations) for some objects"
no entiendo que me quiere decir, y ahora también lo de los contadores, osea contadores de sucesos binarios o contadores generales de cualquier tipo, gracias por la colaboración.
-
Revisa en detalle la sección 5.8 del libro Practical Modern SCADA Protocols.
Saludos!
-
Hola, estoy en ese punto del libro leyendo, y pues lo de los contadores ya lo he entendido pero lo que no entiendo es lo que me dice "Parses read requests for variation 0 (all variations) for some objects."... otra pregunta, Suky hasta que nivel llegaste tu???
-
Implementé según la necesidad del proyecto, y viendo esa lista algo de cada uno de los niveles :mrgreen: Por lo que veo es que el Master puede solicitar estado de las variables de un determinado grupo enviando variación 0, ahora el esclavo debe responder con la variación que soporta. En mi caso definí una a responder por default. En la sección 5.7.4 explica eso.
Saludos!
-
Hola amigos del foro, trigo otra duda acerca del protocolo, estuve revisando el congelamiento de datos y tengo dos preguntas:
1. el bufer donde se guardan los datos de congelamiento, es individual para cada dato o es un buffer general, siendo esta ultima la respuesta, se indica que tipo de dato es o solo se guarda el dato y el master sabrá que tipo de dato fue el que pidió en ese momento.
2. el congelamiento de datos solo se pide en la lista de objetos los cuales tienes entre sus fias los freezer como por ejemplo el análog input objects 33 variación 01 a la 08.
Gracias por la ayuda brindada.
-
Como se le puede decir al scada que me pregunte por algun dato especifico o por todos los datos de x objeto???
-
Que tal, estoy empezando mi tesis y se trata precisametne de esto implemetnar el protocolo DNP3 ya sea en un micro o en un DSP. Me leí el libro Gordon Clarke, Deon Reynders - Practical modern SCADA protocols (hasta la parte de DNP3) y una parte de la norma IEEE 1815-2010. Después encontré éste tema y me interesaría saber como van con su implementación, llevan mucho tiempo en ésto?
-
Hola josolotecolo, pues en mi aplicación la deje adelantada pero no terminada por que el protocolo tiene muchas cosas, debes definir hasta que nivel quieres llegar, yo llegue al nivel 2, pero deshabilite muchas de esas opciones por q no me servían en mi aplicación, define como quieres trabajar y desde allí empieza, si tienes dudas las puedes hacer y con gusto te ayudaremos.
-
Hola! Te recomiendo desde ya un microcontrolador de 16-bits, no veo la necesidad de un dsPIC pero si que trabaje con variables de 64-bits, más que nada para trabajar con las marcas de tiempo.
En lo demás ayuda mucho el libro que has mencionado. En el foro hay un algoritmo para calcular el CRC y un algoritmo para pasar de los milisegundos desde 1º enero de 1940 ha fecha actual.
Después, estudiado el protocolo, puedes ver el código fuente del siguiente proyecto, puede ser de gran ayuda: http://sourceforge.net/projects/dnp/
Saludos!
-
Gracias por sus respuestas. El nivel que implementare será el 1 pero al igual que IngRandall desabilitaré opciones que no me sirvan como las operaciones de control, ya que el dispositivo unicamente enviará información. Tengo unas preguntas:
1) Mas o menos ¿cuánto tiempo les llevo su implementación?
2) Supongamos que tenemos un micro y que le llega una petición en DNP3: enviar un valor analógico. ¿Cómo hacer que el micro haga la lectura del valor a partir de el fragmento de bytes de la capa de aplicación? Podría ser detectando el código de función, luegoimplementar funciones para cada grupo y cada variación?
Una cosa más, navegando por ahí me encontré con esto:
http://code.google.com/p/dnp3/
Se supone que es la implementación de un maestro y un esclavo en DNP3 y aunque trae un manual no logro entenderlo del todo.
-
Bueno, a mi me demoro como unos 8 meses la implementacion pero también hay que tener en cuenta que el protocolo de mi rtu me toco implementarlo así que eso fue un desarrollo adicional, y pues así como dices, la secuencia que yo utilice fue revisión y ejecución de byte por byte, primero el código de función y luego el objeto y la variación para saber que es y como se lo voy a enviar.
-
1. En nuestro caso no llevo como 1 1/2 meses, mas o menos.
2. Claro, para ello hay que llegar hasta los datos de aplicación del paquete, allí en una solicitud de datos se te indicará que grupo de datos son solicitados (binario o analógico) y exactamente cual (según direccionamiento utilizado).
Saludos!
-
Mis avances :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/
-
hola
estoy tratando de hacer la comunicaion por dnp con un pic en forma de esclavo pero ya entendi el protocolo. estoy usando el simulador ase2000. pero no se como usar los datos que me envia por el puerto serial al pic (uso el pic basic) trato de usar la instruccion serin alguien me podria ayudar
gracias