Autor Tema: Ayuda DNP3 con PIC  (Leído 40250 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #75 en: 10 de Febrero de 2011, 16:57:38 »
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.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda DNP3 con PIC
« Respuesta #76 en: 10 de Febrero de 2011, 20:26:18 »
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!
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #77 en: 10 de Febrero de 2011, 21:28:31 »
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.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda DNP3 con PIC
« Respuesta #78 en: 10 de Febrero de 2011, 21:56:58 »
Revisa por aquí:

http://www.todopic.com.ar/foros/index.php?topic=31697.msg264633#msg264633


Seguro tienes un error en el algoritmo.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #79 en: 11 de Febrero de 2011, 11:44:11 »
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.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda DNP3 con PIC
« Respuesta #80 en: 11 de Febrero de 2011, 12:34:39 »
No revise las cuentas, pero tienes que tener en cuenta los años bisiestos. Yo lo he probado y daba correctamente.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado NestorN

  • PIC10
  • *
  • Mensajes: 1
Re: Ayuda DNP3 con PIC
« Respuesta #81 en: 08 de Marzo de 2011, 19:26:46 »
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!
« Última modificación: 08 de Marzo de 2011, 19:36:21 por NestorN »

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #82 en: 09 de Marzo de 2011, 11:19:02 »
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.
« Última modificación: 09 de Marzo de 2011, 18:05:53 por IngRandall »

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #83 en: 16 de Mayo de 2011, 19:02:13 »
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.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda DNP3 con PIC
« Respuesta #84 en: 16 de Mayo de 2011, 20:12:01 »
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!
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #85 en: 30 de Mayo de 2011, 10:20:07 »
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.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda DNP3 con PIC
« Respuesta #86 en: 30 de Mayo de 2011, 10:47:33 »
Se más claro en la pregunta, no entredí exactamente cual es la duda  :tongue:
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #87 en: 30 de Mayo de 2011, 10:51:02 »
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.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda DNP3 con PIC
« Respuesta #88 en: 30 de Mayo de 2011, 11:06:12 »
Revisa en detalle la sección 5.8 del libro Practical Modern SCADA Protocols.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Ayuda DNP3 con PIC
« Respuesta #89 en: 30 de Mayo de 2011, 11:12:20 »
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???