Un operador puede gestionar cargadores de distintos fabricantes desde una sola plataforma porque ambos extremos de la conexión hablan Open Charge Point Protocol (OCPP). OCPP 1.6 llama Central System al sistema de gestión; OCPP 2.0.1 lo llama CSMS. La Open Charge Alliance (OCA) publica OCPP, y OCPP 2.0.1 también es la norma internacional IEC 63584:2024.
Versiones
| Versión | Publicación | Novedades |
|---|---|---|
| OCPP 1.6 | 2015 | JSON por WebSocket (OCPP-J) además de SOAP; perfiles de carga inteligente; TriggerMessage; más estados del conector, como SuspendedEV y Finishing |
| OCPP 2.0.1 | 2020 | Modelo de dispositivo para configuración y supervisión; tres perfiles de seguridad; TransactionEvent; límites de carga externos; compatibilidad con ISO 15118-2, incluido Plug and Charge. Aprobado como IEC 63584 en 2024 |
| OCPP 2.1 | 2025 | Transferencia bidireccional de potencia con ISO 15118-20 (V2X); control de recursos energéticos distribuidos; intercambio de baterías; nuevas opciones de pago |
OCPP 2.0 se publicó en 2018 y fue sustituido por 2.0.1 en 2020. Si una ficha técnica dice «OCPP 2.0», pregunte al fabricante qué versión implementa el firmware.
La versión se acuerda al abrir la conexión. El cargador ofrece un subprotocolo WebSocket (ocpp1.6, ocpp2.0.1 u ocpp2.1) en el establecimiento de conexión y el CSMS acepta uno. OCPP 2.0.1 no es una extensión de 1.6: un cargador 1.6 no puede conectarse a un CSMS que solo admita 2.0.1. Muchos cargadores instalados siguen usando 1.6, y la mayoría de las plataformas admiten varias versiones a la vez. OCPP 2.1 conserva la compatibilidad funcional con 2.0.1.
Qué transporta OCPP
El cargador abre una conexión WebSocket con el CSMS e intercambia mensajes JSON.
| Grupo | Ejemplos | Finalidad |
|---|---|---|
| Aprovisionamiento | BootNotification, Heartbeat | El cargador se registra y mantiene la conexión |
| Estado | StatusNotification | Estado del conector |
| Autorización | Authorize, SendLocalList | ¿Se permite cargar con esta tarjeta o aplicación? |
| Transacciones | StartTransaction y StopTransaction (1.6); TransactionEvent (2.0.1) | Sesiones para facturación |
| Medidas | MeterValues | Energía, potencia y corriente durante una sesión |
| Carga inteligente | SetChargingProfile, ClearChargingProfile, GetCompositeSchedule | Limitar potencia o corriente en el tiempo |
| Gestión | Reset, UpdateFirmware, configuración | Operar la flota a distancia |
El CSMS establece el intervalo de Heartbeat en su respuesta a BootNotification. El intervalo de valores medidos es un ajuste del cargador (MeterValueSampleInterval en 1.6). Ambos se configuran en cada instalación; lea sus valores en el cargador en vez de suponerlos.
Los estados de conector cambian entre versiones. OCPP 1.6 informa de estados como Charging, SuspendedEV y SuspendedEVSE. OCPP 2.0.1 solo informa de Available, Occupied, Reserved, Unavailable o Faulted; el estado de carga pasa a TransactionEvent.
Carga inteligente
El CSMS envía un perfil de carga al cargador mediante SetChargingProfile. El perfil contiene una programación: chargingRateUnit en A o W, una lista de periodos chargingSchedulePeriod y, opcionalmente, horas validFrom y validTo. En carga CA, numberPhases indica el número de fases y vale 3 por defecto. Un límite en amperios se aplica a cada fase. Para desplazar la carga según la tarifa, se programa un límite bajo en las horas caras y otro mayor después.
Cada perfil tiene un propósito que determina lo que limita:
| Propósito | Alcance | Uso |
|---|---|---|
| ChargePointMaxProfile (1.6), ChargingStationMaxProfile (2.0.1) | Cargador completo (solo conector 0) | Tope para la suma de sus conectores |
| TxDefaultProfile | Nuevas transacciones en un conector o en todos | Límite si no hay perfil específico para la transacción |
| TxProfile | Una transacción en curso | Límite de esa sesión; sustituye su TxDefaultProfile |
| ChargingStationExternalConstraints (2.0.1) | Cargador completo | Límite de una fuente externa, como un EMS local o un operador de distribución |
Dentro de un mismo propósito prevalece el perfil válido con el stackLevel más alto. Entre propósitos, el cargador aplica el menor valor entre el máximo de estación, la restricción externa y el límite de transacción. Este último es TxProfile o, si no existe, TxDefaultProfile. Tras instalar los perfiles, solicite GetCompositeSchedule. La respuesta indica el programa combinado calculado, no una prueba medida de que el cargador o el vehículo lo aplique.
En OCPP 2.0.1, un cargador puede recibir un límite externo por una interfaz local. Entonces informa del límite al CSMS mediante NotifyChargingLimit y de su retirada mediante ClearedChargingLimit.
Los perfiles afectan a un cargador cada vez. OCPP no tiene un mensaje que establezca un límite para toda la instalación. El CSMS reparte el límite del emplazamiento entre cargadores y envía a cada uno su propio perfil.
En un cargador 1.6, lea estas claves con GetConfiguration durante la puesta en servicio:
ChargeProfileMaxStackLevel: máximo stackLevel admitido por el cargador.ChargingScheduleAllowedChargingRateUnit:Current,Powero ambos. Si el cargador solo admiteCurrent, hay que convertir el límite en kW a amperios por fase. El convertidor de kW a amperios hace el cálculo.ChargingScheduleMaxPeriods: número máximo de periodos por programación.MaxChargingProfilesInstalled: número máximo de perfiles almacenados.
Un cargador de CA transmite su límite al vehículo mediante la señal piloto de IEC 61851-1. La corriente mínima que puede anunciar esta señal es 6 A. A 230 V, 6 A representan 4,14 kW en tres fases y 1,38 kW en una. Por debajo de ese nivel, el CSMS debe pausar sesiones, en vez de reducirlas.
El calculador de capacidad de carga de vehículos eléctricos parte de la misma instalación y los mismos cargadores, con un día de ejemplo cuyo pico llega a 420 kW. Muestra la potencia disponible y cuántos cargadores pueden funcionar a plena potencia en cada intervalo:
La potencia disponible debe calcularse por fase. Los vehículos monofásicos conectados a cargadores trifásicos solo cargan una fase. Si la mayoría toma corriente de L1, esa fase alcanza su límite aunque el total trifásico siga mostrando margen. Use la fase más cargada.
Una asignación en kW también cambia el tiempo necesario para recargar un vehículo. Compare los límites del cargador, vehículo e instalación sobre la misma base de entrada CA o CC; después tenga en cuenta explícitamente las pérdidas de conversión y la menor potencia media de carga.
Cuando deja de llegar el límite
El control de la potencia disponible tiene tres enlaces: del contador de la instalación al cálculo, del cálculo al CSMS y del CSMS a los cargadores. OCPP solo ve el último.
Si un cargador 1.6 pierde la conexión con el CSMS, los perfiles almacenados siguen sujetos a sus ventanas de validez, la duración de los programas y el ámbito de la transacción. Un TxProfile aplicable tiene prioridad sobre TxDefaultProfile; ChargePointMaxProfile sigue limitando el cargador. Sin perfiles aplicables, OCPP no impone un límite de perfil, pero siguen vigentes los límites del vehículo y del hardware local. En el ejemplo, suponga que la conexión se corta a las 06:00 con doce vehículos a 14,2 kW y que esos límites siguen siendo aplicables. Si las otras cargas suben a 420 kW por la mañana, la instalación importa 590 kW.
Si deja de llegar la potencia disponible al CSMS, OCPP no comunica ningún fallo. El CSMS sigue repartiendo el último valor recibido, salvo que rechace los valores antiguos.
Diseñe un comportamiento de respaldo en cada extremo:
- Un posible respaldo utiliza un TxDefaultProfile aprobado para la instalación con stackLevel bajo y un TxDefaultProfile dinámico con stackLevel más alto y un
validTopróximo. Solo funciona mientras ningún TxProfile aplicable tenga prioridad sobre esos perfiles predeterminados. Verifique la validez, duración y prioridad de los perfiles, incluidas las transacciones activas, mediante una prueba sin conexión aprobada y acotada. La caducidad por sí sola no demuestra que el límite sea seguro para la instalación. - En el CSMS, establezca una antigüedad máxima para el valor de potencia disponible y una respuesta de respaldo cuando la supere. En el ejemplo, un reparto uniforme de los 30 kW disponibles en el pico da 2,5 kW por cargador, por debajo del mínimo de 6 A. El respaldo debe limitar el número de sesiones, además de la potencia por cargador.
El tiempo del bucle suma el intervalo de información del contador, el cálculo de potencia disponible, el reparto del CSMS, el viaje de ida y vuelta de SetChargingProfile y la respuesta del vehículo a la nueva señal piloto. Mídalo en la puesta en servicio: reduzca el límite publicado y cronometre la caída en el contador del cargador. La reserva debe cubrir el mayor aumento de carga que pueda producirse en ese tiempo. Por ejemplo, si el bucle tarda 60 s y una enfriadora de 40 kW puede arrancar en esos 60 s, la reserva debe ser al menos de 40 kW.
Seguridad
OCPP 2.0.1 define tres perfiles de seguridad. El documento de seguridad OCPP 1.6 de OCA los incorpora a OCPP 1.6-J, donde el cargador informa de su perfil mediante la clave de configuración SecurityProfile.
| Perfil | Autenticación del cargador | Transporte |
|---|---|---|
| 1 | Nombre de usuario y contraseña | Sin cifrar; solo para redes privadas de confianza |
| 2 | Nombre de usuario y contraseña | TLS, con el CSMS autenticado por certificado |
| 3 | Certificado de cliente | TLS, con ambos extremos autenticados por certificado |
El perfil 1 envía la contraseña sin cifrar. Use el perfil 2 o 3 en cualquier red que no controle, incluida una red móvil pública. En el perfil 3, el certificado del cargador caduca. El cargador solicita otro con SignCertificate y lo recibe mediante CertificateSigned. Pruebe la renovación antes de que venza el primer certificado. Un cargador que no pueda renovarlo queda sin conexión y recurre a sus perfiles almacenados. Ambas versiones notifican eventos de seguridad, como fallos de conexión y cambios de firmware, mediante SecurityEventNotification.
Qué no hace OCPP
Los MeterValues de un cargador solo cubren ese cargador. OCPP no conoce las demás cargas del edificio; la potencia disponible debe proceder de un contador en el punto de conexión de la instalación.
OCPP no se comunica con el vehículo. Lo hace ISO 15118, y OCPP 2.0.1 transmite algunos de sus datos al CSMS, como la energía y la hora de salida que comunica un vehículo mediante NotifyEVChargingNeeds.
OCPP no define servicios de red. Un programa de flexibilidad o un operador de distribución envía sus señales por otros protocolos, como OpenADR, o por la interfaz propia de la plataforma. El CSMS las convierte en perfiles de carga.
Cada cargador y plataforma implementa una parte de OCPP. Antes de depender de una función, confirme en ambos extremos los propósitos de perfil, unidades de límite, perfil de seguridad y funciones de la serie 2.x.
Cargadores, instalación y EpiSensor
Un sistema EpiSensor mide la instalación compartida por los cargadores. Un monitor eléctrico ZEM en la entrada mide corriente y potencia por fase. Un segundo ZEM en el cuadro de cargadores separa la carga de los vehículos del resto de la instalación. Edge, ejecutado en el Gateway, calcula la potencia disponible a partir de la fase más cargada y la publica junto con su antigüedad por MQTT, HTTP o Modbus TCP.
Edge no usa OCPP ni controla los cargadores. El CSMS lee la potencia disponible mediante su propia API y la aplica con perfiles de carga. Antes de elegir una plataforma, confirme estos puntos con el proveedor:
- Acepta un límite externo para la instalación e indica si se expresa en kW o en amperios por fase.
- Indica con qué frecuencia lee el límite y cuánto tarda en enviar los perfiles nuevos.
- Indica la antigüedad máxima del valor y el respaldo aplicado cuando la supera.
- Indica qué hace cuando la potencia disponible queda por debajo del mínimo de 6 A para todos los vehículos en espera: pausar sesiones, alternarlas o ponerlas en cola.
La aplicación de gestión de carga de vehículos eléctricos describe con más detalle los contadores, el cálculo y el respaldo.
Preguntas frecuentes
¿Qué es OCPP?
Open Charge Point Protocol, publicado por la Open Charge Alliance. Es la norma abierta de mensajería entre un punto de recarga de vehículos eléctricos y el sistema central que lo gestiona: autorización, sesiones, valores medidos, estado, configuración, actualizaciones de firmware y límites de carga.
¿En qué se diferencian OCPP 1.6 y 2.0.1?
OCPP 2.0.1 sustituye las claves de configuración de 1.6 por un modelo de dispositivo y StartTransaction y StopTransaction por TransactionEvent. Define tres perfiles de seguridad, añade límites de carga externos con NotifyChargingLimit y admite Plug and Charge de ISO 15118-2. El cargador y el CSMS acuerdan una versión al abrir WebSocket; un cargador 1.6 no puede conectarse a un CSMS que solo admita 2.0.1.
¿Admite OCPP V2G?
OCPP 2.1, publicado en 2025, admite transferencia bidireccional de potencia con ISO 15118-20 y control de recursos energéticos distribuidos. OCPP 1.6 y 2.0.1 no pueden ordenar a un vehículo que descargue energía a la red.
¿Es seguro OCPP?
OCPP 2.0.1 define tres perfiles de seguridad: autenticación básica sin cifrar, autenticación básica por TLS y TLS con certificados de cliente. El documento de seguridad OCPP 1.6 de OCA incorpora los mismos perfiles a OCPP 1.6-J. El perfil 1 envía la contraseña sin cifrar; use el perfil 2 o 3 en cualquier red que no controle.