Вы находитесь на странице: 1из 24

Constitución de un mensaje por capas

Comisión Federal de Electricidad


División de Distribución Centro Sur.

Capa de Enlace
Formato de una trama DNP – nivel de enlace

Header: Data Block


05 64 Long Ctrl Dest Src Crc 1st block User Data Crc 2nd block User Data Crc Nth block User Data Crc
8 bits 8 bits 8 bits 8 bits 16 bits 16 bits 16 bits 16 bytes 16 bits 16 bytes 16 bits 1 to 16 bytes 16 bits

Inicio de la trama; ¡Su valor es Fijo! 0x05-0x64


Dir PRM FCB FCV Function Code 05 64
--- --- 8 bits 8 bits
DFC
7 6 5 4 3-0 Length Longitud de la trama (5-255);
8 bits (Valor mínimo: 5; Valor máximo: 255;)
Incluye:
Control (1 byte)
Dirección Destino (2 bytes)
DIR Indica la dirección de la trama PRM Indica quién origina la conversación Dirección Origen (2 bytes)
Dir PRM
respecto a la estación Maestra. =1 Primaria  Secundaria
=1 Master  OutStation =0 Secundaria  Primaria
=0 OutStation  Master
7 6
(DEST) Destination Field Dirección de la estación a quién está dirigida la trama
16 bits

FCB Frame Count Bit: Se utiliza para evitar la perdida o


--- duplicidad de tramas Low Order Octet High Order Octet
Primaria PRM=1 Primary station toggles FCB cuando rx un ACK from (LSB) 8 bits (MSB) 8 bits
5 the secondary
6 Para iniciar se debe enviar un Reset Data Link.
Secundaria
FCV Indica si el bit FCB es valido. (SRC) Source Field Dirección de la estación quién origino la trama
-- =1 FCB es válido. 16 bits
=0 FCB es ignorado.
4
Low Order Octet High Order Octet
(LSB) 8 bits (MSB) 8 bits
Secundaria PRM=0 Data Flow Control Bit
=1 Ya no me envíes datos
6 ---
=0 Puedes seguir enviando User Data Datos para los niveles superiores del nivel de enlace.
DFC
Primaria 4 16 bytes

CRC Cyclic Redundancy Check.


Function Code (FC): 16 bytes Dos octetos que nos permiten saber si un Header o Bloque de
Function Code
Identifica la función o servicio asociado con la trama al nivel de Datos es valido.
Bits: 3-0
enlace.
Su valor varia de 0 a 15.
Su valor depende si la trama es originada por la estación primaria
(PRM=1) o por la estación secundaria (PRM=0).
Valores del Campo Function Code. Function Code

Bits: 3-0

PRM=1 Primary --> Secondary


FC FC Name Service Function FCV bit Response FC permitted from secondary
0 RESET_LINK_STATES Reset of remote link 0 0 or 1
1 --- Obsolete --- 15 or no response
0 or 1 (no response is acceptable if the link states are
2 TEST_LINK_STATES Test function for link 1 Unreset)
3 CONFIRMED_USER_DATA Deliver application data, confirmation requested 1 0 or 1
UNCONFIRMED_USER_DAT Deliver application data, confirmation not
4 A requested 0 No response
5 --- Reserved --- 15 or no response
6 --- Reserved --- 15 or no response
7 --- Reserved --- 15 or no response
8 --- Reserved --- 15 or no response
9 REQUEST_LINK_STATUS Request status of link 0 11
10 --- Reserved --- 15 or no response
11 --- Reserved --- 15 or no response
12 --- Reserved --- 15 or no response
13 --- Reserved --- 15 or no response
14 --- Reserved --- 15 or no response
15 --- Reserved --- 15 or no response

PRM=0 Secondary --> Primary


