# SERCOS III

SERCOS III es una interfaz digital abierta globalmente estandarizada para la comunicación entre controles industriales, dispositivos de movimiento (motion devices), y dispositivos de entradas/salidas (I/O), es la tercera generación de la interfaz de SERCOS. SERCOS III une los aspectos de tiempo-real de la interfaz de SERCOS con Ethernet. Está basada sobre y conforme a los estándares de “Ethernet” (IEEE 802.3 y ISO/IEC 8802-3). SERCOS III se empezó a elaborar en el 2003, con proveedores lanzando los primeros productos soportándolo en el 2005. Además de las características estándar de SERCOS citadas en descripción general de interfaz SERCOS, SERCOS III también provee:
* Actualizaciones cíclicas a dispositivos en tiempos tan bajos como 31.25 µsec
* Soporte para hasta 511 dispositivos esclavos en una sola red
* Redundancia: Sin protuberancia nivel físico de recuperación con solo una-falla
* Detección de una caída de una conexión física dentro de 25 µsec (menos que la actualización de un ciclo)
* Hot plugging: inserción y configuración de dispositivos en una red mientras la comunicación cíclica está activa

## Arquitectura General

Con el fin de lograr los requerimientos de rendimiento y “jitter” requeridos en las aplicaciones por la cual se diseñó la interfaz, SERCOS III opera principalmente en un arreglo de Maestro/Esclavo (“Master/Slave”) intercambiando datos cíclicos entre nodos. El “Master” inicia todos los datos de transmisión durante un ciclo de tiempo real de SERCOS. Todos los datos de transmisión comienzan y terminan en el “Master” (circular).

### Ciclo de SERCOS III

La comunicación a través de una red de SERCOS III ocurre en intervalos cíclicos estrictos. Un tiempo cíclico es elegido por el usuario para una aplicación dada, con un rango de 31.25 µsec a 65 msecs. Dentro de cada ciclo, los datos son intercambiados entre los nodos de SERCOS III usando dos tipos de telegramas: MDTs y ATs (ver Tipos de Telegramas). Después de que todos los telegramas MDTs y ATs se han transmitido, los nodos de SERCOS III permiten que el tiempo que sobra en un ciclo sea usado como un canal NRT(“Non Real Time” o No Tiempo Real), el cual puede ser usado para intercambiar datos en otros formatos, tal como IP.
La red permanece disponible para el tráfico de NRT hasta que comienza el próximo ciclo, momento en el que el nodo de SERCOS III cierra los nodos para el tráfico NRT otra vez. Esta es una distinción importante. A propósito SERCOS está diseñado para proveer acceso abierto a todos los puertos para otros protocolos entre los mensajes cíclicos de tiempo real. No se requiere de túnel. Esto provee la ventaja de que cualquier nodo de SERCOS III esté disponible, si SERCOS III esta en modo cíclico o no, para usar otros protocolos, tal como TCP/IP, sin ningún tipo de hardware adicional para procesar túnel. Los nodos de SERCOS son especificados para proveer un método de “buffering” de almacenar y adelantar mensajes que no son SERCOS si son recibidos en el nodo mientras la comunicación cíclica esté activa.

### Telegramas
#### Formato de Telegramas

Todos los telegramas de SERCOS III son conforme al formato de trama de EEE 802.3 y ISO/IEC 8802-3 MAC (Control de acceso al medio).

##### Dirección de Destino

La dirección de destino para todos los telegramas de SERCOS III siempre es 0xFFFF FFFF FFFF (todos uno’s), la cual es definida como la dirección de difusión para los telegramas de Ethernet. Esto es porque todos los telegramas son emitidos por el “Master” y son destinados para todos los “Slaves” de la red.

##### Dirección de Origen

La dirección de origen para todos los telegramas de SERCOS III es la Dirección MAC del “Master”, ya que emite todos los telegramas.

##### Tipo de Ethernet

Un valor único de “EtherType” ha sido asignado vía el “IEEE EtherType Field Registration Authority for SERCOS III (0x88CD)” o IEEE EtherType Autoridad de Registración de Campo para SERCOS III (0x88CD).

