|
|
|
|
|
#ifndef _QPLCDEVICE_H_
|
|
|
|
|
|
#define _QPLCDEVICE_H_
|
|
|
|
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
|
#include "lpRawTcp\lptkRawTcpServer.h"
|
|
|
|
|
|
#include <QMutex>
|
|
|
|
|
|
#include "lpThread.h"
|
|
|
|
|
|
#include "Result2Ui.h"
|
|
|
|
|
|
/*<2A><>PLC<4C>豸ͨѶ<CDA8><D1B6>*/
|
|
|
|
|
|
class QPLCDevice : public QObject
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
QPLCDevice(QObject *parent = nullptr);
|
|
|
|
|
|
~QPLCDevice();
|
|
|
|
|
|
|
|
|
|
|
|
void onInitDevice();
|
|
|
|
|
|
void onStartServer(int port);
|
|
|
|
|
|
void onStopServer();
|
|
|
|
|
|
|
|
|
|
|
|
void onRecvFunc(QByteArray data);
|
|
|
|
|
|
void sendByteData(QByteArray byteData);
|
|
|
|
|
|
|
|
|
|
|
|
bool onRunTask();
|
|
|
|
|
|
void onParaster(QByteArray recvData);
|
|
|
|
|
|
void onSendValueRlt(const ValueResult& rlt);//<2F><><EFBFBD>Ͷ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|
|
|
|
|
void onSendHeartBit();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void onAckTrigerCam(int stationID);//<2F><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
|
Q_SLOT void on_serv_status_changed(int id, ServerStatus status);
|
|
|
|
|
|
Q_SLOT void on_client_connect_status(QString strID, ServerStatus status);
|
|
|
|
|
|
bool getClinetInfo(QString &client);
|
|
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
void sgTrigerCam(int camID);
|
|
|
|
|
|
void sgSendDataCallBack(QByteArray);
|
|
|
|
|
|
void sgRecvDataCallBack(QByteArray);
|
|
|
|
|
|
private:
|
|
|
|
|
|
lptkRawTcpServer *m_rawTcpServer{ nullptr };
|
|
|
|
|
|
QMutex mMtLock;
|
|
|
|
|
|
QByteArray m_recvData;
|
|
|
|
|
|
lpThread *m_pTask{ nullptr };
|
|
|
|
|
|
|
|
|
|
|
|
QStringList m_clientList;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // ifndef _QPLCDEVICE_H_
|