FC FC Name Service Function
0 ACK Positive acknowledgement Function Code (FC):
1 NACK Negative acknowledgment Mensajes Primaria  Secundaria con FC= 0,2,3,4 y 9 deben ser procesados por la estación
2 --- Reserved secundaria. No es aceptable que la estación secundaria responda con FC=15.
3 --- Reserved
4 --- Reserved Mensajes Broadcast :
5 --- Reserved La primaria debe transmitirlos con FC=4 (UNCONFIRMED_USER_DATA).
6 --- Reserved No deben ser contestados por la secundaria, sin importar el FC.
7 --- Reserved
8 --- Reserved
9 --- Reserved
10 --- Reserved
11 LINK_STATUS Status of the link
12 --- Reserved
13 --- Reserved
14 --- Obsolete
15 NOT_SUPPORTED Link service not supported
PRM=1
Códigos de función: Primaria Secundaria cuando Function Code = 4 UNCONFIRMED_USER_DATA:
6 Se utiliza para enviar información sin necesidad de confirmación.
La estación SECUNDARIA pasa los datos recibidos a las capas superiores.

Function Code = 0 RESET_LINK_STATES:


Permite sincronizar la comunicación con la estación secundaria.
Function Code = 9 REQUEST_LINK_STATUS:
Se requiere para procesar tramas PRIMARIASECUNDARIA con FCV=1. Se utiliza para saber el estado del nivel de enlace de la estación secundaria
Solo para utilizar posteriormente tramas CONFIRMED_USER_DATA (FC=3) (¿Estas ahí?). La estación secundaria responde con un LINK_STATUS
La estación PRIMARIA debe enviar FC=0 al reiniciarse o después de una Se recomienda su uso en redes IP.
falla en las comunicaciones.
Si la estación secundaria no recibe FC=0 (RESET_LINK_STATES) no puede
procesar tramas con FC=3 (CONFIRMED_USER_DATA)
Después de su envío y confirmación, la estación PRIMARIA pone FCB=1
para la siguiente trama con FCV=1. PRM=0
RESET_LINK_STATES funciona en un solo sentido, si la estación Códigos de función: Secundaria Primaria cuando
SECUNDARIA en otra transacción se comporta como PRIMARIA, debe 6
sincronizar la comunicación enviando FC=0.
En este tipo de tramas nunca se incluyen data blocks.

Function Code = 2 TEST_LINK_STATES:


Se utiliza para probar los bit de estado de la estación secundaria. Function Code = 0 ACK:
Cuando FC=2 es recibido por la SECUNDARIA, esta compara el FCB recibido Es la confirmación de la rx de una trama del tipo: RESET_LINK_STATES,
(FCBrx) con el valor que esta esperando recibir (FCBesp). TEST_LINK_STATES y CONFIRMED_USER_DATA.
Si FCBrx=FCBesp, la SECUNDARIA envÍa un ACK y toggle el
FCBesp.
Si FCBrx!=FCBesp, la SECUNDARIA envía el último ACK o NACK
Function Code = 1 NACK:
enviado a la PRIMARIA. Ojo, como la secundaria no cambia el
Indica que alguna solicitud (REQUEST) de la estación PRIMARIA no fue
valor del FCBesp, al final todo queda sincronizado.
aceptada por las siguientes razones:
Si la SECUNDARIA no ha recibido un RESET_LINK_STATES, puede
The secondary’s link state is not reset, cuando se recibe una
no responder o bien responder un NACK con DFC=0.
trama: TEST_LINK_STATES or CONFIRMED_USER_DATA con el
bit FCV=1.
The secondary’s link is busy
Function Code = 3 CONFIRMED_USER_DATA: Los buffers de rx de la SECUNDARIA están full.
Se utiliza para que la estación PRIMARIA envíe datos y recibir confirmación NACK se utiliza para responder solo tramas: RESET_LINK_STATES,
de la recepción de los mismos de la estación SECUNDARIA. TEST_LINK_STATES y CONFIRMED_USER DATA.
Se requiere que el enlace esté sincronizado previo envío del
RESET_LINK_STATES.
Cuando FC=3 es recibido en la SECUNDARIA, esta compara el FCB recibido Function Code = 11 LINK_STATUS
(FCBrx) con el valor que esta esperando recibir (FCBesp). Es la respuesta de la SECUNDARIA a un REQUEST_LINK_STATUS (Si, aquí
Si FCBrx=FCBesp, la SECUNDARIA responde con un ACK y pasa estoy).
los datos a las capas superiores. Toggle el FCBesp.
Si FCBrx!=FCBesp, la SECUNDARIA responde con ACK y no pasa NOT_SUPPORTED
los datos a las capas superiores. ¡No toggle el FCBesp! Function Code = 15
Se utiliza para indicar que la solicitud de la PRIMARIA no está soportada o
¡No se recomienda usar CONFIRMED_USER_DATA con TCP o UDP sobre
implementada en la SECUNDARIA.
una red IP.
Notas sobre el direccionamiento. (DEST) Destination Field (SRC) Source Field
16 bits 16 bits

