¿Cuál es la diferencia entre un PDO y un SDO de CANopen?
CANopen mueve datos de dos maneras muy distintas, y la división importa para cualquiera que lo integre. Los Objetos de Datos de Proceso, o PDO, son mensajes rápidos y ligeros que llevan valores en tiempo real sin confirmación, ideales para el intercambio cíclico o por evento de datos en vivo. Los Objetos de Datos de Servicio, o SDO, son transferencias más lentas y confirmadas que pueden alcanzar cualquier entrada del diccionario de objetos de un nodo, lo que los vuelve la herramienta para la configuración y el acceso ocasional. Un PDO está limitado a ocho bytes y se mapea de antemano; un SDO puede mover cantidades mayores pero con más sobrecarga. Saber cuál usar decide si un gateway está sondeando valores en vivo o poniendo a punto un nodo.
PDO vs SDO en CANopen en una línea: Un PDO (Objeto de Datos de Proceso) de CANopen es un mensaje rápido y sin confirmar que lleva hasta ocho bytes de datos de proceso en tiempo real, enviado de forma cíclica o por evento. Un SDO (Objeto de Datos de Servicio) de CANopen es una transferencia más lenta y confirmada que puede leer o escribir cualquier entrada del diccionario de objetos, usada para la configuración y el acceso ocasional. Los PDO son para valores en vivo; los SDO son para poner a punto un nodo y alcanzar parámetros individuales.
PDO: datos en tiempo real, rápidos y sin confirmar
Los Objetos de Datos de Proceso están construidos para la velocidad. Un PDO es un solo mensaje que lleva hasta ocho bytes de datos de aplicación, enviado sin ningún acuse, que es lo que lo hace rápido y eficiente. Los PDO se usan para los valores que necesitan fluir de forma continua durante la operación: lecturas de sensor, comandos de actuador, palabras de estado y similares. Pueden dispararse de forma cíclica con un temporizador, por evento cuando un valor cambia, o en respuesta a una solicitud, así que los datos siguen el ritmo del proceso sin la sobrecarga de un intercambio confirmado.
El límite de ocho bytes es una restricción definitoria, y es por lo que existe el mapeo de PDO. Como un PDO solo tiene ocho bytes con los cuales trabajar, un ingeniero configura qué entradas del diccionario de objetos se empacan en esos bytes, y en qué orden, para que los valores más útiles viajen juntos en un mensaje. Este mapeo se configura de antemano, durante la configuración, y es lo que convierte un PDO crudo de ocho bytes en un paquete significativo de, por ejemplo, un par de mediciones y una palabra de estado. Una vez mapeado, el PDO entrega de forma eficiente exactamente esos valores cada vez que se envía.
Cada PDO se identifica en el bus por un COB-ID, un identificador de objeto de comunicación que determina la identidad y la prioridad del mensaje. Los COB-ID de los PDO de un nodo se configuran para que productores y consumidores concuerden en qué mensaje lleva qué datos mapeados. Este arreglo permite a un controlador o gateway reconocer un PDO entrante puramente por su identificador e interpretar de inmediato sus bytes según el mapeo acordado, sin sobrecarga de direccionamiento dentro del mensaje, lo que es gran parte de por qué los PDO son tan ligeros.
SDO: acceso confirmado a cualquier objeto
Los Objetos de Datos de Servicio adoptan el enfoque opuesto, y cambian velocidad por alcance y confiabilidad. Un SDO es una transferencia confirmada: el solicitante pide leer o escribir una entrada específica del diccionario de objetos, y el nodo responde, así que ambos lados saben si la operación tuvo éxito o falló. Este handshake hace a los SDO más lentos y pesados que los PDO, pero también los hace confiables para el tipo de acceso donde importa más hacerlo bien que hacerlo rápido. Un SDO también puede mover datos mayores de ocho bytes al dividirlos en varios mensajes, así que no está atado al límite de tamaño del PDO.
La gran fortaleza de un SDO es que puede alcanzar cualquier entrada del diccionario de objetos, direccionada por su índice y subíndice. Donde un PDO está limitado al puñado de valores que se mapearon en él de antemano, un SDO puede escoger cualquier parámetro individual bajo demanda, haya sido o no parte alguna vez de un PDO. Eso hace de los SDO el mecanismo natural para la configuración: ajustar parámetros de comunicación, modificar ajustes específicos del dispositivo, o leer un valor que solo se necesita de vez en cuando en lugar de de forma continua.
Por eso los SDO y los PDO son complementarios en lugar de competir. Durante la puesta en servicio, una herramienta usa SDO para escribir todos los ajustes que un nodo necesita, incluidos los mapeos de PDO y los propios COB-ID, y usa de hecho los SDO para configurar cómo se comportarán los PDO. Luego durante la operación, los PDO rápidos llevan los datos en vivo mientras los SDO quedan disponibles para la lectura o escritura profunda ocasional. Los dos juntos le dan a CANopen tanto el desempeño en tiempo real de los datos de proceso sin confirmar como el acceso minucioso y confiable de las transferencias de parámetros confirmadas.
Cuál usa un gateway de monitoreo
Para un gateway de monitoreo que alimenta un sistema SCADA de nube, la distinción PDO frente a SDO se corresponde limpiamente con dos trabajos distintos. Para subir los valores operativos en vivo, el gateway por lo general quiere el flujo rápido y de baja sobrecarga de los PDO, ya que esos son los mensajes que ya llevan las mediciones y el estado en tiempo real que los nodos producen durante la operación normal. Consumir los datos mapeados del PDO le permite al gateway mantener los tableros al día sin cargar el bus con un flujo de solicitudes confirmadas individuales.
Los SDO entran en juego para los valores y ajustes que no son parte del flujo regular de PDO. Si un operador quiere un parámetro que ningún PDO lleva, o el gateway necesita leer la configuración de un nodo o escribir ocasionalmente un ajuste, un SDO es la herramienta correcta porque puede direccionar directamente cualquier entrada del diccionario de objetos. La contrapartida es que el acceso por SDO es más pesado, así que se usa con moderación para estas tareas bajo demanda o de puesta a punto en lugar de como la columna vertebral del monitoreo en vivo.
Una integración bien diseñada con una plataforma como Merobix usa por tanto cada mecanismo para lo que es bueno: PDO para transmitir los valores de proceso que cambian continuamente y que pueblan tendencias y alarmas en vivo, y SDO para alcanzar parámetros de configuración u ocasionales cuando se necesitan. Entender esta división ayuda a un integrador a planear un gateway que mantenga eficiente la ruta de datos rápida mientras aún puede alcanzar cualquier cosa en el diccionario de objetos de un nodo, para que la vista de nube sea a la vez oportuna para los valores en vivo y completa cuando se requiere una lectura profunda.
Preguntas frecuentes
¿Cuál es la diferencia principal entre un PDO y un SDO en CANopen?
Un PDO es un mensaje rápido y sin confirmar que lleva hasta ocho bytes de datos de proceso en tiempo real, enviado de forma cíclica o por evento. Un SDO es una transferencia más lenta y confirmada que puede leer o escribir cualquier entrada del diccionario de objetos, usada para la configuración y el acceso ocasional. Los PDO son para valores en vivo; los SDO son para la puesta a punto y el acceso a parámetros individuales.
¿Qué es el mapeo de PDO y por qué se necesita?
Como un PDO lleva solo ocho bytes, el mapeo de PDO es la configuración que decide qué entradas del diccionario de objetos se empacan en esos bytes y en qué orden. Se configura de antemano para que un solo PDO entregue un paquete útil de valores, como un par de mediciones y una palabra de estado, de forma eficiente cada vez que se envía.
¿Un gateway de monitoreo usaría PDO o SDO para leer valores en vivo?
En general PDO, porque llevan los datos de proceso en tiempo real de forma eficiente y sin sobrecarga de direccionamiento por mensaje, y mantienen los tableros en vivo al día. Los SDO se reservan para valores que ningún PDO lleva y para leer o escribir configuración, ya que su acceso confirmado es más pesado y conviene más al uso ocasional bajo demanda.
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.