pdcomm::submitFormattedProgramVerificationRequest
Function
Sends S7F31 Verification Request Send from the host.
inline PdcommTcpToken submitFormattedProgramVerificationRequest(GemEndpoint &endpoint, const SecsItem &id, const std::string &model, const std::string &softwareRevision, const std::vector<GemFormattedProgramVerificationRequestCommand> &commands)The message has the same PPID, MDLN, SOFTREV and command structure as S7F23. All inputs are validated and copied before the message is queued. The equipment's S7F32 yields GemOutcome::FormattedProgramVerificationRequestAcknowledgement with ACKC7.
auto id = pdcomm::SecsItem::primitive(
PDCOMM_SECS_ASCII, std::vector<uint8_t>{'O', 'N', 'L', 'Y'}, limits);
auto code = pdcomm::SecsItem::primitive(
PDCOMM_SECS_ASCII, std::vector<uint8_t>{'R', 'U', 'N'}, limits);
const std::vector<pdcomm::GemFormattedProgramVerificationRequestCommand> commands = {
{&code, {}}};
auto token = pdcomm::submitFormattedProgramVerificationRequest(
host, id, "MODEL", "REV", commands);Parameters
| Name | Description |
|---|---|
endpoint | Host endpoint in GemCommunication::Communicating. |
id | PPID: a non-empty ASCII or Binary item of at most 120 bytes. |
model | MDLN, ASCII, at most 20 bytes. |
softwareRevision | SOFTREV, ASCII, at most 20 bytes. |
commands | Process program commands to verify, in order. |
Returns
Token of the submitted request.
Notes
- Throws
pdcomm::Error:PDCOMM_INVALID_STATEon equipment, without configuration or when not communicating;PDCOMM_INVALID_ARGUMENTfor an invalid PPID, text or command code, or anullptritem;PDCOMM_LIMIT_EXCEEDEDwhen limits ormaxPendingare exceeded;PDCOMM_BACKPRESSUREwhen no pending slot is free.