Address Use
All-call, Application Layer BroadCast
Definidas como direcciones broadcast o
Todas las estaciones deben aceptar estas tramas.
Confirmation to clear IIN 1.0 is El tratamiento está definido en el nivel de aplicación.

0xFFFF optional
All-call, Application Layer
Confirmation to clear IIN 1.0 is
0xFFFF mandatory
All-call, Application Layer
Confirmation must not be
0xFFFF required to clear IIN 1.0
Su propósito es descubrir la dirección de un dispositivo.
0xFFFC Self-address Self-Address
Esta dirección se utiliza en el “Destination-Address”
0xFFF0 Si un dispositivo esta en modo: “Self-Address enabled” debe contestar estas
tramas como si tuvieran su propia dirección destino.
to Al contestar el dispositivo pondrá su propia dirección en Source-Address. ¡De
esta forma descubrimos cual es su dirección!
0xFFFB Reserved
Ojo: Solo debemos habilitar “Self-Address” en un dispositivo a la vez, para
0x0000 evitar múltiples respuestas.

to Unique address Used by Master Rango: 0xFFF0   0xFFFB


Reserved
0xFFEF and Outstation on a single link. Simplemente no debe ser utilizado este rango.
Tramas con esta direcciones deben ser ignoradas.
Están para lo que disponga el grupo DNP en un futuro.
Variables de Control del Nivel de Enlace:

Variables de la Estación Primaria.

Variable Descripción

SecondaryStationIsReset Tipo Booleano.


Indica si esta o no reseteado el nivel de enlace.
SoftwareOperatingState Tipo enumeración.
Indica el estado del software para la estación primaria.
NFCB (next FCB) Indica el valor de FCB a incluir en la siguiente trama a Tx con FCV=1.

Variables de la Estación Secundaria.

Variable Descripción

LinkIsReset Tipo Booleano.


Indica si esta o no reseteado el nivel de enlace.
SoftwareOperatingState Tipo enumeración.
Indica el estado del software para la estación secundaria
EFCB (Expected FCB) Indica el valor de FCB esperado en la siguiente trama Rx con FCV=1.
Detección de errores en tramas.

Causas de rechazo de tramas recibidas.

Clave Descripción

bInicio No se recibió la secuencia de inicio 0x05 seguida de 0x64.

noDest La dirección destino no pertenece a ningún dispositivo dado de alta.

noFuente La dirección fuente no coincide con la programada a responder el


dispositivo.
errorCRC Hay una diferencia entre el CRC recibido y el CRC calculado.

errorLong La longitud de la trama no coincide con la indicada en el campo longitud.

noFC El código de función no es correcto con lo indicado en la norma.

