You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.6 KiB
C++

#pragma once
//#include "GlobalDefine.h"
#include "layserDefine.h"
#include <windows.h>
#include <thread>
#include <memory>
#include <iostream>
#include <iomanip>
#include <vector>
#include "Pci365CardMgr.h"
using namespace std;
class CLaipuVbDllMgr;
//普通打标机
class _declspec(dllexport) CMarkCtrl
{
public:
CMarkCtrl(void);
~CMarkCtrl(void);
void StartMarkPci(vector<vector<Dbxy2>> &vec);
void StartMarkSemiVb(vector<vector<Dbxy2>> &DataVec);
void MarkPciThreadExt();
void MarkPciSemiThread();
void SetConfigMarkParam(double su,
float ms,
float mms,
long tcf,
long tch,
long tof,
long toh,
long dr_time,
float laserfre,
float laserpower,
float maxlaserpower);
std::thread& GetThreadObj() {return m_markThread;}
void OpenLaser(bool isOpen);
private:
void SetMarkParam(CLaipuVbDllMgr &LaipuVbDll);
private:
bool m_bMarkPciThreadRunning;//mark 线程是否正在执行
vector<vector<Dbxy2>> *pData;
std::thread m_markThread;
double m_su = 1.170;//振镜步长um
float m_ms = 100;//标刻速度mm/s
float m_mms = 500;//空移速度mm/s
long m_tcf = 1;//关激光前延时us
long m_tch = 341;//关激光后延时us
long m_tof = 341;//开激光前延时us
long m_toh = 1;//开激光后延时us
long m_dr_time = 30;//拐点延时 us
float m_laserfre = 30;//激光频率khz
float m_laserpower = 10;//激光功率
float m_maxlaserpower = 100;//激光最大功率
vector<vector<Dbxy2>> m_backMarkData;
std::shared_ptr<CLaipuVbDllMgr> laipuVbDLLPtr;
public:
int m_markTimes = 1;//加工次数
int m_pauseDelay;
int m_pauseFirstDelay;
};