##### Cabecera de SERCOS III

El inicio de los datos de campo definido por Ethernet siempre comienzan con una cabecera de SERCOS III, el cual contienen la información única de control y status de SERCOS.

##### Datos de Campo de SERCOS III

La Cabecera de SERCOS III es seguido por los Datos de Campo de SERCOS III, el cual contiene una serie configurable de variable definidos para cada dispositivos de la red.

#### Tipos de Telegramas

Dos tipos principales de telegramas son usados dentro del Ciclo de SERCOS III. El “Master Data Telegrama (MDT)” o Telegrama de Datos Maestros y el “Acknowledge Telegram (AT)” o Telegrama de Reconocimiento. Ambos tipos de telegramas son emitidos por el “Master” (control). El MDT contiene información proporcionada por el “Master” a los “Slaves”. Es hecho por el “Master” y leído por los “Salves”. El AT es emitido por el “Master”, pero en realidad pobladas por cada “Slave” con sus datos apropiados de respuesta (realimentación, valores, estados de entrada, etc.). Más de un “Slave” usa el mismo “AT”, llenando su área predeterminada en el telegrama “AT”, actualizando “check sums” o sumas de comprobación, y luego pasando el telegrama al dispositivo siguiente. Este método reduce el impacto de la trama de red en el desempeño de la red sin comprometer IEEE 802.3 & ISO/IEC 8802-3. la cantidad de datos enviados del “Master” a los “Slaves”, así como la suma de datos regresado por los “Salves”, puede que exceda la máxima especificada por 802.3 de datos de campo de 1500 bytes. Para cumplir con este límite, SERCOS III puede usar más de un telegrama de MDT en un ciclo, así como más de un telegrama de AT (hasta 4 en cada caso).

### Sincronización

Para lograr características verdaderamente en tiempo real, SERCOS III, como con SERCOS I y SERCOS II, usa una forma de sincronización que depende de un marcador de sincronización expedido por el control “Master” en intervalos exactos de tiempos equidistantes. Todos los nodos en una red de SERCOS usan este telegrama para sincronizar todas las actividades en el nodo. Para tomar en cuenta todas las variaciones en los componentes de la red, los “delays” (retrasos) son medidos en la transmisión de nodo-a-nodo durante la “phase-up” (fase de inicialización) de la red de SERCOS, y esos valores compensados durante la operación normal. A diferencia de SERCOS I y SEROCS II, donde un telegrama aparte de “Master Sync Telegram” (Telegrama de Sincronización Maestro), o MST (por sus siglas en inglés) es usado para este propósito, SERCOS III incluye el MST en el primer MDT transmitido. No se emite un telegrama separado. El tiempo entre dos MSTs es exactamente igual a Tiempo de Ciclo de SERCOS, (tScyc), designado.

### Nivel Físico y Capa de Enlace de Datos

SERCOS III soporta las entidades del estándar IEEE 802.3 Y ISO/IEC 8802-3 100 Base-TX o 100Base-FX (100Mb/s Banda base) nivel físico “Full Duplex” (PHY -siglas en inglés). Los sub-niveles compatibles usados son 802.3 “Media-Access Controllers (MAC)”. La intersección automática (MAU[Media Attachment Unit] – Embedded) es especificada entre los dos unidades de los Medios Físicos Adjuntos ( PMA - por sus siglas en inglés) presentes con un puerto dúplex. Estas dos unidad son referidas como el Canal Primario y Canal Secundario en las especificaciones de SERCOS III. Interfaces dobles son requeridas (dos interfaces dúplex por dispositivo). Dentro de la especificación de SERCOS III, las interfaces dobles son referidas como P1 y P2 (Puerto 1 y Puerto 2).

### Pila (“Stack”) SERCOS III