noFCV El bit FCV no esta activado cuando así lo requiere el código de funcipon
utilizado.
Caso 27: Función Link_Status recibida ó
NACK con DFC=0 recibida Función Link_status no recibida,
SecStIsReset = false UNCONFIRMED No responde, no reintentos
RESET_LINK_STATES _USER_DATA 3 18,19 y
20 Retry: Request_Link
Startup SecUnRese RetryCount ++
REQUEST_LINK
tIdle 4
_STATUS 21
RetryCount
Función ACK no recibida ó =0 UR-
No responde, no reintentos LinkStatus
SecondaryStationIsReset = 1 15 y 16 Wait
false RESET_LINK No ACK ó No
23 y 24 2
_STATES responde
11 y 12 RESET
No ACK ó No responde No responde,
LINK
SecStIsReset = false 34 no reintentos
ResetLink ResetLink
NACK con DFC=1 SecondaryStat
Wait-1 Wait-2
recibida ó 28,29 y ionIsReset =
No responde, 27 17 false
13 30
SecStIsReset = F
Retry: Reset_Link Retry: Reset_Link
RetryCount ++ RESET_LINK RetryCount ++
5 _STATES 14
CfmdData
ACK recibida 35
Wait
10 NFCB = 1
Test 31 R-LinkStatus
ACK recibida SecStIsReset = True
Wait Wait
NFCB = 1 Retry: Confirmed_user CONFIRMED_USER
26 Retry:
SecStIsReset = True RetryCount ++
25 ACK recibida REQUEST_LINK Request_Link
7
CONFIRMED_ Cambiar Estado _STATUS RetryCount ++
Retry: Test_Link Test_Link_States
RetryCount ++ USER_DATA (NFCB) 9
6 32 y33
SecReset
Idle Función Link_Status recibida ó
22
ACK recibida RetryCount Función Link_status no recibida
Cambiar Estado =0
(NFCB) UNCONFIRMED
8 _USER_DATA
Comisión Federal de Electricidad
División de Distribución Centro Sur.

Capa de Transporte
Funciones:
1.- Transmisión , partir un fragmento de la capa de aplicación en segmentos de tamaño máximo de 249 bytes y agregar cabecera
hacia la capa de enlace. Construyéndose segmentos de 250 bytes.
2.- Recepción, ensamblar segmentos para generar un fragmento hacia la capa de aplicación.

Header Datos de capa de aplicación


Segmento →
← 1 byte → ← de 1 a 249 bytes →

Transmisión de datos

Cabecera → bit # 7 6 5 4 3 2 1 0

Campos FIN FIR SEQUENCE

Campo FIN: Indica que es el último segmento del fragmento de la capa de aplicación.
FIN= 0, Indica que vienen mas segmentos.
FIN =1, Indica que es el último segmento de transporte de una serie de segmentos.

Campo FIR: Indica el inicio de una serie de segmentos.


FIR=0, Indica que no es el primer segmento de una serie de segmentos.
FIR=0, Indica que el primer segmento de una serie de segmentos.

Campo SEQUENCE: Se utiliza para verificar el orden de los segmentos recibidos, para detectar segmentos duplicados o perdida de
segmentos.
- Rango de 0 a 63.
- Se incrementa de uno en uno.
- Después del valor 63, el siguiente segmento su secuencia es 0.

Ejemplos:
FIN=1, FIR=1, SEC=0 : Se recibe solamente un segmento para la capa de aplicación.
FIN=0, FIR=1, SEC=0 : Es el primer segmento de una serie de segmentos y se registra la secuencia para su próxima verificación.
FIN=0, FIR=0, SEC=1 : Es el segundo segmento de una serie de segmentos y se verifica secuencia consecutiva.
FIN=0, FIR=0, SEC=X : Es el segundo o n-1 segmento de una serie de segmentos y se verifica secuencia consecutiva.
FIN=1, FIR=0, SEC=X : Es el último segmento de una serie de segmentos y se verifica secuencia consecutiva.
FIR=0,
Descartar FIN=X,
segmento SEQ=X

Idle
State
FIR=1,
FIN=1,
FIR=1, SEQ=X
FIN=0,
SEQ=X
Limpiar
buffer
Pasar buffer a Limpiar
capa de aplicación buffer
Descartar
segmento Agregar segmento
al buffer
Agregar segmento Agregar segmento
FIR=0, al buffer al buffer
FIN=1, FIR=1,
FIR=0, SEQ=SAME Pasar buffer a
FIN=0, FIR=0, FIN=0, capa de aplicación
SEQ=+M,1<M<64 FIN=1, SEQ=X FIR=1,
SEQ=+1 FIN=1,
SEQ=X

