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.
116 lines
3.8 KiB
C++
116 lines
3.8 KiB
C++
// RSLaser.h: interface for the CRSLaser class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_RSLASER_H__BC34682C_121B_4DB5_8AAE_86951A0409CE__INCLUDED_)
|
|
#define AFX_RSLASER_H__BC34682C_121B_4DB5_8AAE_86951A0409CE__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "VisionNW.h"
|
|
#include "Utility.h"
|
|
|
|
#ifdef BUILD_COMMDLL
|
|
#define COMMDLL_DLLCLASS __declspec(dllexport)
|
|
#else
|
|
#define COMMDLL_DLLCLASS __declspec(dllimport)
|
|
#endif
|
|
|
|
enum LOT_TYPE
|
|
{
|
|
LOT,
|
|
LOT2,
|
|
LOT3
|
|
};
|
|
|
|
enum
|
|
{
|
|
LASER_MARK_TIMEOUT,
|
|
LASER_MARK_COMPLETE,
|
|
LASER_MARK_IN_PROGRESS,
|
|
LASER_MARK_ALARM,
|
|
};
|
|
|
|
class COMMDLL_DLLCLASS CRSLaser : public CVisionNW
|
|
{
|
|
public:
|
|
HANDLE GetMarkingInProgressHandle();
|
|
HANDLE GetAlarmHandle();
|
|
int WaitMarkInProgress(DWORD dwTimeout);
|
|
int IsAlarm(DWORD dwTimeout);
|
|
int WaitMarkComplete(DWORD dwTimeout);
|
|
CString GetReceiveData();
|
|
bool Send(CString csMsg);
|
|
bool MeasurePower(DWORD dwTimeout);
|
|
virtual void ReceiveComm(const char *cpcBuffer, int nSize);
|
|
bool SetSetting(CString csSetting, int nRequired, DWORD dwTimeout);
|
|
bool SetDeviceID(int nOriginLocation, CString csDeviceIDData, DWORD dwTimeout);
|
|
bool SetBin(int nOriginLocation, CString csBinData, DWORD dwTimeout);
|
|
bool SetMatrixPosition(double dX, double dY, double dAngle, DWORD dwTimeout);
|
|
bool SetPositionAndOccupation(CString csMsg, DWORD dwTimeout);
|
|
bool SetPart(int nPartNo, DWORD dwTimeout);
|
|
bool SetOccupation(CString csMsg, DWORD dwTimeout);
|
|
double GetPowerValue(DWORD dwTimeout);
|
|
int IsPowerAutoMode(DWORD dwTimeout);
|
|
int IsPowerOK(DWORD dwTimeout);
|
|
CString GetLayoutFile(DWORD dwTimeout);
|
|
CString GetLotID(DWORD dwTimeout);
|
|
bool GetAlarm(int &nAlarmNo, CString &csAlarmMsg, DWORD dwTimeout);
|
|
int IsMarkingEnd(DWORD dwTimeout);
|
|
int IsJobEnd(DWORD dwTimeout);
|
|
int IsSystemReady(DWORD dwTimeout);
|
|
bool StopMark();
|
|
bool StartMark();
|
|
bool CancelJob();
|
|
bool LoadJob();
|
|
bool SetVariable(CString csVariableName, CString csData, DWORD dwTimeout);
|
|
bool SetLotFile(CString csLotFilename, DWORD dwTimeout);
|
|
bool SetLayout(CString csLotNo, long lLotQty, CString csLayoutFilename, CString csVariableData, int nLotType, DWORD dwTimeout);
|
|
bool Connect(int nPortNo, CString csIPAddress, bool bServer = TRUE);
|
|
void Disconnect();
|
|
bool IsClientConnected();
|
|
bool IsServerActive();
|
|
bool IsConnectedToServer();
|
|
CRSLaser();
|
|
virtual ~CRSLaser();
|
|
|
|
HANDLE GetMarkingEndHandle();
|
|
|
|
protected:
|
|
bool GetPowerStatus(DWORD dwTimeout);
|
|
bool GetNextData(char *Token);
|
|
bool SendMsg(CString csMsg, DWORD dwTimeout);
|
|
bool DecodeStatus(char *Token);
|
|
bool GetStatus(CString csStatusName, DWORD dwTimeout);
|
|
|
|
HANDLE m_hAck;
|
|
HANDLE m_hNack;
|
|
HANDLE m_hStatusReady;
|
|
HANDLE m_hSystemReady;
|
|
HANDLE m_hJobEnd;
|
|
HANDLE m_hMarkingEnd;
|
|
HANDLE m_hMarkingInProgress;
|
|
HANDLE m_hPowerStatusReady;
|
|
HANDLE m_hAlarm;
|
|
|
|
bool m_bAlarm;
|
|
CString m_csAlarmMsg;
|
|
int m_nAlarmNo;
|
|
|
|
CString m_csLotID;
|
|
CString m_csLayoutFilename;
|
|
double m_dPower;
|
|
bool m_bPowerOK;
|
|
bool m_nPowerAutoMode;
|
|
|
|
char m_cReceiveData[4096];
|
|
bool m_bWaitForTerminator2;
|
|
|
|
private:
|
|
int GetMsgCase(CString csMsg);
|
|
};
|
|
|
|
#endif // !defined(AFX_RSLASER_H__BC34682C_121B_4DB5_8AAE_86951A0409CE__INCLUDED_)
|