diff --git a/compteur.cpp b/compteur.cpp index 2e850a9..a99f0e8 100644 --- a/compteur.cpp +++ b/compteur.cpp @@ -27,7 +27,7 @@ Compteur::Compteur(QObject *parent) connect(&m_client,SIGNAL(disconnected()),this,SLOT(mqttDisConnected())); connect(&retryMqttTimer,SIGNAL(timeout()),this,SLOT(mqttReconnect())); - listeEtiquette.append("EASF01"); +/* listeEtiquette.append("EASF01"); listeTopic.append("fluide/elec/hc"); listeValeur.append(""); listeNewValeur.append(""); @@ -40,7 +40,7 @@ Compteur::Compteur(QObject *parent) listeNewValeur.append(""); listeDiv.append(100); listeArrondi.append(0); - +*/ listeEtiquette.append("PTEC"); listeTopic.append("fluide/elec/tarif"); listeValeur.append(""); @@ -129,18 +129,19 @@ void Compteur::getData() if (iInst<0) iInst=-iInst; pInst=pSout; } - /* if (iInst!=iInstPrec) + if (iInst!=iInstPrec) { iInstPrec=iInst; //qDebug()<<"topic"<<"fluide/elec/iinst"<>16)&0xFFFF); + modbusDevice.setData(QModbusDataUnit::HoldingRegisters,address+1,v); + modbusDevice.setData(QModbusDataUnit::InputRegisters,address+1,v); + } +} + + + void QEM24EnergyMeter::onStateChanged(int state) { qDebug()<<"state :"<peerAddress() ; } + +void QEM24EnergyMeter::setPuissanceInstantanee(int p) +{ + setRegistre32(0x12,p*10); // puissance active L1 + setRegistre32(0x28,p*10); // puissance totale + +} + +void QEM24EnergyMeter::setTension(int u) +{ + setRegistre( 0x0000, u*10 ); // V-L1 +} + +void QEM24EnergyMeter::setCourant(int i) +{ + setRegistre32( 0x000C, i*1000 ); // I-L1 +} + +void QEM24EnergyMeter::setIndexConso(long index) +{ + setRegistre32( 0x0034, index ); // + setRegistre32( 0x0040, index ); // +} + +void QEM24EnergyMeter::setIndexInjection(long index) +{ + setRegistre32( 0x004E, index ); // + +} + +void QEM24EnergyMeter::startModbus() +{ + if (modbusDevice.state()!=QModbusDevice::ConnectedState) modbusDevice.connectDevice(); +} diff --git a/qem24energymeter.h b/qem24energymeter.h index f81f67a..2163980 100644 --- a/qem24energymeter.h +++ b/qem24energymeter.h @@ -18,6 +18,7 @@ private: QModbusDataUnitMap reg; void setRegistre(quint16 address, quint16 value); + void setRegistre32(quint16 address, int value); private Q_SLOTS: void onStateChanged(int state); @@ -26,6 +27,15 @@ private Q_SLOTS: void clientDisconnected(QTcpSocket *modbusClient); +public : + void setPuissanceInstantanee(int p); + void setTension(int u); + void setCourant(int i); + void setIndexConso(long index); + void setIndexInjection(long index); + + void startModbus(); + signals: };