Assembly
State

Descartar Agregar segmento


FIR=0, FIR=0,
segmento al buffer
FIN=0, FIN=0,
SEQ=SAME SEQ=+1
Comisión Federal de Electricidad
División de Distribución Centro Sur.

Capa de Aplicación
La capa de aplicación es la capa superior del modelo OSI. Es la interface con el software del usuario. Tamaño máximo de transmisión es de 2048
bytes y mínimo 2 bytes.
Definiciones
Objeto DNP: Es una representación codificada de los datos desde
Punto: (Point) Es una entidad única identificable de manera física un punto o una estructura, que tiene un formato en base al grupo
o lógica. El termino punto aplica para entradas de tipo analógico, y la variación proveniente de un mensaje.
digital y contadores, así como también salidas digitales y Un mensaje contiene 1 o mas objetos.
analógicas.
Conceptos asociados a un punto: Static: El termino static se refiere al valor actual de un punto
• Es identificado por un índice. medido. Para un binario es “on” o “off”. Para un analógico es ej.
• Tiene valor actual. 259.
• Puede generar eventos.
Events: (evento) Evento esta asociado a un suceso de un punto,
Tipo de punto: Es una forma de clasificar los puntos relacionados ya sea cambio de estado o medición fuera de los límites de rango.
con características, funcionalidad similar o relacionado a un Ejemplo de la información estructurada almacenada:
equipo físico o lógico. • Tipo de evento(entrada binaria, entrada analógica, etc.)
• Valor (on, off, 342, etc. )
Índices: Son valores numéricos para identificar un punto de un • Índice del punto.
tipo de punto. • Tiempo cuando ocurrió el evento.
El valor mínimo es 0. • Clase asignada.
Grupo: Es una forma de clasificar los tipos de datos.
Ej. Grupo 30 – Valores actuales de entradas analógicas.
Classes: (clases) El uso de este concepto es organizar eventos y
Variaciones: Ofrece una selección de formatos de codificación valores actuales en varias categorías.
para muchos de los tipos de datos. Clase 0: Se utiliza para valores medidos.
Ej. 1 – Valor entero de 32 bits con bandera. Clase 1,2 y 3: Una estrategia es asignar eventos de alta prioridad
2 – Valor entero de 16 bits con bandera. en la clase 1 y de baja prioridad clase 3.
3 – Valor entero de 32 bits sin bandera. • Otra estrategia es asignar eventos de un tipo por clase, ej.
4 – Valor entero de 16 bits sin bandera. eventos binarios en clase 1, eventos analógicos clase 2.
5 – Valor de punto flotante de 32 bits con bandera. • U otra estrategia apropiada a la necesidades de la aplicación.
6 – Valor de punto flotante de 64 bits con bandera.

Nota: Bandera, dato complementario que indica el estado del


punto, ej. En línea, fuera de línea.
Estructura del fragmento
Fragmento tipo solicitud Fragmento tipo respuesta
Application First Last Application First Last
DNP DNP DNP DNP
Request
Header
Object
Header
Objects … Object
Header
Objects
Request
Header
Object
Header
Objects … Object
Header
Objects

← 2 bytes → ← 4 bytes →

Cabecera de aplicación de solitud Cabecera de aplicación de respuesta


Application Control Function Code Application Control Function Code Internal Indications
(1 byte) (1 byte) (1 byte) (1 byte) (2 bytes)

