#ifndef _QPLCDEVICE_H_ #define _QPLCDEVICE_H_ #include #include "lpRawTcp\lptkRawTcpServer.h" #include #include "lpThread.h" #include "Result2Ui.h" /*与PLC设备通讯类*/ 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);//发送定位结果 void onSendHeartBit();//发送心跳 void onAckTrigerCam(int stationID);//发送触发应答 Q_SLOT void on_serv_status_changed(int id, ServerStatus status); Q_SLOT void on_client_connect_status(QString ip, int port, 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_