pdcomm::respondFormattedProgramTransferAndStore
함수
받은 S7F23에 S7F24로 응답하고, 받은 프로그램에 저장소 작업을 적용합니다.
inline void respondFormattedProgramTransferAndStore(GemEndpoint &endpoint, GemResult &result, uint8_t acknowledgement, GemFormattedProgramStoreAction action)확인 코드와 작업은 서로 독립적입니다. ACKC7이 작업을 선택하지는 않습니다. GemFormattedProgramStoreAction::RespondOnly 이외의 작업이면 저장소 변경을 먼저 준비하고, 응답이 큐에 들어간 뒤 반영(commit)합니다. 이를 위해 장비에 정형 프로그램 전송과 정형 프로그램 요청이 모두 구성되어 있어야 합니다. 성공한 뒤 같은 코드와 작업으로 다시 호출하면 아무것도 하지 않고 성공합니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | GemCommunication::Communicating 상태인 장비 끝점(endpoint)입니다. |
result | GemOutcome::FormattedProgramTransferReceived인 결과입니다. |
acknowledgement | ACKC7입니다. 0부터 7까지입니다. |
action | 받은 프로그램에 적용할 저장소 작업입니다. |
참고
- 예외
pdcomm::Error: 코드가 7보다 크거나 작업이 잘못되면PDCOMM_INVALID_ARGUMENT, 호스트에서 호출하거나 통신 중이 아니거나 저장소가 없거나 작업이 저장소 상태와 충돌하면PDCOMM_INVALID_STATE, 결과가 오래되었거나 다시 호출할 때 코드나 작업이 다르면PDCOMM_STALE_TOKEN, 응답을 큐에 넣을 수 없으면PDCOMM_BACKPRESSURE입니다. - 이 호출은
result를 변경합니다. 같은 결과의 getter와 동시에 실행하지 마십시오.