Campo CON (1 bit), Indica que el receptor debe de confirmar la recepción del
Application control mensaje para verificar la recepción del fragmento antes de enviar cualquier
mensaje de solicitud de otra índole.
CON = 0, Mensaje sin confirmación.
bit # 7 6 5 4 3 2 1 0
CON = 1, Mensaje con confirmación.
Campos FIN FIR CON UNS SEQUENCE ¿Cuando se usa?:
• La estación remota debe de poner el bit en 1 cuando el mensaje contiene
datos de eventos, para confirmar la recepción y poder eliminar del buffer los
Campo FIR (1 bit)
eventos enviados.
FIN = 0, No es el primer fragmento.
• Cuando el mensaje de respuesta es multi-fragmentos para una transmisión
FIN = 1, Primer fragmento.
segura. El último fragmento es con el bit en 0.
Campo FIN (1 bit) • La estación remota transmite mensaje de respuesta no solicitada.
FIN = 0, No es el ultimo fragmento. Nota: EL Maestro nunca pedirá confirmación en los mensajes de solicitud.
FIN = 1, Último fragmento. Práctica obsoleta.

Campo SEQ (4 bits), Se usa para Campo UNS (1 bit), Indica respuesta no solicitada o confirmación de
verificar la recepción ordenada respuesta no solicitada.
de los mensajes. UNS = 0, Mensaje asociado a una solicitud del maestro.
Rango: 0 - 15. UNS = 1, Mensaje de respuesta no solicitada.
Tabla de códigos de solicitud
Function code
Código Nombre Descripción
0(0x00) CONFIRM Maestra envía confirmación de recepción de
Se utiliza para identificar el propósito del mensaje.
fragmento.
•Para mensajes de solicitud del maestro utiliza un rango de 1 a
128. 1(0x01) READ La estación remota deberá responder datos específicos
solicitados.
•Para mensajes de respuesta de la estación remota utiliza un
rango de 129 a 255. 2(0x02) WRITE La estación remota (E.R.) deberá registrar los datos
específicos solicitados.
3(0x03) SELECT La E.R. deberá seleccionar los puntos de salida
solicitados para preparación del comando OPERATE.
bit # 7 6 5 4 3 2 1 0
4(0x04) OPERATE La E.R. activa el punto de salida anteriormente
Campos Códigos de función seleccionado.
5(0x05) DIRECT_OPERATE La E.R. activa el punto de salida solicitado. No requiere
seleccionarse.

Tabla de códigos de respuesta 6(0x06) DIRECT_OPERATE La E.R. activa el punto de salida solicitado sin confirmar
_NR a la maestra.
Código Nombre Descripción 7(0x07) IMMED_FREEZE La E.R. deberá copiar el valor actual del punto indicado
(Analog o Count) y almacenar en memoria local.
129(0x81) RESPONSE La maestra deberá que 8(0x08) IMMED_FREEZE_ Lo mismo que el punto anterior pero la E.R. no envía
el fragmento recibido es NR confirmación.
por solicitud de la misma.
9(0x09) CLEAR_FREEZE Hace lo mismo que el código 7, solo que al copiar los
130(0x82) UNSOLICITED_RESPONSE La maestra deberá valores deja los puntos actuales en valor 0.
interpretar que es un
mensaje no solicitado. 10(0X0A) CLEAR_FREEZE_N Hace lo mismo que el punto anterior, solo que sin
R confirmación.
11(0X0B) FREEZE_AT_TIME La E.R. deberá copiar la estampa de tiempo y
almacenar en memoria.
12(0X0C) FREEZE_AT_TIME Hace lo mismo que el código 11, pero sin confirmar.
_NR
20(0x14) ENABLE_UNSOLICI Habilita a la E.R. transmitir mensajes no solicitados de
TED puntos especificos
21(0x15) DISABLE_UNSOLIC La E.R. deshabilita la transmisión de mensajes no
ITED solicitados.
22(0x16) ASSIGN_CLASS La E.R. deberá asignar los eventos generados de los
puntos especificados en una clase.
Indicaciones Internas
•El campo indicaciones internas aparece en
los mensajes de respuesta . Son 2 bytes. First Octet Second Octet
•Sirve para indicar el estados y condiciones (1 byte) (1 byte)
de error de la estación remota.
Indicaciones del primer octeto
Se utiliza una referencia para indicar un bit de las indicaciones internas.
Donde: IIN – Indicaciones internas. Bit Nombre Descripción
X – Numero de octecto.
b - Numero de bit. IIN1.0 ALL_STATIONS Maestra envía mensaje a todas
Ej. IIN1.0 – Indicación interna del primer octeto del bit 0. las estaciones remotas con
IIN2.6 – Indicación interna del segundo octeto del bit 6. direcciones 0xFFFF, 0xFFFE,
0xFFFD. BroadCast.
IIN1.1 CLASS_1_EVENTS Indica que existen eventos en la
Indicaciones del segundo octeto clase 1. Para que la maestra los
Bit Nombre Descripción solicite.

