Skip to content
Start free evaluation

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)

Declared in: #include <pdcomm_gem_formatted_program_verification_requests.hpp>

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

NameDescription
endpointHost endpoint in GemCommunication::Communicating.
idPPID: a non-empty ASCII or Binary item of at most 120 bytes.
modelMDLN, ASCII, at most 20 bytes.
softwareRevisionSOFTREV, ASCII, at most 20 bytes.
commandsProcess program commands to verify, in order.

Returns

Token of the submitted request.

Notes

  • Throws pdcomm::Error: PDCOMM_INVALID_STATE on equipment, without configuration or when not communicating; PDCOMM_INVALID_ARGUMENT for an invalid PPID, text or command code, or a nullptr item; PDCOMM_LIMIT_EXCEEDED when limits or maxPending are exceeded; PDCOMM_BACKPRESSURE when no pending slot is free.