Toda la funcionalidad requerida para configurar una interfaz SERCOS III está contenida en una pila (“stack”) en versiones “hard” y “soft”. La versión “hard” es ampliamente usada para aplicaciones integradas (tales como: “drives”, módulos de E/S y microcontroladores de control de movimiento), donde:
** Es importante que el manejo general de los nodos de SERCOS III no sea puesto sobre el procesador del dispositivo.
** “Jitter” de nanosegundos es requerido.
La pila de “hardware” está disponible en diferentes formas. Estos actualmente incluyen:
** Un flujo de bits para Xilinx FPGAs
** Un flujo de bits para Altera FPGAs
** Una lista Net para Altera FPGAs
** El chip controlador de muli-red, “netX, de Hilsher, GMBH
El “jitter” máximo permitido basado con “hard-stack” del Maestro y Esclavo es menos de 1 µsec. Usando estos “stacks” rinde un “jitter” similar al de SERCOS II (35-70 nanosegundos).
SERCOS III también soporta un “Soft Master”, usando una interfaz “master” completamente basada en “software stack”. Desde que el “jitter” máximo en esta configuración depende del sistema operativo del “Master”, el máximo “jitter” puede ser fijado por una variable para la red de SERCOS III cuando un “Soft Master” es empleado.
Para “Slaves” básicos, como dispositivos de entrada/salida, un “core” con libre de licencia es disponible. Este Easy-I/O “core”, fácil de usar, puede ser descargado y cargado a un dispositivo “Xilinx Spartan-3 FPGA.”

### Consistencia de Datos

Consistencia de datos es un término usualmente usado en la industria de Tecnologías de informática y comunicación (TI), pero también aplica a control en tiempo real (por ejemplo comunicación de red de pares - “peer to peer”). Por esta razón, SERCOS III especifica que ningún dato puede ser sobre escrito (destruido) durante una transmisión. Todos los esclavos en la red pueden acceder datos de entrada y salidos para cualquier otro esclavo en la red.

### Dirección

Los dispositivos deben soportar la dirección MAC de Ethernet, más la dirección de SERCOS III. Otros esquemas de direcciones son opcionales.

#### Dirección SERCOS III

    Cada dispositivo de SERCOS III contiene una dirección numérica usada por otros dispositivos en la red de SERCOS III para intercambiar datos. La dirección puede ser cualquier número entero del 1 al 511.

#### Dirección IP

    SERCOS III no usa la dirección de IP para su propia operación. Si un dispositivo contiene un dirección IP o no depende de su soporte de otras especificaciones, ya sea independiente (exclusivo) de SERCOS IIII, o vía la porción NRT del ciclo.

### Topologías de Red

Las especificaciones de SERCOS III definen dos posibles topologías de red, de Anillo y Línea. Para aquellos familiares con otras redes, puede aparecer para ambas de ser configuradas como red de Anillo. Todos los telegramas empiezan y terminan con el “Master”. La característica de “Full Duplex” de la capa física es usada para lograr esto.

#### Topología de Línea

    La topología de línea es la más simple de los dos posibles arreglos, y no proporciona redundancia. Sin embargo, esta configuración ahorra el costo de un cable. En él, sólo una de las dos interfaces es usada. Los telegramas son emitidos por el transmisor PMA en el puerto activo del “Master”.Cualquier puerto del “Master” puede ser el activo. SERCOS III determina esto durante inicialización (“phase-up”). El primer esclavo (“Salve”) recibe el telegrama en su interfaz de conexión de recibir PMA, modifica el telegrama como sea requerido, y manda el telegrama en la segunda interfaz de transmitir PMA. Cada esclavo (“Slave”) en cascada hace asimismo hasta llegar al último esclavo en la red de Línea. Ese esclavo, detectando que no hay una conexión de SERCOS III en su segundo puerto, regresa el telegrama en el puerto de transmisión de la interfaz de recepción. El telegrama hace su camino a través de cada esclavo hasta llegar al “Master”. Note que el último esclavo también emite todos los telegramas de SERCOS III en el segundo puerto, a pesar de que no se detectó una conexión de SERCOS III. Esto es para “snooping”, el cierre de anillo (ver abajo), también para “hot-plugging”. Tomen en cuenta que ya que el campo destinado de Ethernet en todos los telegramas de SERCOS III son transmitidos con una dirección de 0xFFFF FFFF FFFF (todos 1), todos los telegramas emitidos por este puerto serán vistos por otros dispositivos como telegramas de transmisión. Este comportamiento es, por diseño, y no puede ser deshabilitado. Para evita un imposición de redes, conectados a un puerto abierto de SERCOS, un enchufe-NRT puede ser utilizado, o un “switch” conmutador de Ethernet programando para bloquear telegramas transmitidos por el puerto de SERCOS III.

