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 );
137 const uint8_t MBErrMask = 0x80;
139 uint16_t SWAPSHORT( uint16_t x );
142 ModbusCRC checkCRC( ModbusByte* start,
size_t len );
143 const size_t szCRC =
sizeof(ModbusCRC);
146 std::ostream& mbPrintMessage(std::ostream& os, ModbusByte* b,
size_t len );
148 ModbusAddr str2mbAddr(
const std::string& val );
149 ModbusData str2mbData(
const std::string& val );
150 std::string dat2str(
const ModbusData dat );
151 std::string addr2str(
const ModbusAddr addr );
152 std::string b2str(
const ModbusByte b );
154 float dat2f(
const ModbusData dat1,
const ModbusData dat2 );
155 size_t numBytes(
const size_t nbits );
163 data =
new ModbusRTU::ModbusData[sz];
171 ModbusRTU::ModbusData* data;
175 bool isWriteFunction( SlaveFunctionCode c );
176 bool isReadFunction( SlaveFunctionCode c );
185 } __attribute__((packed));
189 std::ostream& operator<<(std::ostream& os,
const ModbusHeader& m );
190 std::ostream& operator<<(std::ostream& os,
const ModbusHeader* m );
194 ModbusRTU::ModbusData
tID;
195 ModbusRTU::ModbusData
pID;
196 ModbusRTU::ModbusData
len;
202 } __attribute__((packed));
204 std::ostream& operator<<(std::ostream& os,
const MBAPHeader& m );
219 inline ModbusByte func()
const
223 inline ModbusAddr addr()
const
227 inline ModbusRTU::ModbusData tID()
const
231 inline ModbusRTU::ModbusData pID()
const
235 inline ModbusRTU::ModbusData aduLen()
const
241 ModbusRTU::ModbusData len()
const;
243 void makeMBAPHeader( ModbusRTU::ModbusData tID,
bool noCRC =
true, ModbusRTU::ModbusData pID = 0 );
245 ModbusRTU::ModbusData pduLen()
const;
246 ModbusCRC pduCRC(
size_t len )
const;
247 static size_t maxSizeOfMessage();
253 ModbusByte
data[MAXLENPACKET + szCRC];
257 } __attribute__((packed));
259 std::ostream& operator<<(std::ostream& os,
const ModbusMessage& m );
260 std::ostream& operator<<(std::ostream& os,
const ModbusMessage* m );
266 ModbusByte ecode = { erNoError };
267 ModbusCRC crc = { 0 };
277 ErrorRetMessage( ModbusAddr _from, ModbusByte _func, ModbusByte ecode );
278 static void make_to( ModbusAddr
addr, ModbusByte _func, ModbusByte ecode,
ModbusMessage& m );
289 return sizeof(ModbusByte) + szCRC;
302 const DataBits& operator=(
const ModbusByte& r);
304 operator ModbusByte();
307 bool operator[] (
const size_t i )
const
311 void set(
int n,
bool s )
316 std::bitset<BitsPerByte> b;
319 std::ostream& operator<<(std::ostream& os,
DataBits& m );
320 std::ostream& operator<<(std::ostream& os,
DataBits* m );
328 const DataBits16& operator=(
const ModbusData& r);
330 operator ModbusData();
331 ModbusData mdata()
const;
333 bool operator[](
const size_t i )
const
337 void set(
int n,
bool s )
346 std::bitset<BitsPerData> b;
349 std::ostream& operator<<(std::ostream& os,
DataBits16& m );
350 std::ostream& operator<<(std::ostream& os,
DataBits16* m );
372 bool setBit( uint8_t dnum, uint8_t bnum,
bool state );
396 bool getByBitNum( uint16_t num,
bool& state )
const;
405 bool getBit( uint8_t dnum, uint8_t bnum,
bool& state )
const;
413 return ( (
size_t)
bcnt >=
sizeof(
data) );
416 std::ostream& operator<<(std::ostream& os,
BitsBuffer& m );
417 std::ostream& operator<<(std::ostream& os,
BitsBuffer* m );
423 ModbusData start = { 0 };
424 ModbusData count = { 0 };
425 ModbusCRC crc = { 0 };
429 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
445 return sizeof(ModbusData) * 2 + szCRC;
448 } __attribute__((packed));
471 return sizeof(ModbusByte);
476 ModbusCRC crc = { 0 };
489 std::ostream& operator<<(std::ostream& os, ReadCoilRetMessage& m );
490 std::ostream& operator<<(std::ostream& os, ReadCoilRetMessage* m );
496 ModbusData start = { 0 };
497 ModbusData count = { 0 };
498 ModbusCRC crc = { 0 };
502 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
519 return sizeof(ModbusData) * 2 + szCRC;
522 } __attribute__((packed));
544 return sizeof(ModbusByte);
549 ModbusCRC crc = { 0 };
562 std::ostream& operator<<(std::ostream& os, ReadInputStatusRetMessage& m );
563 std::ostream& operator<<(std::ostream& os, ReadInputStatusRetMessage* m );
570 ModbusData start = { 0 };
571 ModbusData count = { 0 };
572 ModbusCRC crc = { 0 };
576 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
591 return sizeof(ModbusData) * 2 + szCRC;
594 } __attribute__((packed));
604 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
619 return sizeof(ModbusByte);
624 ModbusCRC crc = { 0 };
641 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
666 ModbusData start = { 0 };
667 ModbusData count = { 0 };
668 ModbusCRC crc = { 0 };
672 static void make_to( ModbusAddr
addr, ModbusData start, ModbusData count,
ModbusMessage& m );
687 return sizeof(ModbusData) * 2 + szCRC;
690 } __attribute__((packed));
701 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
716 return sizeof(ModbusByte);
721 ModbusCRC crc = { 0 };
738 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
769 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
786 int addBit(
bool state );
788 bool setBit( uint8_t nbit,
bool state );
790 inline size_t last()
const
804 inline bool isFull()
const
806 return ( (
int)
bcnt >= MAXPDULEN );
810 ForceCoilsMessage(
const ModbusMessage& m );
811 ForceCoilsMessage& operator=(
const ModbusMessage& m );
812 void init(
const ModbusMessage& m );
813 static ModbusCRC getCrc(
const ModbusMessage& m );
814 static ModbusCRC calcCRC(
const ModbusMessage& m );
825 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
834 } __attribute__((packed));
845 ModbusCRC crc = { 0 };
861 static void make_to( ModbusAddr _from, ModbusData
start, ModbusData count,
ModbusMessage& m );
864 void set( ModbusData
start, ModbusData
quant );
875 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
891 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData) -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
900 bool addData( ModbusData d );
902 inline bool isFull()
const
904 return (
quant >= MAXDATALEN );
923 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
932 } __attribute__((packed));
951 ModbusCRC crc = { 0 };
963 void set( ModbusData
start, ModbusData
quant );
974 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
992 return (
data & 0xFF00);
997 static void make_to( ModbusAddr
addr, ModbusData ref,
bool state,
ModbusMessage& m );
1017 return sizeof(ModbusData);
1027 } __attribute__((packed));
1040 ModbusCRC crc = { 0 };
1045 return (
data & 0xFF00);
1063 void set( ModbusData
start,
bool cmd );
1074 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1113 return sizeof(ModbusData);
1123 } __attribute__((packed));
1136 ModbusCRC crc = { 0 };
1155 void set( ModbusData
start, ModbusData
data );
1166 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1177 ModbusData subf = { 0 };
1178 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
1192 return sizeof(ModbusData);
1197 ModbusCRC crc = { 0 };
1200 DiagnosticMessage( ModbusAddr _from, DiagnosticsSubFunction subf, ModbusData d = 0 );
1215 return ( 1 +
count >= MAXDATALEN );
1277 return sizeof(ModbusByte) * 3;
1283 return sizeof(ModbusByte) * 3 + szCRC;
1287 bool checkFormat()
const;
1289 } __attribute__((packed));
1291 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI& m );
1292 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI* m );
1298 RDIObjectInfo( ModbusByte
id,
const std::string& v ): id(
id), val(v) {}
1299 RDIObjectInfo( ModbusByte
id,
const ModbusByte* dat, ModbusByte len );
1305 using RDIObjectList = std::list<RDIObjectInfo>;
1318 RDIObjectList dlist;
1319 ModbusCRC crc = { 0 };
1335 return sizeof(ModbusByte) * 6;
1348 bool addData( ModbusByte
id,
const std::string& value );
1357 return ( bcnt >= MAXPDULEN );
1367 size_t bcnt = { 0 };
1370 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI& m );
1371 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI* m );
1372 std::ostream& operator<<(std::ostream& os, RDIObjectList& dl );
1373 std::ostream& operator<<(std::ostream& os, RDIObjectList* dl );
1383 ModbusCRC crc = { 0 };
1394 return sizeof(ModbusData) * 2 + szCRC;
1397 } __attribute__((packed));
1412 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
1423 bool setData( ModbusByte* b,
int len );
1431 return (
count >= MAXDATALEN );
1463 void set( ModbusData cmd, ModbusData ecode );
1483 ModbusCRC crc = { 0 };
1503 return sizeof(ModbusByte) * 7 + szCRC;
1506 } __attribute__((packed));
1542 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusByte)];
1560 return sizeof(ModbusByte);
1566 } __attribute__((packed));
1576 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusByte)];
1586 bool setData( ModbusByte* b,
int len );
1623 } __attribute__((packed));
1646 return sizeof(ModbusByte);
1687 return sizeof(ModbusData) * 2 + szCRC;
1690 } __attribute__((packed));
1701 static const size_t MaxDataLen = MAXLENPACKET -
sizeof(ModbusData) * 3 -
sizeof(ModbusByte) * 2;
1708 ModbusByte data[MaxDataLen];
1718 ModbusCRC crc = { 0 };
1719 static size_t szHead()
1721 return sizeof(ModbusByte);
1731 bool set( ModbusData
numfile, ModbusData file_num_packets, ModbusData
packet, ModbusByte* b, ModbusByte len );
1744 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage& m );
1745 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage* m );
Definition AccessConfig.h:30
Definition ModbusTypes.h:353
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:355
bool isFull() const
Definition ModbusTypes.h:411
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:354
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:323
Definition ModbusTypes.h:297
Definition ModbusTypes.h:159
Definition ModbusTypes.h:1176
size_t szData() const
Definition ModbusTypes.cc:2825
bool isFull() const
Definition ModbusTypes.h:1212
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2777
static size_t szHead()
Definition ModbusTypes.h:1190
bool addData(ModbusData d)
Definition ModbusTypes.cc:2762
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition ModbusTypes.h:1178
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2734
void clear()
Definition ModbusTypes.cc:2771
size_t count
Definition ModbusTypes.h:1230
Definition ModbusTypes.h:1238
Definition ModbusTypes.h:265
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:354
static size_t szData()
Definition ModbusTypes.h:287
Definition ModbusTypes.h:1665
static size_t szData()
Definition ModbusTypes.h:1685
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:4004
ModbusCRC crc
Definition ModbusTypes.h:1668
ModbusData numpacket
Definition ModbusTypes.h:1667
ModbusData numfile
Definition ModbusTypes.h:1666
Definition ModbusTypes.h:1698
void clear()
Definition ModbusTypes.cc:4164
ModbusByte bcnt
Definition ModbusTypes.h:1703
ModbusData packet
Definition ModbusTypes.h:1706
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:4184
ModbusData numfile
Definition ModbusTypes.h:1704
ModbusByte dlen
Definition ModbusTypes.h:1707
ModbusData numpacks
Definition ModbusTypes.h:1705
size_t szData() const
Definition ModbusTypes.cc:4178
Definition ModbusTypes.h:764
static size_t szHead()
Definition ModbusTypes.h:822
ModbusData quant
Definition ModbusTypes.h:766
ModbusData start
Definition ModbusTypes.h:765
ModbusByte bcnt
Definition ModbusTypes.h:767
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:770
ModbusByte data[MAXLENPACKET - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition ModbusTypes.h:769
Definition ModbusTypes.h:842
ModbusData quant
Definition ModbusTypes.h:844
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1840
ModbusData start
Definition ModbusTypes.h:843
static size_t szData()
Definition ModbusTypes.h:873
Definition ModbusTypes.h:984
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2277
static size_t szHead()
Definition ModbusTypes.h:1015
ModbusData data
Definition ModbusTypes.h:986
ModbusData start
Definition ModbusTypes.h:985
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2201
bool cmd() const
Definition ModbusTypes.h:990
static size_t szData()
Definition ModbusTypes.cc:2272
ModbusCRC crc
Definition ModbusTypes.h:987
Definition ModbusTypes.h:1037
ModbusData data
Definition ModbusTypes.h:1039
ModbusData start
Definition ModbusTypes.h:1038
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2352
bool cmd() const
Definition ModbusTypes.h:1043
static size_t szData()
Definition ModbusTypes.h:1072
Definition ModbusTypes.h:1380
static size_t szData()
Definition ModbusTypes.h:1392
ModbusData cmd
Definition ModbusTypes.h:1381
ModbusData num
Definition ModbusTypes.h:1382
Definition ModbusTypes.h:1405
size_t szData() const
Definition ModbusTypes.cc:3400
bool isFull() const
Definition ModbusTypes.h:1429
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition ModbusTypes.h:1412
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:1449
ModbusByte bcnt
Definition ModbusTypes.h:1406
Definition ModbusTypes.h:1460
Definition ModbusTypes.h:1250
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2912
static size_t szData()
Definition ModbusTypes.h:1281
ModbusCRC crc
Definition ModbusTypes.h:1255
ModbusByte devID
Definition ModbusTypes.h:1252
static size_t szHead()
Definition ModbusTypes.h:1275
ModbusByte objID
Definition ModbusTypes.h:1253
ModbusByte type
Definition ModbusTypes.h:1251
Definition ModbusTypes.h:1310
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3158
ModbusByte objNum
Definition ModbusTypes.h:1316
ModbusByte objID
Definition ModbusTypes.h:1315
void clear()
Definition ModbusTypes.cc:3137
bool addData(ModbusByte id, const std::string &value)
Definition ModbusTypes.cc:3124
ModbusByte mf
Definition ModbusTypes.h:1314
ModbusByte conformity
Definition ModbusTypes.h:1313
static size_t szHead()
Definition ModbusTypes.h:1333
size_t szData() const
Definition ModbusTypes.cc:3199
bool isFull() const
Definition ModbusTypes.h:1355
ModbusByte type
Definition ModbusTypes.h:1311
ModbusByte devID
Definition ModbusTypes.h:1312
Definition ModbusTypes.h:211
ModbusByte data[MAXLENPACKET+szCRC]
Definition ModbusTypes.h:253
size_t dlen
Definition ModbusTypes.h:256
Definition ModbusTypes.h:1296
Definition ModbusTypes.h:422
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:408
static size_t szData()
Definition ModbusTypes.h:443
Definition ModbusTypes.h:458
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:776
size_t szData() const
Definition ModbusTypes.cc:770
static int szHead()
Definition ModbusTypes.h:469
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:756
Definition ModbusTypes.h:1618
ModbusByte reftype
Definition ModbusTypes.h:1619
ModbusData numrec
Definition ModbusTypes.h:1621
ModbusData reglen
Definition ModbusTypes.h:1622
ModbusData numfile
Definition ModbusTypes.h:1620
Definition ModbusTypes.h:1616
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:3978
size_t count
Definition ModbusTypes.h:1656
static size_t szHead()
Definition ModbusTypes.h:1644
ModbusByte bcnt
Definition ModbusTypes.h:1625
size_t szData() const
Definition ModbusTypes.cc:3972
bool checkFormat() const
Definition ModbusTypes.cc:3919
ModbusCRC crc
Definition ModbusTypes.h:1629
SubRequest data[MAXLENPACKET/sizeof(SubRequest) - sizeof(ModbusByte)]
Definition ModbusTypes.h:1628
Definition ModbusTypes.h:569
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1057
static size_t szData()
Definition ModbusTypes.h:589
Definition ModbusTypes.h:602
size_t szData() const
Definition ModbusTypes.cc:1287
bool isFull() const
Definition ModbusTypes.h:639
static size_t szHead()
Definition ModbusTypes.h:616
size_t count
Definition ModbusTypes.h:656
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:1192
ModbusByte bcnt
Definition ModbusTypes.h:603
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:604
Definition ModbusTypes.h:1538
size_t szData() const
Definition ModbusTypes.cc:3797
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition ModbusTypes.h:1542
static size_t szHead()
Definition ModbusTypes.h:1558
ModbusCRC crc
Definition ModbusTypes.h:1543
ModbusByte bcnt
Definition ModbusTypes.h:1539
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:3802
Definition ModbusTypes.h:1573
bool isFull() const
Definition ModbusTypes.h:1592
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition ModbusTypes.h:1576
void clear()
Definition ModbusTypes.cc:3847
bool setData(ModbusByte *b, int len)
Definition ModbusTypes.cc:3829
ModbusByte bcnt
Definition ModbusTypes.h:1574
size_t szData() const
Definition ModbusTypes.cc:3854
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3860
size_t count
Definition ModbusTypes.h:1610
Definition ModbusTypes.h:1474
static size_t szData()
Definition ModbusTypes.h:1501
ModbusByte year
Definition ModbusTypes.h:1480
ModbusByte mon
Definition ModbusTypes.h:1479
ModbusByte century
Definition ModbusTypes.h:1481
ModbusByte hour
Definition ModbusTypes.h:1475
ModbusByte sec
Definition ModbusTypes.h:1477
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3632
ModbusByte min
Definition ModbusTypes.h:1476
ModbusByte day
Definition ModbusTypes.h:1478
Definition ModbusTypes.h:1515
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:3727
Definition ModbusTypes.h:886
static size_t szHead()
Definition ModbusTypes.h:920
ModbusByte bcnt
Definition ModbusTypes.h:889
ModbusData start
Definition ModbusTypes.h:887
ModbusCRC crc
Definition ModbusTypes.h:892
size_t szData() const
Definition ModbusTypes.cc:2036
ModbusData quant
Definition ModbusTypes.h:888
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:1926
ModbusData data[MAXLENPACKET/sizeof(ModbusData) - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition ModbusTypes.h:891
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2041
Definition ModbusTypes.h:941
static size_t szData()
Definition ModbusTypes.h:972
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2135
ModbusData start
Definition ModbusTypes.h:942
ModbusData quant
Definition ModbusTypes.h:943
Definition ModbusTypes.h:1085
ModbusCRC crc
Definition ModbusTypes.h:1088
static size_t szData()
Definition ModbusTypes.cc:2493
ModbusData data
Definition ModbusTypes.h:1087
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2422
static size_t szHead()
Definition ModbusTypes.h:1111
static size_t getDataLen(const ModbusMessage &m)
Definition ModbusTypes.cc:2498
ModbusData start
Definition ModbusTypes.h:1086
Definition ModbusTypes.h:1133
static size_t szData()
Definition ModbusTypes.h:1164
ModbusData data
Definition ModbusTypes.h:1135
ModbusData start
Definition ModbusTypes.h:1134
ModbusMessage transport_msg() const
Definition ModbusTypes.cc:2579