Files

50 lines
1.5 KiB
C++
Raw Permalink Normal View History

2024-09-27 15:54:45 +08:00
#ifndef Hd_SocketModule_FinsTcp_H
2024-09-27 14:31:22 +08:00
#define Hd_SocketModule_FinsTcp_H
#include <QtCore/qglobal.h>
#include <QByteArray>
#include <iostream>
#include <QQueue>
#include <QDebug>
#include "base.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 Base
{
Q_OBJECT
public:
Hd_SocketModule_FinsTcp();
virtual ~Hd_SocketModule_FinsTcp();
bool readData(std::vector<cv::Mat>& vec_mat, QByteArray& data); // readData将PLC读取或者发送的返回值发回给主线程,通过全局变量的方式逐条发送
bool writeData(std::vector<cv::Mat>& vec_mat, QByteArray& data); // writeData调用PLC的收发,将需要的数据发给寄存器,返回OK/NG
bool initParas(QByteArray&);
bool run();
bool decodeWriteResult(QByteArray byteArray, QVector<QString>& vec_ret);
2024-09-27 14:31:22 +08:00
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