#### Topología de Anillo

    Una topología de anillo simplemente cierra la red adjuntando el puerto no usado del último dispositivo al puerto no usado del “Master”. Cuando el “master” de SERCOS III detecta que el anillo existe, establece dos telegramas contra-rotatorios. Los mismos datos son emitidos simultáneamente de los transmisores PMA de ambos puertos del “Master”. De allí, ambos telegramas son manejados esencialmente idénticos a través de su camino entre cada esclavo, terminando en el puerto opuesto del “Master” del cual fueron emitidos. Las ventajas a esta topología incluyen una sincronización más estricta, así como una infraestructura de redundancia automática (ver abajo).

#### Otras Topologías de Red

    Con ambas estructuras, la de línea y de anillo, SERCOS III opera con un enfoque “circular”. Todos los telegramas salen del el “Master” y regresan allí. Como cualquier red que opera de esta manera, estructuras modificadas pueden ser construidas para parecer como una red de árbol o red de estrella, utilizando “hardware” que maneje las ramas, pero la estructura sigue siendo circular.

### Infraestructura de “Hardware”

SERCOS III está diseñado de tal manera que no se requiere ninguna infraestructura de red (conmutadores Ethernet estándar, Concentrador, etc) adicional. De hecho, ningún componente adicional de Ethernet estándar (no SERCOS III compatible) se puede colocar dentro de una red de SERCOS III, ya que su presencia causaría perjuicio al tiempo y sincronización de la red.

## Características
### Capa de Aplicación (perfiles)

La especificación de SERCOS III define una amplia gama de variables desarrollado por un consorcio de proveedores de productos para proporcionar interoperabilidad entre los componentes (controles de movimiento, “drives”, etc.). Todo el tráfico a través de una red de SERCOS III consiste de “Indents” (parámetros) con atributos. Este método fue definido por primera vez en SERCOS I, como un conjunto plano esencialmente de “Indents”. Después, fueron agrupados en conjuntos de aplicación para ayudar en la selección de “Indents” pertinentes requeridos para una industria dada, tal como “Pack Profile” para el uso de máquinas de embalaje. Durante el desarrollo de la especificación SERCOS III, esta metodología se perfeccionó para agrupar lógicamente los "Idents" por un dispositivo de clase. La definición de “Indents” legados ha permanecido prácticamente intacto; más bien sus grupos han sido re-evaluados para una arquitectura más entendible. Esto también ha permitido la separación de “Indents” de comunicación en un subconjunto lógico, simplificando la migración de SERCOS I/II a SERCOS III, y así proporcionando una visión clara a los usuarios.

### Redundancia

Cuando una red en anillo es empleada, SERCOS III proporciona la infraestructura para la redundancia automática. Si algún punto de interconexión en el anillo deja de funcionar, los nodos SERCOS III asociados detectarán una “ruptura de anillo” y “cerrarán” los nodos finales, así efectivamente operan como dos líneas en lugar de un anillo.
Esta operación es sin protuberancia, como la detección y tiempo de recuperación a una ruptura es menos de 25µ-seg, que es menos que el mínimo de un ciclo de tiempo de SERCOS III. SERCOS III también puede recuperarse de ruptura de anillo y “sanar” sin interrupción en la operación. Como los telegramas de SERCOS III continúan siendo emitidos por transmitir “PMAs” en los puertos no conectados, y recibir “PMAs” en los puertos no contactados, ya que sigue monitoreando por datos de entrada, cuando un puerto de SERCOS III reconoce que el anillo ha sido cerrado físicamente, re-activará los telegramas en contra-rotación para funcionalmente cerrar los anillos de nuevo. Esta operación también es sin protuberancia.

