1、合并master与2021.1
This commit is contained in:
+59
-46
@@ -1,46 +1,59 @@
|
||||
syntax: glob
|
||||
*.~h
|
||||
*.~CPP
|
||||
*.sdf
|
||||
*.dll
|
||||
*.aps
|
||||
*.pch
|
||||
*.ilk
|
||||
*.pdb
|
||||
*.exe
|
||||
*.obj
|
||||
*.jpg
|
||||
*.~*
|
||||
*.orig
|
||||
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Release
|
||||
PcDmis/UsbSupport/libusb-win32-src-1.2.4.0/projects/Win32
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Debug/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Release
|
||||
*.lnk
|
||||
*.bak
|
||||
*.ORIG
|
||||
*.log
|
||||
*.txt
|
||||
*.db
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ReleaseSO7/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ReleaseSO7/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LKIF_Multi_USÓ¢ÕZ°æ
|
||||
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LK-GͨÐÅÓÃDLL-20090427
|
||||
*.ipch
|
||||
*.opensdf
|
||||
*.tmp
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V6.0
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V7.5
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/bin
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/obj
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DebugS07/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/DebugS07/
|
||||
*.~h
|
||||
*.~CPP
|
||||
*.sdf
|
||||
*.dll
|
||||
*.aps
|
||||
*.pch
|
||||
*.ilk
|
||||
*.pdb
|
||||
*.exe
|
||||
*.obj
|
||||
*.jpg
|
||||
*.~*
|
||||
*.orig
|
||||
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Release
|
||||
PcDmis/UsbSupport/libusb-win32-src-1.2.4.0/projects/Win32
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Debug/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Release
|
||||
*.lnk
|
||||
*.bak
|
||||
*.ORIG
|
||||
*.log
|
||||
*.txt
|
||||
*.db
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ReleaseSO7/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ReleaseSO7/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LKIF_Multi_USӢ�Z��
|
||||
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LK-Gͨ����DLL-20090427
|
||||
*.ipch
|
||||
*.opensdf
|
||||
*.tmp
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V6.0
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V7.5
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/bin
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/obj
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DebugS07/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/DebugS07/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotControlDll/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotDll/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotDll/Release
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotControlDll/Release/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RS232_DLL/Debug
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RS232_DLL/Release/
|
||||
*/Debug/*
|
||||
*/Release/*
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Utility_Config.ini
|
||||
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UtilityDebug.Log
|
||||
*.suo
|
||||
PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/UtilityForSo7Light/Debug/
|
||||
PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/UtilityForSo7Light/UtilityForSo7Light/Debug/
|
||||
*.opendb
|
||||
@@ -118,9 +118,9 @@ BOOL CART_PCI8622::SetSamplePara(int _Mode,int _ReadDataSize)
|
||||
m_ADPara.ADMode = PCI8622_ADMODE_GROUP; // AD模式为连续模式
|
||||
m_ADPara.FirstChannel = m_iFirstChannel; // 首通道
|
||||
m_ADPara.LastChannel = m_iLastChannel; // 末通道
|
||||
m_ADPara.Frequency = 10000; // 采样频率(Hz)
|
||||
m_ADPara.Frequency = 250000; // 采样频率(Hz)
|
||||
m_ADPara.GroupInterval = 50; // 组间间隔(uS)
|
||||
m_ADPara.LoopsOfGroup = 1; // 组内各通道点数
|
||||
m_ADPara.LoopsOfGroup = 10; // 组内各通道点数
|
||||
m_ADPara.Gains = PCI8622_GAINS_1MULT;
|
||||
m_ADPara.InputRange = m_InputRange; // 模拟量输入量程范围
|
||||
|
||||
@@ -395,8 +395,16 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
|
||||
break;
|
||||
}
|
||||
m_SegmentID=0;
|
||||
LONG nReadSizeWords = m_iReadDataSize;
|
||||
|
||||
LONG nReadSizeWords = (m_iReadDataSize+1)*(1+m_iLastChannel-m_iFirstChannel)*10;
|
||||
LONG nRetSizeWords(0);
|
||||
|
||||
//if (ADStatus.nRemainWords<nReadSizeWords)
|
||||
//{
|
||||
// nReadSizeWords=ADStatus.nRemainWords;
|
||||
// rStatus=FALSE;
|
||||
//}
|
||||
|
||||
PCI8622_ReadDeviceProAD_Npt(m_hDevice, ADBuffer[m_SegmentID], nReadSizeWords, &nRetSizeWords);
|
||||
|
||||
if(!PCI8622_GetDevStatusProAD(m_hDevice, &ADStatus))
|
||||
|
||||
@@ -0,0 +1,587 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
using HSI_Sevenocean_EF1_WPFTest.Properties;
|
||||
|
||||
namespace HSI_Sevenocean_EF1_WPFTest.HSI
|
||||
{
|
||||
internal class Interface
|
||||
{
|
||||
// >>>> In Interfaces
|
||||
public delegate void PEventCallback(
|
||||
Def.HSI_EVENT_TYPE eventType, Def.HSI_EVENT_RESPONSE_TYPE responseType, uint eventId, string eventData,
|
||||
ref uint eventCallbackId);
|
||||
|
||||
public static PEventCallback HsiCallback;
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_GET_INTERFACE_VERSION", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetInterfaceVersion(ref uint apiVersionMajor, ref uint apiVersionMinor);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_STARTUP", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS Startup(IntPtr hWnd, bool bOfflineOnly);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_GET_INTERFACE_VERSION", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetInterfaceVersion();
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_GET_MACHINE_INFO", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetMachineInfo(ref int numMachineTypes);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_SET_EVENT_CALLBACK", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetEventCallback(PEventCallback pCallback);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_SHUTDOWM", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS Shutdown();
|
||||
|
||||
// <<<< Out Interfacess
|
||||
|
||||
public static void EventCallback(Def.HSI_EVENT_TYPE eventType, Def.HSI_EVENT_RESPONSE_TYPE responseType,
|
||||
uint eventId, string eventData, ref uint eventCallbackId)
|
||||
{
|
||||
var msgBtn = MessageBoxButtons.OK;
|
||||
switch (responseType)
|
||||
{
|
||||
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_OK:
|
||||
msgBtn = MessageBoxButtons.OK;
|
||||
break;
|
||||
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_RETRY:
|
||||
msgBtn = MessageBoxButtons.RetryCancel;
|
||||
break;
|
||||
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_CANCEL:
|
||||
msgBtn = MessageBoxButtons.OKCancel;
|
||||
break;
|
||||
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_YES:
|
||||
msgBtn = MessageBoxButtons.YesNo;
|
||||
break;
|
||||
}
|
||||
switch (eventType)
|
||||
{
|
||||
case Def.HSI_EVENT_TYPE.HSI_EVENT_NONE:
|
||||
break;
|
||||
case Def.HSI_EVENT_TYPE.HSI_EVENT_ERROR:
|
||||
break;
|
||||
case Def.HSI_EVENT_TYPE.HSI_EVENT_FUNCTION:
|
||||
var eventFunctionId = (Def.HSI_EVENT_FUNCTION_ID) eventId;
|
||||
switch (eventFunctionId)
|
||||
{
|
||||
case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_MOTION_DCC_HOME:
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(Resources.Interface_Tips_Home_Machine, Resources.Interface_Tips,
|
||||
msgBtn, MessageBoxIcon.Information);
|
||||
break;
|
||||
}
|
||||
case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_DEBUG_LOG:
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(eventData, Resources.Interface_Tips,
|
||||
msgBtn, MessageBoxIcon.Information);
|
||||
break;
|
||||
}
|
||||
case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_MOVE_POINT:
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(Resources.Interface_Tips_Motion_Finished, Resources.Interface_Tips,
|
||||
msgBtn, MessageBoxIcon.Information);
|
||||
; //Motion completed
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal class Motion
|
||||
{
|
||||
// >>>> In Interfaces
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS IsSupported(ref uint types);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_STARTUP", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS Startup(bool bHome);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_HOMED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS IsHomed(ref bool bHomed);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SPEED_XYZ", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetSpeedXyz(ref double speed);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SPEED_XYZ", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetSpeedXyz(double speed);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SPEED_R", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetSpeedR(ref double speed);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SPEED_R", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetSpeedR(double speed);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SCALE_RESOLUTION", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetScaleResolution(
|
||||
ref double scaleX, ref double scaleY, ref double scaleZ);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SCALE_RESOLUTION", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetScaleResolution(double scaleX, double scaleY, double scaleZ);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_DEADBAND", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetDeadBand(
|
||||
ref double deadbandX, ref double deadbandY, ref double deadbandZ, ref double deadbandR);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_REFRESH_DEADBAND", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetRefreshDeadBand(ref double deadband);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_JOG", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS Jog(uint axisTypes, double speed);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_STOP_JOG", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS StopJog();
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_POSITION_XYZ", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetPositionXyz(
|
||||
uint axisTypes, ref double positionX, ref double positionY, ref double positionZ, ref double time);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_POSITION_XYZ", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetPositionXyz(
|
||||
uint axisTypes, double positionX, double positionY, double positionZ, Def.HSI_MOTION_MOVE_TYPE eType,
|
||||
double dFlyRadius);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_POSITION_R", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetPositionR(uint axisTypes, ref double positionR, ref double time);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_POSITION_R", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetPositionR(
|
||||
uint axisTypes, double positionR, Def.HSI_MOTION_AXIS_R_MOVE_TYPE directionType, bool bWait);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_ABORT_MOTION", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS AbortMotion();
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_DIO", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS GetDIO(uint ioChannel, ref uint status);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_DIO", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS SetDIO(uint ioChannel, uint status);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SHUTDOWN", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS Shutdown();
|
||||
|
||||
// <<<< Out Interfaces
|
||||
public Motion()
|
||||
{
|
||||
_supported = 0;
|
||||
_bFirst = true;
|
||||
}
|
||||
|
||||
public static bool IsActive(bool bForce = false)
|
||||
{
|
||||
if (_bFirst || bForce)
|
||||
{
|
||||
IsSupported(ref _supported);
|
||||
_bFirst = false;
|
||||
}
|
||||
return (_supported != 0);
|
||||
}
|
||||
|
||||
private static bool _bFirst;
|
||||
private static uint _supported;
|
||||
}
|
||||
|
||||
internal class Illumination
|
||||
{
|
||||
// >>>> In Interfaces
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS IsSupported(ref uint types);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_STARTUP();
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_COUNT(ref int nLamps);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_INFO(ref int lampInfo, ref int numLamps,
|
||||
int[] lampsType,
|
||||
int[] numRings, int[] numSectors, int[] color, double[] angle, ref bool bCanBeCalibrated);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_STATE(
|
||||
int nLamp, bool[] bBulbStates, double[] intensities, ref int color, ref double angle);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_SET_LAMP_STATE(
|
||||
int nLamp, bool[] bBulbStates, double[] intensities, int color, double angle, bool bWait);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_STATE_ALL(
|
||||
int lampInfo, int numLamps, int[] lampsType, int[,] bBulbStates, double[,] intensities);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_SET_LAMP_STATE_ALL(
|
||||
int lampInfo, int numLamps, int[] lampsType, int[,] bBulbStates, double[,] intensities, bool bWait);
|
||||
|
||||
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
|
||||
public static extern Def.HSI_STATUS HSI_ILLUMINATION_SHUTDOWN();
|
||||
|
||||
// <<<< Out Interfaces
|
||||
public Illumination()
|
||||
{
|
||||
_supported = 0;
|
||||
_bFirst = true;
|
||||
}
|
||||
|
||||
public static bool IsActive(bool bForce = false)
|
||||
{
|
||||
if (_bFirst || bForce)
|
||||
{
|
||||
IsSupported(ref _supported);
|
||||
_bFirst = false;
|
||||
}
|
||||
return (_supported != 0);
|
||||
}
|
||||
|
||||
private static bool _bFirst;
|
||||
private static uint _supported;
|
||||
}
|
||||
|
||||
internal class Def
|
||||
{
|
||||
public const int HSI_APIVersionMajor = 1;
|
||||
public const int HSI_APIVersionMinor = 3;
|
||||
|
||||
public const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Interface API
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
public enum HSI_STATUS
|
||||
{
|
||||
HSI_STATUS_NOT_SUPPORTED = -1,
|
||||
HSI_STATUS_NORMAL = 0,
|
||||
HSI_STATUS_FAILED,
|
||||
HSI_FAILED_DLL_LOAD,
|
||||
|
||||
HSI_STATUS_PORTLOCK_HSI_MISMATCH,
|
||||
|
||||
HSI_STATUS_FILE_NOT_FOUND,
|
||||
HSI_STATUS_HARDWARE_NOT_FOUND,
|
||||
HSI_STATUS_INVALID_PARAMETERS,
|
||||
HSI_STATUS_INVALID_POINTS,
|
||||
HSI_STATUS_PART_NOT_DETECTED,
|
||||
HSI_STATUS_MEASURE_ERROR,
|
||||
HSI_STATUS_TEMPERATURE_ERROR,
|
||||
|
||||
HSI_STATUS_ILLUMINATION_COMM = 50,
|
||||
|
||||
HSI_STATUS_OPTICS_COMM = 100,
|
||||
HSI_STATUS_OPTICS_HOMING,
|
||||
HSI_STATUS_OPTICS_TIMEOUT,
|
||||
HSI_STATUS_OPTICS_CALIBRATIONDATA,
|
||||
HSI_STATUS_OPTICS_CALIBRATIONDATADEFAULT,
|
||||
HSI_STATUS_OPTICS_CALFILEDATACOUNTMISMATCH,
|
||||
|
||||
HSI_STATUS_MOTION_COMM = 150,
|
||||
HSI_STATUS_MOTION_HOMING,
|
||||
HSI_STATUS_MOTION_TIMEOUT,
|
||||
HSI_STATUS_MOTION_EMERGENCY_STOP,
|
||||
HSI_STATUS_MOTION_EXCEED_LIMIT,
|
||||
HSI_STATUS_MOTION_UNKNOWN_ERROR,
|
||||
HSI_STATUS_MOTION_EXCEED_SW_LIMIT,
|
||||
HSI_STATUS_MOTION_POSITION_ERROR,
|
||||
HSI_STATUS_MOTION_MOVING,
|
||||
|
||||
HSI_STATUS_TP_UNEXPECTED_HIT = 200,
|
||||
HSI_STATUS_TP_TIMEOUT = 201,
|
||||
HSI_STATUS_TP_APPROACH_TIMEOUT = 202,
|
||||
HSI_STATUS_TP_WRIST_ERROR,
|
||||
|
||||
HSI_STATUS_FG_COMM = 250,
|
||||
HSI_STATUS_FG_TIMEOUT,
|
||||
HSI_STATUS_FG_DIRECTX,
|
||||
HSI_STATUS_FG_COLORDEPTH,
|
||||
|
||||
HSI_STATUS_LP_TIMEOUT = 300,
|
||||
HSI_STATUS_LP_EXCEED_LIMIT = 301,
|
||||
|
||||
HSI_STATUS_VP_TIMEOUT = 350,
|
||||
HSI_STATUS_VP_IMAGEPROCESS_FAIL
|
||||
};
|
||||
|
||||
public enum HSI_MACHINE_TYPE
|
||||
{
|
||||
HSI_MACHINE_UNKNOWN = 0,
|
||||
HSI_MACHINE_SO7 = 1,
|
||||
HSI_MACHINE_TYPE_TOTAL,
|
||||
};
|
||||
|
||||
public enum HSI_EVENT_TYPE
|
||||
{
|
||||
HSI_EVENT_NONE = 0,
|
||||
HSI_EVENT_ERROR = 1,
|
||||
HSI_EVENT_FUNCTION = 2
|
||||
};
|
||||
|
||||
public enum HSI_EVENT_FUNCTION_ID //EventData
|
||||
{
|
||||
//SendReceive
|
||||
// V4.2 & V4.3 +
|
||||
HSI_EVENT_DONE = 0, //N/A N/A
|
||||
HSI_EVENT_TAKE_HIT = 1, //N/A N/A
|
||||
HSI_EVENT_ERASE_HIT = 2, //N/AN/A
|
||||
HSI_EVENT_TIME_CRITICAL = 3, //"ON", or "OFF" N/A
|
||||
HSI_EVENT_ZOOM_IN = 4, //"MAX", "COARSE", or "FINE" N/A
|
||||
HSI_EVENT_ZOOM_OUT = 5, //"MAX", "COARSE", or "FINE" N/A
|
||||
HSI_EVENT_REFRESH_LIVE_VIEW = 6, //N/AN/A
|
||||
HSI_EVENT_UPDATE_READOUTS = 7, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"N/A
|
||||
HSI_EVENT_READ_MC_POSITION = 8, //"AxisFlags""AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"
|
||||
HSI_EVENT_MOVE_MC_POSITION = 9, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed},%1d{bWait}"N/A
|
||||
HSI_EVENT_CONVERT_MC_TO_GLOBAL = 10, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_UPDATE_STATUS_MESSAGE = 11, //N/AN/A
|
||||
HSI_EVENT_OPENFILE_DLG = 12, //N/A"FileName"
|
||||
HSI_EVENT_DISPLAY_YESNO_MESSAGE = 13, //N/AN/A
|
||||
HSI_EVENT_DISPLAY_OKCANCEL_MESSAGE = 14, //N/AN/A
|
||||
HSI_EVENT_DISPLAY_OK_MESSAGE = 15, //N/AN/A
|
||||
|
||||
// V4.3 + Only
|
||||
HSI_EVENT_DEBUG_LOG = 20, //"%s" N/A
|
||||
HSI_EVENT_MOVE_MC_POSITION_AND_SETTLE = 21, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed}" N/A
|
||||
HSI_EVENT_CONVERT_GLOBAL_TO_MM = 22, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_TO_TABLE_POINT = 23, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_OUT_TABLE_POINT = 24, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_TO_TABLE_VECTOR = 25, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_OUT_TABLE_VECTOR = 26, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_ILLUMINATION_REFRESH = 27,
|
||||
HSI_EVENT_ILLUMINATION_LOCK = 28,
|
||||
HSI_EVENT_ILLUMINATION_STORE_SET = 29,
|
||||
HSI_EVENT_ILLUMINATION_RESTORE_SET = 30,
|
||||
HSI_EVENT_ILLUMINATION_DECREASE_ACTIVE = 31, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_INCREASE_ACTIVE = 32, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_DECREASE_ALL = 33, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_INCREASE_ALL = 34, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_SELECT_LAMP = 35, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY = 36, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_GET_LAMP_INTENSITY = 37, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_SET_LAMP_CALIBRATION_OVERRIDE = 38, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_NEXT_RING = 39,
|
||||
HSI_EVENT_ILLUMINATION_PREV_RING = 40,
|
||||
HSI_EVENT_ILLUMINATION_NEXT_SECTOR = 41,
|
||||
HSI_EVENT_ILLUMINATION_PREV_SECTOR = 42,
|
||||
HSI_EVENT_ILLUMINATION_NUM_LAMPS_INSTALLED = 43,
|
||||
HSI_EVENT_ILLUMINATION_IS_LAMP_INSTALLED = 44,
|
||||
HSI_EVENT_ILLUMINATION_APPLY = 45,
|
||||
HSI_EVENT_ILLUMINATION_ALLOFF = 46,
|
||||
HSI_EVENT_ILLUMINATION_ALLON = 47,
|
||||
HSI_EVENT_ILLUMINATION_UNLOCK = 48,
|
||||
HSI_EVENT_IS_PROGRAMMING_MODE = 49, //1/0
|
||||
HSI_EVENT_IS_PORTLOCK_DCC = 50, //1/0
|
||||
HSI_EVENT_IS_ROTAB_ENABLED = 51, //1/0
|
||||
HSI_EVENT_IS_TIME_CRITICAL = 52, // 1/0
|
||||
HSI_EVENT_CONVERT_MM_TO_GLOBAL = 53,
|
||||
HSI_EVENT_CONVERT_GLOBAL_TO_MC = 54,
|
||||
HSI_EVENT_LASER_FOCUS_ENABLE = 55, // "%d" 0 = not available, 1 = available
|
||||
HSI_EVENT_MOVE_POINT = 56, //N/AN/A
|
||||
HSI_EVENT_MAG_CHANGED = 57,
|
||||
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY_IN_MACHINE_LEVELx100 = 58,
|
||||
// "%d" //PR251359-- Instructed to "Please focus on slide" but it's rather unhelpfully turned the lights off for us.
|
||||
HSI_EVENT_DCC_SCAN_POINTS_AVAILABLE = 59, //"%d"= more to come, 1 = last set N/A
|
||||
HSI_EVENT_ILLUMINATION_IS_ALL_OFF = 60,
|
||||
//1/0//PR253777-- Sensilight does not work if the target has 'ALL OFF' for illum setting--4/16/2008
|
||||
HSI_EVENT_ILLUMINATION_DECREASE_ALL_NONZERO = 61,
|
||||
// Sensilight command that wont change a lamp currently set to zero
|
||||
HSI_EVENT_ILLUMINATION_INCREASE_ALL_NONZERO = 62,
|
||||
// Sensilight command that wont change a lamp currently set to zero22
|
||||
|
||||
HSI_EVENT_LP_QUALITY = 63, //"%d" 0-100%
|
||||
HSI_EVENT_TP_QUALITY = 64, //"%d" 0-100%
|
||||
HSI_EVENT_VP_QUALITY = 65, //"%d" 0-100%
|
||||
|
||||
HSI_EVENT_FLYMODE_MOVE_COMPLETE = 66, // A queued flymode move has completed
|
||||
HSI_EVENT_PENDANT_SPEED_PERCENT = 67, // 108336 HMV : Add calls to HSI.H for Speed
|
||||
HSI_EVENT_PENDANT_AXES_SELECTED = 68, // 108335 HMV : Need to add calls to the HSI.H for Stacked Rotary
|
||||
|
||||
HSI_EVENT_MOTION = 500,
|
||||
HSI_EVENT_MOTION_DCC_HOME = 501,
|
||||
HSI_EVENT_SHUTDOWN_ = 999 //N/AN/A
|
||||
};
|
||||
|
||||
public enum HSI_NOTIFY_TYPE
|
||||
{
|
||||
HSI_NOTIFY_PROGRAM_EXECUTION_START = 0,
|
||||
HSI_NOTIFY_PROGRAM_EXECUTION_STOP = 1,
|
||||
|
||||
HSI_NOTIFY_TIME_CRITICAL_EVENT_START = 2,
|
||||
HSI_NOTIFY_TIME_CRITICAL_EVENT_STOP = 3,
|
||||
HSI_NOTIFY_PROGRAM_OPEN = 4,
|
||||
HSI_NOTIFY_PROGRAM_CLOSE = 5,
|
||||
HSI_NOTIFY_PCDMIS_SHUTDOWN = 6
|
||||
};
|
||||
|
||||
public enum HSI_EVENT_RESPONSE_TYPE
|
||||
{
|
||||
HSI_EVENT_CALLBACK = 0,
|
||||
HSI_EVENT_RESPONSE_OK = 1,
|
||||
HSI_EVENT_RESPONSE_RETRY = 2,
|
||||
HSI_EVENT_RESPONSE_CANCEL = 3,
|
||||
HSI_EVENT_RESPONSE_YES = 4,
|
||||
HSI_EVENT_RESPONSE_NO = 5,
|
||||
HSI_EVENT_FUNCTION_OK = 6,
|
||||
HSI_EVENT_FUNCTION_FAILED = 7
|
||||
};
|
||||
|
||||
public struct SHsiEventProperties
|
||||
{
|
||||
public uint EventId;
|
||||
public uint EventCallbackId;
|
||||
public HSI_EVENT_TYPE EventType;
|
||||
public HSI_EVENT_RESPONSE_TYPE EventResponse;
|
||||
public char[] EventData;
|
||||
|
||||
public void Init()
|
||||
{
|
||||
EventId = (uint) HSI_EVENT_FUNCTION_ID.HSI_EVENT_DONE;
|
||||
EventCallbackId = 0;
|
||||
EventType = HSI_EVENT_TYPE.HSI_EVENT_NONE;
|
||||
EventResponse = HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_CALLBACK;
|
||||
EventData = new char[HSI_MaxStringLength + 1];
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Motion API
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public enum HSI_MOTION_TYPE
|
||||
{
|
||||
HSI_MOTION_SUPPORTS_DCC_CONTROL = 0x0001,
|
||||
HSI_MOTION_SUPPORTS_MANUAL_CONTROL = 0x0002,
|
||||
HSI_MOTION_SUPPORTS_HOMING = 0x0004,
|
||||
HSI_MOTION_SUPPORTS_CIRCULAR_MOVES = 0x0008,
|
||||
HSI_MOTION_SUPPORTS_CMM_WRIST = 0x0010,
|
||||
HSI_MOTION_SUPPORTS_BUFFERED_MOVES = 0x0020,
|
||||
HSI_MOTION_SUPPORTS_FLY_MOVES = 0x0040,
|
||||
HSI_MOTION_SUPPORTS_SCAN = 0x0080,
|
||||
HSI_MOTION_SUPPORTS_ALL_AXIS_MOVE = 0x0100,
|
||||
HSI_MOTION_SUPPORTS_MEASPOINT_VW = 0x0200
|
||||
};
|
||||
|
||||
public enum HSI_MOTION_AXIS_TYPE
|
||||
{
|
||||
HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
|
||||
HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
|
||||
HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
|
||||
HSI_MOTION_AXIS_R = 0x0008, // This is the default "Sensor level" R Axis - use on single R axis machines
|
||||
HSI_MOTION_AXIS_X1 = 0x0010, // This is the 1st X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y1 = 0x0020, // This is the 1st Y Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Z1 = 0x0040, // This is the 1st Z Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_R1 = 0x0080, // This is the 1st R Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_X2 = 0x0100, // This is the 2nd X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y2 = 0x0200, // This is the 2nd Y Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Z2 = 0x0400, // This is the 2nd Z Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_R2 = 0x0800, // This is the 2nd R Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_X3 = 0x1000, // This is the 3rd X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y3 = 0x2000, // This is the 3rd Y Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Z3 = 0x4000, // This is the 3rd Z Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_R3 = 0x8000 // This is the 3rd R Axis - use on multiple axis machines when specific axis needed
|
||||
};
|
||||
|
||||
public enum HSI_MOTION_IO_TYPE
|
||||
{
|
||||
HSI_MOTION_INPUT1 = 0x0001,
|
||||
HSI_MOTION_INPUT2,
|
||||
|
||||
HSI_MOTION_OUTPUT1 = 0x0100,
|
||||
HSI_MOTION_OUTPUT2
|
||||
};
|
||||
|
||||
public const uint HSI_MOTION_AXIS_ALL =
|
||||
(uint)
|
||||
(HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y |
|
||||
HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z);
|
||||
|
||||
public enum HSI_MOTION_MOVE_TYPE
|
||||
{
|
||||
HSI_MOTION_MOVE_WAIT = 1,
|
||||
HSI_MOTION_MOVE_NOWAIT = 2,
|
||||
HSI_MOTION_MOVE_INTERMEDIATE_POSITION = 3,
|
||||
HSI_MOTION_MOVE_FINAL_POSITION = 4,
|
||||
HSI_MOTION_IN_POSITION_EVENT = 5,
|
||||
HSI_MOTION_MOVE_FLYMODE = 6,
|
||||
HSI_MOTION_MOVE_START_POSITION = 7,
|
||||
HSI_MOTION_MOVE_START_FINAL_POSITION = 8
|
||||
};
|
||||
|
||||
public enum HSI_MOTION_AXIS_R_MOVE_TYPE
|
||||
{
|
||||
HSI_MOTION_AXIS_R_CLOCKWISE = 1,
|
||||
HSI_MOTION_AXIS_R_ANTICLOCKWISE = 2,
|
||||
HSI_MOTION_AXIS_R_FASTEST = 3
|
||||
};
|
||||
|
||||
public const int HSI_MAX_POSITIONS_STORED = 500;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//Illumination API
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
public enum HSI_ILLUMINATION_INFO
|
||||
{
|
||||
HSI_ILLUMINATION_INFO_UNKNOWN = 0,
|
||||
HSI_ILLUMINATION_INFO_HSI = 0x01,
|
||||
HSI_ILLUMINATION_INFO_HSI_II = 0x02, //lvgang
|
||||
HSI_ILLUMINATION_INFO_HSI_III = 0x04, //shixuyong
|
||||
HSI_ILLUMINATION_INFO_TOTAL
|
||||
};
|
||||
|
||||
public enum HSI_ILLUMINATION_BULB_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_BULB_ROUND = 1,
|
||||
HSI_ILLUMINATION_BULB_SQUARE = 2,
|
||||
HSI_ILLUMINATION_BULB_RING = 3,
|
||||
HSI_ILLUMINATION_BULB_GRID = 4
|
||||
};
|
||||
|
||||
public enum HSI_ILLUMINATION_LAMP_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_LAMP_NONE = 0,
|
||||
HSI_ILLUMINATION_LAMP_COAXIAL = 1,
|
||||
HSI_ILLUMINATION_LAMP_SURFACE = 2,
|
||||
HSI_ILLUMINATION_LAMP_PROFILE = 3,
|
||||
HSI_ILLUMINATION_LAMP_PROFILE_OUTER = 4
|
||||
};
|
||||
|
||||
public enum HSI_ILLUMINATION_LAMP_CONTROL_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_NONE = 0x0000,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_WHOLE_LAMP = 0x0001,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_RINGS = 0x0002,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_OCTANTS = 0x0004,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_SEGMENTS = 0x0008,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_OTHER
|
||||
};
|
||||
|
||||
public enum HSI_ILLUMINATION_BULB_STATE
|
||||
{
|
||||
HSI_ILLUMINATION_BULB_STATE_TURN_ON = 0,
|
||||
HSI_ILLUMINATION_BULB_STATE_TURN_OFF = 1,
|
||||
HSI_ILLUMINATION_BULB_STATE_TOTAL
|
||||
};
|
||||
|
||||
public enum HSI_ILLUMINATION_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_SUPPORTS_DCC_CONTROL = 0x0001,
|
||||
HSI_ILLUMINATION_SUPPORTS_MANUAL_CONTROL = 0x0002
|
||||
};
|
||||
|
||||
public enum HSI_ILLUMINATION_LAMP_LOCATION_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_NONE = 0,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ON_AXIS = 1,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ANGLED = 2,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_BOTTOM = 3,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_MOVABLE = 4
|
||||
};
|
||||
|
||||
public const int HSI_ILLUMINATION_MAX_LAMPS = 6;
|
||||
public const int HSI_ILLUMINATION_MAX_BULB_COLORS = 3;
|
||||
public const int HSI_ILLUMINATION_MAX_RINGS = 12;
|
||||
public const int HSI_ILLUMINATION_MAX_SECTORS = 16;
|
||||
public const int HSI_ILLUMINATION_MAX_BULBS = HSI_ILLUMINATION_MAX_RINGS*HSI_ILLUMINATION_MAX_SECTORS;
|
||||
|
||||
public const int HSI_MaxLampNameLength = 29, HSI_MaxLampDescriptionLength = 255;
|
||||
// Maximum string length (buffer size - 1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,503 @@
|
||||
|
||||
#ifndef HSI_H_INCLUDED_
|
||||
#define HSI_H_INCLUDED_
|
||||
|
||||
#include <Windows.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#pragma once
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// HSI.h
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Definition for Hardware Specific Interface DLL (HSI)
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#ifdef HSI_EXPORTS
|
||||
#define HSI_API extern "C" __declspec(dllexport)
|
||||
#else
|
||||
#define HSI_API extern "C" __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
const int HSI_APIVersionMajor = 1;
|
||||
const int HSI_APIVersionMinor = 9;
|
||||
|
||||
const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Interface API
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
enum HSI_STATUS
|
||||
{
|
||||
HSI_STATUS_NOT_SUPPORTED = -1,
|
||||
HSI_STATUS_NORMAL = 0,
|
||||
HSI_STATUS_FAILED,
|
||||
HSI_FAILED_DLL_LOAD,
|
||||
|
||||
HSI_STATUS_PORTLOCK_HSI_MISMATCH,
|
||||
|
||||
HSI_STATUS_FILE_NOT_FOUND,
|
||||
HSI_STATUS_HARDWARE_NOT_FOUND,
|
||||
HSI_STATUS_INVALID_PARAMETERS,
|
||||
HSI_STATUS_INVALID_POINTS,
|
||||
HSI_STATUS_PART_NOT_DETECTED,
|
||||
HSI_STATUS_MEASURE_ERROR,
|
||||
HSI_STATUS_TEMPERATURE_ERROR,
|
||||
|
||||
HSI_STATUS_ILLUMINATION_COMM = 50,
|
||||
|
||||
HSI_STATUS_OPTICS_COMM = 100,
|
||||
HSI_STATUS_OPTICS_HOMING,
|
||||
HSI_STATUS_OPTICS_TIMEOUT,
|
||||
HSI_STATUS_OPTICS_CALIBRATIONDATA,
|
||||
HSI_STATUS_OPTICS_CALIBRATIONDATADEFAULT,
|
||||
HSI_STATUS_OPTICS_CALFILEDATACOUNTMISMATCH,
|
||||
|
||||
HSI_STATUS_MOTION_COMM = 150,
|
||||
HSI_STATUS_MOTION_HOMING,
|
||||
HSI_STATUS_MOTION_TIMEOUT,
|
||||
HSI_STATUS_MOTION_EMERGENCY_STOP,
|
||||
HSI_STATUS_MOTION_EXCEED_LIMIT,
|
||||
HSI_STATUS_MOTION_UNKNOWN_ERROR,
|
||||
HSI_STATUS_MOTION_EXCEED_SW_LIMIT,
|
||||
HSI_STATUS_MOTION_POSITION_ERROR,
|
||||
HSI_STATUS_MOTION_MOVING,
|
||||
|
||||
HSI_STATUS_TP_UNEXPECTED_HIT = 200,
|
||||
HSI_STATUS_TP_TIMEOUT = 201,
|
||||
HSI_STATUS_TP_APPROACH_TIMEOUT = 202,
|
||||
HSI_STATUS_TP_WRIST_ERROR,
|
||||
|
||||
HSI_STATUS_FG_COMM = 250,
|
||||
HSI_STATUS_FG_TIMEOUT,
|
||||
HSI_STATUS_FG_DIRECTX,
|
||||
HSI_STATUS_FG_COLORDEPTH,
|
||||
|
||||
HSI_STATUS_LP_TIMEOUT = 300,
|
||||
HSI_STATUS_LP_EXCEED_LIMIT = 301,
|
||||
|
||||
HSI_STATUS_VP_TIMEOUT = 350,
|
||||
HSI_STATUS_VP_IMAGEPROCESS_FAIL
|
||||
};
|
||||
enum HSI_MACHINE_TYPE
|
||||
{
|
||||
HSI_MACHINE_UNKNOWN = 0,
|
||||
HSI_MACHINE_SO7 = 1,
|
||||
HSI_MACHINE_NAVITAR_AUTOZOOM = 2,
|
||||
HSI_MACHINE_EF3 = 3,
|
||||
HSI_MACHINE_GOOGOL = 4,
|
||||
HSI_MACHINE_TYPE_TOTAL,
|
||||
};
|
||||
enum HSI_EVENT_TYPE
|
||||
{
|
||||
HSI_EVENT_NONE = 0,
|
||||
HSI_EVENT_ERROR = 1,
|
||||
HSI_EVENT_FUNCTION = 2,
|
||||
HSI_EVENT_NOTIFY = 3,
|
||||
HSI_EVENT_SAFETY = 4,
|
||||
HSI_EVENT_SAFETY_KEEP = 5
|
||||
};
|
||||
enum HSI_EVENT_FUNCTION_ID // EventData
|
||||
{ // Send Receive
|
||||
// V4.2 & V4.3 +
|
||||
HSI_EVENT_DONE = 0, // N/A N/A
|
||||
HSI_EVENT_TAKE_HIT = 1, // N/A N/A
|
||||
HSI_EVENT_ERASE_HIT = 2, // N/A N/A
|
||||
HSI_EVENT_TIME_CRITICAL = 3, // "ON", or "OFF" N/A
|
||||
HSI_EVENT_ZOOM_IN = 4, // "MAX", "COARSE", or "FINE" N/A
|
||||
HSI_EVENT_ZOOM_OUT = 5, // "MAX", "COARSE", or "FINE" N/A
|
||||
HSI_EVENT_REFRESH_LIVE_VIEW = 6, // N/A N/A
|
||||
HSI_EVENT_UPDATE_READOUTS = 7, // "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}" N/A
|
||||
HSI_EVENT_READ_MC_POSITION = 8, // "AxisFlags" "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"
|
||||
HSI_EVENT_MOVE_MC_POSITION = 9, // "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed},%1d{bWait}" N/A
|
||||
HSI_EVENT_CONVERT_MC_TO_GLOBAL = 10, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_UPDATE_STATUS_MESSAGE = 11, // N/A N/A
|
||||
HSI_EVENT_OPENFILE_DLG = 12, // N/A "FileName"
|
||||
HSI_EVENT_DISPLAY_YESNO_MESSAGE = 13, // N/A N/A
|
||||
HSI_EVENT_DISPLAY_OKCANCEL_MESSAGE = 14, // N/A N/A
|
||||
HSI_EVENT_DISPLAY_OK_MESSAGE = 15, // N/A N/A
|
||||
|
||||
// V4.3 + Only
|
||||
HSI_EVENT_DEBUG_LOG = 20, // "%s" N/A
|
||||
HSI_EVENT_MOVE_MC_POSITION_AND_SETTLE = 21, // "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed}" N/A
|
||||
HSI_EVENT_CONVERT_GLOBAL_TO_MM = 22, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_TO_TABLE_POINT = 23, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_OUT_TABLE_POINT = 24, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_TO_TABLE_VECTOR = 25, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_CONVERT_ROT_OUT_TABLE_VECTOR = 26, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
|
||||
HSI_EVENT_ILLUMINATION_REFRESH = 27,
|
||||
HSI_EVENT_ILLUMINATION_LOCK = 28,
|
||||
HSI_EVENT_ILLUMINATION_STORE_SET = 29,
|
||||
HSI_EVENT_ILLUMINATION_RESTORE_SET = 30,
|
||||
HSI_EVENT_ILLUMINATION_DECREASE_ACTIVE = 31, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_INCREASE_ACTIVE = 32, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_DECREASE_ALL = 33, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_INCREASE_ALL = 34, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_SELECT_LAMP = 35, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY = 36, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_GET_LAMP_INTENSITY = 37, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_SET_LAMP_CALIBRATION_OVERRIDE = 38, // "%d"
|
||||
HSI_EVENT_ILLUMINATION_NEXT_RING = 39,
|
||||
HSI_EVENT_ILLUMINATION_PREV_RING = 40,
|
||||
HSI_EVENT_ILLUMINATION_NEXT_SECTOR = 41,
|
||||
HSI_EVENT_ILLUMINATION_PREV_SECTOR = 42,
|
||||
HSI_EVENT_ILLUMINATION_NUM_LAMPS_INSTALLED = 43,
|
||||
HSI_EVENT_ILLUMINATION_IS_LAMP_INSTALLED = 44,
|
||||
HSI_EVENT_ILLUMINATION_APPLY = 45,
|
||||
HSI_EVENT_ILLUMINATION_ALLOFF = 46,
|
||||
HSI_EVENT_ILLUMINATION_ALLON = 47,
|
||||
HSI_EVENT_ILLUMINATION_UNLOCK = 48,
|
||||
HSI_EVENT_IS_PROGRAMMING_MODE = 49, // 1/0
|
||||
HSI_EVENT_IS_PORTLOCK_DCC = 50, // 1/0
|
||||
HSI_EVENT_IS_ROTAB_ENABLED = 51, // 1/0
|
||||
HSI_EVENT_IS_TIME_CRITICAL = 52, // 1/0
|
||||
HSI_EVENT_CONVERT_MM_TO_GLOBAL = 53,
|
||||
HSI_EVENT_CONVERT_GLOBAL_TO_MC = 54,
|
||||
HSI_EVENT_LASER_FOCUS_ENABLE = 55, // "%d" 0 = not available, 1 = available
|
||||
HSI_EVENT_MOVE_POINT = 56, // N/A N/A
|
||||
HSI_EVENT_MAG_CHANGED = 57,
|
||||
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY_IN_MACHINE_LEVELx100 = 58, // "%d" //PR251359-- Instructed to "Please focus on slide" but it's rather unhelpfully turned the lights off for us.
|
||||
HSI_EVENT_DCC_SCAN_POINTS_AVAILABLE = 59, // "%d" = more to come, 1 = last set N/A
|
||||
HSI_EVENT_ILLUMINATION_IS_ALL_OFF = 60, // 1/0 //PR253777-- Sensilight does not work if the target has 'ALL OFF' for illum setting--4/16/2008
|
||||
HSI_EVENT_ILLUMINATION_DECREASE_ALL_NONZERO = 61, // Sensilight command that wont change a lamp currently set to zero
|
||||
HSI_EVENT_ILLUMINATION_INCREASE_ALL_NONZERO = 62, // Sensilight command that wont change a lamp currently set to zero22
|
||||
|
||||
HSI_EVENT_LP_QUALITY = 63, // "%d" 0-100%
|
||||
HSI_EVENT_TP_QUALITY = 64, // "%d" 0-100%
|
||||
HSI_EVENT_VP_QUALITY = 65, // "%d" 0-100%
|
||||
|
||||
HSI_EVENT_FLYMODE_MOVE_COMPLETE = 66, // A queued flymode move has completed
|
||||
HSI_EVENT_PENDANT_SPEED_PERCENT = 67, // 108336 HMV : Add calls to HSI.H for Speed
|
||||
HSI_EVENT_PENDANT_AXES_SELECTED = 68, // 108335 HMV : Need to add calls to the HSI.H for Stacked Rotary
|
||||
|
||||
HSI_EVENT_MOTION = 500,
|
||||
HSI_EVENT_MOTION_DCC_HOME = 501,
|
||||
HSI_EVENT_MOTION_FOCUS_HOME = 502,
|
||||
HSI_EVENT_MOTION_EMERGENT_STOP = 503,
|
||||
HSI_EVENT_SHUTDOWN_ = 999, // N/A N/A
|
||||
HSI_EVENT_MOTION_DRIVER_ALARM = 1000,
|
||||
HSI_EVENT_MOTION_PROBE = 1001,
|
||||
HSI_EVENT_MOTION_DISPENSER = 1002
|
||||
};
|
||||
enum HSI_NOTIFY_TYPE
|
||||
{
|
||||
HSI_NOTIFY_PROGRAM_EXECUTION_START = 0,
|
||||
HSI_NOTIFY_PROGRAM_EXECUTION_STOP = 1,
|
||||
|
||||
HSI_NOTIFY_TIME_CRITICAL_EVENT_START = 2,
|
||||
HSI_NOTIFY_TIME_CRITICAL_EVENT_STOP = 3,
|
||||
HSI_NOTIFY_PROGRAM_OPEN = 4,
|
||||
HSI_NOTIFY_PROGRAM_CLOSE = 5,
|
||||
HSI_NOTIFY_PCDMIS_SHUTDOWN = 6,
|
||||
HSI_NOTIFY_CLEAR_ITERATIONS = 7,
|
||||
HSI_NOTIFY_EMERGENCY_STATE = 9
|
||||
};
|
||||
enum HSI_EVENT_RESPONSE_TYPE
|
||||
{
|
||||
HSI_EVENT_CALLBACK = 0,
|
||||
HSI_EVENT_RESPONSE_OK = 1,
|
||||
HSI_EVENT_RESPONSE_RETRY = 2,
|
||||
HSI_EVENT_RESPONSE_CANCEL = 3,
|
||||
HSI_EVENT_RESPONSE_YES = 4,
|
||||
HSI_EVENT_RESPONSE_NO = 5,
|
||||
HSI_EVENT_FUNCTION_OK = 6,
|
||||
HSI_EVENT_FUNCTION_FAILED = 7
|
||||
};
|
||||
|
||||
const int HSI_THREAD_EXIT = -1;
|
||||
const int HSI_THREAD_RUNNING = 0;
|
||||
const int HSI_THREAD_PAUSED = 1;
|
||||
|
||||
struct sHSIEventProperties
|
||||
{
|
||||
UINT EventID;
|
||||
UINT EventCallbackID;
|
||||
HSI_EVENT_TYPE EventType;
|
||||
HSI_EVENT_RESPONSE_TYPE EventResponse;
|
||||
char EventData[HSI_MaxStringLength + 1];
|
||||
void Init()
|
||||
{
|
||||
EventID = 0;
|
||||
EventCallbackID = 0;
|
||||
EventType = HSI_EVENT_NONE;
|
||||
EventResponse = HSI_EVENT_CALLBACK;
|
||||
memset(EventData, 0, (HSI_MaxStringLength + 1)*sizeof(char));
|
||||
};
|
||||
sHSIEventProperties()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
// >>>> In Interfaces
|
||||
typedef VOID(WINAPI *pEventCallback)(HSI_EVENT_TYPE EventType, HSI_EVENT_RESPONSE_TYPE ResponseType, UINT EventID, char EventData[HSI_MaxStringLength + 1], UINT &EventCallbackID);
|
||||
HSI_API HSI_STATUS WINAPI HSI_STARTUP(HWND _hWnd, bool _bOfflineOnly);
|
||||
HSI_API HSI_STATUS WINAPI HSI_GET_INTERFACE_VERSION(UINT &APIVersionMajor, UINT &APIVersionMinor);
|
||||
HSI_API HSI_STATUS WINAPI HSI_GET_MACHINE_INFO(int &_NumMachineTypes);
|
||||
HSI_API HSI_STATUS WINAPI HSI_SET_EVENT_CALLBACK(pEventCallback _pCallback);
|
||||
HSI_API HSI_STATUS WINAPI HSI_SHUTDOWM();
|
||||
|
||||
// <<<< Out Interfaces
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Motion API
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
enum HSI_MOTION_TYPE
|
||||
{
|
||||
HSI_MOTION_SUPPORTS_DCC_CONTROL = 0x0001,
|
||||
HSI_MOTION_SUPPORTS_MANUAL_CONTROL = 0x0002,
|
||||
HSI_MOTION_SUPPORTS_HOMING = 0x0004,
|
||||
HSI_MOTION_SUPPORTS_CIRCULAR_MOVES = 0x0008,
|
||||
HSI_MOTION_SUPPORTS_CMM_WRIST = 0x0010,
|
||||
HSI_MOTION_SUPPORTS_BUFFERED_MOVES = 0x0020,
|
||||
HSI_MOTION_SUPPORTS_FLY_MOVES = 0x0040,
|
||||
HSI_MOTION_SUPPORTS_SCAN = 0x0080,
|
||||
HSI_MOTION_SUPPORTS_ALL_AXIS_MOVE = 0x0100,
|
||||
HSI_MOTION_SUPPORTS_MEASPOINT_VW = 0x0200
|
||||
};
|
||||
|
||||
enum HSI_MOTION_AXIS_TYPE
|
||||
{
|
||||
HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
|
||||
HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
|
||||
HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
|
||||
HSI_MOTION_AXIS_R = 0x0008, // This is the default "Sensor level" R Axis - use on single R axis machines
|
||||
HSI_MOTION_AXIS_X1 = 0x0010, // This is the 1st X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y1 = 0x0020, // This is the 1st Y Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Z1 = 0x0040, // This is the 1st Z Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_R1 = 0x0080, // This is the 1st R Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_X2 = 0x0100, // This is the 2nd X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y2 = 0x0200, // This is the 2nd Y Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Z2 = 0x0400, // This is the 2nd Z Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_R2 = 0x0800, // This is the 2nd R Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_X3 = 0x1000, // This is the 3rd X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y3 = 0x2000, // This is the 3rd Y Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Z3 = 0x4000, // This is the 3rd Z Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_R3 = 0x8000 // This is the 3rd R Axis - use on multiple axis machines when specific axis needed
|
||||
};
|
||||
enum HSI_MOTION_IO_TYPE
|
||||
{
|
||||
HSI_MOTION_INPUT = 0x0001,
|
||||
HSI_MOTION_INPUT_LIMIT_SWITCH,
|
||||
HSI_MOTION_INPUT_CH1,//固高、众为兴、EF1输入
|
||||
HSI_MOTION_INPUT_CH2,
|
||||
HSI_MOTION_INPUT_CH3,//串口控制器输入
|
||||
HSI_MOTION_INPUT_CH4,//众为兴运动控制卡测试输入
|
||||
HSI_MOTION_INPUT_ALARM,//驱动报警
|
||||
|
||||
HSI_MOTION_OUTPUT = 0x0100,
|
||||
HSI_MOTION_OUTPUT_LASER_PEN,
|
||||
HSI_MOTION_OUTPUT_CH1,//固高、众为兴、EF1输出
|
||||
HSI_MOTION_OUTPUT_CH2,
|
||||
HSI_MOTION_OUTPUT_CH3,//串口控制器输出
|
||||
HSI_MOTION_OUTPUT_CH4//众为兴运动控制卡测试输出
|
||||
};
|
||||
|
||||
const UINT HSI_MOTION_AXIS_ALL = HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_Y | HSI_MOTION_AXIS_Z;
|
||||
|
||||
enum HSI_MOTION_MOVE_TYPE
|
||||
{
|
||||
HSI_MOTION_MOVE_WAIT = 1,
|
||||
HSI_MOTION_MOVE_NOWAIT = 2,
|
||||
HSI_MOTION_MOVE_INTERMEDIATE_POSITION = 3,
|
||||
HSI_MOTION_MOVE_FINAL_POSITION = 4,
|
||||
HSI_MOTION_IN_POSITION_EVENT = 5,
|
||||
HSI_MOTION_MOVE_FLYMODE = 6,
|
||||
HSI_MOTION_MOVE_START_POSITION = 7,
|
||||
HSI_MOTION_MOVE_START_FINAL_POSITION = 8
|
||||
};
|
||||
|
||||
enum HSI_MOTION_AXIS_R_MOVE_TYPE
|
||||
{
|
||||
HSI_MOTION_AXIS_R_CLOCKWISE = 1,
|
||||
HSI_MOTION_AXIS_R_ANTICLOCKWISE = 2,
|
||||
HSI_MOTION_AXIS_R_FASTEST = 3
|
||||
};
|
||||
enum HSI_SCAN_MOTION_TYPE
|
||||
{
|
||||
HSI_SCAN_MOTION_LINEAR = 1,
|
||||
HSI_SCAN_MOTION_CIRCULAR,
|
||||
|
||||
HSI_SCAN_MOTION_SPEC_LOCA = 100,//EF1
|
||||
HSI_SCAN_MOTION_EQ_DIS,
|
||||
HSI_SCAN_MOTION_EQ_DIS_II,
|
||||
HSI_SCAN_MOTION_LINEAR_TEST,//测试使用
|
||||
HSI_SCAN_MOTION_EQ_TEST,//测试使用
|
||||
HSI_SCAN_MOTION_MANUAL_TEST//测试使用
|
||||
};
|
||||
|
||||
enum HSI_ZOOM_TYPE
|
||||
{
|
||||
HSI_ZOOM_MANUAL = 0,
|
||||
HSI_ZOOM_NAVITAR=3
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
double x;
|
||||
double y;
|
||||
double z;
|
||||
}Point;
|
||||
const int HSI_MAX_POSITIONS_STORED = 500;
|
||||
|
||||
// >>>> In Interfaces
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_HOMED(bool &bHomed);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_XYZ(double &Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_EF3MOTION_GET_SPEED_XYZ(int axis, double &Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_XYZ(double &AccelX, double &AccelY, double &AccelZ);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_XYZ(double AccelX, double AccelY, double AccelZ);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_R(double &Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_R(double Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_R(double &AccelR);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_R(double AccelR);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION(double &ScaleX, double &ScaleY, double &ScaleZ);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION(double ScaleX, double ScaleY, double ScaleZ);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DEADBAND(double &DeadbandX, double &DeadbandY, double &DeadbandZ, double &DeadbandR);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_JOG(UINT AxisTypes, double Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_STOP_JOG();
|
||||
HSI_API BOOL WINAPI HSI_MOTION_GET_PROBE_TOUCH();
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_TOUCH_MOVE(double dSpeed, double dEndPosX, double dEndPosY, double dEndPosZ, double dI, double dJ, double dK);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZ(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &Time);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZA_PROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &dI, double &dJ, double &dK, double &PositionA);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITIONPROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &PositionA);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ_CACHE(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point *CacheData);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_R(UINT AxisTypes, double &PositionR, double &Time);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double PositionR, HSI_MOTION_AXIS_R_MOVE_TYPE DirectionType, bool bWait);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_ABORT_MOTION();
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_PLAN_SCAN(double *pdStartPosX, double *pdStartPosY, double *pdStartPosZ, double *pdEndPosX, double *pdEndPosY, double *pdEndPosZ, double *pdStepDis, bool *pbTrig, int iCount);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DIO(UINT IOChannel, UINT& _Status);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_DIO(UINT IOChannel, UINT _Status);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_SET_DATA(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_START();
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED_EX(UINT AxisTypes, UINT &Types);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP_EX(UINT AxisTypes, bool bHome);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION_EX(UINT AxisTypes, double &Scale);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION_EX(UINT AxisTypes, double Scale);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_EX(UINT AxisTypes, double &Position, double &Time);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_EX(UINT AxisTypes, double Position, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_EX(UINT AxisTypes, double &Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_EX(UINT AxisTypes, double Speed);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_EX(UINT AxisTypes, double &Accel);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_EX(UINT AxisTypes, double Accel);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_MAGNIFICATION(UINT AxisTypes, double mag, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_MAGNIFICATION(UINT AxisTypes, double &mag);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_POS(UINT AxisTypes, double ScalePos, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_POS(UINT AxisTypes, double &ScalePos);
|
||||
|
||||
HSI_API HSI_STATUS WINAPI HSI_MOTION_SHUTDOWN();
|
||||
// <<<< Out Interfaces
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Illumination API
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
enum HSI_ILLUMINATION_INFO
|
||||
{
|
||||
HSI_ILLUMINATION_INFO_UNKNOWN = 0,
|
||||
HSI_ILLUMINATION_INFO_SO7 = 0x01,
|
||||
HSI_ILLUMINATION_INFO_SO7_II = 0x02,//lvgang
|
||||
HSI_ILLUMINATION_INFO_SO7_III = 0x04,//shixuyong
|
||||
HSI_ILLUMINATION_INFO_TOTAL
|
||||
};
|
||||
enum HSI_ILLUMINATION_BULB_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_BULB_ROUND = 1,
|
||||
HSI_ILLUMINATION_BULB_SQUARE = 2,
|
||||
HSI_ILLUMINATION_BULB_RING = 3,
|
||||
HSI_ILLUMINATION_BULB_GRID = 4
|
||||
};
|
||||
|
||||
enum HSI_ILLUMINATION_LAMP_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_LAMP_COAXIAL = 0,
|
||||
HSI_ILLUMINATION_LAMP_SURFACE = 1,
|
||||
HSI_ILLUMINATION_LAMP_PROFILE = 2,
|
||||
HSI_ILLUMINATION_LAMP_PROFILE_OUTER = 3
|
||||
};
|
||||
enum HSI_ILLUMINATION_LAMP_CONTROL_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_WHOLE_LAMP = 0x0000,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_RINGS = 0x0001,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_OCTANTS = 0x0002,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_SEGMENTS = 0x0004,
|
||||
HSI_ILLUMINATION_LAMP_CONTROL_BY_OTHER
|
||||
};
|
||||
enum HSI_ILLUMINATION_BULB_STATE
|
||||
{
|
||||
HSI_ILLUMINATION_BULB_STATE_TURN_ON = 0,
|
||||
HSI_ILLUMINATION_BULB_STATE_TURN_OFF = 1,
|
||||
HSI_ILLUMINATION_BULB_STATE_TOTAL
|
||||
};
|
||||
enum HSI_ILLUMINATION_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_SUPPORTS_DCC_CONTROL = 0x0001,
|
||||
HSI_ILLUMINATION_SUPPORTS_MANUAL_CONTROL = 0x0002
|
||||
};
|
||||
|
||||
enum HSI_ILLUMINATION_LAMP_LOCATION_TYPE
|
||||
{
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_NONE = 0,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ON_AXIS = 1,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ANGLED = 2,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_BOTTOM = 3,
|
||||
HSI_ILLUMINATION_LAMP_LOCATION_MOVABLE = 4
|
||||
};
|
||||
|
||||
const int HSI_ILLUMINATION_MAX_LAMPS = 6;
|
||||
const int HSI_ILLUMINATION_MAX_BULB_COLORS = 3;
|
||||
const int HSI_ILLUMINATION_MAX_RINGS = 12;
|
||||
const int HSI_ILLUMINATION_MAX_SECTORS = 16;
|
||||
const int HSI_ILLUMINATION_MAX_BULBS = HSI_ILLUMINATION_MAX_RINGS*HSI_ILLUMINATION_MAX_SECTORS;
|
||||
const int HSI_ILLUMINATION_MAX_BULB_TYPE = 2;
|
||||
|
||||
const int HSI_MaxLampNameLength = 29, HSI_MaxLampDescriptionLength = 255; // Maximum string length (buffer size - 1)
|
||||
|
||||
// >>>> In Interfaces
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_IS_SUPPORTED(UINT &Types);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_STARTUP();
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_COUNT(int &nLamps);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_INFO(int& _LampInfo, int& _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE],
|
||||
int *NumRings, int *NumSectors, int* _Color, double *_Angle, bool &bCanBeCalibrated);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_STATE(int nLamp, bool *bBulbStates, double *Intensities, int &Color, double &Angle);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_SET_LAMP_STATE(int nLamp, bool *bBulbStates, double *Intensities, int Color, double Angle, bool bWait);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_STATE_ALL(int _LampInfo, int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS]);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_SET_LAMP_STATE_ALL(int _LampInfo, int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
|
||||
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_SHUTDOWN();
|
||||
// <<<< Out Interfaces
|
||||
|
||||
|
||||
class HSI
|
||||
{
|
||||
public:
|
||||
HSI() : hWnd(nullptr), bOfflineOnly(false){}
|
||||
virtual ~HSI(){}
|
||||
virtual HSI_STATUS IsSupported(UINT &Types){ Types = 0; return HSI_STATUS_NORMAL; }
|
||||
virtual HSI_STATUS Startup(HWND _hWnd, bool _bOfflineOnly){ hWnd = _hWnd; bOfflineOnly = _bOfflineOnly; return HSI_STATUS_NORMAL; }
|
||||
virtual HSI_STATUS Shutdown(){ return HSI_STATUS_NORMAL; }
|
||||
protected:
|
||||
HWND hWnd;
|
||||
bool bOfflineOnly;
|
||||
sHSIEventProperties sEvenProp;
|
||||
|
||||
};
|
||||
#endif
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,34 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pdca", "PCDA_Report\PCDA_Report.vcxproj", "{363F54B0-75E1-4E24-AF89-F0053BAA7117}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
DebugRelease|x64 = DebugRelease|x64
|
||||
DebugRelease|x86 = DebugRelease|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x64.Build.0 = Debug|x64
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x86.Build.0 = Debug|Win32
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x64.Build.0 = DebugRelease|x64
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x86.ActiveCfg = DebugRelease|Win32
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x86.Build.0 = DebugRelease|Win32
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x64.ActiveCfg = Release|x64
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x64.Build.0 = Release|x64
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x86.ActiveCfg = Release|Win32
|
||||
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Debug|Win32|D:\Pdca\PCDA_Report\|
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Debug|Win32|D:\Pdca\PCDA_Report\|
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Debug|Win32|D:\Pdca\PCDA_Report\|
|
||||
Binary file not shown.
@@ -0,0 +1,368 @@
|
||||
#include "stdafx.h"
|
||||
#include "FileIO.h"
|
||||
|
||||
#define UNICODE_BOM 0xFEFF // Unicode "byte order mark"
|
||||
|
||||
FileIOException::FileIOException()
|
||||
{
|
||||
}
|
||||
|
||||
FileIOException::~FileIOException()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
CFileIO::CFileIO(void):
|
||||
m_bFirst(true),
|
||||
m_bOpen(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
CFileIO::~CFileIO(void)
|
||||
{
|
||||
if (IsActive())
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
CFileIO::CFileIO(const CString fileName):
|
||||
m_bFirst(true),
|
||||
m_bOpen(false),
|
||||
m_strFileName(fileName)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool CFileIO::IsActive(bool bForce)
|
||||
{
|
||||
if(m_bFirst || bForce)
|
||||
{
|
||||
if(m_bOpen==false)
|
||||
{
|
||||
m_bFirst=false;
|
||||
}
|
||||
}
|
||||
return m_bOpen;
|
||||
}
|
||||
|
||||
void CFileIO::SetFileName(CString fileName)
|
||||
{
|
||||
m_strFileName=fileName;
|
||||
}
|
||||
|
||||
CString CFileIO::GetFileName()
|
||||
{
|
||||
return m_strFileName;
|
||||
}
|
||||
|
||||
bool CFileIO::Open(CString fileName)
|
||||
{
|
||||
bool bOpen=false;
|
||||
// if (m_strFileName.IsEmpty()&&(!fileName.IsEmpty()))
|
||||
// {
|
||||
SetFileName(fileName);
|
||||
bOpen=Open();
|
||||
// }
|
||||
// else if ((!m_strFileName.IsEmpty())&&(!fileName.IsEmpty())&&(m_strFileName.CompareNoCase(fileName)!=0))
|
||||
// {
|
||||
// SetFileName(fileName);
|
||||
// bOpen=ReOpen();
|
||||
// }
|
||||
return bOpen;
|
||||
}
|
||||
|
||||
ULONGLONG CFileIO::Seek(LONGLONG lOff, UINT nFrom)
|
||||
{
|
||||
try
|
||||
{
|
||||
return stdioFile.Seek(lOff,nFrom);
|
||||
}
|
||||
catch (CException* e)
|
||||
{
|
||||
// return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ULONGLONG CFileIO::GetPosition() const
|
||||
{
|
||||
try
|
||||
{
|
||||
return stdioFile.GetPosition();
|
||||
}
|
||||
catch (CException* e)
|
||||
{
|
||||
// return 0;
|
||||
}
|
||||
}
|
||||
|
||||
ULONGLONG CFileIO::GetLength() const
|
||||
{
|
||||
try
|
||||
{
|
||||
return stdioFile.GetLength();
|
||||
}
|
||||
catch (CException* e)
|
||||
{
|
||||
// return 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool CFileIO::Open()
|
||||
{
|
||||
try
|
||||
{
|
||||
//stdioFile=CStdioFile(GetUnicodeWriteStream(m_strFileName));
|
||||
m_bOpen = stdioFile.Open(m_strFileName,CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate|CFile::shareDenyNone);
|
||||
m_bFirst=false;
|
||||
//m_bOpen=true;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
}
|
||||
return m_bOpen;
|
||||
}
|
||||
|
||||
bool CFileIO::Open(const CString& fileName, const BOOL& bCreateReadMode)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (bCreateReadMode)
|
||||
{
|
||||
m_bOpen = stdioFile.Open(fileName, CFile::modeCreate | CFile::modeReadWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_bOpen = stdioFile.Open(fileName, CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate | CFile::shareDenyNone);
|
||||
}
|
||||
m_bFirst = false;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
}
|
||||
return m_bOpen;
|
||||
}
|
||||
|
||||
bool CFileIO::ReOpen()
|
||||
{
|
||||
//Close();
|
||||
return Open();
|
||||
}
|
||||
|
||||
void CFileIO::Close()
|
||||
{
|
||||
stdioFile.Flush();
|
||||
stdioFile.Close();
|
||||
m_bFirst=true;
|
||||
m_bOpen=false;
|
||||
}
|
||||
|
||||
void CFileIO::NewLine()
|
||||
{
|
||||
WirteText(_T("\n"));
|
||||
}
|
||||
|
||||
void CFileIO::WirteText(const CString &text)
|
||||
{
|
||||
WirteText(m_strFileName,text);
|
||||
}
|
||||
|
||||
void CFileIO::WirteTextArray(const CStringArray &textArray,CString tabString)
|
||||
{
|
||||
WirteTextArray(m_strFileName,textArray,tabString);
|
||||
}
|
||||
|
||||
BOOL CFileIO::ReadText(CString &text)
|
||||
{
|
||||
try
|
||||
{
|
||||
return stdioFile.ReadString(text);
|
||||
}
|
||||
catch (CException* e)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void CFileIO::WirteText(const CString &fileName,const CString &text)
|
||||
{
|
||||
try
|
||||
{
|
||||
// if (IsActive())
|
||||
// {
|
||||
stdioFile.WriteString(text);
|
||||
stdioFile.Flush();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Open(fileName);
|
||||
// stdioFile.WriteString(text);
|
||||
// stdioFile.Flush();
|
||||
// }
|
||||
}
|
||||
catch (CException* e)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void CFileIO::WirteTextArray(const CString &fileName,const CStringArray &textArray,CString tabString)
|
||||
{
|
||||
try
|
||||
{
|
||||
CString textWrite;
|
||||
for(INT_PTR i=0; i<textArray.GetSize(); i++)
|
||||
{
|
||||
textWrite += textArray[i];
|
||||
textWrite +=tabString;
|
||||
}
|
||||
WirteText(fileName,textWrite);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
const CString CFileIO::GetUnicodeWriteMode()
|
||||
{
|
||||
return _T("wt,ccs=UNICODE");
|
||||
}
|
||||
|
||||
const CString CFileIO::GetAnsiWriteMode()
|
||||
{
|
||||
return _T("wt");
|
||||
}
|
||||
|
||||
const CString CFileIO::GetUnicodeReadMode()
|
||||
{
|
||||
return _T("rt,ccs=UNICODE");
|
||||
}
|
||||
|
||||
const CString CFileIO::GetAnsiReadMode()
|
||||
{
|
||||
return _T("rt");
|
||||
}
|
||||
|
||||
CFileIO::FILE_CODE_TYPE CFileIO::GetFileCodeType(const CString &fileName)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(IsFileUnicode(fileName))
|
||||
return FILE_CODE_TYPE_ANSI;
|
||||
else
|
||||
return FILE_CODE_TYPE_UNICODE;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
return FILE_CODE_TYPE_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
bool CFileIO::IsFileUnicode(const CString& fileName)
|
||||
{
|
||||
CFile file;
|
||||
bool bIsUnicode = false;
|
||||
wchar_t wcFirstChar;
|
||||
CFileException exFile;
|
||||
|
||||
if (file.Open(fileName, CFile::typeBinary | CFile::modeRead, &exFile))
|
||||
{
|
||||
if (file.Read(&wcFirstChar, sizeof(wchar_t)) > 0 && wcFirstChar == (wchar_t)UNICODE_BOM)
|
||||
{
|
||||
bIsUnicode = true;
|
||||
}
|
||||
|
||||
file.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw FileIOException();
|
||||
}
|
||||
|
||||
return bIsUnicode;
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetUnicodeWriteStream(const CString &fileName)
|
||||
{
|
||||
const CString mode = GetUnicodeWriteMode();
|
||||
return GetFileStream(fileName, mode);
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetAnsiWriteStream(const CString &fileName)
|
||||
{
|
||||
const CString mode = GetAnsiWriteMode();
|
||||
return GetFileStream(fileName, mode);
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetUnicodeReadStream(const CString &fileName)
|
||||
{
|
||||
const CString mode = GetUnicodeReadMode();
|
||||
return GetFileStream(fileName, mode);
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetAnsiReadStream(const CString &fileName)
|
||||
{
|
||||
const CString mode = GetAnsiReadMode();
|
||||
return GetFileStream(fileName, mode);
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetWriteStream(const CString &fileName, const CString &text)
|
||||
{
|
||||
FILE *fStream = nullptr;
|
||||
bool extended = StringHasExtendedCharacters(text);
|
||||
if(extended)
|
||||
{
|
||||
fStream = GetUnicodeWriteStream(fileName);
|
||||
}
|
||||
else
|
||||
{
|
||||
fStream = GetAnsiWriteStream(fileName);
|
||||
}
|
||||
return fStream;
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetReadStream(const CString &fileName, const FILE_CODE_TYPE fileCodeType)
|
||||
{
|
||||
FILE *fStream = nullptr;
|
||||
switch(fileCodeType)
|
||||
{
|
||||
case FILE_CODE_TYPE_ANSI:
|
||||
fStream = GetAnsiReadStream(fileName);
|
||||
break;
|
||||
case FILE_CODE_TYPE_UNICODE:
|
||||
fStream = GetUnicodeReadStream(fileName);
|
||||
break;
|
||||
default:
|
||||
throw FileIOException();
|
||||
break;
|
||||
}
|
||||
return fStream;
|
||||
}
|
||||
|
||||
FILE* CFileIO::GetFileStream(const CString &fileName, const CString &mode)
|
||||
{
|
||||
FILE *fStream=nullptr;
|
||||
errno_t err = _tfopen_s(&fStream, fileName, mode);
|
||||
if(err != 0)
|
||||
{
|
||||
throw FileIOException();
|
||||
}
|
||||
return fStream;
|
||||
}
|
||||
|
||||
bool CFileIO::StringHasExtendedCharacters(const CString &str)
|
||||
{
|
||||
TCHAR ch;
|
||||
for(int i=0; i< str.GetLength(); i++)
|
||||
{
|
||||
ch = str[i];
|
||||
if(ch > 127)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
#pragma once
|
||||
#include <stdexcept>
|
||||
|
||||
class FileIOException :public std::exception
|
||||
{
|
||||
public:
|
||||
FileIOException ();
|
||||
~ FileIOException ();
|
||||
};
|
||||
|
||||
class CFileIO
|
||||
{
|
||||
public:
|
||||
typedef enum FILE_CODE_TYPE
|
||||
{
|
||||
FILE_CODE_TYPE_ANSI,
|
||||
FILE_CODE_TYPE_UNICODE,
|
||||
FILE_CODE_TYPE_UNKNOWN
|
||||
};
|
||||
|
||||
public:
|
||||
CFileIO(void);
|
||||
~CFileIO(void);
|
||||
CFileIO(const CString fileName);
|
||||
CString GetFileName();
|
||||
bool Open(CString fileName);
|
||||
bool Open(const CString& fileName, const BOOL& bCreateReadMode);
|
||||
ULONGLONG Seek(LONGLONG lOff, UINT nFrom);
|
||||
ULONGLONG GetPosition() const;
|
||||
ULONGLONG GetLength() const;
|
||||
void Close();
|
||||
void NewLine();
|
||||
void WirteText(const CString &text);
|
||||
void WirteTextArray(const CStringArray &textArray,CString tabString=_T("\t"));
|
||||
BOOL ReadText(CString &text);
|
||||
|
||||
private:
|
||||
void WirteText(const CString &fileName,const CString &text);
|
||||
void WirteTextArray(const CString &fileName,const CStringArray &textArray,CString tabString=_T("\t"));
|
||||
|
||||
private:
|
||||
bool Open();
|
||||
bool ReOpen();
|
||||
bool IsActive(bool bForce=false);
|
||||
void SetFileName(CString fileName);
|
||||
|
||||
|
||||
public:
|
||||
static const CString GetUnicodeWriteMode();
|
||||
static const CString GetAnsiWriteMode();
|
||||
static const CString GetUnicodeReadMode();
|
||||
static const CString GetAnsiReadMode();
|
||||
static CFileIO::FILE_CODE_TYPE GetFileCodeType(const CString &fileName);
|
||||
static bool IsFileUnicode(const CString& fileName);
|
||||
static FILE* GetUnicodeWriteStream(const CString &fileName);
|
||||
static FILE* GetAnsiWriteStream(const CString &fileName);
|
||||
static FILE* GetUnicodeReadStream(const CString &fileName);
|
||||
static FILE* GetAnsiReadStream(const CString &fileName);
|
||||
static FILE* GetWriteStream(const CString &fileName, const CString &text);
|
||||
static FILE* GetReadStream(const CString &fileName, const FILE_CODE_TYPE fileCodeType);
|
||||
static FILE* GetFileStream(const CString &fileName, const CString &mode);
|
||||
static bool StringHasExtendedCharacters(const CString &str);
|
||||
|
||||
private:
|
||||
CFileIO(const CFileIO &value);
|
||||
CFileIO & operator=(const CFileIO &value);
|
||||
|
||||
private:
|
||||
bool m_bFirst;
|
||||
bool m_bOpen;
|
||||
CString m_strFileName;
|
||||
CStdioFile stdioFile;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
// PCDA_Report.cpp : Defines the initialization routines for the DLL.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "PCDA_Report.h"
|
||||
#include "PdcaReport.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
//
|
||||
//TODO: If this DLL is dynamically linked against the MFC DLLs,
|
||||
// any functions exported from this DLL which call into
|
||||
// MFC must have the AFX_MANAGE_STATE macro added at the
|
||||
// very beginning of the function.
|
||||
//
|
||||
// For example:
|
||||
//
|
||||
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
|
||||
// {
|
||||
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||||
// // normal function body here
|
||||
// }
|
||||
//
|
||||
// It is very important that this macro appear in each
|
||||
// function, prior to any calls into MFC. This means that
|
||||
// it must appear as the first statement within the
|
||||
// function, even before any object variable declarations
|
||||
// as their constructors may generate calls into the MFC
|
||||
// DLL.
|
||||
//
|
||||
// Please see MFC Technical Notes 33 and 58 for additional
|
||||
// details.
|
||||
//
|
||||
|
||||
// CPCDA_ReportApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CPCDA_ReportApp, CWinApp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CPCDA_ReportApp construction
|
||||
|
||||
CPCDA_ReportApp::CPCDA_ReportApp()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
|
||||
// The one and only CPCDA_ReportApp object
|
||||
|
||||
CPCDA_ReportApp theApp;
|
||||
CPcdaReport g_ReportObject;
|
||||
|
||||
// CPCDA_ReportApp initialization
|
||||
|
||||
BOOL CPCDA_ReportApp::InitInstance()
|
||||
{
|
||||
CWinApp::InitInstance();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
extern "C" __PDCADLL_API void GenerateArchiveFile(const CString szFileName, const CString& strSerialNumber, const CString& strProductNumber, const bool bToSingleFile, const PdcaReport* vPdcaReport,
|
||||
const int iItemSize, const bool bChangeRow, const int iReportSize, const BOOL bDefFormat, const int iBeginIndex, const ReportType& iReportType,
|
||||
const BOOL& bFirstAppend, const BOOL bIncludeHead)
|
||||
{
|
||||
g_ReportObject.AdjustPathAndGenerateArchiveFile(szFileName, strSerialNumber, strProductNumber, bToSingleFile, vPdcaReport, iItemSize, bChangeRow, iReportSize, bDefFormat, iBeginIndex, iReportType, bFirstAppend, bIncludeHead);
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
; PCDA_Report.def : Declares the module parameters for the DLL.
|
||||
|
||||
LIBRARY
|
||||
|
||||
EXPORTS
|
||||
; Explicit exports can go here
|
||||
@@ -0,0 +1,73 @@
|
||||
// PCDA_Report.h : main header file for the PCDA_Report DLL
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <vector>
|
||||
|
||||
|
||||
#ifdef __PDCADLL_H
|
||||
#define __PDCADLL_API __declspec(dllexport)
|
||||
#else
|
||||
#define __PDCADLL_API __declspec(dllimport)
|
||||
#endif // !__PDCADLL_H
|
||||
|
||||
using namespace std;
|
||||
// CPCDA_ReportApp
|
||||
// See PCDA_Report.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
|
||||
enum ENUM_UNIT_TYPE
|
||||
{
|
||||
UNIT_TYPE_MM = 0,
|
||||
UNIT_TYPE_INCH,
|
||||
UNIT_TYPE_MIL,
|
||||
UNIT_TYPE_UM
|
||||
};
|
||||
|
||||
struct PdcaReport
|
||||
{
|
||||
CString m_strRecordName;
|
||||
ENUM_UNIT_TYPE m_iUnit;
|
||||
double m_dTheoryValue;
|
||||
double m_dMeasureValue;
|
||||
double m_dUpperTol;
|
||||
double m_dLowerTol;
|
||||
double m_dOutTol;
|
||||
int m_iPrecision;
|
||||
int m_iIndex;
|
||||
PdcaReport()
|
||||
{
|
||||
m_iUnit = UNIT_TYPE_MM;
|
||||
m_dTheoryValue = 0.0;
|
||||
m_dMeasureValue = 0.0;
|
||||
m_dUpperTol = 0.0;
|
||||
m_dLowerTol = 0.0;
|
||||
m_dOutTol = 0.0;
|
||||
m_iPrecision = 4;
|
||||
m_iIndex = 0;
|
||||
}
|
||||
};
|
||||
|
||||
typedef enum ENUM_REPORT_TYPE
|
||||
{
|
||||
REPORT_NORMAL = 0,
|
||||
REPORT_APPEND,
|
||||
REPORT_OVER_WRITE
|
||||
}ReportType;
|
||||
|
||||
class CPCDA_ReportApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CPCDA_ReportApp();
|
||||
|
||||
// Overrides
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
extern "C" __PDCADLL_API void GenerateArchiveFile(const CString szFileName, const CString& strSerialNumber, const CString& strProductNumber, const bool bToSingleFile, const PdcaReport* vPdcaReport,
|
||||
const int iItemSize, const bool bChangeRow, const int iReportSize, const BOOL bDefFormat = FALSE, const int iBeginIndex = 1,
|
||||
const ReportType& iReportType = REPORT_NORMAL, const BOOL& bFirstAppend = FALSE, const BOOL bIncludeHead = FALSE);
|
||||
Binary file not shown.
@@ -0,0 +1,318 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="DebugRelease|Win32">
|
||||
<Configuration>DebugRelease</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DebugRelease|x64">
|
||||
<Configuration>DebugRelease</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{363F54B0-75E1-4E24-AF89-F0053BAA7117}</ProjectGuid>
|
||||
<RootNamespace>PCDA_Report</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
<Keyword>MFCDLLProj</Keyword>
|
||||
<ProjectName>Pdca</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>copy $(OutDir)$(TargetName)$(TargetExt) C:\_vse\_bin</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
|
||||
<FullProgramDatabaseFile>true</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>copy $(OutDir)$(TargetName)$(TargetExt) C:\_vse\_bin</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="PdcaReport.cpp" />
|
||||
<ClCompile Include="FileIO.cpp" />
|
||||
<ClCompile Include="PCDA_Report.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="PdcaReport.h" />
|
||||
<ClInclude Include="FileIO.h" />
|
||||
<ClInclude Include="PCDA_Report.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="PCDA_Report.def" />
|
||||
<None Include="res\PCDA_Report.rc2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="PCDA_Report.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="PCDA_Report.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="FileIO.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PdcaReport.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="PCDA_Report.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="targetver.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FileIO.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="PdcaReport.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="PCDA_Report.def">
|
||||
<Filter>Source Files</Filter>
|
||||
</None>
|
||||
<None Include="res\PCDA_Report.rc2">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="PCDA_Report.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LocalDebuggerCommand>C:\_vse\_bin\MaxCloud.exe</LocalDebuggerCommand>
|
||||
<LocalDebuggerWorkingDirectory>C:\_vse\_bin</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LocalDebuggerCommand>C:\Users\Tuser\Desktop\VSE_DEBUG\MaxCloud.exe</LocalDebuggerCommand>
|
||||
<LocalDebuggerWorkingDirectory>C:\Users\Tuser\Desktop\VSE_DEBUG</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
|
||||
<LocalDebuggerCommand>C:\_vse\_bin\MaxCloud.exe</LocalDebuggerCommand>
|
||||
<LocalDebuggerWorkingDirectory>C:\_vse\_bin</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,165 @@
|
||||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "FileIO.h"
|
||||
|
||||
class CPcdaReport
|
||||
{
|
||||
public:
|
||||
CPcdaReport();
|
||||
~CPcdaReport();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
public:
|
||||
typedef enum ENUM_CSV_HEAD
|
||||
{
|
||||
CSV_HEAD_MEASUREMENT,
|
||||
CSV_HEAD_PRODUCT,
|
||||
CSV_HEAD_SERIAL_NUBER,
|
||||
CSV_HEAD_SPECIAL_BUILD_NAME,
|
||||
CSV_HEAD_SPECIAL_BUILD_DESCRIPTION,
|
||||
CSV_HEAD_STATION_ID,
|
||||
CSV_HEAD_ARCHIVE,
|
||||
CSV_HEAD_CG_SN,
|
||||
CSV_HEAD_HOUSINGSN,
|
||||
CSV_HEAD_UNTI_NUMBER,
|
||||
CSV_HEAD_TEST_STATUS,
|
||||
CSV_HEAD_LIST_OF_FAILING_TESTS,
|
||||
CSV_HEAD_VERSION,
|
||||
CSV_HEAD_IMAGE_FLAG,
|
||||
CSV_HEAD_MACHINE_ID,
|
||||
CSV_HEAD_MACHINE_NUMBER,
|
||||
CSV_HEAD_OPERATOR,
|
||||
CSV_HEAD_CHECK_ID,
|
||||
CSV_HEAD_SERIAL_ID,
|
||||
CSV_HEAD_SAMPLE_NAME,
|
||||
CSV_HEAD_SAMPLE_RULES,
|
||||
CSV_HEAD_SAMPLE_BATCH,
|
||||
CSV_HEAD_SAMPLE_METHOD,
|
||||
CSV_HEAD_SAMPLE_MANUFACTURER,
|
||||
CSV_HEAD_REMARKS,
|
||||
CSV_HEAD_TOTAL
|
||||
}CSVHead;
|
||||
|
||||
typedef enum ENUM_CSV_ROW_HEAD
|
||||
{
|
||||
CSV_ROW_HEAD_TEST_DATE,
|
||||
CSV_ROW_HEAD_START_TIME,
|
||||
CSV_ROW_HEAD_END_TIME,
|
||||
CSV_ROW_HEAD_LABEL,
|
||||
CSV_ROW_HEAD_THEORETICAL,
|
||||
CSV_ROW_HEAD_PLUS_TOL,
|
||||
CSV_ROW_HEAD_MINUS_TOL,
|
||||
CSV_ROW_HEAD_UPPER_LIMIT,
|
||||
CSV_ROW_HEAD_LOWER_LIMIT,
|
||||
CSV_ROW_HEAD_OUT_TOL,
|
||||
CSV_ROW_HEAD_MAX_DEV,
|
||||
CSV_ROW_HEAD_MIN_DEV,
|
||||
CSV_ROW_HEAD_AVE_DEV,
|
||||
CSV_ROW_HEAD_MAX_OUT_TOL,
|
||||
CSV_ROW_HEAD_CA,
|
||||
CSV_ROW_HEAD_CP,
|
||||
CSV_ROW_HEAD_CPK,
|
||||
CSV_ROW_HEAD_PP,
|
||||
CSV_ROW_HEAD_PPK,
|
||||
CSV_ROW_HEAD_PDCA_PRIORITY,
|
||||
CSV_ROW_HEAD_MEASUREMENT_UINT,
|
||||
CSV_ROW_HEAD_TOTAL
|
||||
}CSVRowHead;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CSVHead csvHead;
|
||||
bool show;
|
||||
CString csvHeadName;
|
||||
}CSVHeadMap;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CSVRowHead csvRowHead;
|
||||
bool rowShow;
|
||||
CString csvRowHeadName;
|
||||
}CSVRowHeadMap;
|
||||
|
||||
public:
|
||||
struct ReportReserve
|
||||
{
|
||||
CString m_reportName;
|
||||
vector<PdcaReport> m_vPcdaReport;
|
||||
ReportReserve()
|
||||
{
|
||||
m_reportName = _T("Profile");
|
||||
}
|
||||
};
|
||||
struct ReportHeadData
|
||||
{
|
||||
CStringArray m_measurementVersionArray;
|
||||
CStringArray m_LabelArray;
|
||||
CStringArray m_displayNameArray;
|
||||
CStringArray m_PDCAPriorityArray;
|
||||
CStringArray m_theoryTolArray;
|
||||
CStringArray m_plusTolArray;
|
||||
CStringArray m_minusTolArray;
|
||||
CStringArray m_upperLimitArray;
|
||||
CStringArray m_lowerLimitArray;
|
||||
CStringArray m_outTolArray;
|
||||
CStringArray m_maxDevArray;
|
||||
CStringArray m_minDevArray;
|
||||
CStringArray m_aveDevArray;
|
||||
CStringArray m_maxOutTolArray;
|
||||
CStringArray m_CAArray;
|
||||
CStringArray m_CPArray;
|
||||
CStringArray m_CPKArray;
|
||||
CStringArray m_PPArray;
|
||||
CStringArray m_PPKArray;
|
||||
CStringArray m_measurementUnitArray;
|
||||
CStringArray m_actualValueArray;
|
||||
CStringArray m_actualColumnValueArray;
|
||||
};
|
||||
|
||||
struct STRU_LINE
|
||||
{
|
||||
CString strLine;
|
||||
BOOL bSerNumRow;
|
||||
}struLine;
|
||||
public:
|
||||
|
||||
static CSVHeadMap csvHeadMap[CSV_HEAD_TOTAL];
|
||||
static CSVRowHeadMap csvRowHeadMap[CSV_ROW_HEAD_TOTAL];
|
||||
|
||||
void Open(const CString& ReportArchiveFile, bool append = true);
|
||||
void Close();
|
||||
void AdjustPathAndGenerateArchiveFile(const CString& szFileName, const CString& strSerialNumber, const CString& strProductNumber, const bool& bToSingleFile, const PdcaReport* vPdcaReport,
|
||||
const int& iItemSize, const bool& bChangeRow, const int& iReportSize, const BOOL& bDefFormat = FALSE, const int& iBeginIndex = 1,
|
||||
const ReportType& iReportType = REPORT_NORMAL, const BOOL& bFirstAppend = FALSE, const BOOL bIncludeHead = FALSE);
|
||||
void GenerateArchiveFileCSV(CString csvFileFullPath);
|
||||
BOOL FileExists(LPCTSTR pstrFileName);
|
||||
CString Pro_Precision(const double& value, const int& iPreci = 4);
|
||||
bool GetSerialNumAndTestDataTime(const CString& strSerialNumber, int& iLastNum, const bool bChangeRow);
|
||||
bool AdjustHaveExist(const CString& szFileName, const int& iItemSize, const int& iLastNum);
|
||||
bool AdjustReportAndFillWhenEmpty(vector<PdcaReport>& vPdcaReportOutput, const CString& szFileName, const int& iItemSize, const int& iReportSize, const int& iBeginIndex);
|
||||
static bool CompareCondition(PdcaReport vReportA, PdcaReport vReportB);
|
||||
void GetDataAndPushInKeepVector(const CString& szFileName, const PdcaReport* vPdcaReport, const int& iItemSize);
|
||||
void OverWirteOrAppendInTheExistFile(const CString& szFileName, const ReportType& iReportType, const BOOL& bFirstAppend = FALSE, const BOOL bIncludeHead = FALSE);
|
||||
void CountAndFindSubStrInString(const CString& strAll, const CString& strSub, const CString& sliptStr, UINT& iCount, UINT& iSubPos);
|
||||
void GetReportHeadData(ReportHeadData& _ReportHeadData, bool& bAllNotShow, const BOOL bIncludeHead = FALSE);
|
||||
BOOL OverWrite(CFileIO* _file, vector<STRU_LINE>& _vStrLine, const UINT& iCount, const UINT& iSubPos, const BOOL& bNewLine = TRUE);
|
||||
public:
|
||||
|
||||
bool m_bOpen;
|
||||
bool m_bArchiveToSingleFile;
|
||||
bool m_bLastArchiveToSingleFile;
|
||||
int m_dCountArchiveToOneFile;
|
||||
CFileIO m_fileIoArchive;
|
||||
int m_iReportSize;
|
||||
vector<int> m_vEmptyIndex;
|
||||
vector<PdcaReport> m_vPdcaReport;
|
||||
vector<ReportReserve> m_vPdcaReportReserve;
|
||||
CString m_strSerNum;
|
||||
CString m_strProNum;
|
||||
CString m_strDataTime;
|
||||
CString m_strSerNumCompare;
|
||||
CString m_strDataTimeCompare;
|
||||
CString m_strSerBuild;
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by PCDA_Report.rc
|
||||
//
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#define _APS_NEXT_RESOURCE_VALUE 1000
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 1000
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#endif
|
||||
#endif
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// PCDA_Report.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef VC_EXTRALEAN
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
#endif
|
||||
|
||||
#include "targetver.h"
|
||||
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
|
||||
#ifndef _AFX_NO_OLE_SUPPORT
|
||||
#include <afxole.h> // MFC OLE classes
|
||||
#include <afxodlgs.h> // MFC OLE dialog classes
|
||||
#include <afxdisp.h> // MFC Automation classes
|
||||
#endif // _AFX_NO_OLE_SUPPORT
|
||||
|
||||
#ifndef _AFX_NO_DB_SUPPORT
|
||||
#include <afxdb.h> // MFC ODBC database classes
|
||||
#endif // _AFX_NO_DB_SUPPORT
|
||||
|
||||
#ifndef _AFX_NO_DAO_SUPPORT
|
||||
#include <afxdao.h> // MFC DAO database classes
|
||||
#endif // _AFX_NO_DAO_SUPPORT
|
||||
|
||||
#ifndef _AFX_NO_OLE_SUPPORT
|
||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
||||
#endif
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error "include 'stdafx.h' before including this file for PCH"
|
||||
#endif
|
||||
|
||||
#define __PDCADLL_H
|
||||
|
||||
#include "PCDA_Report.h"
|
||||
#include "resource.h" // main symbols
|
||||
#include <algorithm>
|
||||
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
// Including SDKDDKVer.h defines the highest available Windows platform.
|
||||
|
||||
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
||||
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
||||
|
||||
#include <SDKDDKVer.h>
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Debug|x64|D:\Git_Metus\METUS_2020R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\PCDA_Report\|
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
DebugRelease|x64|D:\Git_Metus\METUS_2020R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\PCDA_Report\|
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Release|x64|D:\Git_Metus\METUS_2020R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\PCDA_Report\|
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -369,6 +369,12 @@ enum PRO_DATA
|
||||
CT_READ_Z_CONTROL_MODE,
|
||||
CT_WRITE_Z_CONTROL_MODE,
|
||||
|
||||
CT_READ_EXTRA_IO,
|
||||
CT_WRITE_EXTRA_IO,
|
||||
|
||||
CT_READ_MOTION_TYPE,
|
||||
CT_WRITE_MOTION_TYPE,
|
||||
|
||||
CT_DATA_TOTAL=255
|
||||
};
|
||||
enum EHOME_MODE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
#define MAX_OUTPUT_BUFFER_SIZE 2048
|
||||
#define MAX_RECIEVE_BUFFER_SIZE 30000
|
||||
#define MAX_RECIEVE_BUFFER_SIZE 3000
|
||||
// TCP, serial style routines
|
||||
struct SerialList
|
||||
{
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user