|
| 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 | timeout () const override |
|
void | setTimeout (int timeout) override |
|
int | pollingInterval () const |
|
void | setPollingInterval (int interval) |
|
int | pollingTaskInterval () const |
|
void | setPollingTaskInterval (int interval) |
|
int | requestInterval () const |
|
void | setRequestInterval (int interval) |
|
virtual int | timeout () const =0 |
|
virtual void | setTimeout (int timeout)=0 |
|
void | configureStarting (QState *starting, AssignStatusFunction assignStatus) override |
|
void | configureStarted (QState *active, const QState *idling, const QState *yielding, AssignStatusFunction assignStatus) override |
|
void | configureStopping (QState *stopping, AssignStatusFunction assignStatus) override |
|
void | configureBroken (QState *broken, AssignStatusFunction assignStatus) override |
|
void | configureRepairing (QState *repairing, AssignStatusFunction assignStatus) override |
|
void | configureEvacuating (QState *evacuating, AssignStatusFunction assignStatus) 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 (cutehmi::modbus::AbstractDevice::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 (cutehmi::modbus::AbstractDevice::Function function, QJsonObject payload, QUuid *requestId=nullptr) |
| Modbus function request. More...
|
|
virtual const QMetaObject * | metaObject () const const |
|
| 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 () |
|
| Q_DISABLE_COPY (Class) |
|
| Q_DISABLE_MOVE (Class) |
|
| Q_DISABLE_COPY_MOVE (Class) |
|
T | qobject_cast (QObject *object) |
|
T | qobject_cast (const QObject *object) |
|
T | qFindChild (const QObject *obj, const QString &name) |
|
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
|
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
|
| Q_CLASSINFO (Name, Value) |
|
| Q_INTERFACES (...) |
|
| Q_PROPERTY (...) |
|
| Q_ENUMS (...) |
|
| Q_FLAGS (...) |
|
| Q_ENUM (...) |
|
| Q_FLAG (...) |
|
| Q_ENUM_NS (...) |
|
| Q_FLAG_NS (...) |
|
| Q_OBJECT Q_OBJECT |
|
| Q_GADGET Q_GADGET |
|
| Q_NAMESPACE Q_NAMESPACE |
|
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) |
|
| Q_SIGNALS Q_SIGNALS |
|
| Q_SIGNAL Q_SIGNAL |
|
| Q_SLOTS Q_SLOTS |
|
| Q_SLOT Q_SLOT |
|
| Q_EMIT Q_EMIT |
|
| Q_INVOKABLE Q_INVOKABLE |
|
| Q_REVISION Q_REVISION |
|
| Q_SET_OBJECT_NAME (Object) |
|
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT |
|
virtual void | configureStarting (QState *starting, AssignStatusFunction assignStatus)=0 |
|
virtual void | configureStarted (QState *active, const QState *idling, const QState *yielding, AssignStatusFunction assignStatus)=0 |
|
virtual void | configureStopping (QState *stopping, AssignStatusFunction assignStatus)=0 |
|
virtual void | configureBroken (QState *broken, AssignStatusFunction assignStatus)=0 |
|
virtual void | configureRepairing (QState *repairing, AssignStatusFunction assignStatus)=0 |
|
virtual void | configureEvacuating (QState *evacuating, AssignStatusFunction assignStatus)=0 |
|
virtual std::unique_ptr< QAbstractTransition > | transitionToStarted () const=0 |
|
virtual std::unique_ptr< QAbstractTransition > | transitionToStopped () const=0 |
|
virtual std::unique_ptr< QAbstractTransition > | transitionToBroken () const=0 |
|
virtual std::unique_ptr< QAbstractTransition > | transitionToYielding () const=0 |
|
virtual std::unique_ptr< QAbstractTransition > | transitionToIdling () const=0 |
|
|
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 std::function< void(QState &state, const QString &status)> | AssignStatusFunction |
|
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 | QObjectList |
|
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 () |
|
virtual void | handleReply (QUuid requestId, QJsonObject reply) |
| Reply handler. More...
|
|
void | setState (cutehmi::modbus::AbstractDevice::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...
|
|
Q_SIGNAL void | requestAccepted (QJsonObject request) |
|
Q_SIGNAL void | pollingRequested () |
|
Q_SIGNAL void | pollingFinished () |
|
Q_SIGNAL void | pollingTaskRequested () |
|
Q_SIGNAL void | pollingTaskFinished () |
|
| AbstractDevice (QObject *parent=nullptr) |
|
| ~AbstractDevice () override |
| Destructor. More...
|
|
virtual void | handleRequest (const QJsonObject &request)=0 |
| Handle request. 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) |
|
Q_SIGNAL void | broke () |
|
Q_SIGNAL void | stopped () |
|
Q_SIGNAL 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) |
|
| Serviceable ()=default |
|
virtual | ~Serviceable ()=default |
|
| Serviceable (const Serviceable &other)=default |
|
Serviceable & | operator= (const Serviceable &other)=default |
|
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.