-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModbus.hpp
203 lines (177 loc) · 6.8 KB
/
Modbus.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
#ifndef MODBUS_HPP
#define MODBUS_HPP
#include <QDebug>
#include <QModbusClient>
#include <QModbusDataUnit>
#include <QModbusReply>
#include <QModbusRtuSerialMaster>
#include <QObject>
#include <QTimer>
#include <QtSerialPort/QSerialPort>
#include <QModbusTcpServer>
#include <QString>
#include <QtSql>
#include <QDebug>
#include <QFileInfo>
#include <QMediaPlayer>
class rpl : public QObject {};
class Modbus : public QObject {
Q_OBJECT
Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged)
Q_PROPERTY( int q_engineSpeed READ getEngineSpeed NOTIFY varChanged)
Q_PROPERTY( int q_oilPress READ getOilPress NOTIFY varChanged)
Q_PROPERTY( int q_coolantTemp READ getCoolantTemp NOTIFY varChanged)
Q_PROPERTY( int q_boostPres READ getBoostPres NOTIFY varChanged)
Q_PROPERTY( int q_fuelPres READ getFuelPres NOTIFY varChanged)
Q_PROPERTY( int q_fuelRate READ getFuelRate NOTIFY varChanged)
Q_PROPERTY( int q_battery READ getBattery NOTIFY varChanged)
Q_PROPERTY( int q_engineHours READ getEngineHours NOTIFY varChanged)
Q_PROPERTY( int q_engineLoad READ getEngineLoad NOTIFY varChanged)
Q_PROPERTY( int q_leftAirInlet READ getLeftAirInlet NOTIFY varChanged)
Q_PROPERTY( int q_lTurboInlet READ getLTurboInlet NOTIFY varChanged)
Q_PROPERTY( int q_rTurboInlet READ getRTurboInlet NOTIFY varChanged)
Q_PROPERTY( int q_fuelDriffInlet READ getFuelDriffInlet NOTIFY varChanged)
Q_PROPERTY( int q_exhTempL READ getExhTempL NOTIFY varChanged)
Q_PROPERTY( int q_exhTempR READ getExhTempR NOTIFY varChanged)
Q_PROPERTY( int q_oilDriffInlet READ getOilDriffInlet NOTIFY varChanged)
Q_PROPERTY( int q_tripEngineHour READ getTripEngineHour NOTIFY varChanged)
Q_PROPERTY( int q_tripIdleHour READ getTripIdleHour NOTIFY varChanged)
Q_PROPERTY( int q_tripFuel READ getTripFuel NOTIFY varChanged)
Q_PROPERTY( int q_tripIdleFuel READ getTripIdleFuel NOTIFY varChanged)
Q_PROPERTY( int q_avgLoadFactor1 READ getAvgLoadFactor1 NOTIFY varChanged)
Q_PROPERTY( int q_avgFuelConsumption1 READ getAvgFuelConsumption1 NOTIFY varChanged)
Q_PROPERTY( int q_lifeTimeIdleHour READ getLifeTimeIdleHour NOTIFY varChanged)
Q_PROPERTY( int q_lifeTimeEngineHour READ getLifeTimeEngineHour NOTIFY varChanged)
Q_PROPERTY( int q_lifeTimeFuel READ getLifeTimeFuel NOTIFY varChanged)
Q_PROPERTY( int q_lifeTimeIdleFuel READ getLifeTimeIdleFuel NOTIFY varChanged)
Q_PROPERTY( int q_avgLoadFactor2 READ getAvgLoadFactor2 NOTIFY varChanged)
Q_PROPERTY( int q_avgFuelConsumption2 READ getAvgFuelConsumption2 NOTIFY varChanged)
Q_PROPERTY( bool q_errVisible READ getErrVisible NOTIFY errChanged)
Q_PROPERTY( int q_errSource READ getErrSource NOTIFY errChanged)
Q_PROPERTY( QString q_errSPN READ getErrSPN NOTIFY errChanged)
Q_PROPERTY( QString q_errFMI READ getErrFMI NOTIFY errChanged)
Q_PROPERTY( int q_errSPNCode READ getErrSPNCode NOTIFY errChanged)
Q_PROPERTY( int q_errFMICode READ getErrFMICode NOTIFY errChanged)
Q_PROPERTY( bool q_unitLocation READ getUnitLocation NOTIFY varChanged)
Q_PROPERTY( bool q_offScreen READ getOffScreen NOTIFY varChanged)
public:
Modbus();
~Modbus();
public:
QSqlDatabase db;
QMediaPlayer * player;
// QMediaService *svc =player->service();
void readDatabase();
void startConnection();
public slots:
void endConnection();
void startReading();
void setNnbytes(int n);
void setStartAddress(int n);
QString getContent();
private:
QModbusRtuSerialMaster *client;
QString content;
int nBytes;
int startAddress;
QString thu;
QTimer *serialTimer;
QModbusTcpServer *modbusDevice;
void updateData(QModbusDataUnit::RegisterType table, int address, int size);
QString m_userName;
void readready() const;
signals:
void userNameChanged();
public:
QString userName();
void setUserName(const QString &userName);
void visibleChange();
int getEngineSpeed() {return engineSpeed;}
int getOilPress() {return oilPress;}
int getCoolantTemp() {return coolantTemp;}
int getBoostPres() {return boostPres;}
int getFuelPres() {return fuelPres;}
int getFuelRate() {return fuelRate;}
int getBattery() {return battery;}
int getEngineHours() {return engineHours;}
int getEngineLoad() {return engineLoad;}
int getLeftAirInlet() {return leftAirInlet;}
int getLTurboInlet() {return lTurboInlet;}
int getRTurboInlet() {return rTurboInlet;}
int getFuelDriffInlet() {return fuelDriffInlet;}
int getExhTempL() {return exhTempL;}
int getExhTempR() {return exhTempR;}
int getOilDriffInlet() {return oilDriffInlet;}
int getTripEngineHour(){return tripEngineHour;}
int getTripIdleHour () {return tripIdleHour;}
int getTripFuel () {return tripFuel;}
int getTripIdleFuel () {return tripIdleFuel ;}
int getAvgLoadFactor1 () {return avgLoadFactor1;}
int getAvgFuelConsumption1 () {return avgFuelConsumption1;}
int getLifeTimeIdleHour () {return lifeTimeIdleHour;}
int getLifeTimeEngineHour () {return lifeTimeEngineHour;}
int getLifeTimeFuel () {return lifeTimeFuel;}
int getLifeTimeIdleFuel () {return lifeTimeIdleFuel;}
int getAvgLoadFactor2 () {return avgLoadFactor2;}
int getAvgFuelConsumption2 () {return avgFuelConsumption2;}
bool getUnitLocation() {return unitLocation;}
bool getErrVisible (){return errVisible;}
bool getOffScreen(){return offScreen;}
int getErrSource () {
/*if (errSource==0) return "PORT";
if (errSource==1) return "STARPOARD";
else return "";*/
return errSource;
}
QString getErrSPN () {return errSPN;}
QString getErrFMI () {return errFMI;}
int getErrSPNCode () {return errSPNCode;}
int getErrFMICode () {return errFMICode;}
signals:
void varChanged();
void errChanged();
private:
int engineSpeed;
int oilPress;
int coolantTemp ;
int boostPres ;
int fuelPres;
int fuelRate ;
int battery ;
int engineHours;
int engineLoad ;
int leftAirInlet ;
int lTurboInlet ;
int rTurboInlet ;
int fuelDriffInlet ;
int exhTempL ;
int exhTempR ;
int oilDriffInlet ;
int tripEngineHour ;
int tripIdleHour ;
int tripFuel ;
int tripIdleFuel ;
int avgLoadFactor1 ;
int avgFuelConsumption1 ;
int lifeTimeIdleHour ;
int lifeTimeEngineHour ;
int lifeTimeIdleFuel ;
int lifeTimeFuel ;
int avgLoadFactor2 ;
int avgFuelConsumption2 ;
int errSource;
QString errSPN;
QString errFMI;
int errSPNCode;
int errFMICode;
int unitLocation = 0;
//play mp3
int file;
int volume;
qreal speed;
quint16 valueQml[100];
public:
bool errVisible;
bool offScreen;
};
#endif // MODBUS_HPP