본문 바로가기
카테고리 없음

[OCPP] StartTransaction

by hangpin 2024. 11. 16.

OCPP 1.6에서 StartTransaction 메시지는 충전기가 충전 세션을 시작할 때 중앙 시스템(서버)에 보내는 메시지입니다. 이 메시지는 주로 사용자의 인증 후, 충전기가 충전 프로세스를 시작하고 세션을 기록하는 과정에서 사용됩니다. StartTransaction 메시지를 통해 충전기는 충전 시작 시점의 미터 값을 서버에 전달하고, 서버는 충전 트랜잭션을 기록하기 위한 트랜잭션 ID를 반환합니다.

 

◈ StartTransaction 메시지 구조

StartTransaction 메시지는 충전기에서 서버로 요청을 보내고, 서버는 이에 대한 응답으로 트랜잭션 ID 및 충전 허가 정보를 반환합니다.

 

▶ StartTransaction 요청 (Charge Point → Central System)

 

 

필드 이름 필드 타입 설명
connectorId integer 충전을 시작하는 커넥터의 ID. 충전기가 여러 개의 커넥터를 가질 수 있으므로 이 값은 어느 커넥터에서 충전이 시작되는지 나타냅니다.(옵션)
idTag idToken(ciString20) 사용자 인증 ID. Authorize 메시지에서 인증된 사용자 ID 태그를 포함하며, 사용자가 충전할 수 있는지 확인된 idTag여야 합니다.(필수)
meterStart integer 충전 시작 시점의 미터 값(kWh 등). 이를 통해 충전 세션 중 소비된 에너지를 계산할 수 있습니다. (필수)
reservationId integer 예약된 트랜잭션인 경우 예약 ID를 포함합니다. 만약 특정 사용자에 대해 미리 예약된 충전 세션이라면 예약 ID가 포함됩니다.(옵션)
timestamp dateTime 충전이 시작된 시간 (ISO 8601 형식)  (옵션)

 

 

▶ StartTransaction 응답 (Central System → Charge Point)

필드 이름 필드 타입 설명
idTagInfo IdTagInfo idTag의 상태 및 유효성 정보를 포함하는 객체. 사용자가 충전할 권한이 있는지, 인증이 유지되는지 여부를 나타냅니다.(필수)
transactionId integer 이 충전 세션을 고유하게 식별하기 위한 트랜잭션 ID. 서버가 생성하여 충전기에 전달합니다.(필수)

 

● IdTagInfo

필드 이름 필드 타입 설명
expiryData dateTime 인증 태그의 만료 일시.(옵션)
parentIdTag IdToken 상위 ID 태그 정보(옵션)
status AuthorizationStatus 인증 상태(필수)

 

● AuthorizationStatus

value 설명
Accepted 충전 세션이 승인됨을 의미
Blocked 사용자가 차단되어 충전이 불가능함을 의미
Expired 사용자의 idTag가 만료되었음을 의미
Invalid idTag가 유효하지 않음을 의미
ConcurrentTx 동시 충전이 제한된 상태에서 다른 트랜잭션이 진행 중임을 의미

 

 

◈ StartTransaction 메시지 예

아래는 OCPP 1.6에서 StartTransaction 요청 및 응답 예입니다.

 

▶ StartTransaction 요청 예

{

"connectorId": 1,

"idTag": "ABC123456",

"meterStart": 1000,

"timestamp": "2023-11-05T15:00:00Z",

"reservationId": 1234

}

 

▶ StartTransaction 응답 예

 
{
"idTagInfo":
     { "status": "Accepted",
        "expiryDate": "2024-11-05T14:15:30Z",
        "parentIdTag": "MAIN1234"
     },
"transactionId": 5678  
}

 

◈ 설명

 

 

  1. 요청: 충전기는 사용자가 인증된 idTag와 connectorId, 충전 시작 시점의 미터 값(meterStart), 충전 시작 시간(timestamp)을 포함하여 서버에 StartTransaction 요청을 보냅니다.
  2. 응답: 서버는 idTagInfo 객체와 transactionId 값을 포함하여 응답합니다.
    • idTagInfo: 사용자 인증 상태를 나타내며, status 필드가 Accepted인 경우 충전이 승인되었음을 의미합니다. 만료일(expiryDate)과 상위 ID(parentIdTag)가 포함될 수도 있습니다.
    • transactionId: 서버가 생성한 고유한 트랜잭션 ID로, 이 충전 세션을 식별하는 데 사용됩니다. 이 ID는 충전 완료 후 StopTransaction 메시지에서 사용됩니다.

 

◈ 주요 기능

  • 충전 세션 관리: StartTransaction 메시지를 통해 충전 세션의 시작을 기록하고, 이를 고유한 트랜잭션 ID로 관리합니다.
  • 에너지 소비량 추적: meterStart 값을 통해 충전 시작 시점의 미터 값을 기록하여, 충전 완료 시 StopTransaction 메시지와 비교해 사용 에너지를 계산합니다.
  • 인증 및 접근 제어: idTagInfo 필드를 통해 사용자 인증 정보를 확인하고, 사용자가 권한이 있는 경우에만 충전을 허가합니다.
  • 예약 기능 지원: 예약 ID(reservationId) 필드를 통해 특정 사용자나 시간에 예약된 충전 세션을 관리할 수 있습니다.

이와 같이 StartTransaction은 충전 시작을 기록하고 사용자 인증 상태를 검토하는 동시에, 에너지 소비량 추적 및 고유 트랜잭션 관리에 중요한 역할을 합니다.


블로그 내의 모든 콘텐츠는 정보 제공을 목적으로 하며, 특정 상품이나 서비스의 구매를 유도하지 않으며, 금융 상품 판매 및 중개의 목적이 아닌 정보만 전달합니다.
콘텐츠의 정보는 공식 홈페이지 및 기관 자료를 기초로 제공하고 있으며 내용은 수시로 변경될 수 있으니 정확한 정보는 관련 공식 또는 기관 홈페이지를 참고하시기 바랍니다.