51 lines
1.7 KiB
C++
51 lines
1.7 KiB
C++
#ifndef Hd_SocketModule_FinsTcp_H
|
|||
|
|
#define Hd_SocketModule_FinsTcp_H
|
||
|
|
|
||
|
|
#include <QtCore/qglobal.h>
|
||
|
|
#include <QByteArray>
|
||
|
|
#include <iostream>
|
||
|
|
#include <QQueue>
|
||
|
|
#include <QDebug>
|
||
|
|
#include <subModuleBase.h>
|
||
|
|
#include <QMutex>
|
||
|
|
|
||
|
|
#include <Windows.h>
|
||
|
|
#include <msclr\marshal_cppstd.h>
|
||
|
|
|
||
|
|
#using "../../bin/HslCommunication.dll"
|
||
|
|
|
||
|
|
using namespace HslCommunication;
|
||
|
|
using namespace cli;
|
||
|
|
|
||
|
|
class Hd_SocketModule_FinsTcp :public subModuleBase
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
Hd_SocketModule_FinsTcp();
|
||
|
|
virtual ~Hd_SocketModule_FinsTcp();
|
||
|
|
//bool readData(std::vector<cv::Mat>& vec_mat, QByteArray& data, nlohmann::json&); // readData将PLC读取或者发送的返回值发回给主线程,通过全局变量的方式逐条发送
|
||
|
|
//bool writeData(std::vector<cv::Mat>& vec_mat, QByteArray& data, nlohmann::json&); // writeData调用PLC的收发,将需要的数据发给寄存器,返回OK/NG
|
||
|
|
bool readData(std::vector<cv::Mat>&, QByteArray&, nlohmann::json& json = nlohmann::json());
|
||
|
|
bool writeData(std::vector<cv::Mat>&, QByteArray&, nlohmann::json& json = nlohmann::json());
|
||
|
|
bool initParas(QByteArray&, nlohmann::json& json = nlohmann::json());
|
||
|
|
bool run();
|
||
|
|
bool decodeWriteResult(QByteArray byteArray, QVector<QString>& vec_ret);
|
||
|
|
bool checkStatus();
|
||
|
|
private:
|
||
|
|
gcroot<HslCommunication::Profinet::Omron::OmronFinsNet^>* m_pFinsTcpNet = new gcroot<HslCommunication::Profinet::Omron::OmronFinsNet^>;
|
||
|
|
bool tcp_Status = true; // 检查tcp状态
|
||
|
|
QString m_IP;
|
||
|
|
QString SA1;
|
||
|
|
QString DA1;
|
||
|
|
QString DA2;
|
||
|
|
QString m_port; // 端口
|
||
|
|
int sleepvalue=1; // 刷新间隔
|
||
|
|
};
|
||
|
|
|
||
|
|
extern "C"
|
||
|
|
{
|
||
|
|
Q_DECL_EXPORT Hd_SocketModule_FinsTcp * create();
|
||
|
|
Q_DECL_EXPORT void destory(Hd_SocketModule_FinsTcp * ptr);
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif // Hd_SocketModule_FinsTcp_H
|