IIN2.0 NO_FUNC_CODE La E.R. activa el bit cuando no soporta IIN1.2 CLASS_2_EVENTS Indica que existen eventos en la
_SUPPORT un código de función solicitado por la clase 2. Para que la maestra los
maestra. solicite.
IIN1.3 CLASS_3_EVENTS Indica que existen eventos en la
IIN2.1 OBJECT_UNKNOWN Se activa cuando no se maneja dicho clase 3. Para que la maestra los
objeto de ese nivel de DNP. solicite.
IIN2.2 PARAMETER_ERROR Se activa cuando se solicitan puntos IIN1.4 NEED_TIME La E.R. requiere sincronización
fuera de rango, incluso cuando existen de estampa de tiempo de la
puntos disponibles. O no se puede maestra.
analizar el fragmento
IIN1.5 LOCAL_CONTROL La E.R. indica falla de ejecución
IIN2.3 EVENT_BUFFER Se activa cuando no existe mas espacio de comando solicitado con este
_OVERFLOW en buffer de los eventos y se estén bit ya que esta en modo local.
perdiendo.
IIN1.6 DEVICE_TROUBLE La E.R. indica que se encuentra
en condiciones anormales.
IIN2.4 ALREADY_EXECUTING Existe un comando en ejecución
IIN1.7 DEVICE_RESTART La E.R. indica reinicio del
IIN2.5 CONFIG_CORRUPT Si la solicitud de configuración no es
sistema por cualquier razón.
válida.
Para poner el bit en 0, la
IIN2.6 RESERVED_2 maestra debe de enviar un
mensaje g80v1 e índice 7.
IIN2.7 RESERVED_1
Solicitud enviada Fragmento
sin esperar recibido no
respuesta esperado

Idle

Solicitud enviada
Fragmento recibido Esperando respuesta
FIR =1,FIN =1, SEQ=n Tiempo de espera de
O respuesta vencido
FIR =1,FIN =x, SEQ!=n Fragmento
recibido FIR =0

AwaitFirst Tiempo de espera de


respuesta vencido

Fragmento recibido
FIR =1,FIN =0, SEQ=n
-Fragmento recibido
-- Todas las demás
Fragmento recibido
condiciones que no
FIR =0,FIN =0, SEQ=n+1
son del estado
O
Assembly “Assembly”
FIR ,FIN,SEQ igual al
fragmento anterior

FIR=0,
FIN=0,
SEQ=+1
StartUp

Poleo Integral

FirstUR

Primer Fragmento No
solicitado recibido

Idle

Fragmento No
solicitado recibido
Objetos nivel 3
GRUPO VARIACION CODIGO DE FUNCION QUALIFIER RESPUESTA RESPUESTA
(CALIDAD) VARIACIÓN QUALIFIER
1 – BI 0, 1, 2 READ, 00, 01, 06 1, 2 00, 01
ASSIGN_CLASS(Var 0)
2 - BI eventos 0, 1, 2, 3 READ 06, 07, 08 1,2,3 07, 08
10 - BO 0, 1, 2 READ, 00, 01, 06 1, 2 00, 01
ASSIGN_CLASS(Var 0)
12 – CMD BI 0, 1 SELECT, OPERATE, DIRECT_OP, 17, 28 1 -
DIRECT_OP_NoACK,
ASSIGN_CLASS(Var 0)
20 - Contador 0, 1, 2, 5, 6 READ, IMMEZED_FREEZE, 00, 01, 06 1, 2, 5, 6 00, 01
IMMEZED_FREEZE_NR,
FREEEZE CLEAR, FREEEZE
CLEAR_NR
21 –Contadores 0, 1, 2, 9, 10 READ, 00, 01, 06 1, 2, 9, 10 00, 01
congelados ASSIGN_CLASS(Var 0)
22 – Contadores 0, 1, 2 READ 06, 07, 08 1,2 07, 08
eventos
23 – Contadores 0, 1, 2 READ 06, 07, 08 1,2 07, 08
congelador chan.
30 - AI 0, 1, 2, 3, 4 READ, 00, 01, 06 1, 2, 3, 4 00, 01
ASSIGN_CLASS(Var 0)
32 –AI eventos 0, 1, 2 READ 06, 07, 08 1, 2 17, 28