### Comunicaciones Peer

Para asegurar el determinismo necesario, la mayoría de los estándares Ethernet en tiempo Real imponen un método de únicamente-Maestro-a-Esclavo de comunicaciones. Esto puede crear conflicto con la necesidad de un nodo en el sistema para intercambiar datos de manera eficiente con un nodo que no sea el maestro (máster) de la red. El método convencional para lograr esto en una red de maestro-esclavo es pasar datos de un nodo esclavo al maestro (máster), donde se vuelve a re-emitir a uno o más esclavos diferentes. Por ejemplo, si varias unidades (drives) de servo en una red se van a sincronizar a una señal de otra unidad (drive) en la red, el maestro (máster) debe extraer la señal de esta unidad (drive) y volver a emitir a todas las otras unidades en la red. Las desventajas de este método son que los retrasos se inducen debido a los ciclos múltiples requeridos, y la carga de procesamiento del maestro (máster) se incrementa, ya que debe participar activamente en la función, a pesar de que no contribuye en nada. Datos de cualquier esclavo y hacia cualquier esclavo pueden acceder a otro nodo en la red sin ningún retraso de ciclo adicional o intervención del maestro (máster), ya que los datos no se destruyen en un telegrama de SERCOS III. Además, como telegramas pasan cada nodo dos veces en un ciclo (para ambos tipos de topologías), un nodo puede incluso tiene la oportunidad de acceder a los datos suministrados por un nodo subsiguiente. Dos métodos de comunicación “peer” se definen en la especificación SERCOS III: Controlador a Controlador (C2C) para que se comuniquen entre sí múltiples maestros (másteres) y Comunicación Cruzada (CC) para esclavos múltiples.

### Conexión en Caliente (Hot-Plugging)

Otra característica de SERCOS III es “hot-plugging”, que es la capacidad para agregar dispositivos a una red activa. Con las características descritas para la redundancia, una red puede detectar cuando un dispositivo nuevo es conectado a una red activa. Existen procesos que configuran el dispositivo nuevo, y anuncia su disponibilidad para el control maestro (máster). Después de eso, el control maestro (máster) puede seleccionar para hacer uso del dispositivo nuevo basado en la aplicación actualmente en ejecución.

### Canal No-Tiempo Real (NRT- Non-Real Time)

