From cf1497e3bba45ddc3b31cf9768954248bedc0bc1 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 14 一月 2026 16:03:21 +0800
Subject: [PATCH] 1.修复以下问题:Only-1 Job 支持:isProcessJobsEmpty()/validate 决定了当前实现只支持单个 PJ/CJ。Host 如果按标准一次下多 PJ 或在运行中追加 PJ,会被拒绝但无明确回应,容易引起 Host/设备状态脱节。
---
SourceCode/Bond/Servo/Servo.vcxproj | 194 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 189 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj b/SourceCode/Bond/Servo/Servo.vcxproj
index 6a9a993..3f876a1 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj
+++ b/SourceCode/Bond/Servo/Servo.vcxproj
@@ -46,6 +46,7 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<UseOfMfc>Dynamic</UseOfMfc>
+ <EnableASAN>false</EnableASAN>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
@@ -115,7 +116,8 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
- <AdditionalIncludeDirectories>.;..;..\DatabaseSDK\include;..\MELSECSDK\include;.\CCLinkPerformance;.\GridControl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;..;..\DatabaseSDK\include;..\MELSECSDK\include;.\CCLinkPerformance;.\GridControl;..\jsoncpp\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -134,8 +136,8 @@
</ResourceCompile>
<PostBuildEvent>
<Command>if exist "\\DESKTOP-IODBVIQ\Servo\Debug\" (
- xcopy /Y /D "$(OutDir)*.exe" "\\DESKTOP-IODBVIQ\Servo\Debug\"
- xcopy /Y /D "$(OutDir)*.pdb" "\\DESKTOP-IODBVIQ\Servo\Debug\"
+ xcopy /Y /D "$(OutDir)Servo.exe" "\\DESKTOP-IODBVIQ\Servo\Debug\"
+ xcopy /Y /D "$(OutDir)Servo.pdb" "\\DESKTOP-IODBVIQ\Servo\Debug\"
)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
@@ -175,7 +177,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
- <AdditionalIncludeDirectories>.;..;..\DatabaseSDK\include;..\MELSECSDK\include;.\CCLinkPerformance;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;..;..\DatabaseSDK\include;..\MELSECSDK\include;.\CCLinkPerformance;..\jsoncpp\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -198,14 +200,79 @@
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
+ <ClInclude Include="..\DAQBridge\buffer\BufferManager.h" />
+ <ClInclude Include="..\DAQBridge\buffer\BufferRegistry.h" />
+ <ClInclude Include="..\DAQBridge\buffer\SampleBuffer.h" />
+ <ClInclude Include="..\DAQBridge\core\Collector.h" />
+ <ClInclude Include="..\DAQBridge\core\CommBase.h" />
+ <ClInclude Include="..\DAQBridge\core\ConnEvents.h" />
+ <ClInclude Include="..\DAQBridge\core\DataTypes.h" />
+ <ClInclude Include="..\DAQBridge\core\Display.h" />
+ <ClInclude Include="..\DAQBridge\DAQConfig.h" />
+ <ClInclude Include="..\DAQBridge\net\FrameAssembler.h" />
+ <ClInclude Include="..\DAQBridge\net\SocketComm.h" />
+ <ClInclude Include="..\DAQBridge\proto\Protocol.h" />
+ <ClInclude Include="..\DAQBridge\proto\ProtocolCodec.h" />
+ <ClInclude Include="..\jsoncpp\include\json\autolink.h" />
+ <ClInclude Include="..\jsoncpp\include\json\config.h" />
+ <ClInclude Include="..\jsoncpp\include\json\features.h" />
+ <ClInclude Include="..\jsoncpp\include\json\forwards.h" />
+ <ClInclude Include="..\jsoncpp\include\json\json.h" />
+ <ClInclude Include="..\jsoncpp\include\json\reader.h" />
+ <ClInclude Include="..\jsoncpp\include\json\value.h" />
+ <ClInclude Include="..\jsoncpp\include\json\writer.h" />
+ <ClInclude Include="..\jsoncpp\lib_json\json_batchallocator.h" />
+ <ClInclude Include="AccordionWnd.h" />
+ <ClInclude Include="CBaseDlg.h" />
+ <ClInclude Include="CCarrierSlotGrid.h" />
+ <ClInclude Include="CCarrierSlotSelector.h" />
+ <ClInclude Include="CCjPage2.h" />
+ <ClInclude Include="CCjPage3.h" />
+ <ClInclude Include="CCjPageBase.h" />
+ <ClInclude Include="CControlJob.h" />
+ <ClInclude Include="CControlJobDlg.h" />
+ <ClInclude Include="CControlJobManagerDlg.h" />
+ <ClInclude Include="CCustomCheckBox.h" />
+ <ClInclude Include="CCollectionEvent.h" />
+ <ClInclude Include="CEventEditDlg.h" />
<ClInclude Include="CEquipmentPage3.h" />
+ <ClInclude Include="CExpandableListCtrl.h" />
<ClInclude Include="CGlassPool.h" />
+ <ClInclude Include="ChangePasswordDlg.h" />
+ <ClInclude Include="ClientListDlg.h" />
<ClInclude Include="CMyStatusbar.h" />
+ <ClInclude Include="CPageCollectionEvent.h" />
+ <ClInclude Include="CPageCtrlState.h" />
+ <ClInclude Include="CPageGlassList.h" />
+ <ClInclude Include="CPageLinkSignal.h" />
+ <ClInclude Include="CPageProdOverview.h" />
+ <ClInclude Include="CPageReport.h" />
+ <ClInclude Include="CPageVarialbles.h" />
+ <ClInclude Include="CPageDataVarialbles.h" />
+ <ClInclude Include="CPanelProduction.h" />
+ <ClInclude Include="HmLabel.h" />
+ <ClInclude Include="ProductionStats.h" />
+ <ClInclude Include="CParam.h" />
+ <ClInclude Include="CCjPage1.h" />
+ <ClInclude Include="CProcessDataListDlg.h" />
+ <ClInclude Include="CReport.h" />
+ <ClInclude Include="CReportEditDlg.h" />
<ClInclude Include="CRobotCmdContainerDlg.h" />
<ClInclude Include="CRobotCmdTestDlg.h" />
<ClInclude Include="CPagePortStatus.h" />
<ClInclude Include="CPortStatusReport.h" />
<ClInclude Include="CRobotTaskDlg.h" />
+ <ClInclude Include="CSVData.h" />
+ <ClInclude Include="CServoUtilsTool.h" />
+ <ClInclude Include="CUserManager2.h" />
+ <ClInclude Include="CUserManager2Dlg.h" />
+ <ClInclude Include="CUserEdit2Dlg.h" />
+ <ClInclude Include="CUserXLogDlg.h" />
+ <ClInclude Include="CVariable.h" />
+ <ClInclude Include="CVariableEditDlg2.h" />
+ <ClInclude Include="DeviceRecipeParamDlg.h" />
+ <ClInclude Include="GlassJson.h" />
+ <ClInclude Include="GlassLogDb.h" />
<ClInclude Include="GridControl\CellRange.h" />
<ClInclude Include="GridControl\GridCell.h" />
<ClInclude Include="GridControl\GridCellBase.h" />
@@ -222,8 +289,12 @@
<ClInclude Include="GridControl\TitleTip.h" />
<ClInclude Include="CRobotTask.h" />
<ClInclude Include="CSlot.h" />
+ <ClInclude Include="GroupLabel.h" />
<ClInclude Include="HorizontalLine.h" />
+ <ClInclude Include="InputDialog.h" />
<ClInclude Include="JobSlotGrid.h" />
+ <ClInclude Include="LoginDlg.h" />
+ <ClInclude Include="LoginDlg2.h" />
<ClInclude Include="MsgDlg.h" />
<ClInclude Include="PageRecipe.h" />
<ClInclude Include="CDoubleGlass.h" />
@@ -311,32 +382,126 @@
<ClInclude Include="PageRobotCmd.h" />
<ClInclude Include="PageTransferLog.h" />
<ClInclude Include="PortConfigurationDlg.h" />
+ <ClInclude Include="ProcessJob.h" />
<ClInclude Include="ProductionLogManager.h" />
+ <ClInclude Include="RecipeDeviceBindDlg.h" />
+ <ClInclude Include="RecipeManager.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="SECSRuntimeManager.h" />
<ClInclude Include="SecsTestDlg.h" />
+ <ClInclude Include="SerializeUtil.h" />
<ClInclude Include="Servo.h" />
<ClInclude Include="ServoCommo.h" />
<ClInclude Include="ServoDlg.h" />
<ClInclude Include="ServoGraph.h" />
<ClInclude Include="ServoMemDC.h" />
+ <ClInclude Include="sqlite3.h" />
+ <ClInclude Include="sqlite3ext.h" />
<ClInclude Include="stdafx.h" />
+ <ClInclude Include="SystemLogManager.h" />
+ <ClInclude Include="SystemLogManagerDlg.h" />
<ClInclude Include="targetver.h" />
<ClInclude Include="TerminalDisplayDlg.h" />
<ClInclude Include="ToolUnits.h" />
<ClInclude Include="TransferManager.h" />
<ClInclude Include="TopToolbar.h" />
+ <ClInclude Include="UserManager.h" />
+ <ClInclude Include="UserManagerDlg.h" />
<ClInclude Include="VerticalLine.h" />
</ItemGroup>
<ItemGroup>
+ <ClCompile Include="..\DAQBridge\buffer\BufferManager.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\DAQBridge\buffer\BufferRegistry.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\DAQBridge\buffer\SampleBuffer.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\DAQBridge\core\Collector.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\DAQBridge\core\Display.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\DAQBridge\net\SocketComm.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\DAQBridge\proto\ProtocolCodec.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\jsoncpp\lib_json\json_reader.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\jsoncpp\lib_json\json_value.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="..\jsoncpp\lib_json\json_writer.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="AccordionWnd.cpp" />
+ <ClCompile Include="CBaseDlg.cpp" />
+ <ClCompile Include="CCarrierSlotGrid.cpp" />
+ <ClCompile Include="CCarrierSlotSelector.cpp" />
+ <ClCompile Include="CCjPage2.cpp" />
+ <ClCompile Include="CCjPage3.cpp" />
+ <ClCompile Include="CCjPageBase.cpp" />
+ <ClCompile Include="CControlJob.cpp" />
+ <ClCompile Include="CControlJobDlg.cpp" />
+ <ClCompile Include="CControlJobManagerDlg.cpp" />
+ <ClCompile Include="CCustomCheckBox.cpp" />
+ <ClCompile Include="CCollectionEvent.cpp" />
+ <ClCompile Include="CEventEditDlg.cpp" />
<ClCompile Include="CEquipmentPage3.cpp" />
+ <ClCompile Include="CExpandableListCtrl.cpp" />
<ClCompile Include="CGlassPool.cpp" />
+ <ClCompile Include="ChangePasswordDlg.cpp" />
+ <ClCompile Include="ClientListDlg.cpp" />
<ClCompile Include="CMyStatusbar.cpp" />
+ <ClCompile Include="CPageCollectionEvent.cpp" />
+ <ClCompile Include="CPageCtrlState.cpp" />
+ <ClCompile Include="CPageGlassList.cpp" />
+ <ClCompile Include="CPageLinkSignal.cpp" />
+ <ClCompile Include="CPageProdOverview.cpp" />
+ <ClCompile Include="CPageReport.cpp" />
+ <ClCompile Include="CPageVarialbles.cpp" />
+ <ClCompile Include="CPageDataVarialbles.cpp" />
+ <ClCompile Include="ConfigurationProduction.cpp" />
+ <ClCompile Include="CPanelProduction.cpp" />
+ <ClCompile Include="HmLabel.cpp" />
+ <ClCompile Include="ProductionStats.cpp" />
+ <ClCompile Include="CParam.cpp" />
+ <ClCompile Include="CCjPage1.cpp" />
+ <ClCompile Include="CProcessDataListDlg.cpp" />
+ <ClCompile Include="CReport.cpp" />
+ <ClCompile Include="CReportEditDlg.cpp" />
<ClCompile Include="CRobotCmdContainerDlg.cpp" />
<ClCompile Include="CRobotCmdTestDlg.cpp" />
<ClCompile Include="CPagePortStatus.cpp" />
<ClCompile Include="CPortStatusReport.cpp" />
<ClCompile Include="CRobotTaskDlg.cpp" />
+ <ClCompile Include="CSVData.cpp" />
+ <ClCompile Include="CServoUtilsTool.cpp" />
+ <ClCompile Include="CUserManager2.cpp" />
+ <ClCompile Include="CUserManager2Dlg.cpp" />
+ <ClCompile Include="CUserEdit2Dlg.cpp" />
+ <ClCompile Include="CUserXLogDlg.cpp" />
+ <ClCompile Include="CVariable.cpp" />
+ <ClCompile Include="CVariableEditDlg2.cpp" />
+ <ClCompile Include="DeviceRecipeParamDlg.cpp" />
+ <ClCompile Include="GlassJson.cpp" />
+ <ClCompile Include="GlassLogDb.cpp" />
<ClCompile Include="GridControl\GridCell.cpp" />
<ClCompile Include="GridControl\GridCellBase.cpp" />
<ClCompile Include="GridControl\GridCellButton.cpp" />
@@ -351,8 +516,12 @@
<ClCompile Include="GridControl\TitleTip.cpp" />
<ClCompile Include="CRobotTask.cpp" />
<ClCompile Include="CSlot.cpp" />
+ <ClCompile Include="GroupLabel.cpp" />
<ClCompile Include="HorizontalLine.cpp" />
+ <ClCompile Include="InputDialog.cpp" />
<ClCompile Include="JobSlotGrid.cpp" />
+ <ClCompile Include="LoginDlg.cpp" />
+ <ClCompile Include="LoginDlg2.cpp" />
<ClCompile Include="MsgDlg.cpp" />
<ClCompile Include="PageRecipe.cpp" />
<ClCompile Include="CDoubleGlass.cpp" />
@@ -439,29 +608,44 @@
<ClCompile Include="PageRobotCmd.cpp" />
<ClCompile Include="PageTransferLog.cpp" />
<ClCompile Include="PortConfigurationDlg.cpp" />
+ <ClCompile Include="ProcessJob.cpp" />
<ClCompile Include="ProductionLogManager.cpp" />
+ <ClCompile Include="RecipeDeviceBindDlg.cpp" />
+ <ClCompile Include="RecipeManager.cpp" />
<ClCompile Include="SECSRuntimeManager.cpp" />
<ClCompile Include="SecsTestDlg.cpp" />
<ClCompile Include="Servo.cpp" />
<ClCompile Include="ServoDlg.cpp" />
<ClCompile Include="ServoGraph.cpp" />
<ClCompile Include="ServoMemDC.cpp" />
+ <ClCompile Include="sqlite3.c">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
<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)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
+ <ClCompile Include="SystemLogManager.cpp" />
+ <ClCompile Include="SystemLogManagerDlg.cpp" />
<ClCompile Include="TerminalDisplayDlg.cpp" />
<ClCompile Include="ToolUnits.cpp" />
<ClCompile Include="TransferManager.cpp" />
<ClCompile Include="TopToolbar.cpp" />
+ <ClCompile Include="UserManager.cpp" />
+ <ClCompile Include="UserManagerDlg.cpp" />
<ClCompile Include="VerticalLine.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Servo.rc" />
</ItemGroup>
<ItemGroup>
+ <None Include="..\jsoncpp\lib_json\json_internalarray.inl" />
+ <None Include="..\jsoncpp\lib_json\json_internalmap.inl" />
+ <None Include="..\jsoncpp\lib_json\json_valueiterator.inl" />
+ <None Include="..\jsoncpp\lib_json\sconscript" />
<None Include="packages.config" />
<None Include="res\Servo.rc2" />
</ItemGroup>
@@ -488,4 +672,4 @@
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2903.40\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2903.40\build\native\Microsoft.Web.WebView2.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.240803.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.ImplementationLibrary.1.0.240803.1\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
</Target>
-</Project>
\ No newline at end of file
+</Project>
--
Gitblit v1.9.3