OCPP 1.6J 中的 IdTag 详细使用说明
1. IdTag 概述
在 OCPP(Open Charge Point Protocol)1.6J 版本中,IdTag
是用于识别充电用户的重要标识符。它通常由 RFID 卡、移动应用、凭证码或其他身份验证方式提供,用于控制充电桩的访问权限,并与用户账户关联。
在整个充电流程中,IdTag
主要用于:
- 身份验证:确保只有授权用户可以启动和停止充电。
- 计费和关联:将充电会话与特定用户绑定,便于运营商进行结算。
- 访问控制:可配合
AuthorizationCache
机制,提高系统认证效率。
2. IdTag 结构和格式
IdTag
是一个字符串,最大长度为 20 个字符,区分大小写。典型的 IdTag 可能是一个 RFID 卡号,如 A1B2C3D4E5F6G7H8I9J0
,也可以是用户的凭证代码或其他唯一识别符。
3. IdTag 在 OCPP 消息中的应用
IdTag 主要出现在以下 OCPP 消息中:
(1)Authorize 请求
充电桩向充电网络后端发送 Authorize.req
请求,以验证 IdTag 是否有效。
示例请求:
{
"idTag": "A1B2C3D4E5F6G7H8I9J0"
}
示例响应:
{
"idTagInfo": {
"status": "Accepted"
}
}
响应中的 status 可为:
- Accepted(接受):IdTag 有效,用户可以使用充电桩。
- Blocked(禁止):IdTag 被运营商禁用,无法充电。
- Expired(过期):IdTag 认证有效期已过。
- Invalid(无效):IdTag 不存在或未注册。
- ConcurrentTx(并发限制):当前 IdTag 已在使用,不允许同时进行多个会话。
(2)StartTransaction 请求
在充电会话开始时,充电桩向后端发送 StartTransaction.req,其中包含 IdTag 以标识用户。
示例请求:
{
"connectorId": 1,
"idTag": "A1B2C3D4E5F6G7H8I9J0",
"meterStart": 0,
"timestamp": "2024-02-14T12:00:00Z"
}
如果 IdTag 无效,后端可能会拒绝充电请求。
(2)StopTransaction 请求
在充电结束时,StopTransaction.req 也会携带 IdTag 以记录该会话的归属信息。
示例请求:
{
"transactionId": 12345,
"idTag": "A1B2C3D4E5F6G7H8I9J0",
"meterStop": 15000,
"timestamp": "2024-02-14T14:00:00Z"
}
如果 IdTag 需要被更新或删除,后端可以在响应中返回 idTagInfo,例如:
示例响应:
{
"idTagInfo": {
"status": "Expired"
}
}
4. Authorization Cache 机制
OCPP 允许充电桩缓存授权的 IdTag,以减少与服务器的通信频率。当充电桩离线时,它可以使用缓存数据允许或拒绝充电请求。运营商可以在 Authorize 响应中返回 expiryDate 来控制缓存时间:
{
"idTagInfo": {
"status": "Accepted",
"expiryDate": "2024-03-01T00:00:00Z"
}
}
5. IdTag 管理与最佳实践
- 定期更新 IdTag 记录:确保用户凭证的有效性,避免不必要的拒绝情况。
- 启用 ConcurrentTx 限制:防止 IdTag 在多个充电桩同时使用,确保计费准确。
- 结合用户账户体系:将 IdTag 与用户账户绑定,实现精准计费与管理。
6. 总结
IdTag 是 OCPP 1.6J 充电管理体系的核心身份识别标识,广泛应用于授权、计费、访问控制等场景。合理使用 IdTag 机制能提高充电桩的安全性与用户体验,确保充电流程高效可靠。