El tiempo entre el final de la transmisión de todos los telegramas cíclicos SERCOS III en Tiempo Real (RT) y el comienzo del siguiente ciclo de la comunicación se define como “Canal No-Tiempo Real de SERCOS III” (Canal NRT). Durante este periodo de tiempo, la Red SERCOS se abre para permitir la transmisión de tramas compatibles con Ethernet para otros servicios y protocolos. Por ejemplo:
Los servidores Web pueden ser incorporados (“embedded”) en dispositivos compatibles con SERCOS III para responder a los mensajes estándar del Protocolo de Transferencia de Hipertexto (HTTP) recibidos a través del Canal NRT.
Trama de reds de otros bus de campo estándar que conforman al formato de tramas de Ethernet pueden ser transmitidos a través de una red SERCOS III. Cada nodo compatible de SERCOS III debe permitir el paso de trama de NRT a través de su interfaz de SERCOS III. Si un nodo de SERCOS III activamente hace uso de la característica de NRT está determinada por el conjunto de características del producto. Si, por ejemplo, el dispositivo tiene un servidor web incorporado, podría poner a disposición su dirección IP para el acceso de otros dispositivos.
Una red SERCOS III pasará siempre tramas NRT, incluso cuando el funcionamiento cíclico no se ha inicializado. Esto significa que los dispositivos siempre tienen acceso a la red para mensajes NRT, siempre y cuando los puertos estén alimentados.
SERCOS III no define si un puerto debe operar en corte a través de conmutación (cut-through switching) o modo de almacenar y reenviar (store-and-forward mode) la manipulación de tramas de NRT. Actualmente en el mercado hay productos de SERCOS III que soportan ambos modos. Igualmente, SERCOS III no define si un puerto debe procesar inteligentemente telegramas NRT, como aprender la topología de la red.
El tiempo asignado para NRT es dictada por la cantidad de datos transmitidos durante la porción RT (Tiempo Real) del ciclo. En aplicaciones del mundo real, hay una cantidad considerable de ancho de banda disponible para los marcos de NRT. Por ejemplo, en una aplicación típica con 8 ejes de movimiento y una velocidad de ciclo de 250 microsegundos, el equivalente a 85Mbps está disponible para el uso NRT. Esta cantidad de tiempo significa que la trama de NRT en este ejemplo puede ser tan larga como el máximo definido para Ethernet (Unidad Máxima de Transmisión [MTU]= 1500). Usando el mismo ejemplo, de 8 ejes, pero con un tiempo de ciclo de 62.5 microsegundos, el ancho de banda efectivo disponible para la trama de NRT sería de 40 Mbps, y el MTU se reduciría a 325. Al igual que con cualquier red donde el tiempo en el bus es compartido, los valores de MTU debería ser configurado para asegurar una comunicación fiable. Correctamente configurado redes SERCOS se establezca el parámetro SERCOS "MTU Requerido " (S-0-1027.0.1 “Requested MTU”) al valor de MTU recomendado, que luego pueden ser leídos por otros dispositivos para que coincida con su configuración de MTU. Independientemente del valor de este parámetro, un nodo SERCOS permitirá que el tráfico no-SERCOS pasar todo el tiempo del período del canal NRT (es decir, es decir, telegramas más largo que el valor de MTU no se descartan por la pila de SERCOS). El parámetro de SERCOS S-0-1027.0.1 está configurado por defecto a 576 el valor mínimo se indica en el RFC 791.

### Acceso NRT

Tramas de NRT sólo podrán participar en una red de SERCOS III a través de un puerto SERCOS III compatible. Esto se puede lograr de dos maneras diferentes. Una es usar el puerto no utilizado SERCOS III al final de la red SERCOS III configurado de acuerdo a la topología en línea, como se muestra a la derecha.
En una red configurada en topología de anillo, el anillo en cualquier punto puede ser temporalmente roto para también agregar un dispositivo. Dado que la función de redundancia de SERCOS III volverá a configurar la red sin protuberancia (respondiendo en menos de un ciclo), ninguna interrupción de la transmisión de red ocurrirá. Después que el acceso ya no sea requerido el anillo se puedes cerrar.
Si se desea tener acceso en medio de una topología de línea (donde no hay puertos libres disponibles), o no es deseable para romper una topología en anillo durante largos períodos de tiempo, la especificación SERCOS III permite a un dispositivo llamado “Conexión-NRT” que se pueden utilizar para proporcionar acceso al canal de NRT en cualquier punto de la red. Conexiones-NRT ofrecen dos puertos compatibles de SERCOS III, y uno o más puertos para el acceso NRT.
Disponibles en el mercado, conmutadores de NRT bloquean la transmisión de telegramas de difusión de SERCOS III de sus puerto(s) no SERCOS III, para evitar las inundaciones de las redes de no SERCOS III con los datos cíclicos de SERCOS III.

### Soporte Funcional de Seguridad

La seguridad funcional es un término general que se refiere al diseño de un sistema que reduce el riesgo de que un evento peligroso para los humanos puede ocurrir con un sistema. La definición principal está contenida en la norma internacional IEC 61508. La mayoría de las redes industriales contienen algún tipo de características que se ajustan a los requisitos de seguridad funcional. En lugar de definir una especificación única para esta seguridad funcional, seguridad de SERCOS III se basa en la seguridad de protocolo CIP™ de seguridad desarrollado por la Asociación Abierta de Vendedores de DeviceNet (“Open DeviceNet Vendors Association” – ODVA).[9] Esto proporciona interoperabilidad en el nivel de seguridad con todas las redes basado en el Protocolo Común de la Industria (“Common Industry Protocol” - CIP), incluyendo Ethernet/IP y DeviceNet.