|
| DummyClient (QObject *parent=nullptr) |
|
| ~DummyClient () override |
|
int | connectLatency () const |
|
void | setConnectLatency (int connectLatency) |
|
int | disconnectLatency () const |
|
void | setDisconnectLatency (int disconnectLatency) |
|
int | latency () const |
|
void | setLatency (int latency) |
|
int | pollingInterval () const |
|
void | setPollingInterval (int interval) |
|
int | pollingTaskInterval () const |
|
void | setPollingTaskInterval (int interval) |
|
std::unique_ptr< ServiceStatuses > | configureStarting (QState *starting) override |
|
std::unique_ptr< ServiceStatuses > | configureStarted (QState *active, const QState *idling, const QState *yielding) override |
|
std::unique_ptr< ServiceStatuses > | configureStopping (QState *stopping) override |
|
std::unique_ptr< ServiceStatuses > | configureBroken (QState *broken) override |
|
std::unique_ptr< ServiceStatuses > | configureRepairing (QState *repairing) override |
|
std::unique_ptr< ServiceStatuses > | configureEvacuating (QState *evacuating) override |
|
std::unique_ptr< QAbstractTransition > | transitionToStarted () const override |
|
std::unique_ptr< QAbstractTransition > | transitionToStopped () const override |
|
std::unique_ptr< QAbstractTransition > | transitionToBroken () const override |
|
std::unique_ptr< QAbstractTransition > | transitionToYielding () const override |
|
std::unique_ptr< QAbstractTransition > | transitionToIdling () const override |
|
State | state () const |
|
bool | ready () const |
| Get readiness status. More...
|
|
int | maxReadCoils () const |
|
void | setMaxReadCoils (int maxReadCoils) |
|
int | maxWriteCoils () const |
|
void | setMaxWriteCoils (int maxWriteCoils) |
|
int | maxReadDiscreteInputs () const |
|
void | setMaxReadDiscreteInputs (int maxReadDiscreteInputs) |
|
int | maxWriteDiscreteInputs () const |
|
void | setMaxWriteDiscreteInputs (int maxWriteDiscreteInputs) |
|
int | maxReadHoldingRegisters () const |
|
void | setMaxReadHoldingRegisters (int maxReadHoldingRegisters) |
|
int | maxWriteHoldingRegisters () const |
|
void | setMaxWriteHoldingRegisters (int maxWriteHoldingRegisters) |
|
int | maxReadInputRegisters () const |
|
void | setMaxReadInputRegisters (int maxReadInputRegisters) |
|
int | maxWriteInputRegisters () const |
|
void | setMaxWriteInputRegisters (int maxWriteInputRegisters) |
|
int | maxRequests () const |
|
void | setMaxRequests (int maxRequests) |
|
Coil * | coilAt (quint16 address) |
|
DiscreteInput * | discreteInputAt (quint16 address) |
|
HoldingRegister * | holdingRegisterAt (quint16 address) |
|
InputRegister * | inputRegisterAt (quint16 address) |
|
Q_INVOKABLE void | requestReadCoils (quint16 address, quint16 amount=1, QUuid *requestId=nullptr) |
| Read coils request. More...
|
|
Q_INVOKABLE void | requestWriteCoil (quint16 address, bool value, QUuid *requestId=nullptr) |
| Write coils request. More...
|
|
Q_INVOKABLE void | requestWriteMultipleCoils (quint16 address, QJsonArray values, QUuid *requestId=nullptr) |
| Write multiple coils request. More...
|
|
Q_INVOKABLE void | requestReadDiscreteInputs (quint16 address, quint16 amount=1, QUuid *requestId=nullptr) |
| Read discrete inputs request. More...
|
|
Q_INVOKABLE void | requestWriteDiscreteInput (quint16 address, bool value, QUuid *requestId=nullptr) |
| Write discrete input request. More...
|
|
Q_INVOKABLE void | requestWriteMultipleDiscreteInputs (quint16 address, QJsonArray values, QUuid *requestId=nullptr) |
| Write multiple discrete inputs request. More...
|
|
Q_INVOKABLE void | requestReadHoldingRegisters (quint16 address, quint16 amount=1, QUuid *requestId=nullptr) |
| Read holding registers request. More...
|
|
Q_INVOKABLE void | requestWriteHoldingRegister (quint16 address, quint16 value, QUuid *requestId=nullptr) |
| Write holding register request. More...
|
|
Q_INVOKABLE void | requestWriteMultipleHoldingRegisters (quint16 address, QJsonArray values, QUuid *requestId=nullptr) |
| Write multiple holding registers request. More...
|
|
Q_INVOKABLE void | requestReadInputRegisters (quint16 address, quint16 amount=1, QUuid *requestId=nullptr) |
| Read input registers request. More...
|
|
Q_INVOKABLE void | requestWriteInputRegister (quint16 address, quint16 value, QUuid *requestId=nullptr) |
| Write input register request. More...
|
|
Q_INVOKABLE void | requestWriteMultipleInputRegisters (quint16 address, QJsonArray values, QUuid *requestId=nullptr) |
| Write multiple input registers request. More...
|
|
Q_INVOKABLE void | requestDiagnostics (DiagnosticsSubfunction subfunction, quint16 data, QUuid *requestId=nullptr) |
| Diagonistics request. More...
|
|
Q_INVOKABLE void | requestReadExceptionStatus (QUuid *requestId=nullptr) |
| Report slave id request. More...
|
|
Q_INVOKABLE void | requestFetchCommEventCounter (QUuid *requestId=nullptr) |
| Report slave id request. More...
|
|
Q_INVOKABLE void | requestFetchCommEventLog (QUuid *requestId=nullptr) |
| Report slave id request. More...
|
|
Q_INVOKABLE void | requestReportSlaveId (QUuid *requestId=nullptr) |
| Report slave id request. More...
|
|
Q_INVOKABLE void | requestMaskWriteHoldingRegister (quint16 address, quint16 andMask, quint16 orMask, QUuid *requestId=nullptr) |
| Mask write holding register request. More...
|
|
Q_INVOKABLE void | requestReadWriteMultipleHoldingRegisters (quint16 readAddress, quint16 amount, quint16 writeAddress, QJsonArray values, QUuid *requestId=nullptr) |
| Read/write multiple holding registers request. More...
|
|
Q_INVOKABLE void | requestReadFIFOQueue (quint16 address, QUuid *requestId=nullptr) |
| Read FIFO queue request. More...
|
|
Q_INVOKABLE QJsonObject | readFileRecordSubrequest (quint16 file, quint16 address, quint16 amount) |
| Generate read file record subrequest. More...
|
|
Q_INVOKABLE void | requestReadFileRecord (QJsonArray subrequests, QUuid *requestId=nullptr) |
| Read file record request. More...
|
|
Q_INVOKABLE QJsonObject | writeFileRecordSubrequest (quint16 file, quint16 address, QJsonArray values) |
| Generate write file record subrequest. More...
|
|
Q_INVOKABLE void | requestWriteFileRecord (QJsonArray subrequests, QUuid *requestId=nullptr) |
| Write file record request. More...
|
|
Q_INVOKABLE void | request (Function function, QJsonObject payload, QUuid *requestId=nullptr) |
| Modbus function request. More...
|
|
virtual const QMetaObject * | metaObject () const const |
|
virtual void * | qt_metacast (const char *) |
|
virtual int | qt_metacall (QMetaObject::Call, int, void **) |
|
| QObject (QObject *parent) |
|
virtual | ~QObject () |
|
virtual bool | event (QEvent *e) |
|
virtual bool | eventFilter (QObject *watched, QEvent *event) |
|
QString | objectName () const const |
|
void | setObjectName (const QString &name) |
|
bool | isWidgetType () const const |
|
bool | isWindowType () const const |
|
bool | signalsBlocked () const const |
|
bool | blockSignals (bool block) |
|
QThread * | thread () const const |
|
void | moveToThread (QThread *targetThread) |
|
int | startTimer (int interval, Qt::TimerType timerType) |
|
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
|
void | killTimer (int id) |
|
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
|
const QObjectList & | children () const const |
|
void | setParent (QObject *parent) |
|
void | installEventFilter (QObject *filterObj) |
|
void | removeEventFilter (QObject *obj) |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
|
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
|
bool | disconnect (const QObject *receiver, const char *method) const const |
|
void | dumpObjectTree () |
|
void | dumpObjectInfo () |
|
void | dumpObjectTree () const const |
|
void | dumpObjectInfo () const const |
|
bool | setProperty (const char *name, const QVariant &value) |
|
QVariant | property (const char *name) const const |
|
QList< QByteArray > | dynamicPropertyNames () const const |
|
void | destroyed (QObject *obj) |
|
void | objectNameChanged (const QString &objectName) |
|
QObject * | parent () const const |
|
bool | inherits (const char *className) const const |
|
void | deleteLater () |
|
| Serviceable ()=default |
|
|
enum | State { OPENING,
OPENED,
CLOSING,
CLOSED
} |
|
enum | Function {
FUNCTION_INVALID = QModbusPdu::Invalid,
FUNCTION_READ_COILS = QModbusPdu::ReadCoils,
FUNCTION_READ_DISCRETE_INPUTS = QModbusPdu::ReadDiscreteInputs,
FUNCTION_READ_HOLDING_REGISTERS = QModbusPdu::ReadHoldingRegisters,
FUNCTION_READ_INPUT_REGISTERS = QModbusPdu::ReadInputRegisters,
FUNCTION_WRITE_COIL = QModbusPdu::WriteSingleCoil,
FUNCTION_WRITE_HOLDING_REGISTER = QModbusPdu::WriteSingleRegister,
FUNCTION_READ_EXCEPTION_STATUS = QModbusPdu::ReadExceptionStatus,
FUNCTION_DIAGNOSTICS = QModbusPdu::Diagnostics,
FUNCTION_FETCH_COMM_EVENT_COUNTER = QModbusPdu::GetCommEventCounter,
FUNCTION_FETCH_COMM_EVENT_LOG = QModbusPdu::GetCommEventLog,
FUNCTION_WRITE_MULTIPLE_COILS = QModbusPdu::WriteMultipleCoils,
FUNCTION_WRITE_MULTIPLE_HOLDING_REGISTERS = QModbusPdu::WriteMultipleRegisters,
FUNCTION_REPORT_SLAVE_ID = QModbusPdu::ReportServerId,
FUNCTION_READ_FILE_RECORD = QModbusPdu::ReadFileRecord,
FUNCTION_WRITE_FILE_RECORD = QModbusPdu::WriteFileRecord,
FUNCTION_MASK_WRITE_HOLDING_REGISTER = QModbusPdu::MaskWriteRegister,
FUNCTION_READ_WRITE_MULTIPLE_HOLDING_REGISTERS = QModbusPdu::ReadWriteMultipleRegisters,
FUNCTION_READ_FIFO_QUEUE = QModbusPdu::ReadFifoQueue,
FUNCTION_UNDEFINED = QModbusPdu::UndefinedFunctionCode,
FUNCTION_WRITE_DISCRETE_INPUT,
FUNCTION_WRITE_MULTIPLE_DISCRETE_INPUTS,
FUNCTION_WRITE_INPUT_REGISTER,
FUNCTION_WRITE_MULTIPLE_INPUT_REGISTERS,
FUNCTION_RAW
} |
|
enum | DiagnosticsSubfunction : quint16 {
DIAGNOSTICS_RETURN_QUERY_DATA = 0x00,
DIAGNOSTICS_RESTART_COMM_OPTION = 0x01,
DIAGNOSTICS_RETURN_DIAGNOSTICS_REGISTER = 0x02,
DIAGNOSTICS_CHANGE_ASCII_INPUT_DELIMITER = 0x03,
DIAGNOSTICS_FORCE_LISTEN_ONLY_MODE = 0x04,
DIAGNOSTICS_CLEAR_COUNTERS_AND_DIAGNOSTICS_REGISTER = 0x0A,
DIAGNOSTICS_RETURN_BUS_MESSAGE_COUNT = 0x0B,
DIAGNOSTICS_RETURN_BUS_COMM_ERROR_COUNT = 0x0C,
DIAGNOSTICS_RETURN_BUS_EXCEPTION_ERROR_COUNT = 0x0D,
DIAGNOSTICS_RETURN_SLAVE_MESSAGE_COUNT = 0x0E,
DIAGNOSTICS_RETURN_SLAVE_NO_RESPONSE_COUNT = 0x0F,
DIAGNOSTICS_RETURN_SLAVE_NAK_COUNT = 0x10,
DIAGNOSTICS_RETURN_SLAVE_BUSY_COUNT = 0x11,
DIAGNOSTICS_RETURN_BUS_CHARACTER_OVERRUN_COUNT = 0x12,
DIAGNOSTICS_RETURN_IOP_OVERRUN_COUNT = 0x13,
DIAGNOSTICS_CLEAR_OVERRUN_COUNTER_AND_FLAG = 0x14,
DIAGNOSTICS_GET_CLEAR_MODBUS_PLUS_STATISTICS = 0x15
} |
|
typedef QHash< QState *, QString > | ServiceStatuses |
|
QString | tr (const char *sourceText, const char *disambiguation, int n) |
|
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
|
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
|
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
|
bool | disconnect (const QMetaObject::Connection &connection) |
|
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
|
typedef internal::RegisterTraits< internal::Coil >::Container | CoilDataContainer |
|
typedef internal::RegisterTraits< internal::DiscreteInput >::Container | DiscreteInputDataContainer |
|
typedef internal::RegisterTraits< internal::HoldingRegister >::Container | HoldingRegisterDataContainer |
|
typedef internal::RegisterTraits< internal::InputRegister >::Container | InputRegisterDataContainer |
|
virtual void | onStateChanged () |
|
void | poll () |
|
void | pollingTask () |
|
void | setState (State state) |
|
void | setReady (bool ready) |
|
void | handleError (cutehmi::InplaceError error) |
|
| AbstractClient (QObject *parent=nullptr) |
|
void | handleRequest (const QJsonObject &request) override |
| Handle request. More...
|
|
void | handleReply (QUuid requestId, QJsonObject reply) override |
| Reply handler. More...
|
|
void | pollingRequested () |
|
void | pollingFinished () |
|
void | pollingTaskRequested () |
|
void | pollingTaskFinished () |
|
| AbstractDevice (QObject *parent=nullptr) |
|
| ~AbstractDevice () override |
| Destructor. More...
|
|
const CoilDataContainer & | coilData () const |
|
CoilDataContainer & | coilData () |
|
const DiscreteInputDataContainer & | discreteInputData () const |
|
DiscreteInputDataContainer & | discreteInputData () |
|
const HoldingRegisterDataContainer & | holdingRegisterData () const |
|
HoldingRegisterDataContainer & | holdingRegisterData () |
|
const InputRegisterDataContainer & | inputRegisterData () const |
|
InputRegisterDataContainer & | inputRegisterData () |
|
QJsonObject | pendingRequest (QUuid requestId) const |
|
QJsonObject | takePendingRequest (QUuid requestId) |
|
void | stopped () |
|
void | started () |
|
QObject * | sender () const const |
|
int | senderSignalIndex () const const |
|
int | receivers (const char *signal) const const |
|
bool | isSignalConnected (const QMetaMethod &signal) const const |
|
virtual void | timerEvent (QTimerEvent *event) |
|
virtual void | childEvent (QChildEvent *event) |
|
virtual void | customEvent (QEvent *event) |
|
virtual void | connectNotify (const QMetaMethod &signal) |
|
virtual void | disconnectNotify (const QMetaMethod &signal) |
|
virtual | ~Serviceable ()=default |
|
| Serviceable (const Serviceable &other)=default |
|
Serviceable & | operator= (const Serviceable &other)=default |
|
CUTEHMI_PROTECTED_SIGNALS | __pad0__: void requestReceived(QJsonObject request) |
|
CUTEHMI_PROTECTED_SIGNALS | __pad0__: void broke() |
|
Dummy client.
Dummy client provides implementation of fake Modbus master (client) that connects to imaginary Modbus slave (server). Contrary to real client it can be forced to write to memory regions specified by Modbus protocol as read-only (discrete inputs and input registers). This class is useful when prototyping and testing behavior of client application as it can also emulate latency and it does not require running Modbus slave (server) to work with.