40 - AO 0, 1, 2 READ 00, 01, 06 1, 2 00, 01

41 – CMD AO 0, 1, 2 SELECT, OPERATE, DIRECT_OP, 17, 28 1 -


DIRECT_OP_NoACK,
ASSIGN_CLASS(Var 0)
50 - Time 1 READ, WRITE 7 1 7

60 - Clases 1, 2, 3, 4 READ, ENABLE_UNSOLICITED, 06, 07, 08 - -


DISABLE_UNSOLICITED
80 - Información 1 READ, WRITE 00, 01 1 00, 01
Prefijo del objeto y Rango

7 6 5 4 3 2 1 0
Prefijo del
Res Rango
objeto
Calificador

Campo Rango (4 bits), Indica el numero de octetos que


Campo Res (1 bit), Valor reservado. se van a utilizar en el paquete de objetos.

Campo Prefijo del Objeto (3 bits), Indica si existe o no


índice antes del valor de un objeto.
Si; = 0, indica no existe índice.
Sí; ≥ 1. indica la existencia de índice antes del valor.
Prefijo del objeto y Rango

CALIFICADOR USO EN LA MAESTRA USO EN LA REMOTA

00, 01 Un punto o un rango de Objetos de valor medido


puntos de valores medidos
06 Todos los puntos (medidos y ----------
eventos)
07, 08 Cantidad limitada de eventos. Un punto sin índice(ej.
Un punto sin índice(ej. Estampa de tiempo)
Estampa de tiempo)
17, 28 -Para controles Objetos de eventos.
- Para múltiples objetos no
secuenciales.
5B Para transmitir objetos de Para transmitir objetos de
tamaño desconocido tamaño desconocido.
BROADCAST_FRAG_RCVD
CONFIRM_RCVD
REPEAT_FRAG_RCVD (compare = yes)

SOL_CONFIRM_TIMEOUT
BROADCAST_FRAG_RCVD Idle

RESTART
FIRST_FRAG_RCVD UNSOL_TRIGGER
NEW_FRAG_RCVD
REPEAT_FRAG_RCVD (compare = no)
DEFERRED_READ_EXISTS

UNSOL_CONFIRM_
TIMEOUT_DEFER

No No Resp or Si
txCON = 0

No Resp or Si
No
txCON = 0
Si
Si

Response ECSN = NE
NEW_FRAG_RCVD transmitted
REPEAT_FRAG_RCVD
Wait
with txCON No
(compare = no) =0 Unsolicited
MATCHING_UNSOL_
CFM_RCVD
Confirm
MATCHING_SOL_ UNSOL_CONFIRM_TI
CFM_RCVD No MOUT_NO_DEFER
Wait
MATCHING_SOL_CFM_RCVD
Solicited NON-MATCHING_SOL_CFM_RCVD NON-
Confirm MATCHING_UNSOL_CFM_RCVD
MATCHING_SOL_CFM_RCVD BROADCAST_FRAG_RCVD
READ_REQ_RCVD NON_RD_REQ_RCVD
NON-MATCHING_SOL_CFM_RCVD REPEAT_NON_RD_RCVD
UNSOL_CFM_RCVDR SOL_CONFIRM_TIMEOUT
EPEAT_FRAG_RCVD (compare = yes) UNSOL_CONFIRM_TIMOUT_NO_DEFER

Вам также может понравиться