根据实际平台轴定义,修改轴号;升级开发环境

This commit is contained in:
zhengxuan.zhang
2024-02-26 17:35:26 +08:00
parent 5815739a4c
commit e086e9cea3
23 changed files with 418 additions and 232 deletions
+6 -20
View File
@@ -1,14 +1,12 @@
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15 # Visual Studio Version 17
VisualStudioVersion = 15.0.34112.143 VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_HexagonMI_EF3", "HSI_HexagonMI_EF3\HSI_HexagonMI_EF3.vcxproj", "{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_HexagonMI_EF3", "HSI_HexagonMI_EF3\HSI_HexagonMI_EF3.vcxproj", "{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACS Motion", "Motion\ACS Motion\ACS Motion.csproj", "{19741897-37D8-43EE-94A2-637975035CEA}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACS Motion", "Motion\ACS Motion\ACS Motion.csproj", "{19741897-37D8-43EE-94A2-637975035CEA}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_CONTROLLER_WPFTest", "..\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_GOOGOL_GTS800_WPFTest\HSI_CONTROLLER_WPFTest.csproj", "{A21A5B56-EB1C-4377-9E76-141FAC055988}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFSerialAssistant", "SerialAssistant\WPFSerialAssistant\WPFSerialAssistant.csproj", "{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFSerialAssistant", "SerialAssistant\WPFSerialAssistant\WPFSerialAssistant.csproj", "{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_SEVENOCEAN_EF1_CsTest", "HSI_SEVENOCEAN_EF1_CsTest\HSI_SEVENOCEAN_EF1_CsTest.csproj", "{7ED499CB-651C-4154-9741-EEF347BDBFB5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_SEVENOCEAN_EF1_CsTest", "HSI_SEVENOCEAN_EF1_CsTest\HSI_SEVENOCEAN_EF1_CsTest.csproj", "{7ED499CB-651C-4154-9741-EEF347BDBFB5}"
@@ -29,13 +27,12 @@ Global
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|Any CPU.ActiveCfg = Debug|Win32 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|Any CPU.ActiveCfg = Debug|Win32
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x64.ActiveCfg = Debug|x64 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x64.ActiveCfg = Debug|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x64.Build.0 = Debug|x64 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x64.Build.0 = Debug|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x86.ActiveCfg = Debug|Win32 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x86.ActiveCfg = Debug|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x86.Build.0 = Debug|Win32 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Debug|x86.Build.0 = Debug|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|Any CPU.ActiveCfg = Release|Win32 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|Any CPU.ActiveCfg = Release|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x64.ActiveCfg = Release|x64 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x64.ActiveCfg = Release|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x64.Build.0 = Release|x64 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x64.Build.0 = Release|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x86.ActiveCfg = Release|Win32 {ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x86.ActiveCfg = Release|x64
{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}.Release|x86.Build.0 = Release|Win32
{19741897-37D8-43EE-94A2-637975035CEA}.Debug|Any CPU.ActiveCfg = Debug|x86 {19741897-37D8-43EE-94A2-637975035CEA}.Debug|Any CPU.ActiveCfg = Debug|x86
{19741897-37D8-43EE-94A2-637975035CEA}.Debug|x64.ActiveCfg = Debug|x64 {19741897-37D8-43EE-94A2-637975035CEA}.Debug|x64.ActiveCfg = Debug|x64
{19741897-37D8-43EE-94A2-637975035CEA}.Debug|x86.ActiveCfg = Debug|x86 {19741897-37D8-43EE-94A2-637975035CEA}.Debug|x86.ActiveCfg = Debug|x86
@@ -45,17 +42,6 @@ Global
{19741897-37D8-43EE-94A2-637975035CEA}.Release|x64.Build.0 = Release|x64 {19741897-37D8-43EE-94A2-637975035CEA}.Release|x64.Build.0 = Release|x64
{19741897-37D8-43EE-94A2-637975035CEA}.Release|x86.ActiveCfg = Release|x86 {19741897-37D8-43EE-94A2-637975035CEA}.Release|x86.ActiveCfg = Release|x86
{19741897-37D8-43EE-94A2-637975035CEA}.Release|x86.Build.0 = Release|x86 {19741897-37D8-43EE-94A2-637975035CEA}.Release|x86.Build.0 = Release|x86
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Debug|x64.ActiveCfg = Debug|x64
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Debug|x86.ActiveCfg = Debug|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Debug|x86.Build.0 = Debug|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Release|Any CPU.Build.0 = Release|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Release|x64.ActiveCfg = Release|x64
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Release|x64.Build.0 = Release|x64
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Release|x86.ActiveCfg = Release|Any CPU
{A21A5B56-EB1C-4377-9E76-141FAC055988}.Release|x86.Build.0 = Release|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|Any CPU.Build.0 = Debug|Any CPU {DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|x64.ActiveCfg = Debug|Any CPU {DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|x64.ActiveCfg = Debug|Any CPU
+7 -4
View File
@@ -21,12 +21,15 @@ static bool g_bOfflineOnly = false;
//1、剥离 Metus初步所需函数(14个函数,包含是否回家,运动初始化,版本,JOG运动,运动到指定位置等)并生成dll //1、剥离 Metus初步所需函数(14个函数,包含是否回家,运动初始化,版本,JOG运动,运动到指定位置等)并生成dll
// //
// //
// V0.1.10 2024/02/26
//---------------------------------------
//1、根据实际平台 电气层面轴定义,修改代码
// //
// //
// //轴名 电气层轴 左极限 右极限
// //X 1 - 30 730
// //Y 0 - 10 1000
// //Z 8 - 280 5
// //
// //
// //
+2 -2
View File
@@ -21,7 +21,7 @@
#endif #endif
const int HSI_APIVersionMajor = 1; const int HSI_APIVersionMajor = 1;
const int HSI_APIVersionMinor = 9; const int HSI_APIVersionMinor = 10;
const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1) const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// Interface API // Interface API
@@ -375,7 +375,7 @@ enum HSI_MOTION_IO_TYPE
}; };
//const UINT HSI_MOTION_AXIS_ALL = HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_Y | HSI_MOTION_AXIS_Z; //const UINT HSI_MOTION_AXIS_ALL = HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_Y | HSI_MOTION_AXIS_Z;
const UINT HSI_MOTION_AXIS_ALL = ACSC_AXIS_0 | ACSC_AXIS_1 | ACSC_AXIS_4; const UINT HSI_MOTION_AXIS_ALL = ACSC_AXIS_1 | ACSC_AXIS_0 | ACSC_AXIS_8;
enum HSI_MOTION_MOVE_TYPE enum HSI_MOTION_MOVE_TYPE
{ {
+6 -88
View File
@@ -1,18 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64"> <ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>x64</Platform> <Platform>x64</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64"> <ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>x64</Platform> <Platform>x64</Platform>
@@ -22,36 +14,21 @@
<ProjectGuid>{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}</ProjectGuid> <ProjectGuid>{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>HSI_Sevenocean_EF3</RootNamespace> <RootNamespace>HSI_Sevenocean_EF3</RootNamespace>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
<ProjectName>HSI_HexagonMI_EF3</ProjectName> <ProjectName>HSI_HexagonMI_EF3</ProjectName>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
@@ -62,35 +39,22 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 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 Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<IncludePath>\DirectXLib\Include;$(IncludePath)</IncludePath> <IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;\DirectXLib\Include;$(IncludePath)</IncludePath>
<OutDir>$(MSBuildProjectDirectory)\$(Platform)\$(Configuration)\</OutDir> <OutDir>$(MSBuildProjectDirectory)\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(MSBuildProjectDirectory)\obj</IntDir> <IntDir>$(MSBuildProjectDirectory)\obj</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<IncludePath>\DirectXLib\Include;$(IncludePath)</IncludePath> <IncludePath>\DirectXLib\Include;$(IncludePath)</IncludePath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile> <ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HSI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HSI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -103,36 +67,10 @@
<AdditionalDependencies>hid.lib;setupapi.lib;DirectXLib\lib\x64\d2d1.lib;DirectXLib\lib\x64\d3d9.lib;DirectXLib\lib\x64\d3d10.lib;DirectXLib\lib\x64\d3d10_1.lib;DirectXLib\lib\x64\d3d11.lib;DirectXLib\lib\x64\d3dcompiler.lib;DirectXLib\lib\x64\D3DCSX.lib;DirectXLib\lib\x64\d3dx9.lib;DirectXLib\lib\x64\d3dx10.lib;DirectXLib\lib\x64\d3dx11.lib;DirectXLib\lib\x64\d3dxof.lib;DirectXLib\lib\x64\dinput8.lib;DirectXLib\lib\x64\dsound.lib;DirectXLib\lib\x64\dwrite.lib;DirectXLib\lib\x64\DxErr.lib;DirectXLib\lib\x64\dxgi.lib;DirectXLib\lib\x64\dxguid.lib;DirectXLib\lib\x64\X3DAudio.lib;DirectXLib\lib\x64\xapobase.lib;DirectXLib\lib\x64\XAPOFX.lib;DirectXLib\lib\x64\XInput.lib;ACSCL_x64.LIB;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>hid.lib;setupapi.lib;DirectXLib\lib\x64\d2d1.lib;DirectXLib\lib\x64\d3d9.lib;DirectXLib\lib\x64\d3d10.lib;DirectXLib\lib\x64\d3d10_1.lib;DirectXLib\lib\x64\d3d11.lib;DirectXLib\lib\x64\d3dcompiler.lib;DirectXLib\lib\x64\D3DCSX.lib;DirectXLib\lib\x64\d3dx9.lib;DirectXLib\lib\x64\d3dx10.lib;DirectXLib\lib\x64\d3dx11.lib;DirectXLib\lib\x64\d3dxof.lib;DirectXLib\lib\x64\dinput8.lib;DirectXLib\lib\x64\dsound.lib;DirectXLib\lib\x64\dwrite.lib;DirectXLib\lib\x64\DxErr.lib;DirectXLib\lib\x64\dxgi.lib;DirectXLib\lib\x64\dxguid.lib;DirectXLib\lib\x64\X3DAudio.lib;DirectXLib\lib\x64\xapobase.lib;DirectXLib\lib\x64\XAPOFX.lib;DirectXLib\lib\x64\XInput.lib;ACSCL_x64.LIB;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile> <ModuleDefinitionFile>
</ModuleDefinitionFile> </ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(LocalDebuggerWorkingDirectory)\ACS;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;$(LocalDebuggerWorkingDirectory)\ACS;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
<Command>copy "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)HSI_SEVENOCEAN_EF1_CsTest\bin\Debug\HSI.dll" <Command>copy "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)HSI_SEVENOCEAN_EF1_CsTest\bin\Debug\HSI.dll"</Command>
copy "$(TargetDir)$(ProjectName).dll" "C:\Hexagon\Metus2020R1\HSI_Sevenocean_EF3.dll"
copy "$(TargetDir)$(ProjectName).dll" "C:\Hexagon\Metus-7.10.1 967\HSI_Sevenocean_EF3.dll"
copy "$(TargetDir)$(ProjectName).dll" "E:\HexagonProjects\2022-05-直线电机平台\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_Sevenocean_EF1_WPFTest\bin\x64\Debug\HSI.dll"</Command>
</PostBuildEvent>
<PreBuildEvent>
<Command>version.cmd</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HSI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$ (ProjectDir)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\HSI_Sevenocean_EF3.def</ModuleDefinitionFile>
</Link>
<PostBuildEvent>
<Command>xcopy "$(OutDir)\$(ProjectName).dll" ..\HSI_GOOGOL_GTS800_WPFTest\bin\Debug\HSI.dll/D /F /Y
xcopy "$(OutDir)\$(ProjectName).pdb" ..\HSI_GOOGOL_GTS800_WPFTest\bin\Debug\HSI.pdb /D /F /Y</Command>
</PostBuildEvent> </PostBuildEvent>
<PreBuildEvent> <PreBuildEvent>
<Command>version.cmd</Command> <Command>version.cmd</Command>
@@ -157,24 +95,6 @@ xcopy "$(OutDir)\$(ProjectName).pdb" ..\HSI_GOOGOL_GTS800_WPFTest\bin\Debug\HSI.
<AdditionalDependencies>hid.lib;setupapi.lib;DirectXLib\lib\x64\d2d1.lib;DirectXLib\lib\x64\d3d9.lib;DirectXLib\lib\x64\d3d10.lib;DirectXLib\lib\x64\d3d10_1.lib;DirectXLib\lib\x64\d3d11.lib;DirectXLib\lib\x64\d3dcompiler.lib;DirectXLib\lib\x64\D3DCSX.lib;DirectXLib\lib\x64\d3dx9.lib;DirectXLib\lib\x64\d3dx10.lib;DirectXLib\lib\x64\d3dx11.lib;DirectXLib\lib\x64\d3dxof.lib;DirectXLib\lib\x64\dinput8.lib;DirectXLib\lib\x64\dsound.lib;DirectXLib\lib\x64\dwrite.lib;DirectXLib\lib\x64\DxErr.lib;DirectXLib\lib\x64\dxgi.lib;DirectXLib\lib\x64\dxguid.lib;DirectXLib\lib\x64\X3DAudio.lib;DirectXLib\lib\x64\xapobase.lib;DirectXLib\lib\x64\XAPOFX.lib;DirectXLib\lib\x64\XInput.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>hid.lib;setupapi.lib;DirectXLib\lib\x64\d2d1.lib;DirectXLib\lib\x64\d3d9.lib;DirectXLib\lib\x64\d3d10.lib;DirectXLib\lib\x64\d3d10_1.lib;DirectXLib\lib\x64\d3d11.lib;DirectXLib\lib\x64\d3dcompiler.lib;DirectXLib\lib\x64\D3DCSX.lib;DirectXLib\lib\x64\d3dx9.lib;DirectXLib\lib\x64\d3dx10.lib;DirectXLib\lib\x64\d3dx11.lib;DirectXLib\lib\x64\d3dxof.lib;DirectXLib\lib\x64\dinput8.lib;DirectXLib\lib\x64\dsound.lib;DirectXLib\lib\x64\dwrite.lib;DirectXLib\lib\x64\DxErr.lib;DirectXLib\lib\x64\dxgi.lib;DirectXLib\lib\x64\dxguid.lib;DirectXLib\lib\x64\X3DAudio.lib;DirectXLib\lib\x64\xapobase.lib;DirectXLib\lib\x64\XAPOFX.lib;DirectXLib\lib\x64\XInput.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </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;NDEBUG;_WINDOWS;_USRDLL;HSI_SEVENOCEAN_EF3_EXPORTS;HSI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\HSI_Sevenocean_EF3.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="ACS\ACSC.h" /> <ClInclude Include="ACS\ACSC.h" />
<ClInclude Include="HSI.h" /> <ClInclude Include="HSI.h" />
@@ -197,9 +117,7 @@ xcopy "$(OutDir)\$(ProjectName).pdb" ..\HSI_GOOGOL_GTS800_WPFTest\bin\Debug\HSI.
<ClCompile Include="HSI_Sevenocean_EF3.cpp" /> <ClCompile Include="HSI_Sevenocean_EF3.cpp" />
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+15 -11
View File
@@ -479,7 +479,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
} }
#endif #endif
//使能电机 //使能电机
int Axes[] = {ACSC_AXIS_0, ACSC_AXIS_1, ACSC_AXIS_4, -1}; int Axes[] = {ACSC_AXIS_1, ACSC_AXIS_0, ACSC_AXIS_8, -1}; //根据电气层面定义,这里的0对应X轴,1对应Y轴,8对应Z轴
if (!acsc_EnableM(handleACS, Axes, nullptr)) if (!acsc_EnableM(handleACS, Axes, nullptr))
{ {
g_pLogger->SendAndFlushWithTime(L"[ACS Motion] ACS Motors Enable Failed!\n"); g_pLogger->SendAndFlushWithTime(L"[ACS Motion] ACS Motors Enable Failed!\n");
@@ -1146,6 +1146,10 @@ HSI_STATUS HSI_Motion::HomeMachine(bool bHomed)
m_WriteByte = Send_Command(0, (const char*)m_cSendData, 2); m_WriteByte = Send_Command(0, (const char*)m_cSendData, 2);
Sleep(5); Sleep(5);
//回家表示改为1
m_Home_Machine_Axis[1] = 1;
m_Home_Machine_Axis[0] = 1;
m_Home_Machine_Axis[8] = 1;
g_pLogger->SendAndFlushWithTime(L"[HomeMachine] Go Home success\n"); g_pLogger->SendAndFlushWithTime(L"[HomeMachine] Go Home success\n");
g_pLogger->SendAndFlushWithTime(L"[HomeMachine] Out\n"); g_pLogger->SendAndFlushWithTime(L"[HomeMachine] Out\n");
} }
@@ -1510,10 +1514,10 @@ HSI_STATUS HSI_Motion::IsHomed(bool& bHomed)
return HSI_STATUS_NORMAL; return HSI_STATUS_NORMAL;
} }
// 判断是否需要回家,读取ACS控制器回家标志位,来判断本次上电是否已经回过家 // 判断是否需要回家,读取ACS控制器回家标志位,来判断本次上电是否已经回过家 1:已经回过家,0:未回过家
if (!acsc_ReadInteger(handleACS, ACSC_NONE, "YAW_HOME_DONE", ACSC_NONE, ACSC_NONE, ACSC_NONE, ACSC_NONE, if (!acsc_ReadInteger(handleACS, ACSC_NONE, "YAW_HOME_DONE", ACSC_NONE, ACSC_NONE, ACSC_NONE, ACSC_NONE,
isHomed, isHomed,
nullptr)) nullptr))
{ {
g_pLogger->SendAndFlushWithTime(L"[IsHomed] ACS Read ISHOMED Flag Error\n"); g_pLogger->SendAndFlushWithTime(L"[IsHomed] ACS Read ISHOMED Flag Error\n");
ErrorsHandler(); ErrorsHandler();
@@ -1527,7 +1531,7 @@ HSI_STATUS HSI_Motion::IsHomed(bool& bHomed)
isHomed[1], isHomed[2]); isHomed[1], isHomed[2]);
//如果各个轴标志位 已经回过家 //如果各个轴标志位 已经回过家
if (isHomed[0] == 2 && isHomed[1] == 1 && isHomed[2] == 1 && isHomed[3] == 1) if (isHomed[0] == 1 && isHomed[1] == 1 && isHomed[2] == 1 && isHomed[3] == 1)
{ {
g_pLogger->SendAndFlushWithTime(L"[IsHomed] E_GTS_HOME_FINISHED\n"); g_pLogger->SendAndFlushWithTime(L"[IsHomed] E_GTS_HOME_FINISHED\n");
CurrentHomeMachineState = E_EF3_HOME_FINISHED; CurrentHomeMachineState = E_EF3_HOME_FINISHED;
@@ -2506,7 +2510,7 @@ HSI_STATUS HSI_Motion::StopJog()
m_WriteByte = Send_Command(0, (const char*)m_SendJogData, m_SendDataLength); m_WriteByte = Send_Command(0, (const char*)m_SendJogData, m_SendDataLength);
}*/ }*/
int Axes[] = {ACSC_AXIS_0, ACSC_AXIS_1, ACSC_AXIS_4, -1}; int Axes[] = {ACSC_AXIS_1, ACSC_AXIS_0, ACSC_AXIS_8, -1};
if (handleACS != ACSC_INVALID) if (handleACS != ACSC_INVALID)
{ {
if (!acsc_HaltM(handleACS, Axes, nullptr)) //停止JOG运动 if (!acsc_HaltM(handleACS, Axes, nullptr)) //停止JOG运动
@@ -2855,7 +2859,7 @@ HSI_STATUS HSI_Motion::GetPositionXyz(UINT AxisTypes, double& PositionX, double&
bGetPosition = false; bGetPosition = false;
return HSI_ACS_ERROR; return HSI_ACS_ERROR;
} }
if (!acsc_GetFPosition(handleACS, ACSC_AXIS_4, &PositionZ, nullptr)) if (!acsc_GetFPosition(handleACS, ACSC_AXIS_8, &PositionZ, nullptr))
{ {
g_pLogger->SendAndFlushWithTime(L"[GetPositionEncPrfMulti] get PositionZ failed\n"); g_pLogger->SendAndFlushWithTime(L"[GetPositionEncPrfMulti] get PositionZ failed\n");
ErrorsHandler(); ErrorsHandler();
@@ -3593,7 +3597,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P
//开始运动到指定位置,多轴运动 //开始运动到指定位置,多轴运动
int Axes[] = {ACSC_AXIS_0, ACSC_AXIS_1,ACSC_AXIS_4, -1}; //需要运动的轴 int Axes[] = {ACSC_AXIS_1, ACSC_AXIS_0,ACSC_AXIS_8, -1}; //需要运动的轴
double Points[] = {PositionY, PositionX, PositionZ}; //目标位置点 double Points[] = {PositionY, PositionX, PositionZ}; //目标位置点
if (!acsc_ToPointM(handleACS, 0, Axes, Points, nullptr)) //移动到绝对位置 if (!acsc_ToPointM(handleACS, 0, Axes, Points, nullptr)) //移动到绝对位置
{ {
@@ -4394,9 +4398,9 @@ void HSI_Motion::UpdateMotionState()
g_pLogger->SendAndFlushWithTime(L"[UpdateMotionState] Now wait Run End\n"); g_pLogger->SendAndFlushWithTime(L"[UpdateMotionState] Now wait Run End\n");
printf("\nWaiting for motion end\n"); printf("\nWaiting for motion end\n");
acsc_WaitMotionEnd(handleACS, ACSC_AXIS_1, INFINITE);//依次等待 X,Y,Z轴运动到位
acsc_WaitMotionEnd(handleACS, ACSC_AXIS_0, INFINITE); acsc_WaitMotionEnd(handleACS, ACSC_AXIS_0, INFINITE);
acsc_WaitMotionEnd(handleACS, ACSC_AXIS_1, INFINITE); acsc_WaitMotionEnd(handleACS, ACSC_AXIS_8, INFINITE);
acsc_WaitMotionEnd(handleACS, ACSC_AXIS_4, INFINITE);
printf("\nMotion end\n"); printf("\nMotion end\n");
@@ -5271,7 +5275,7 @@ HSI_STATUS HSI_Motion::AbortMotion() //
g_IsClose = true; g_IsClose = true;
g_pLogger->SendAndFlushWithTime(L"[AbortMotion] In\n"); g_pLogger->SendAndFlushWithTime(L"[AbortMotion] In\n");
int Axes[] = {ACSC_AXIS_0, ACSC_AXIS_1, ACSC_AXIS_4, -1}; int Axes[] = {ACSC_AXIS_1, ACSC_AXIS_0, ACSC_AXIS_8, -1};
if (handleACS != ACSC_INVALID) if (handleACS != ACSC_INVALID)
{ {
if (!acsc_HaltM(handleACS, Axes, nullptr)) //停止JOG运动 if (!acsc_HaltM(handleACS, Axes, nullptr)) //停止JOG运动
@@ -7923,7 +7927,7 @@ short HSI_Motion::AxisConvertIndex(UINT AxisTypes)
} }
case HSI_MOTION_AXIS_Z: case HSI_MOTION_AXIS_Z:
{ {
AxisNumber = 0x04; AxisNumber = 0x08;
break; break;
} }
case HSI_MOTION_AXIS_R: case HSI_MOTION_AXIS_R:
+1 -1
View File
@@ -432,7 +432,7 @@ public:
short m_AxisThread; short m_AxisThread;
int m_IsExMotion; //0是xyz用的,1是单轴用的,2都不用 int m_IsExMotion; //0是xyz用的,1是单轴用的,2都不用
int m_Home_Machine_Axis[5]; //用于启动时需要回原点的轴号选择 int m_Home_Machine_Axis[10]; //用于启动时需要回原点的轴号选择
int m_Home_Pos_Axis[5]; //记住关闭电源时的位置,用于判断是否还需要回原点 int m_Home_Pos_Axis[5]; //记住关闭电源时的位置,用于判断是否还需要回原点
int m_IsHomeEncPos; //是否启动实际位置判断是否回家,默认0,1启用,0关闭 int m_IsHomeEncPos; //是否启动实际位置判断是否回家,默认0,1启用,0关闭
int m_IsHomePrfPos; //是否启动规划位置判断是否回家,默认1,1启用,0关闭 int m_IsHomePrfPos; //是否启动规划位置判断是否回家,默认1,1启用,0关闭
+3 -1
View File
@@ -9,7 +9,9 @@
#include <share.h> #include <share.h>
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
#include "stdafx.h"
#include <locale.h>
#include <string>
using namespace std; using namespace std;
const long LOGINIT = 0x0001; const long LOGINIT = 0x0001;
const long LOGACTIONS = 0x0002; const long LOGACTIONS = 0x0002;
+2 -2
View File
@@ -12,5 +12,5 @@
#define HSI_VERSION_REVNUM #define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ ) #define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ ) #define HSI_VERSION_BUILD_TIME _T(__TIME__ )
#define HSI_FILE_DESCRIPTION "2022.12.01 / 15:52 " #define HSI_FILE_DESCRIPTION "2024.02.26 / 16:16 "
#define HSI_FILE_CSDESCRIPTION _T("2022.12.01 / 15:52 ") #define HSI_FILE_CSDESCRIPTION _T("2024.02.26 / 16:16 ")
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -74,9 +74,9 @@ namespace HSI_SEVENOCEAN_EF1_CsTest
#endregion #endregion
//6 是否回家 //6 是否回家
//var bHomed = true; var bHomed = true;
//rStatus = Motion.IsHomed(ref bHomed); rStatus = Motion.IsHomed(ref bHomed);
//Console.WriteLine("Motion.IsHomed:{0}", rStatus); Console.WriteLine("Motion.IsHomed:{0}", rStatus);
var bexit = false; var bexit = false;
var SpeedGear = 0.2; var SpeedGear = 0.2;
var dPos = new double[3]; var dPos = new double[3];
Binary file not shown.
+19 -8
View File
@@ -80,7 +80,7 @@
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.formsPlot1 = new ScottPlot.FormsPlot(); this.formsPlot1 = new ScottPlot.FormsPlot();
this.tabPage2 = new System.Windows.Forms.TabPage(); this.tabPage2 = new System.Windows.Forms.TabPage();
this.sharpGLViewportControl1 = new HexcalMC.Base.SharpGLViewportControl(); this.openGLControl1 = new SharpGL.OpenGLControl();
this.elementHost1 = new System.Windows.Forms.Integration.ElementHost(); this.elementHost1 = new System.Windows.Forms.Integration.ElementHost();
this.groupBox7 = new System.Windows.Forms.GroupBox(); this.groupBox7 = new System.Windows.Forms.GroupBox();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
@@ -146,6 +146,7 @@
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.openGLControl1)).BeginInit();
this.groupBox7.SuspendLayout(); this.groupBox7.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox5.SuspendLayout(); this.groupBox5.SuspendLayout();
@@ -635,7 +636,7 @@
// //
// tabPage2 // tabPage2
// //
this.tabPage2.Controls.Add(this.sharpGLViewportControl1); this.tabPage2.Controls.Add(this.openGLControl1);
this.tabPage2.Controls.Add(this.elementHost1); this.tabPage2.Controls.Add(this.elementHost1);
this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2"; this.tabPage2.Name = "tabPage2";
@@ -645,12 +646,21 @@
this.tabPage2.Text = "3D绘图"; this.tabPage2.Text = "3D绘图";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
// //
// sharpGLViewportControl1 // openGLControl1
// //
this.sharpGLViewportControl1.Location = new System.Drawing.Point(28, 16); this.openGLControl1.DrawFPS = false;
this.sharpGLViewportControl1.Name = "sharpGLViewportControl1"; this.openGLControl1.Location = new System.Drawing.Point(10, 16);
this.sharpGLViewportControl1.Size = new System.Drawing.Size(699, 314); this.openGLControl1.Name = "openGLControl1";
this.sharpGLViewportControl1.TabIndex = 1; this.openGLControl1.OpenGLVersion = SharpGL.Version.OpenGLVersion.OpenGL2_1;
this.openGLControl1.RenderContextType = SharpGL.RenderContextType.DIBSection;
this.openGLControl1.RenderTrigger = SharpGL.RenderTrigger.TimerBased;
this.openGLControl1.Size = new System.Drawing.Size(724, 314);
this.openGLControl1.TabIndex = 1;
this.openGLControl1.Visible = false;
this.openGLControl1.OpenGLInitialized += new System.EventHandler(this.openGLControl1_OpenGLInitialized);
this.openGLControl1.OpenGLDraw += new SharpGL.RenderEventHandler(this.openGLControl1_OpenGLDraw);
this.openGLControl1.GDIDraw += new SharpGL.RenderEventHandler(this.openGLControl1_GDIDraw);
this.openGLControl1.Resized += new System.EventHandler(this.openGLControl1_Resized);
// //
// elementHost1 // elementHost1
// //
@@ -1231,6 +1241,7 @@
this.tabControl1.ResumeLayout(false); this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false); this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false); this.tabPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.openGLControl1)).EndInit();
this.groupBox7.ResumeLayout(false); this.groupBox7.ResumeLayout(false);
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();
@@ -1355,6 +1366,6 @@
private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.TabPage tabPage2;
private ScottPlot.FormsPlot formsPlot1; private ScottPlot.FormsPlot formsPlot1;
private System.Windows.Forms.Integration.ElementHost elementHost1; private System.Windows.Forms.Integration.ElementHost elementHost1;
private Base.SharpGLViewportControl sharpGLViewportControl1; private SharpGL.OpenGLControl openGLControl1;
} }
} }
+349 -88
View File
@@ -1,46 +1,76 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using ACS.SPiiPlusNET; using ACS.SPiiPlusNET;
using HexcalMC.Base; using HexcalMC.Base;
using HexcalMC.Form; using HexcalMC.Form;
using HexcalMC.Hexcal; using HexcalMC.Hexcal;
using HexcalMC.Properties; using HexcalMC.Properties;
using SharpGL;
using Telerik.WinControls.UI; using Telerik.WinControls.UI;
namespace HexcalMC namespace HexcalMC
{ {
//定一个 回家状态枚举,包括 从未回家,正在回家,已经回家
public enum HomeStates
{
None, //默认状态
NotHome,
Homing,
Homed
}
//定义 运动状态枚举,包括 正在运动,运动到位,Jog运动
public enum MotionStates
{
None, //默认状态
Moving,
InPos,
Jogging
}
public partial class MainFrom : RadRibbonForm public partial class MainFrom : RadRibbonForm
{ {
private List<Point3D> _pointCloud = new List<Point3D>(); //运动中点集合
public MainFrom() public MainFrom()
{ {
InitializeComponent(); InitializeComponent();
var sharpGlViewportControl = new SharpGLViewportControl #region 3D
{
Dock = DockStyle.Fill
};
var tabPage = new TabPage("3D 窗口"); //var sharpGlViewportControl = new SharpGLViewportControl
tabPage.Controls.Add(sharpGlViewportControl); //{
tabControl1.TabPages.Add(tabPage); // Dock = DockStyle.Fill
//};
//var tabPage = new TabPage("3D 窗口");
//tabPage.Controls.Add(sharpGlViewportControl);
//tabControl1.TabPages.Add(tabPage);
//// 设置容器控件的 DoubleBuffered 属性为 true
//DoubleBuffered = true;
//// 创建一个包含点云数据的列表
//var points = new List<Point3D>
//{
// new Point3D(0, 0, 0),
// new Point3D(1, 1, 1),
// new Point3D(-1, -1, -1)
// // 可以添加更多的点云数据
//};
//// 将点云数据传递给 SharpGLViewportControl
//sharpGlViewportControl.SetPointCloud(points);
tabControl1.TabPages.RemoveAt(1);
#endregion
// 设置容器控件的 DoubleBuffered 属性为 true
DoubleBuffered = true;
// 创建一个包含点云数据的列表
var points = new List<Point3D>
{
new Point3D(0, 0, 0),
new Point3D(1, 1, 1),
new Point3D(-1, -1, -1)
// 可以添加更多的点云数据
};
// 将点云数据传递给 SharpGLViewportControl
sharpGlViewportControl.SetPointCloud(points);
} }
private void MainFrom_Load(object sender, EventArgs e) private void MainFrom_Load(object sender, EventArgs e)
@@ -52,22 +82,19 @@ namespace HexcalMC
//加载配置文件 //加载配置文件
LoadConfig(); LoadConfig();
double[] dataX = { 1, 2, 3, 4, 5 };
double[] dataY = { 1, 4, 9, 16, 25 };
formsPlot1.Plot.AddScatter(dataX, dataY);
formsPlot1.Refresh();
//启动界面刷新 //启动界面刷新
timer_RefreshUI.Start(); timer_RefreshUI.Start();
//
} }
private void MainFrom_Shown(object sender, EventArgs e) //窗体显示准备好接受用户输入时发生 private void MainFrom_Shown(object sender, EventArgs e) //窗体显示准备好接受用户输入时发生
{ {
//启动服务端,用于接收hexcal传来的指令 //启动服务端,用于接收hexcal传来的指令
StartServer(); StartServer();
//Plot3D();
} }
private void MainFrom_FormClosed(object sender, FormClosedEventArgs e) private void MainFrom_FormClosed(object sender, FormClosedEventArgs e)
@@ -95,24 +122,58 @@ namespace HexcalMC
Errors.StatusWrite.Close(); Errors.StatusWrite.Close();
} }
//定一个 回家状态枚举,包括 从未回家,正在回家,已经回家 private void LoadConfig() //加载配置文件
private enum HomeStates
{ {
None, //默认状态 //判断配置文件是否存在
NotHome, if (!File.Exists(StrConfigFile))
Homing, {
Homed MessageBox.Show("配置文件不存在,请检查配置文件", "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//正限位
X_MAXSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "X_MAXSTROKESW");
Y_MAXSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Y_MAXSTROKESW");
Z_MAXSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Z_MAXSTROKESW");
//负限位
X_MINSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "X_MINSTROKESW");
Y_MINSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Y_MINSTROKESW");
Z_MINSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Z_MINSTROKESW");
} }
//定义 运动状态枚举,包括 正在运动,运动到位,Jog运动 private void Plot2D(List<Point3D> pointCloud)
private enum MotionStates
{ {
None, //默认状态 // 清空画布
Moving, formsPlot1.Plot.Clear();
InPos,
Jogging List<double> dataX = new List<double>();
List<double> dataY = new List<double>();
foreach (Point3D point3D in pointCloud)
{
dataX.Add(point3D.X);
dataY.Add(point3D.Y);
}
formsPlot1.Plot.AddScatter(dataX.ToArray(), dataY.ToArray());
formsPlot1.Refresh();
} }
private void Plot3D() //绘制3D图
{
List<Point3D> points = new List<Point3D>();
// 假设已经有了一些点的数据,将其添加到 List<Point3D> 对象中
points.Add(new Point3D(1, 2, 3));
points.Add(new Point3D(4, 5, 6));
LoadPoints(points);
}
#region #region
private Api _acs; private Api _acs;
@@ -139,15 +200,16 @@ namespace HexcalMC
private Label[] _mLblRightLimit; //右限位 private Label[] _mLblRightLimit; //右限位
private HomeStates _homeStates; //回家状态 private HomeStates _homeStates; //回家状态
private MotionStates _motionStates; //运动状态 private MotionStates _currentMotionState; //当前运动状态
private readonly int _motion_timeout = 5000; //定义运动超时时间 private readonly int _motionTimeout = 5000; //定义运动超时时间
public static Axis[] USE_AXIS = public static Axis[] USE_AXIS =
{ Axis.ACSC_AXIS_0, Axis.ACSC_AXIS_1, Axis.ACSC_AXIS_4, Axis.ACSC_NONE }; //定义启用的轴,后面运动时会使用 { Axis.ACSC_AXIS_0, Axis.ACSC_AXIS_1, Axis.ACSC_AXIS_4, Axis.ACSC_NONE }; //定义启用的轴,后面运动时会使用
//定义 XYZ三个轴的左右行程范围 //定义 XYZ三个轴的左右行程范围
public string strConfigFile = Application.StartupPath + "\\File\\config.ini"; public string StrConfigFile = Application.StartupPath + "\\File\\config.ini";
public static double X_MAXSTROKESW = 100.0; //正限位 public static double X_MAXSTROKESW = 100.0; //正限位
public static double Y_MAXSTROKESW = 50.0; public static double Y_MAXSTROKESW = 50.0;
public static double Z_MAXSTROKESW = 10.0; public static double Z_MAXSTROKESW = 10.0;
@@ -156,7 +218,6 @@ namespace HexcalMC
public static double Y_MINSTROKESW = -50.0; public static double Y_MINSTROKESW = -50.0;
public static double Z_MINSTROKESW = -10.0; public static double Z_MINSTROKESW = -10.0;
#endregion #endregion
#region hexcal变量区 #region hexcal变量区
@@ -230,6 +291,53 @@ namespace HexcalMC
} }
} }
public static string ConstructString(string variableName, double[] values)
{
string result = variableName + " ";
for (int i = 0; i < values.Length; i++)
{
result += values[i].ToString("F6");
if (i < values.Length - 1)
{
result += ", ";
}
}
return result;
}
public static string ConstructPosString(Point3D point)
{
double[] values = { point.X, point.Y, point.Z, 0.0, 0.0, 0.0, 0.0 };
return ConstructString("POS", values);
}
public static Point3D ParsePoint3DFromCommand(string input)
{
string[] parts = input.Split(' ')[1].Split(',');
if (parts.Length >= 3)
{
double x = double.Parse(parts[0]);
double y = double.Parse(parts[1]);
double z = double.Parse(parts[2]);
return new Point3D(x, y, z);
}
throw new ArgumentException("输入字符串格式不正确。");
}
private void CheckPlatformStatus()
{
if (_currentMotionState == MotionStates.None || _currentMotionState == MotionStates.InPos) //默认或到位
{
SendMsgToHexcal("READY");
}
else
{
SendMsgToHexcal("BUSY");
}
}
private void ParseHexcalMsg(string msg) //编写一个Hexcal协议解析函数 private void ParseHexcalMsg(string msg) //编写一个Hexcal协议解析函数
{ {
DebugDfn.AddLogText("正在解析" + msg); DebugDfn.AddLogText("正在解析" + msg);
@@ -240,16 +348,17 @@ namespace HexcalMC
if (msg.Contains("\x02") || msg.Contains("\u0002")) if (msg.Contains("\x02") || msg.Contains("\u0002"))
{ {
// 发送 "READY" 字符串作为响应 CheckPlatformStatus();
byte[] response = Encoding.ASCII.GetBytes("READY");
SendMsgToHexcal("READY");
} }
else if (msg.Contains("\x03") || msg.Contains("\u0003")) else if (msg.Contains("\x03") || msg.Contains("\u0003"))
{ {
// 发送 "READY" 字符串作为响应 CheckPlatformStatus();
byte[] response = Encoding.ASCII.GetBytes("READY");
SendMsgToHexcal("READY");
} }
else if (msg.Contains("^B")) //查询状态, READY或BUSY
{
CheckPlatformStatus();
}
else if (msg.Contains("CMMTYP")) //测量机类型 else if (msg.Contains("CMMTYP")) //测量机类型
{ {
SendMsgToHexcal("CMMTYP MA 19617, FDC V15.00, 6 6 2 , 0"); SendMsgToHexcal("CMMTYP MA 19617, FDC V15.00, 6 6 2 , 0");
@@ -258,17 +367,22 @@ namespace HexcalMC
{ {
SendMsgToHexcal("00-000-000-00000 FDC V51.04.0000 DATE: 12/21/22 TIME: 12:50:55"); SendMsgToHexcal("00-000-000-00000 FDC V51.04.0000 DATE: 12/21/22 TIME: 12:50:55");
} }
else if (msg.Contains("^B")) //查询状态, READY或BUSY
{
SendMsgToHexcal("READY");
}
else if (msg.Contains("SHOW MAXSTROKESW")) //最大行程,根据实际情况填写 else if (msg.Contains("SHOW MAXSTROKESW")) //最大行程,根据实际情况填写
{ {
SendMsgToHexcal("MAXSTROKESW 233.200000,346.500000,15.100000,0.000000,0.000000,0.000000,0.000000"); //SendMsgToHexcal("MAXSTROKESW 233.200000,346.500000,15.100000,0.000000,0.000000,0.000000,0.000000");
double[] values = { X_MAXSTROKESW, Y_MAXSTROKESW, Z_MAXSTROKESW, 0.0, 0.0, 0.0, 0.0 };
string resultString = ConstructString("MAXSTROKESW", values);
SendMsgToHexcal(resultString);
} }
else if (msg.Contains("SHOW MINSTROKESW")) //最小行程,根据实际情况填写 else if (msg.Contains("SHOW MINSTROKESW")) //最小行程,根据实际情况填写
{ {
SendMsgToHexcal("MINSTROKESW -68.800000,-55.500000,-286.900000,0.000000,0.000000,0.000000,0.000000"); //SendMsgToHexcal("MINSTROKESW -68.800000,-55.500000,-286.900000,0.000000,0.000000,0.000000,0.000000");
double[] values = { X_MINSTROKESW, Y_MINSTROKESW, Z_MINSTROKESW, 0.0, 0.0, 0.0, 0.0 };
string resultString = ConstructString("MINSTROKESW", values);
SendMsgToHexcal(resultString);
} }
else if (msg.Contains("SHOW MAXVEL")) //最大速度 else if (msg.Contains("SHOW MAXVEL")) //最大速度
{ {
@@ -287,11 +401,11 @@ namespace HexcalMC
{ {
SendMsgToHexcal("X_SENSAXIS 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"); SendMsgToHexcal("X_SENSAXIS 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
} }
else if (msg.Contains("SHOW Y_SENSAXIS")) //查询Y轴行程 else if (msg.Contains("SHOW Y_SENSAXIS")) //查询Y轴
{ {
SendMsgToHexcal("Y_SENSAXIS 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"); SendMsgToHexcal("Y_SENSAXIS 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
} }
else if (msg.Contains("SHOW Z_SENSAXIS")) //查询Z轴行程 else if (msg.Contains("SHOW Z_SENSAXIS")) //查询Z轴
{ {
SendMsgToHexcal("Z_SENSAXIS 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"); SendMsgToHexcal("Z_SENSAXIS 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
} }
@@ -352,17 +466,26 @@ namespace HexcalMC
else if (msg.Contains("AUTZER")) //回家指令 else if (msg.Contains("AUTZER")) //回家指令
{ {
SendMsgToHexcal("%"); //收到并执行,同时状态改为忙碌 SendMsgToHexcal("%"); //收到并执行,同时状态改为忙碌
//执行回家
Ishome();
} }
else if (msg.Contains("MOVABS")) //移动指令,解析移动位置 else if (msg.Contains("MOVABS")) //移动指令,解析移动位置
{ {
//MOVABS 0.015000,127.172997,-114.897003,0.000000\r\n //收到指令 ,形如 MOVABS 0.015000,127.172997,-114.897003,0.000000\r\n
SendMsgToHexcal("%"); SendMsgToHexcal("%");
Point3D point = ParsePoint3DFromCommand(msg);
SetPositionXyz(point); //开始移动
_pointCloud.Add(point); //添加到点集合
} }
else if (msg.Contains("GETPOS")) //获取位置 else if (msg.Contains("GETPOS")) //获取位置
{ {
SendMsgToHexcal("POS 167.553898,-55.400421,-208.548678,0.000000,0.000000,0.000000,0.000000"); //SendMsgToHexcal("POS 167.553898,-55.400421,-208.548678,0.000000,0.000000,0.000000,0.000000");
Point3D point3D = GetPositionXyz(); //获取当前位置
string resultString = ConstructPosString(point3D);
SendMsgToHexcal(resultString);
} }
else else
{ {
@@ -605,9 +728,9 @@ namespace HexcalMC
if (_acs != null && _mBConnected) if (_acs != null && _mBConnected)
{ {
var yaw_home = _acs.ReadVariable("YAW_HOME_DONE"); var yawHome = _acs.ReadVariable("YAW_HOME_DONE");
if (yaw_home != null && (bool)yaw_home) if (yawHome != null && (bool)yawHome)
{ {
//弹窗提示 //弹窗提示
MessageBox.Show("轴已经回家", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("轴已经回家", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
@@ -625,16 +748,18 @@ namespace HexcalMC
_acs.RunBuffer(ProgramBuffer.ACSC_BUFFER_6, null); //执行回家指令,这里的buffer6是回家指令的buffer _acs.RunBuffer(ProgramBuffer.ACSC_BUFFER_6, null); //执行回家指令,这里的buffer6是回家指令的buffer
_homeStates = HomeStates.Homing; _homeStates = HomeStates.Homing;
_motionStates = MotionStates.Moving; _currentMotionState = MotionStates.Moving;
DebugDfn.AddLogText("回家运动中");
//等待回家完成 //等待回家完成
for (int i = 0; i < USE_AXIS.Length; i++) for (int i = 0; i < USE_AXIS.Length; i++)
{ {
_acs.WaitMotionEnd(USE_AXIS[i], _motion_timeout); //等待回家完成 _acs.WaitMotionEnd(USE_AXIS[i], _motionTimeout); //等待回家完成
} }
_homeStates = HomeStates.Homed; _homeStates = HomeStates.Homed;
_motionStates = MotionStates.InPos; _currentMotionState = MotionStates.InPos;
DebugDfn.AddLogText("回家完成");
} }
else else
{ {
@@ -649,28 +774,181 @@ namespace HexcalMC
{ {
//运动相关变量初始化 //运动相关变量初始化
_homeStates = HomeStates.None; _homeStates = HomeStates.None;
_motionStates = MotionStates.None; _currentMotionState = MotionStates.None;
_currentMotionState = MotionStates.None;
//轴启用,加电 //轴启用,加电
_acs.EnableM(USE_AXIS); _acs.EnableM(USE_AXIS);
for (int i = 0; i < USE_AXIS.Length; i++)
{
_acs.WaitMotorEnabled(USE_AXIS[i], 1, _motionTimeout); //等待电机使能
}
DebugDfn.AddLogText("电机已启用");
//回家 //回家
Ishome(); Ishome();
} }
private bool IsWithinStrokes(Point3D point) //判断点是否在行程范围内
{
if (point.X >= X_MINSTROKESW && point.X <= X_MAXSTROKESW &&
point.Y >= Y_MINSTROKESW && point.Y <= Y_MAXSTROKESW &&
point.Z >= Z_MINSTROKESW && point.Z <= Z_MAXSTROKESW)
{
return true;
}
return false;
}
private void SetPositionXyz(Point3D point3D) //运动到指定位置 private void SetPositionXyz(Point3D point3D) //运动到指定位置
{ {
//判断 point3D是否合法 if (!_mBConnected)
if(point3D) {
DebugDfn.AddLogText("ACS平台未连接,请先点击连接");
MessageBox.Show("ACS平台未连接,请先点击连接", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (_currentMotionState != MotionStates.Moving)
{
_currentMotionState = MotionStates.Moving; //设置当前运动状态
//判断 point3D是否合法
if (point3D != null)
{
if (IsWithinStrokes(point3D)) //判断点是否在行程范围内
{
double[] pointsArray =
{
point3D.Y,
point3D.X,
point3D.Z
};
//执行运动指令
_acs.ToPointM(MotionFlags.ACSC_NONE, USE_AXIS, pointsArray); //多轴运动到指定位置
//等待运动完成
for (int i = 0; i < USE_AXIS.Length; i++)
{
_acs.WaitMotionEnd(USE_AXIS[i], _motionTimeout); //等待回家完成
}
_currentMotionState = MotionStates.InPos;
DebugDfn.AddLogText("运动到位");
}
else
{
DebugDfn.AddLogText("目标位置超出行程范围,请重新设置");
MessageBox.Show("目标位置超出行程范围,请重新设置", "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
DebugDfn.AddLogText("目标位置为空,请重新设置");
MessageBox.Show("目标位置为空,请重新设置", "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
} }
private void GetPositionXyz() //获取当前位置
private Point3D GetPositionXyz(int positionMode = 1) //获取当前位置
{ {
double xPosition = 0, yPosition = 0, zPosition = 0;
Point3D point3D = new Point3D(xPosition, yPosition, zPosition);
if (!_mBConnected)
{
DebugDfn.AddLogText("ACS平台未连接,请先点击连接");
MessageBox.Show("ACS平台未连接,请先点击连接", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return point3D;
}
//获取当前位置, 两种 GetRPositionGetFPosition
if (positionMode == 1)
{
//获取反馈位置 Feedback position (Encoder value) ACSPL+ Variable : FPO (real)
xPosition = _acs.GetFPosition(USE_AXIS[0]);
yPosition = _acs.GetFPosition(USE_AXIS[1]);
zPosition = _acs.GetFPosition(USE_AXIS[2]);
DebugDfn.AddLogText("反馈位置: " + xPosition + " " + yPosition + " " + zPosition);
}
else
{
//获取参考位置 ACSPL+ Variable : RPOS (real)
xPosition = _acs.GetRPosition(USE_AXIS[0]);
yPosition = _acs.GetRPosition(USE_AXIS[1]);
zPosition = _acs.GetRPosition(USE_AXIS[2]);
DebugDfn.AddLogText("参考位置: " + xPosition + " " + yPosition + " " + zPosition);
}
//获取位置误差
double positionError = (double)_acs.ReadVariable("PE", ProgramBuffer.ACSC_NONE, 0, 2);
DebugDfn.AddLogText("位置误差: " + positionError);
//构造point3D格式
point3D = new Point3D(xPosition, yPosition, zPosition);
return point3D;
} }
private void GetSpeedXyz() //获取运动参数 private void GetSpeedXyz() //获取运动参数
{ {
//获取实际速度
double feedbackVelocity = (double)_acs.ReadVariable("FVEL", ProgramBuffer.ACSC_NONE, 0, 2);
DebugDfn.AddLogText("实际速度: " + feedbackVelocity);
}
private void openGLControl1_OpenGLDraw(object sender, SharpGL.RenderEventArgs args)
{
OpenGL gl = openGLControl1.OpenGL;
gl.ClearColor(0, 0, 0, 0);
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
gl.LoadIdentity();
//gl.Translate(0.0f, 0.0f, -5.0f); // 平移场景
}
private void LoadPoints(List<Point3D> points)
{
OpenGL gl = openGLControl1.OpenGL;
gl.ClearColor(0, 0, 0, 0);
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
gl.LoadIdentity();
//gl.Translate(0.0f, 0.0f, -5.0f); // 平移场景
gl.Begin(OpenGL.GL_POINTS);
foreach (Point3D point in points)
{
// 设置点的颜色
gl.Color(1.0f, 0.0f, 0.0f); // 红色
// 设置点的大小
gl.PointSize(5.0f); // 大小为5个单位
gl.Vertex(point.X, point.Y, point.Z);
}
gl.End();
gl.Flush();
}
private void openGLControl1_OpenGLInitialized(object sender, EventArgs e)
{
}
private void openGLControl1_Resized(object sender, EventArgs e)
{
}
private void openGLControl1_GDIDraw(object sender, SharpGL.RenderEventArgs args)
{
} }
private void SetSpeedXyz() //设置运动参数 private void SetSpeedXyz() //设置运动参数
@@ -680,25 +958,6 @@ namespace HexcalMC
#endregion ACS平台相关 #endregion ACS平台相关
private void LoadConfig() //加载配置文件
{
//判断配置文件是否存在
if (!File.Exists(strConfigFile))
{
MessageBox.Show("配置文件不存在,请检查配置文件", "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//正限位
X_MAXSTROKESW = FileIni.ReadDouble(strConfigFile, "MOTOR", "X_MAXSTROKESW", 0);
Y_MAXSTROKESW = FileIni.ReadDouble(strConfigFile, "MOTOR", "Y_MAXSTROKESW", 0);
Z_MAXSTROKESW = FileIni.ReadDouble(strConfigFile, "MOTOR", "Z_MAXSTROKESW", 0);
//负限位
X_MINSTROKESW = FileIni.ReadDouble(strConfigFile, "MOTOR", "X_MINSTROKESW", 0);
Y_MINSTROKESW = FileIni.ReadDouble(strConfigFile, "MOTOR", "Y_MINSTROKESW", 0);
Z_MINSTROKESW = FileIni.ReadDouble(strConfigFile, "MOTOR", "Z_MINSTROKESW", 0);
}
#region #region
private void Rtb_motion_Click(object sender, EventArgs e) //ACS调试页面 private void Rtb_motion_Click(object sender, EventArgs e) //ACS调试页面
@@ -723,6 +982,8 @@ namespace HexcalMC
//时间栏 //时间栏
//获取当前时间,构造形如 精确到秒,例如 2023-10-08 16:01:23 //获取当前时间,构造形如 精确到秒,例如 2023-10-08 16:01:23
rle_timer.Text = "当前时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); rle_timer.Text = "当前时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Plot2D(_pointCloud);//绘图
} }
#endregion #endregion
+1
View File
@@ -46,6 +46,7 @@ namespace HexcalMC
MyBase.TraceWriteLine("--软件Main函数开始"); MyBase.TraceWriteLine("--软件Main函数开始");
Application.Run(new MainFrom()); Application.Run(new MainFrom());
} }
} }
} }
+4 -4
View File
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
</dependentAssembly> </dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>