10#include "ModbusRTUErrors.h"
27 typedef uint8_t ModbusByte;
28 const size_t BitsPerByte = 8;
29 typedef uint8_t ModbusAddr;
30 typedef uint16_t ModbusData;
31 const uint8_t BitsPerData = 16;
32 typedef uint16_t ModbusCRC;
36 enum SlaveFunctionCode
39 fnReadCoilStatus = 0x01,
40 fnReadInputStatus = 0x02,
41 fnReadOutputRegisters = 0x03,
42 fnReadInputRegisters = 0x04,
43 fnForceSingleCoil = 0x05,
44 fnWriteOutputSingleRegister = 0x06,
46 fnForceMultipleCoils = 0x0F,
47 fnWriteOutputRegisters = 0x10,
48 fnReadFileRecord = 0x14,
49 fnWriteFileRecord = 0x15,
52 fnRemoteService = 0x53,
53 fnJournalCommand = 0x65,
58 enum DiagnosticsSubFunction
66 dgClearCounters = 0x0A,
69 dgBusExceptCount = 0x0D,
70 dgMsgSlaveCount = 0x0E,
71 dgNoNoResponseCount = 0x0F,
72 dgSlaveNAKCount = 0x10,
73 dgSlaveBusyCount = 0x11,
74 dgBusCharOverrunCount = 0x12,
76 dgClearOverrunCounter = 0x14
89 RegID genRegID(
const ModbusRTU::ModbusData r,
const uint8_t fn );
93 ssize_t szRequestDiagnosticData( DiagnosticsSubFunction f );
100 rdiMajorMinorRevision = 0x2,
102 rdiProductName = 0x4,
104 rdiUserApplicationName = 0x6
110 enum RDIRequestDeviceID
113 rdevBasicDevice = 0x1,
114 rdevRegularDevice = 0x2,
115 rdevExtentedDevice = 0x3,
116 rdevSpecificDevice = 0x4,
120 std::string rdi2str(
int id );
136 const uint8_t MBErrMask = 0x80;
138 uint16_t SWAPSHORT( uint16_t x );
141 ModbusCRC checkCRC( ModbusByte* start,
size_t len );
142 const size_t szCRC =
sizeof(ModbusCRC);
145 std::ostream& mbPrintMessage(std::ostream& os, ModbusByte* b,
size_t len );
147 ModbusAddr str2mbAddr(
const std::string& val );
148 ModbusData str2mbData(
const std::string& val );
149 std::string dat2str(
const ModbusData dat );
150 std::string addr2str(
const ModbusAddr addr );
151 std::string b2str(
const ModbusByte b );
153 float dat2f(
const ModbusData dat1,
const ModbusData dat2 );
154 size_t numBytes(
const size_t nbits );
162 data =
new ModbusRTU::ModbusData[sz];
170 ModbusRTU::ModbusData* data;
174 bool isWriteFunction( SlaveFunctionCode c );
175 bool isReadFunction( SlaveFunctionCode c );
184 } __attribute__((packed));
188 std::ostream& operator<<(std::ostream& os,
const ModbusHeader& m );
189 std::ostream& operator<<(std::ostream& os,
const ModbusHeader* m );
193 ModbusRTU::ModbusData
tID;
194 ModbusRTU::ModbusData
pID;
195 ModbusRTU::ModbusData
len;
201 } __attribute__((packed));
203 std::ostream& operator<<(std::ostream& os,
const MBAPHeader& m );
218 inline ModbusByte func()
const
222 inline ModbusAddr addr()
const
226 inline ModbusRTU::ModbusData tID()
const
230 inline ModbusRTU::ModbusData pID()
const
234 inline ModbusRTU::ModbusData aduLen()
const
240 ModbusRTU::ModbusData len()
const;
242 void makeMBAPHeader( ModbusRTU::ModbusData tID,
bool noCRC =
true, ModbusRTU::ModbusData pID = 0 );
244 ModbusRTU::ModbusData pduLen()
const;
245 ModbusCRC pduCRC(
size_t len )
const;
246 static size_t maxSizeOfMessage();
252 ModbusByte
data[MAXLENPACKET + szCRC];
256 } __attribute__((packed));
258 std::ostream& operator<<(std::ostream& os,
const ModbusMessage& m );
259 std::ostream& operator<<(std::ostream& os,
const ModbusMessage* m );
265 ModbusByte ecode = { erNoError };
266 ModbusCRC crc = { 0 };
276 ErrorRetMessage( ModbusAddr _from, ModbusByte _func, ModbusByte ecode );
277 static void make_to( ModbusAddr
addr, ModbusByte _func, ModbusByte ecode,
ModbusMessage& m );
288 return sizeof(ModbusByte) + szCRC;
301 const DataBits& operator=(
const ModbusByte& r);
303 operator ModbusByte();
306 bool operator[] (
const size_t i )
const
310 void set(
int n,
bool s )
315 std::bitset<BitsPerByte> b;
318 std::ostream& operator<<(std::ostream& os,
DataBits& m );
319 std::ostream& operator<<(std::ostream& os,
DataBits* m );
327 const DataBits16& operator=(
const ModbusData& r);
329 operator ModbusData();
330 ModbusData mdata()
const;
332 bool operator[](
const size_t i )
const
336 void set(
int n,
bool s )
345 std::bitset<BitsPerData> b;
348 std::ostream& operator<<(std::ostream& os,
DataBits16& m );
349 std::ostream& operator<<(std::ostream& os,
DataBits16* m );
371 bool setBit( uint8_t dnum, uint8_t bnum,
bool state );
395 bool getByBitNum( uint16_t num,
bool& state )
const;
404 bool getBit( uint8_t dnum, uint8_t bnum,
bool& state )
const;
412 return ( (
size_t)
bcnt >=
sizeof(
data) );
415 std::ostream& operator<<(std::ostream& os,
BitsBuffer& m );
416 std::ostream& operator<<(std::ostream& os,
BitsBuffer* m );
422 ModbusData start = { 0 };
423 ModbusData count = { 0 };
424 ModbusCRC crc = { 0 };
428 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
444 return sizeof(ModbusData) * 2 + szCRC;
447 } __attribute__((packed));
470 return sizeof(ModbusByte);
475 ModbusCRC crc = { 0 };
488 std::ostream& operator<<(std::ostream& os, ReadCoilRetMessage& m );
489 std::ostream& operator<<(std::ostream& os, ReadCoilRetMessage* m );
495 ModbusData start = { 0 };
496 ModbusData count = { 0 };
497 ModbusCRC crc = { 0 };
501 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
518 return sizeof(ModbusData) * 2 + szCRC;
521 } __attribute__((packed));
543 return sizeof(ModbusByte);
548 ModbusCRC crc = { 0 };
561 std::ostream& operator<<(std::ostream& os, ReadInputStatusRetMessage& m );
562 std::ostream& operator<<(std::ostream& os, ReadInputStatusRetMessage* m );
569 ModbusData start = { 0 };
570 ModbusData count = { 0 };
571 ModbusCRC crc = { 0 };
575 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
590 return sizeof(ModbusData) * 2 + szCRC;
593 } __attribute__((packed));
603 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
618 return sizeof(ModbusByte);
623 ModbusCRC crc = { 0 };
640 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
665 ModbusData start = { 0 };
666 ModbusData count = { 0 };
667 ModbusCRC crc = { 0 };
671 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
686 return sizeof(ModbusData) * 2 + szCRC;
689 } __attribute__((packed));
700 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
715 return sizeof(ModbusByte);
720 ModbusCRC crc = { 0 };
737 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
768 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
785 int addBit(
bool state );
787 bool setBit( uint8_t nbit,
bool state );
789 inline size_t last()
const
803 inline bool isFull()
const
805 return ( (
int)
bcnt >= MAXPDULEN );
809 ForceCoilsMessage(
const ModbusMessage& m );
810 ForceCoilsMessage& operator=(
const ModbusMessage& m );
811 void init(
const ModbusMessage& m );
812 static ModbusCRC getCrc(
const ModbusMessage& m );
813 static ModbusCRC calcCRC(
const ModbusMessage& m );
824 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
833 } __attribute__((packed));
844 ModbusCRC crc = { 0 };
860 static void make_to( ModbusAddr _from, ModbusData
start, ModbusData count,
ModbusMessage& m );
874 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
890 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData) -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
899 bool addData( ModbusData d );
901 inline bool isFull()
const
903 return (
quant >= MAXDATALEN );
922 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
931 } __attribute__((packed));
950 ModbusCRC crc = { 0 };
973 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
991 return (
data & 0xFF00);
996 static void make_to( ModbusAddr
addr, ModbusData ref,
bool state,
ModbusMessage& m );
1016 return sizeof(ModbusData);
1026 } __attribute__((packed));
1039 ModbusCRC crc = { 0 };
1044 return (
data & 0xFF00);
1073 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1112 return sizeof(ModbusData);
1122 } __attribute__((packed));
1135 ModbusCRC crc = { 0 };
1165 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1176 ModbusData subf = { 0 };
1177 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
1191 return sizeof(ModbusData);
1196 ModbusCRC crc = { 0 };
1199 DiagnosticMessage( ModbusAddr _from, DiagnosticsSubFunction subf, ModbusData d = 0 );
1214 return ( 1 +
count >= MAXDATALEN );
1276 return sizeof(ModbusByte) * 3;
1282 return sizeof(ModbusByte) * 3 + szCRC;
1286 bool checkFormat()
const;
1288 } __attribute__((packed));
1290 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI& m );
1291 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI* m );
1297 RDIObjectInfo( ModbusByte
id,
const std::string& v ): id(
id), val(v) {}
1298 RDIObjectInfo( ModbusByte
id,
const ModbusByte* dat, ModbusByte len );
1304 using RDIObjectList = std::list<RDIObjectInfo>;
1317 RDIObjectList dlist;
1318 ModbusCRC crc = { 0 };
1334 return sizeof(ModbusByte) * 6;
1347 bool addData( ModbusByte
id,
const std::string& value );
1356 return ( bcnt >= MAXPDULEN );
1366 size_t bcnt = { 0 };
1369 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI& m );
1370 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI* m );
1371 std::ostream& operator<<(std::ostream& os, RDIObjectList& dl );
1372 std::ostream& operator<<(std::ostream& os, RDIObjectList* dl );
1382 ModbusCRC crc = { 0 };
1393 return sizeof(ModbusData) * 2 + szCRC;
1396 } __attribute__((packed));
1411 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
1422 bool setData( ModbusByte* b,
int len );
1430 return (
count >= MAXDATALEN );
1462 void set( ModbusData cmd, ModbusData ecode );
1482 ModbusCRC crc = { 0 };
1502 return sizeof(ModbusByte) * 7 + szCRC;
1505 } __attribute__((packed));
1541 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusByte)];
1559 return sizeof(ModbusByte);
1565 } __attribute__((packed));
1575 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusByte)];
1585 bool setData( ModbusByte* b,
int len );
1622 } __attribute__((packed));
1645 return sizeof(ModbusByte);
1686 return sizeof(ModbusData) * 2 + szCRC;
1689 } __attribute__((packed));
1700 static const size_t MaxDataLen = MAXLENPACKET -
sizeof(ModbusData) * 3 -
sizeof(ModbusByte) * 2;
1707 ModbusByte data[MaxDataLen];
1717 ModbusCRC crc = { 0 };
1718 static size_t szHead()
1720 return sizeof(ModbusByte);
1730 bool set( ModbusData
numfile, ModbusData file_num_packets, ModbusData
packet, ModbusByte* b, ModbusByte len );
1743 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage& m );
1744 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage* m );
Definition Calibration.h:27
Definition ModbusTypes.h:352
bool getData(uint8_t dnum, DataBits &d) const
Definition ModbusTypes.cc:683
bool setByBitNum(uint16_t num, bool state)
Definition ModbusTypes.cc:656
ModbusByte data[MAXPDULEN]
Definition ModbusTypes.h:354
bool isFull() const
Definition ModbusTypes.h:410
bool addData(DataBits d)
Definition ModbusTypes.cc:674
bool getByBitNum(uint16_t num, bool &state) const
Definition ModbusTypes.cc:694
void clear()
Definition ModbusTypes.cc:713
ModbusByte bcnt
Definition ModbusTypes.h:353
bool getBit(uint8_t dnum, uint8_t bnum, bool &state) const
Definition ModbusTypes.cc:701
bool setBit(uint8_t dnum, uint8_t bnum, bool state)
Definition ModbusTypes.cc:643
Definition ModbusTypes.h:322
Definition ModbusTypes.h:296
Definition ModbusTypes.h:158
Definition ModbusTypes.h:1175
size_t szData() const
Definition ModbusTypes.cc:2825
bool isFull() const
Definition ModbusTypes.h:1211
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2777
static size_t szHead()
Definition ModbusTypes.h:1189
bool addData(ModbusData d)
Definition ModbusTypes.cc:2762
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition ModbusTypes.h:1177
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2734
void clear()
Definition ModbusTypes.cc:2771
size_t count
Definition ModbusTypes.h:1229
Definition ModbusTypes.h:1237
Definition ModbusTypes.h:264
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:354
static size_t szData()
Definition ModbusTypes.h:286
Definition ModbusTypes.h:1664
static size_t szData()
Definition ModbusTypes.h:1684
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:4004
ModbusCRC crc
Definition ModbusTypes.h:1667
ModbusData numpacket
Definition ModbusTypes.h:1666
ModbusData numfile
Definition ModbusTypes.h:1665
Definition ModbusTypes.h:1697
bool set(ModbusData numfile, ModbusData file_num_packets, ModbusData packet, ModbusByte *b, ModbusByte len)
Definition ModbusTypes.cc:4149
void clear()
Definition ModbusTypes.cc:4164
ModbusByte bcnt
Definition ModbusTypes.h:1702
ModbusData packet
Definition ModbusTypes.h:1705
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:4184
ModbusData numfile
Definition ModbusTypes.h:1703
ModbusByte dlen
Definition ModbusTypes.h:1706
ModbusData numpacks
Definition ModbusTypes.h:1704
size_t szData() const
Definition ModbusTypes.cc:4178
Definition ModbusTypes.h:763
static size_t szHead()
Definition ModbusTypes.h:821
ModbusData quant
Definition ModbusTypes.h:765
ModbusData start
Definition ModbusTypes.h:764
ModbusByte bcnt
Definition ModbusTypes.h:766
bool getData(uint8_t dnum, DataBits &d) const
Definition ModbusTypes.cc:1615
size_t szData() const
Definition ModbusTypes.cc:1743
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1649
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:1748
bool addData(DataBits d)
Definition ModbusTypes.cc:1577
ModbusCRC crc
Definition ModbusTypes.h:769
ModbusByte data[MAXLENPACKET - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition ModbusTypes.h:768
Definition ModbusTypes.h:841
ModbusData quant
Definition ModbusTypes.h:843
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1840
void set(ModbusData start, ModbusData quant)
Definition ModbusTypes.cc:1834
ModbusData start
Definition ModbusTypes.h:842
static size_t szData()
Definition ModbusTypes.h:872
Definition ModbusTypes.h:983
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2277
static size_t szHead()
Definition ModbusTypes.h:1014
ModbusData data
Definition ModbusTypes.h:985
ModbusData start
Definition ModbusTypes.h:984
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2201
bool cmd() const
Definition ModbusTypes.h:989
static size_t szData()
Definition ModbusTypes.cc:2272
ModbusCRC crc
Definition ModbusTypes.h:986
Definition ModbusTypes.h:1036
ModbusData data
Definition ModbusTypes.h:1038
ModbusData start
Definition ModbusTypes.h:1037
void set(ModbusData start, bool cmd)
Definition ModbusTypes.cc:2345
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2352
bool cmd() const
Definition ModbusTypes.h:1042
static size_t szData()
Definition ModbusTypes.h:1071
Definition ModbusTypes.h:1379
static size_t szData()
Definition ModbusTypes.h:1391
ModbusData cmd
Definition ModbusTypes.h:1380
ModbusData num
Definition ModbusTypes.h:1381
Definition ModbusTypes.h:1404
size_t szData() const
Definition ModbusTypes.cc:3400
bool isFull() const
Definition ModbusTypes.h:1428
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition ModbusTypes.h:1411
bool setData(ModbusByte *b, int len)
Definition ModbusTypes.cc:3308
void clear()
Definition ModbusTypes.cc:3331
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3353
size_t count
Definition ModbusTypes.h:1448
ModbusByte bcnt
Definition ModbusTypes.h:1405
Definition ModbusTypes.h:1459
Definition ModbusTypes.h:1249
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2912
static size_t szData()
Definition ModbusTypes.h:1280
ModbusCRC crc
Definition ModbusTypes.h:1254
ModbusByte devID
Definition ModbusTypes.h:1251
static size_t szHead()
Definition ModbusTypes.h:1274
ModbusByte objID
Definition ModbusTypes.h:1252
ModbusByte type
Definition ModbusTypes.h:1250
Definition ModbusTypes.h:1309
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3158
ModbusByte objNum
Definition ModbusTypes.h:1315
ModbusByte objID
Definition ModbusTypes.h:1314
void clear()
Definition ModbusTypes.cc:3137
bool addData(ModbusByte id, const std::string &value)
Definition ModbusTypes.cc:3124
ModbusByte mf
Definition ModbusTypes.h:1313
ModbusByte conformity
Definition ModbusTypes.h:1312
static size_t szHead()
Definition ModbusTypes.h:1332
size_t szData() const
Definition ModbusTypes.cc:3199
bool isFull() const
Definition ModbusTypes.h:1354
ModbusByte type
Definition ModbusTypes.h:1310
ModbusByte devID
Definition ModbusTypes.h:1311
Definition ModbusTypes.h:210
ModbusByte data[MAXLENPACKET+szCRC]
Definition ModbusTypes.h:252
size_t dlen
Definition ModbusTypes.h:255
Definition ModbusTypes.h:1295
Definition ModbusTypes.h:421
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:408
static size_t szData()
Definition ModbusTypes.h:442
Definition ModbusTypes.h:457
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:776
size_t szData() const
Definition ModbusTypes.cc:770
static int szHead()
Definition ModbusTypes.h:468
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:756
Definition ModbusTypes.h:1617
ModbusByte reftype
Definition ModbusTypes.h:1618
ModbusData numrec
Definition ModbusTypes.h:1620
ModbusData reglen
Definition ModbusTypes.h:1621
ModbusData numfile
Definition ModbusTypes.h:1619
Definition ModbusTypes.h:1615
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:3978
size_t count
Definition ModbusTypes.h:1655
static size_t szHead()
Definition ModbusTypes.h:1643
ModbusByte bcnt
Definition ModbusTypes.h:1624
size_t szData() const
Definition ModbusTypes.cc:3972
bool checkFormat() const
Definition ModbusTypes.cc:3919
ModbusCRC crc
Definition ModbusTypes.h:1628
SubRequest data[MAXLENPACKET/sizeof(SubRequest) - sizeof(ModbusByte)]
Definition ModbusTypes.h:1627
Definition ModbusTypes.h:568
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1057
static size_t szData()
Definition ModbusTypes.h:588
Definition ModbusTypes.h:601
size_t szData() const
Definition ModbusTypes.cc:1287
bool isFull() const
Definition ModbusTypes.h:638
static size_t szHead()
Definition ModbusTypes.h:615
size_t count
Definition ModbusTypes.h:655
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:1192
ModbusByte bcnt
Definition ModbusTypes.h:602
void clear()
Definition ModbusTypes.cc:1219
bool addData(ModbusData d)
Definition ModbusTypes.cc:1209
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1243
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition ModbusTypes.h:603
Definition ModbusTypes.h:1537
size_t szData() const
Definition ModbusTypes.cc:3797
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition ModbusTypes.h:1541
static size_t szHead()
Definition ModbusTypes.h:1557
ModbusCRC crc
Definition ModbusTypes.h:1542
ModbusByte bcnt
Definition ModbusTypes.h:1538
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:3802
Definition ModbusTypes.h:1572
bool isFull() const
Definition ModbusTypes.h:1591
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition ModbusTypes.h:1575
void clear()
Definition ModbusTypes.cc:3847
bool setData(ModbusByte *b, int len)
Definition ModbusTypes.cc:3829
ModbusByte bcnt
Definition ModbusTypes.h:1573
size_t szData() const
Definition ModbusTypes.cc:3854
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3860
size_t count
Definition ModbusTypes.h:1609
Definition ModbusTypes.h:1473
static size_t szData()
Definition ModbusTypes.h:1500
ModbusByte year
Definition ModbusTypes.h:1479
ModbusByte mon
Definition ModbusTypes.h:1478
ModbusByte century
Definition ModbusTypes.h:1480
ModbusByte hour
Definition ModbusTypes.h:1474
ModbusByte sec
Definition ModbusTypes.h:1476
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3632
ModbusByte min
Definition ModbusTypes.h:1475
ModbusByte day
Definition ModbusTypes.h:1477
Definition ModbusTypes.h:1514
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3727
Definition ModbusTypes.h:885
static size_t szHead()
Definition ModbusTypes.h:919
ModbusByte bcnt
Definition ModbusTypes.h:888
ModbusData start
Definition ModbusTypes.h:886
ModbusCRC crc
Definition ModbusTypes.h:891
size_t szData() const
Definition ModbusTypes.cc:2036
ModbusData quant
Definition ModbusTypes.h:887
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1926
ModbusData data[MAXLENPACKET/sizeof(ModbusData) - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition ModbusTypes.h:890
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2041
Definition ModbusTypes.h:940
static size_t szData()
Definition ModbusTypes.h:971
void set(ModbusData start, ModbusData quant)
Definition ModbusTypes.cc:2129
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2135
ModbusData start
Definition ModbusTypes.h:941
ModbusData quant
Definition ModbusTypes.h:942
Definition ModbusTypes.h:1084
ModbusCRC crc
Definition ModbusTypes.h:1087
static size_t szData()
Definition ModbusTypes.cc:2493
ModbusData data
Definition ModbusTypes.h:1086
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2422
static size_t szHead()
Definition ModbusTypes.h:1110
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2498
ModbusData start
Definition ModbusTypes.h:1085
Definition ModbusTypes.h:1132
static size_t szData()
Definition ModbusTypes.h:1163
ModbusData data
Definition ModbusTypes.h:1134
ModbusData start
Definition ModbusTypes.h:1133
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2579
void set(ModbusData start, ModbusData data)
Definition ModbusTypes.cc:2572