轮胎外观检测添加思谋语义分割模型检测工具
C3204
3 小时以前 dc18021539bdf4ee176ec9d9b88eb7d9ad581600
新增心跳等常规信号配置&&修改相机轴读取配置等
已修改55个文件
已添加20个文件
已删除4个文件
19160 ■■■■■ 文件已修改
LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1641.39856/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1641.39856/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/0e644c41-7b07-4b00-9ae9-094e3ff6da98.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/2a0fc9c6-cc93-40d6-ae6c-e616d60b1e22.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/38100326-ebf1-47cd-9d2c-5954b3a604cf.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/3aef4dc8-8bde-4771-908b-99c308d0f4f9.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/b3dcc6de-072e-4a32-b7dc-1aa7d464972a.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/ce94ac25-d53d-4efa-9c86-3f4e8971661b.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/e3e2bbeb-a2db-4c12-886c-63c4a1f6b81c.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/fed98226-ddab-4dba-a114-831be96ecad8.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/v17/.suo 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json 695 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json 695 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorS7Form.Designer.cs 253 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorS7Form.cs 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorS7Form.resx 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlFormRead.Designer.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlFormRead.cs 415 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlFormRead.resx 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/GlobalVar.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/PausableHeartbeatAsync.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/VisionForm.Designer.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/VisionForm.cs 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-04/2026-04-17.log 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-04/2026-04-17.log 12043 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-04/2026-04-17.log 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-04/2026-04-17.log 1854 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-04/2026-04-17.log 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/3D工位/A_ProcessInputs.json 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/3D工位/A_ProcessOutputs.json 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/3D工位/default.nds 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/A_MPlcDatas.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/A_PlcSettings.json 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/MotionControlFormRead.json 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/通讯口0.json 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.MotionControlPage.MotionControlFormRead.resources 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Communicators/SiemensS7/ConfigForm.Designer.cs 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Communicators/SiemensS7/ConfigForm.cs 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Communicators/SiemensS7/ConfigForm.resx 1057 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Communicators/SiemensS7/S7Config.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Communicators/SiemensS7/S7ConfigService.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/LB_VisionProcesses.csproj.user 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.Communicators.SiemensS7.ConfigForm.resources 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll 补丁 | 查看 | 原始文档 | blame | 历史
LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1641.39856/CodeChunks.db
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1641.39856/SemanticSymbols.db
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/0e644c41-7b07-4b00-9ae9-094e3ff6da98.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/2a0fc9c6-cc93-40d6-ae6c-e616d60b1e22.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/38100326-ebf1-47cd-9d2c-5954b3a604cf.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/3aef4dc8-8bde-4771-908b-99c308d0f4f9.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/b3dcc6de-072e-4a32-b7dc-1aa7d464972a.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/ce94ac25-d53d-4efa-9c86-3f4e8971661b.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/e3e2bbeb-a2db-4c12-886c-63c4a1f6b81c.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/fed98226-ddab-4dba-a114-831be96ecad8.vsidx
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/v17/.suo
Binary files differ
LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json
@@ -3,112 +3,103 @@
  "WorkspaceRootPath": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\s7varaddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\s7varaddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\siemenslbs7.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\lbcameras\\lbcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\cameraconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\basecamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\icamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\hrcameras\\hrcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D004400C-9D82-E9EE-A30B-59DF3EE615DE}|..\\LB_SmartVisionCameraDevice\\LB_SmartVisionCameraDevice.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvisioncameradevice\\phm6000\\phm6000sensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6F4E5C61-CBA5-7DBA-018F-ADC56077E837}|..\\LB_SmartVisionCameraSDK\\LB_SmartVisionCameraSDK.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvisioncamerasdk\\phm6000\\phm6000profiler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\processrun\\processrunbll.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:processrun\\processrunbll.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{81657A9F-621D-F158-837F-4470F21E5004}|..\\LB_VisionFlowNode\\LB_VisionFlowNode.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionflownode\\iflowcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\iprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\processes\\tyrecounter\\tyrecounterprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\processes\\tyrecounter\\tyrestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\alogrithms\\basealgorithm\\talgorithm.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\camerapage\\cameraform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\cameraform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D004400C-9D82-E9EE-A30B-59DF3EE615DE}|..\\LB_SmartVisionCameraDevice\\LB_SmartVisionCameraDevice.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvisioncameradevice\\phm6000\\phm6000sensorconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolformread.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolformread.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\dotnet\\sdk\\9.0.312\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\cameras\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\configform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\recordmotioncontroldata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\recordmotioncontroldata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\s7config.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\plcdataitem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\plcdataitem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\s7configservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\configform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\pausableheartbeatasync.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:pausableheartbeatasync.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -118,391 +109,337 @@
      "DocumentGroups": [
        {
          "DockedWidth": 988,
          "SelectedChildIndex": 1,
          "SelectedChildIndex": 0,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "LBCamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ViewState": "AgIAADUAAAAAAAAAAAAQwEsAAAANAAAAAAAAAA==",
              "DocumentIndex": 0,
              "Title": "SiemensLBS7.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "ViewState": "AgIAAO8AAAAAAAAAAAAuwBEBAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T09:45:14.913Z",
              "IsPinned": true,
              "WhenOpened": "2026-04-17T01:35:22.364Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "S7VarAddress.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "ViewState": "AgIAABEAAAAAAAAAAADwvxsAAAASAAAAAAAAAA==",
              "DocumentIndex": 3,
              "Title": "MotionControlForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAASwBcAAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-16T05:58:42.923Z",
              "WhenOpened": "2026-04-17T06:44:17.107Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "MotionControlFormRead.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:07:15.745Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "MotionControlFormRead.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "ViewState": "AgIAAC0BAAAAAAAAAAApwC4BAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:08:22.227Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "MotionControlEditPage.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:43:58.572Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "MotionControlEditPage.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "ViewState": "AgIAAIcAAAAAAAAAAAAowIEAAAA6AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:46:24.356Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "MotionControlForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:07:13.628Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "GlobalVar.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeDocumentMoniker": "GlobalVar.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeToolTip": "GlobalVar.cs",
              "ViewState": "AgIAAD8AAAAAAAAAAIA+wE8AAABHAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T02:26:32.609Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "MotionControlFormRead.Designer.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "ViewState": "AgIAAC0BAAAAAAAAAAAlwEABAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:40:52.69Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "CommunicatorS7Form.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-16T05:55:43.319Z",
              "WhenOpened": "2026-04-17T01:41:14.551Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "CameraConfig.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "ViewState": "AgIAAFoAAAAAAAAAAAAQwHIAAAAUAAAAAAAAAA==",
              "DocumentIndex": 9,
              "Title": "CommunicatorS7Form.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "ViewState": "AgIAAA0BAAAAAAAAAADgv0EBAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:51:26.149Z"
              "WhenOpened": "2026-04-17T01:51:13.884Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "PHM6000Sensor.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeDocumentMoniker": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeToolTip": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ViewState": "AgIAAO0AAAAAAAAAAAAtwPUAAAByAAAAAAAAAA==",
              "DocumentIndex": 11,
              "Title": "ConfigForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAPAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T02:59:40.065Z"
              "WhenOpened": "2026-04-17T02:50:13.688Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "ICamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "ViewState": "AgIAABMAAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:49:47.747Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "BaseCamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "ViewState": "AgIAACUAAAAAAAAAAAArwD4AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:49:53.751Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 12,
              "Title": "VisionForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeDocumentMoniker": "VisionForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeToolTip": "VisionForm.cs",
              "ViewState": "AgIAAAUIAAAAAAAAAAArwB4IAAAqAAAAAAAAAA==",
              "ViewState": "AgIAALwLAAAAAAAAAAAnwNQLAAAcAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:26:11.367Z",
              "WhenOpened": "2026-04-17T02:58:08.794Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "CreateCameraForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "ViewState": "AgIAACUAAAAAAAAAAAAiwDsAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T02:51:52.839Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "HRCamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "ViewState": "AgIAANUAAAAAAAAAAAAUwOkAAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T07:08:03.801Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "TyreCounterProcess.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "ViewState": "AgIAAMwAAAAAAAAAAAAowOcAAABOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T06:49:56.875Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "CreateCameraForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T02:51:48.523Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "TyreStatistics.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "ViewState": "AgIAADsAAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T08:43:30.888Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "IProcess.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\IProcess.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\IProcess.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAADwvzkAAAATAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T08:44:41.167Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "IFlowContext.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionFlowNode\\IFlowContext.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
              "RelativeToolTip": "..\\LB_VisionFlowNode\\IFlowContext.cs",
              "ViewState": "AgIAADEBAAAAAAAAAAAAAFIBAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T08:46:20.448Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "PHM6000Profiler.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "RelativeDocumentMoniker": "..\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "RelativeToolTip": "..\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAANkCAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T09:00:49.259Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "ProcessRunBll.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessRunBll.cs",
              "RelativeDocumentMoniker": "ProcessRun\\ProcessRunBll.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessRunBll.cs",
              "RelativeToolTip": "ProcessRun\\ProcessRunBll.cs",
              "ViewState": "AgIAADIBAAAAAAAAAAAAwJIAAAAuAAAAAAAAAA==",
              "Title": "RecordMotionControlData.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAAABIAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:44:06.561Z"
              "WhenOpened": "2026-04-17T06:16:48.47Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "ProcessContext.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
              "RelativeDocumentMoniker": "ProcessRun\\ProcessContext.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
              "RelativeToolTip": "ProcessRun\\ProcessContext.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAMcBAAAtAAAAAAAAAA==",
              "DocumentIndex": 14,
              "Title": "S7Config.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "ViewState": "AgIAAA8AAAAAAAAAAAAcwBoAAAAvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:43:53.594Z"
              "WhenOpened": "2026-04-17T02:23:53.191Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "CommunicatorsEditPage.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "ViewState": "AgIAAJQAAAAAAAAAAAAewK0AAAANAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T02:00:57.289Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "PlcDataItem.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:16:42.806Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "CommunicatorsEditPage.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T01:59:32.06Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "TAlgorithm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACsAAAAhAAAAAAAAAA==",
              "Title": "S7ConfigService.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACUAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:50:31.381Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "Title": "CameraForm.Designer.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:58:30.259Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "CameraForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CameraForm.cs",
              "ViewState": "AgIAAGcAAAAAAAAAAAAQwHkAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:33:21.019Z",
              "WhenOpened": "2026-04-17T02:23:55.927Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "CameraForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ViewState": "AgIAAP0DAAAAAAAAAAAQwFICAABEAAAAAAAAAA==",
              "Title": "VisionForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeDocumentMoniker": "VisionForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "VisionForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T10:47:21.225Z"
              "WhenOpened": "2026-04-17T03:13:02.14Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "ConfigForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T02:50:09.397Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "CameraForm.cs [Design]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs [Design]",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CameraForm.cs [Design]",
              "Title": "PausableHeartbeatAsync.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\PausableHeartbeatAsync.cs",
              "RelativeDocumentMoniker": "PausableHeartbeatAsync.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\PausableHeartbeatAsync.cs",
              "RelativeToolTip": "PausableHeartbeatAsync.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAUwCMAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:32:38.81Z"
              "WhenOpened": "2026-04-17T04:36:49.089Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "VisionForm.cs [Design]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeDocumentMoniker": "VisionForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs [Design]",
              "RelativeToolTip": "VisionForm.cs [Design]",
              "DocumentIndex": 22,
              "Title": "CommunicatorS7Form.Designer.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "ViewState": "AgIAAF4AAAAAAAAAAAAWwG8AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T02:04:00.508Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "GlobalVar.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeDocumentMoniker": "GlobalVar.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeToolTip": "GlobalVar.cs",
              "ViewState": "AgIAAEEAAAAAAAAAAAAiwBEAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:34:43.718Z"
              "WhenOpened": "2026-04-17T02:49:32.549Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "Title": "PHM6000SensorConfig.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeDocumentMoniker": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeToolTip": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "Title": "CommunicatorForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-13T07:55:08.788Z"
              "WhenOpened": "2026-04-17T02:00:26.181Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "Title": "Microsoft.PackageDependencyResolution.targets",
              "DocumentMoniker": "C:\\Program Files\\dotnet\\sdk\\9.0.312\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets",
              "ToolTip": "C:\\Program Files\\dotnet\\sdk\\9.0.312\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets",
              "ViewState": "AgIAAD0BAAAAAAAAAAAcwAkBAAAEAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
              "WhenOpened": "2026-04-13T07:54:42.38Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "Title": "CameraForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs [\u8BBE\u8BA1]",
              "DocumentIndex": 23,
              "Title": "CreateCommunicatorForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "ViewState": "AgIAAK8AAAAAAAAAAAD4v8AAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:32:16.109Z"
              "WhenOpened": "2026-04-17T01:58:15.98Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "Title": "PHM6000Sensor.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ViewState": "AgIAAGoCAAAAAAAAAAAiwIwBAABbAAAAAAAAAA==",
              "DocumentIndex": 24,
              "Title": "CreateCommunicatorForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:51:02.381Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "Title": "LBCamera.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ViewState": "AgIAALoBAAAAAAAAAAApwKIBAAAhAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:07:12.84Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "Title": "PHM6000SensorConfig.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAvwBMAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:06:03.772Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "Title": "CameraForm.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ViewState": "AgIAAPQBAAAAAAAAAAAWwAECAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:05:12.232Z"
              "WhenOpened": "2026-04-17T01:58:13.813Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            }
          ]
        }
LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json
@@ -3,112 +3,103 @@
  "WorkspaceRootPath": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\s7varaddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\s7varaddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\siemenslbs7.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\lbcameras\\lbcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolformread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\cameraconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\basecamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\icamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\hrcameras\\hrcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\createcameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D004400C-9D82-E9EE-A30B-59DF3EE615DE}|..\\LB_SmartVisionCameraDevice\\LB_SmartVisionCameraDevice.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvisioncameradevice\\phm6000\\phm6000sensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6F4E5C61-CBA5-7DBA-018F-ADC56077E837}|..\\LB_SmartVisionCameraSDK\\LB_SmartVisionCameraSDK.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvisioncamerasdk\\phm6000\\phm6000profiler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\processrun\\processrunbll.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:processrun\\processrunbll.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{81657A9F-621D-F158-837F-4470F21E5004}|..\\LB_VisionFlowNode\\LB_VisionFlowNode.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionflownode\\iflowcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\iprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\processes\\tyrecounter\\tyrecounterprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\processes\\tyrecounter\\tyrestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\alogrithms\\basealgorithm\\talgorithm.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\cameras\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\camerapage\\cameraform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\camerapage\\cameraform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontroleditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D004400C-9D82-E9EE-A30B-59DF3EE615DE}|..\\LB_SmartVisionCameraDevice\\LB_SmartVisionCameraDevice.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvisioncameradevice\\phm6000\\phm6000sensorconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\motioncontrolformread.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\motioncontrolformread.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\dotnet\\sdk\\9.0.312\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\cameras\\cameraform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\configform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\recordmotioncontroldata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\recordmotioncontroldata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\s7config.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\motioncontrolpage\\plcdataitem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\motioncontrolpage\\plcdataitem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicatorseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\s7configservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_visionprocesses\\communicators\\siemenss7\\configform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\pausableheartbeatasync.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:pausableheartbeatasync.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicators7form.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicators7form.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\createcommunicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\vision\\smartvision20260413\\smartvision\\lb_smartvision\\forms\\pages\\communicatorpage\\communicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\communicatorpage\\communicatorform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -118,391 +109,337 @@
      "DocumentGroups": [
        {
          "DockedWidth": 988,
          "SelectedChildIndex": 1,
          "SelectedChildIndex": 0,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "LBCamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ViewState": "AgIAADUAAAAAAAAAAAAQwEsAAAANAAAAAAAAAA==",
              "DocumentIndex": 0,
              "Title": "SiemensLBS7.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\SiemensLBS7.cs",
              "ViewState": "AgIAAO8AAAAAAAAAAAAuwBEBAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T09:45:14.913Z",
              "IsPinned": true,
              "WhenOpened": "2026-04-17T01:35:22.364Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "S7VarAddress.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\S7VarAddress.cs",
              "ViewState": "AgIAABEAAAAAAAAAAADwvyoAAAAAAAAAAAAAAA==",
              "DocumentIndex": 3,
              "Title": "MotionControlForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAASwBcAAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-16T05:58:42.923Z",
              "WhenOpened": "2026-04-17T06:44:17.107Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "MotionControlFormRead.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:07:15.745Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "MotionControlFormRead.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.cs",
              "ViewState": "AgIAAC0BAAAAAAAAAAApwC4BAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:08:22.227Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "MotionControlEditPage.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:43:58.572Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "MotionControlEditPage.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlEditPage.cs",
              "ViewState": "AgIAAIcAAAAAAAAAAAAowIEAAAA6AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:46:24.356Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "MotionControlForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:07:13.628Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "GlobalVar.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeDocumentMoniker": "GlobalVar.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeToolTip": "GlobalVar.cs",
              "ViewState": "AgIAAD8AAAAAAAAAAIA+wE8AAABHAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T02:26:32.609Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "MotionControlFormRead.Designer.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\MotionControlFormRead.Designer.cs",
              "ViewState": "AgIAAC0BAAAAAAAAAAAlwEABAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:40:52.69Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "CommunicatorS7Form.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-16T05:55:43.319Z",
              "WhenOpened": "2026-04-17T01:41:14.551Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "CameraConfig.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\CameraConfig.cs",
              "ViewState": "AgIAAFoAAAAAAAAAAAAQwHIAAAAUAAAAAAAAAA==",
              "DocumentIndex": 9,
              "Title": "CommunicatorS7Form.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.cs",
              "ViewState": "AgIAAA0BAAAAAAAAAADgv0EBAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:51:26.149Z"
              "WhenOpened": "2026-04-17T01:51:13.884Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "PHM6000Sensor.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeDocumentMoniker": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeToolTip": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ViewState": "AgIAAO0AAAAAAAAAAAAtwPUAAAByAAAAAAAAAA==",
              "DocumentIndex": 11,
              "Title": "ConfigForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAPAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T02:59:40.065Z"
              "WhenOpened": "2026-04-17T02:50:13.688Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "ICamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\ICamera.cs",
              "ViewState": "AgIAABMAAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:49:47.747Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "BaseCamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\BaseCamera.cs",
              "ViewState": "AgIAACUAAAAAAAAAAAArwD4AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:49:53.751Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 12,
              "Title": "VisionForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeDocumentMoniker": "VisionForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeToolTip": "VisionForm.cs",
              "ViewState": "AgIAAAUIAAAAAAAAAAArwB4IAAAqAAAAAAAAAA==",
              "ViewState": "AgIAALwLAAAAAAAAAAAnwNQLAAAcAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:26:11.367Z",
              "WhenOpened": "2026-04-17T02:58:08.794Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "CreateCameraForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "ViewState": "AgIAACUAAAAAAAAAAAAiwDsAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T02:51:52.839Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "HRCamera.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
              "ViewState": "AgIAANUAAAAAAAAAAAAUwOkAAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T07:08:03.801Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "TyreCounterProcess.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreCounterProcess.cs",
              "ViewState": "AgIAAMwAAAAAAAAAAAAowOcAAABOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T06:49:56.875Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "CreateCameraForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CreateCameraForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CreateCameraForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T02:51:48.523Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "TyreStatistics.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\TyreCounter\\TyreStatistics.cs",
              "ViewState": "AgIAADsAAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T08:43:30.888Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "IProcess.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\IProcess.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\IProcess.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAADwvzkAAAATAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T08:44:41.167Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "IFlowContext.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionFlowNode\\IFlowContext.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
              "RelativeToolTip": "..\\LB_VisionFlowNode\\IFlowContext.cs",
              "ViewState": "AgIAADEBAAAAAAAAAAAAAFIBAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T08:46:20.448Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "PHM6000Profiler.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "RelativeDocumentMoniker": "..\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "RelativeToolTip": "..\\LB_SmartVisionCameraSDK\\PHM6000\\PHM6000Profiler.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAANkCAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T09:00:49.259Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "ProcessRunBll.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessRunBll.cs",
              "RelativeDocumentMoniker": "ProcessRun\\ProcessRunBll.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessRunBll.cs",
              "RelativeToolTip": "ProcessRun\\ProcessRunBll.cs",
              "ViewState": "AgIAADIBAAAAAAAAAAAAwJIAAAAuAAAAAAAAAA==",
              "Title": "RecordMotionControlData.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\RecordMotionControlData.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAAABIAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:44:06.561Z"
              "WhenOpened": "2026-04-17T06:16:48.47Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "ProcessContext.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
              "RelativeDocumentMoniker": "ProcessRun\\ProcessContext.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
              "RelativeToolTip": "ProcessRun\\ProcessContext.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAMcBAAAtAAAAAAAAAA==",
              "DocumentIndex": 14,
              "Title": "S7Config.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7Config.cs",
              "ViewState": "AgIAAA8AAAAAAAAAAAAcwBoAAAAvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:43:53.594Z"
              "WhenOpened": "2026-04-17T02:23:53.191Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "CommunicatorsEditPage.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "ViewState": "AgIAAJQAAAAAAAAAAAAewK0AAAANAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T02:00:57.289Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "PlcDataItem.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "RelativeToolTip": "Forms\\Pages\\MotionControlPage\\PlcDataItem.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T06:16:42.806Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "CommunicatorsEditPage.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorsEditPage.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T01:59:32.06Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "TAlgorithm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACsAAAAhAAAAAAAAAA==",
              "Title": "S7ConfigService.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\S7ConfigService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACUAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T05:50:31.381Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "Title": "CameraForm.Designer.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CameraForm.Designer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:58:30.259Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "CameraForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CameraForm.cs",
              "ViewState": "AgIAAGcAAAAAAAAAAAAQwHkAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:33:21.019Z",
              "WhenOpened": "2026-04-17T02:23:55.927Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "CameraForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ViewState": "AgIAAP0DAAAAAAAAAAAQwFICAABEAAAAAAAAAA==",
              "Title": "VisionForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeDocumentMoniker": "VisionForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "VisionForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-14T10:47:21.225Z"
              "WhenOpened": "2026-04-17T03:13:02.14Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "ConfigForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "..\\LB_VisionProcesses\\Communicators\\SiemensS7\\ConfigForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-17T02:50:09.397Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "CameraForm.cs [Design]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CameraPage\\CameraForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CameraPage\\CameraForm.cs [Design]",
              "RelativeToolTip": "Forms\\Pages\\CameraPage\\CameraForm.cs [Design]",
              "Title": "PausableHeartbeatAsync.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\PausableHeartbeatAsync.cs",
              "RelativeDocumentMoniker": "PausableHeartbeatAsync.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\PausableHeartbeatAsync.cs",
              "RelativeToolTip": "PausableHeartbeatAsync.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAUwCMAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:32:38.81Z"
              "WhenOpened": "2026-04-17T04:36:49.089Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "VisionForm.cs [Design]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs",
              "RelativeDocumentMoniker": "VisionForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\VisionForm.cs [Design]",
              "RelativeToolTip": "VisionForm.cs [Design]",
              "DocumentIndex": 22,
              "Title": "CommunicatorS7Form.Designer.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorS7Form.Designer.cs",
              "ViewState": "AgIAAF4AAAAAAAAAAAAWwG8AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-15T02:04:00.508Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "GlobalVar.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeDocumentMoniker": "GlobalVar.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
              "RelativeToolTip": "GlobalVar.cs",
              "ViewState": "AgIAAEEAAAAAAAAAAAAiwBEAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:34:43.718Z"
              "WhenOpened": "2026-04-17T02:49:32.549Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "Title": "PHM6000SensorConfig.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeDocumentMoniker": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeToolTip": "..\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "Title": "CommunicatorForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CommunicatorForm.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-13T07:55:08.788Z"
              "WhenOpened": "2026-04-17T02:00:26.181Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "Title": "Microsoft.PackageDependencyResolution.targets",
              "DocumentMoniker": "C:\\Program Files\\dotnet\\sdk\\9.0.312\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets",
              "ToolTip": "C:\\Program Files\\dotnet\\sdk\\9.0.312\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets",
              "ViewState": "AgIAAD0BAAAAAAAAAAAcwAkBAAAEAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
              "WhenOpened": "2026-04-13T07:54:42.38Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "Title": "CameraForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs [\u8BBE\u8BA1]",
              "DocumentIndex": 23,
              "Title": "CreateCommunicatorForm.cs",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "ViewState": "AgIAAK8AAAAAAAAAAAD4v8AAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T07:32:16.109Z"
              "WhenOpened": "2026-04-17T01:58:15.98Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "Title": "PHM6000Sensor.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000Sensor.cs",
              "ViewState": "AgIAAGoCAAAAAAAAAAAiwIwBAABbAAAAAAAAAA==",
              "DocumentIndex": 24,
              "Title": "CreateCommunicatorForm.cs [\u8BBE\u8BA1]",
              "DocumentMoniker": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "RelativeDocumentMoniker": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs",
              "ToolTip": "D:\\Vision\\SmartVision20260413\\SmartVision\\LB_SmartVision\\Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs [\u8BBE\u8BA1]",
              "RelativeToolTip": "Forms\\Pages\\CommunicatorPage\\CreateCommunicatorForm.cs [\u8BBE\u8BA1]",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:51:02.381Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "Title": "LBCamera.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
              "ViewState": "AgIAALoBAAAAAAAAAAApwKIBAAAhAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:07:12.84Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "Title": "PHM6000SensorConfig.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVisionCameraDevice\\PHM6000\\PHM6000SensorConfig.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAvwBMAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:06:03.772Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "Title": "CameraForm.cs",
              "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeDocumentMoniker": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "RelativeToolTip": "..\\..\\..\\..\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\CameraForm.cs",
              "ViewState": "AgIAAPQBAAAAAAAAAAAWwAECAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-10T06:05:12.232Z"
              "WhenOpened": "2026-04-17T01:58:13.813Z",
              "EditorCaption": " [\u8BBE\u8BA1]"
            }
          ]
        }
LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin
Binary files differ
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin
Binary files differ
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin
Binary files differ
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin
Binary files differ
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorS7Form.Designer.cs
@@ -28,79 +28,110 @@
        /// </summary>
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CommunicatorS7Form));
            label3 = new Label();
            tableLayoutPanel1 = new TableLayoutPanel();
            groupBox1 = new GroupBox();
            dgvSignals = new DataGridView();
            contextMenuSignal = new ContextMenuStrip(components);
            menuReadSignal = new ToolStripMenuItem();
            menuWriteSignal = new ToolStripMenuItem();
            grpReceive = new GroupBox();
            txtReceiveMsg = new TextBox();
            txtSendMsg = new TextBox();
            grpSetting = new GroupBox();
            txtAddress = new TextBox();
            btnConfig = new Button();
            btnReadAll = new Button();
            btnWriteAll = new Button();
            lblStatus = new Sunny.UI.UILabel();
            cmbType = new ComboBox();
            txtIP = new TextBox();
            txtPort = new TextBox();
            lblPort = new Label();
            cmbIP = new ComboBox();
            lblType = new Label();
            lblAddress = new Label();
            lblIP = new Label();
            cmbDataType = new ComboBox();
            lblDataType = new Label();
            tableLayoutPanel2 = new TableLayoutPanel();
            btnRuleSend = new Button();
            btnSend = new Button();
            themeForm_Communicator = new ReaLTaiizor.Forms.ThemeForm();
            controlBox1 = new ReaLTaiizor.Controls.ControlBox();
            panel_CommunicatorForm = new Panel();
            tableLayoutPanel1.SuspendLayout();
            groupBox1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)dgvSignals).BeginInit();
            contextMenuSignal.SuspendLayout();
            grpReceive.SuspendLayout();
            grpSetting.SuspendLayout();
            tableLayoutPanel2.SuspendLayout();
            themeForm_Communicator.SuspendLayout();
            panel_CommunicatorForm.SuspendLayout();
            SuspendLayout();
            //
            // label3
            //
            label3.AutoSize = true;
            label3.Dock = DockStyle.Fill;
            label3.ForeColor = Color.CornflowerBlue;
            label3.Location = new Point(3, 100);
            label3.Name = "label3";
            label3.Size = new Size(780, 20);
            label3.TabIndex = 18;
            label3.Text = "发送信息";
            label3.TextAlign = ContentAlignment.BottomLeft;
            // 
            // tableLayoutPanel1
            // 
            tableLayoutPanel1.ColumnCount = 1;
            tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
            tableLayoutPanel1.Controls.Add(grpReceive, 0, 4);
            tableLayoutPanel1.Controls.Add(txtSendMsg, 0, 2);
            tableLayoutPanel1.Controls.Add(groupBox1, 0, 1);
            tableLayoutPanel1.Controls.Add(grpReceive, 0, 2);
            tableLayoutPanel1.Controls.Add(grpSetting, 0, 0);
            tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 0, 3);
            tableLayoutPanel1.Controls.Add(label3, 0, 1);
            tableLayoutPanel1.Dock = DockStyle.Fill;
            tableLayoutPanel1.Location = new Point(0, 0);
            tableLayoutPanel1.Name = "tableLayoutPanel1";
            tableLayoutPanel1.RowCount = 5;
            tableLayoutPanel1.RowCount = 3;
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 100F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
            tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
            tableLayoutPanel1.Size = new Size(786, 424);
            tableLayoutPanel1.TabIndex = 26;
            //
            // groupBox1
            //
            groupBox1.Controls.Add(dgvSignals);
            groupBox1.Dock = DockStyle.Fill;
            groupBox1.ForeColor = Color.CornflowerBlue;
            groupBox1.Location = new Point(3, 103);
            groupBox1.Name = "groupBox1";
            groupBox1.Size = new Size(780, 156);
            groupBox1.TabIndex = 31;
            groupBox1.TabStop = false;
            groupBox1.Text = "通讯地址";
            //
            // dgvSignals
            //
            dgvSignals.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dgvSignals.ContextMenuStrip = contextMenuSignal;
            dgvSignals.Dock = DockStyle.Fill;
            dgvSignals.Location = new Point(3, 17);
            dgvSignals.Name = "dgvSignals";
            dgvSignals.Size = new Size(774, 136);
            dgvSignals.TabIndex = 0;
            //
            // contextMenuSignal
            //
            contextMenuSignal.Items.AddRange(new ToolStripItem[] { menuReadSignal, menuWriteSignal });
            contextMenuSignal.Name = "contextMenuSignal";
            contextMenuSignal.Size = new Size(137, 48);
            //
            // menuReadSignal
            //
            menuReadSignal.Name = "menuReadSignal";
            menuReadSignal.Size = new Size(136, 22);
            menuReadSignal.Text = "读取此信号";
            menuReadSignal.Click += menuReadSignal_Click;
            //
            // menuWriteSignal
            //
            menuWriteSignal.Name = "menuWriteSignal";
            menuWriteSignal.Size = new Size(136, 22);
            menuWriteSignal.Text = "写入此信号";
            menuWriteSignal.Click += menuWriteSignal_Click;
            // 
            // grpReceive
            // 
            grpReceive.Controls.Add(txtReceiveMsg);
            grpReceive.Dock = DockStyle.Fill;
            grpReceive.ForeColor = Color.CornflowerBlue;
            grpReceive.Location = new Point(3, 193);
            grpReceive.Location = new Point(3, 265);
            grpReceive.Name = "grpReceive";
            grpReceive.Size = new Size(780, 228);
            grpReceive.Size = new Size(780, 156);
            grpReceive.TabIndex = 30;
            grpReceive.TabStop = false;
            grpReceive.Text = "通讯记录";
@@ -113,31 +144,23 @@
            txtReceiveMsg.Name = "txtReceiveMsg";
            txtReceiveMsg.ReadOnly = true;
            txtReceiveMsg.ScrollBars = ScrollBars.Both;
            txtReceiveMsg.Size = new Size(774, 208);
            txtReceiveMsg.Size = new Size(774, 136);
            txtReceiveMsg.TabIndex = 0;
            //
            // txtSendMsg
            //
            txtSendMsg.Dock = DockStyle.Fill;
            txtSendMsg.Location = new Point(3, 123);
            txtSendMsg.Name = "txtSendMsg";
            txtSendMsg.Size = new Size(780, 21);
            txtSendMsg.TabIndex = 29;
            // 
            // grpSetting
            // 
            grpSetting.BackColor = Color.FromArgb(32, 41, 50);
            grpSetting.Controls.Add(txtAddress);
            grpSetting.Controls.Add(btnConfig);
            grpSetting.Controls.Add(btnReadAll);
            grpSetting.Controls.Add(btnWriteAll);
            grpSetting.Controls.Add(lblStatus);
            grpSetting.Controls.Add(cmbType);
            grpSetting.Controls.Add(txtIP);
            grpSetting.Controls.Add(txtPort);
            grpSetting.Controls.Add(lblPort);
            grpSetting.Controls.Add(cmbIP);
            grpSetting.Controls.Add(lblType);
            grpSetting.Controls.Add(lblAddress);
            grpSetting.Controls.Add(lblIP);
            grpSetting.Controls.Add(cmbDataType);
            grpSetting.Controls.Add(lblDataType);
            grpSetting.Dock = DockStyle.Fill;
            grpSetting.ForeColor = Color.CornflowerBlue;
            grpSetting.Location = new Point(3, 3);
@@ -148,13 +171,46 @@
            grpSetting.TabStop = false;
            grpSetting.Text = "通讯配置";
            // 
            // txtAddress
            // btnConfig
            // 
            txtAddress.Location = new Point(271, 60);
            txtAddress.Name = "txtAddress";
            txtAddress.Size = new Size(100, 21);
            txtAddress.TabIndex = 9;
            txtAddress.TextChanged += txtAddress_TextChanged;
            btnConfig.Location = new Point(423, 52);
            btnConfig.Name = "btnConfig";
            btnConfig.Size = new Size(87, 33);
            btnConfig.TabIndex = 10;
            btnConfig.Text = "地址配置";
            btnConfig.UseVisualStyleBackColor = true;
            btnConfig.Click += btnConfig_Click;
            //
            // btnReadAll
            //
            btnReadAll.Location = new Point(318, 52);
            btnReadAll.Name = "btnReadAll";
            btnReadAll.Size = new Size(87, 33);
            btnReadAll.TabIndex = 10;
            btnReadAll.Text = "批量读取";
            btnReadAll.UseVisualStyleBackColor = true;
            btnReadAll.Click += btnReadAll_Click;
            //
            // btnWriteAll
            //
            btnWriteAll.Location = new Point(208, 52);
            btnWriteAll.Name = "btnWriteAll";
            btnWriteAll.Size = new Size(87, 33);
            btnWriteAll.TabIndex = 10;
            btnWriteAll.Text = "批量写入";
            btnWriteAll.UseVisualStyleBackColor = true;
            btnWriteAll.Click += btnWriteAll_Click;
            //
            // lblStatus
            //
            lblStatus.Font = new Font("宋体", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
            lblStatus.ForeColor = Color.White;
            lblStatus.Location = new Point(388, 24);
            lblStatus.Name = "lblStatus";
            lblStatus.Size = new Size(100, 23);
            lblStatus.TabIndex = 9;
            lblStatus.Text = "未连接";
            lblStatus.TextAlign = ContentAlignment.MiddleLeft;
            // 
            // cmbType
            // 
@@ -169,6 +225,7 @@
            // 
            txtIP.Location = new Point(79, 22);
            txtIP.Name = "txtIP";
            txtIP.ReadOnly = true;
            txtIP.Size = new Size(100, 21);
            txtIP.TabIndex = 7;
            // 
@@ -176,6 +233,7 @@
            // 
            txtPort.Location = new Point(79, 60);
            txtPort.Name = "txtPort";
            txtPort.ReadOnly = true;
            txtPort.Size = new Size(100, 21);
            txtPort.TabIndex = 6;
            // 
@@ -205,15 +263,6 @@
            lblType.TabIndex = 0;
            lblType.Text = "型号";
            // 
            // lblAddress
            //
            lblAddress.AutoSize = true;
            lblAddress.Location = new Point(205, 63);
            lblAddress.Name = "lblAddress";
            lblAddress.Size = new Size(55, 15);
            lblAddress.TabIndex = 0;
            lblAddress.Text = "变量地址";
            //
            // lblIP
            // 
            lblIP.AutoSize = true;
@@ -222,65 +271,6 @@
            lblIP.Size = new Size(31, 15);
            lblIP.TabIndex = 0;
            lblIP.Text = "地址";
            //
            // cmbDataType
            //
            cmbDataType.DropDownStyle = ComboBoxStyle.DropDownList;
            cmbDataType.FormattingEnabled = true;
            cmbDataType.Location = new Point(435, 60);
            cmbDataType.Name = "cmbDataType";
            cmbDataType.Size = new Size(100, 23);
            cmbDataType.TabIndex = 11;
            cmbDataType.SelectedIndexChanged += cmbDataType_SelectedIndexChanged;
            //
            // lblDataType
            //
            lblDataType.AutoSize = true;
            lblDataType.Location = new Point(385, 63);
            lblDataType.Name = "lblDataType";
            lblDataType.Size = new Size(31, 15);
            lblDataType.TabIndex = 10;
            lblDataType.Text = "类型";
            //
            // tableLayoutPanel2
            //
            tableLayoutPanel2.ColumnCount = 3;
            tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 80F));
            tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 80F));
            tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
            tableLayoutPanel2.Controls.Add(btnRuleSend, 1, 0);
            tableLayoutPanel2.Controls.Add(btnSend, 0, 0);
            tableLayoutPanel2.Dock = DockStyle.Fill;
            tableLayoutPanel2.Location = new Point(3, 153);
            tableLayoutPanel2.Name = "tableLayoutPanel2";
            tableLayoutPanel2.RowCount = 1;
            tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
            tableLayoutPanel2.Size = new Size(780, 34);
            tableLayoutPanel2.TabIndex = 27;
            //
            // btnRuleSend
            //
            btnRuleSend.Dock = DockStyle.Fill;
            btnRuleSend.ForeColor = Color.CornflowerBlue;
            btnRuleSend.Location = new Point(83, 3);
            btnRuleSend.Name = "btnRuleSend";
            btnRuleSend.Size = new Size(74, 28);
            btnRuleSend.TabIndex = 14;
            btnRuleSend.Text = "校验发送";
            btnRuleSend.UseVisualStyleBackColor = true;
            btnRuleSend.Click += btnRuleSend_Click;
            //
            // btnSend
            //
            btnSend.Dock = DockStyle.Fill;
            btnSend.ForeColor = Color.CornflowerBlue;
            btnSend.Location = new Point(3, 3);
            btnSend.Name = "btnSend";
            btnSend.Size = new Size(74, 28);
            btnSend.TabIndex = 12;
            btnSend.Text = "发送";
            btnSend.UseVisualStyleBackColor = true;
            btnSend.Click += btnSend_Click;
            // 
            // themeForm_Communicator
            // 
@@ -336,45 +326,46 @@
            Controls.Add(themeForm_Communicator);
            FormBorderStyle = FormBorderStyle.None;
            MinimumSize = new Size(261, 61);
            Name = "CommunicatorS7Form";
            base.Name = "CommunicatorS7Form";
            Text = "S7通讯设置";
            TransparencyKey = Color.Fuchsia;
            FormClosing += CommunicatorForm_FormClosing;
            tableLayoutPanel1.ResumeLayout(false);
            tableLayoutPanel1.PerformLayout();
            groupBox1.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)dgvSignals).EndInit();
            contextMenuSignal.ResumeLayout(false);
            grpReceive.ResumeLayout(false);
            grpReceive.PerformLayout();
            grpSetting.ResumeLayout(false);
            grpSetting.PerformLayout();
            tableLayoutPanel2.ResumeLayout(false);
            themeForm_Communicator.ResumeLayout(false);
            panel_CommunicatorForm.ResumeLayout(false);
            ResumeLayout(false);
        }
        #endregion
        private Label label3;
        private TableLayoutPanel tableLayoutPanel1;
        private TableLayoutPanel tableLayoutPanel2;
        private GroupBox grpSetting;
        private TextBox txtIP;
        private TextBox txtPort;
        private Label lblPort;
        private ComboBox cmbIP;
        private Label lblIP;
        private TextBox txtSendMsg;
        private GroupBox grpReceive;
        private TextBox txtReceiveMsg;
        private Button btnSend;
        private Button btnRuleSend;
        private ReaLTaiizor.Forms.ThemeForm themeForm_Communicator;
        private ReaLTaiizor.Controls.ControlBox controlBox1;
        private Panel panel_CommunicatorForm;
        private Label lblType;
        private ComboBox cmbType;
        private Label lblAddress;
        private TextBox txtAddress;
        private Label lblDataType;
        private ComboBox cmbDataType;
        private GroupBox groupBox1;
        private DataGridView dgvSignals;
        private Button btnConfig;
        private Button btnReadAll;
        private Button btnWriteAll;
        private Sunny.UI.UILabel lblStatus;
        private ContextMenuStrip contextMenuSignal;
        private ToolStripMenuItem menuReadSignal;
        private ToolStripMenuItem menuWriteSignal;
    }
}
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorS7Form.cs
@@ -1,11 +1,17 @@
using LB_VisionProcesses.Communicators;
using LB_SmartVisionCommon;
using LB_VisionProcesses.Communicators;
using LB_VisionProcesses.Communicators.SiemensS7;
using LB_VisionProcesses.Communicators.Tcom;
using Microsoft.VisualBasic;
using OpenVinoSharp.Extensions.model;
using ReaLTaiizor.Forms;
using RJCP.IO.Ports;
using S7.Net;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
using YamlDotNet.Core.Tokens;
namespace LB_SmartVision.Forms.Pages.CommunicatorPage
{
@@ -15,6 +21,11 @@
        BaseCommunicator communicator { get; set; }
        public event CommunicatorS7Change CommunicatorChanged;
        private PlcConfig config;
        private DataTable signalTable;
        private BindingSource bindingSource;
        private string Name;
        private void communicatorChanged(BaseCommunicator communicator)
        {
@@ -44,60 +55,14 @@
            cmbIP.Enabled = false;
            txtIP.Enabled = false;
            txtPort.Enabled = false;
            cmbDataType.Enabled = false;
            lblType.Visible = false;
            lblAddress.Visible = false;
            cmbType.Visible = false;
            txtAddress.Visible = false;
            lblDataType.Visible = false;
            cmbDataType.Visible = false;
            Name = name;
            this.Text = name;
            if (communicator is UARTPort)
            {
                //统计可用端口
                SerialPortStream temp = new SerialPortStream();
                string[] ArryPort = temp.GetPortNames();
                for (int i = 0; i < ArryPort.Length; i++)
                {
                    cmbIP.Items.Add(ArryPort[i]);
                }
                cmbIP.Text = communicator.CommunicatorConnections["地址"]?.ToString();
                txtPort.Text = communicator.CommunicatorConnections["端口"]?.ToString();
                txtIP.Visible = false;
                cmbIP.Visible = true;
                this.btnRuleSend.Visible = true;
                lblType.Visible = false;
                lblAddress.Visible = false;
                cmbType.Visible = false;
                txtAddress.Visible = false;
                lblDataType.Visible = false;
                cmbDataType.Visible = false;
                lblIP.Text = "COM口";
                lblPort.Text = "波特率";
            }
            else if (communicator is TCPClient || communicator is TCPServer)
            {
                txtIP.Text = communicator.CommunicatorConnections["地址"]?.ToString();
                txtPort.Text = communicator.CommunicatorConnections["端口"]?.ToString();
                txtIP.Visible = true;
                cmbIP.Visible = false;
                this.btnRuleSend.Visible = false;
                lblType.Visible = false;
                lblAddress.Visible = false;
                cmbType.Visible = false;
                txtAddress.Visible = false;
                lblDataType.Visible = false;
                cmbDataType.Visible = false;
                lblIP.Text = "地址";
                lblPort.Text = "端口";
            }
            else if (communicator is SiemensLBS7)
            if (communicator is SiemensLBS7)
            {
                txtIP.Text = communicator.CommunicatorConnections["地址"]?.ToString();
                txtPort.Text = communicator.CommunicatorConnections["端口"]?.ToString();
@@ -107,33 +72,10 @@
                    cmbType.Items.Add(communicator.CommunicatorConnections["型号"]?.ToString());
                    cmbType.Text = communicator.CommunicatorConnections["型号"]?.ToString();
                }
                if (!string.IsNullOrEmpty(communicator.CommunicatorConnections["变量地址"]?.ToString()))
                {
                    txtAddress.Text = communicator.CommunicatorConnections["变量地址"]?.ToString();
                }
                // åˆå§‹åŒ–数据类型
                cmbDataType.Items.Clear();
                cmbDataType.Items.AddRange(new string[] { "String", "Bool", "Byte", "Int", "DInt", "Real", "Double", "Word", "DWord" });
                if (communicator.CommunicatorConnections.Contains("数据类型"))
                {
                    cmbDataType.Text = communicator.CommunicatorConnections["数据类型"].ToString();
                }
                else
                {
                    cmbDataType.Text = "String";
                }
                txtIP.Visible = true;
                cmbIP.Visible = false;
                this.btnRuleSend.Visible = false;
                lblType.Visible = true;
                lblAddress.Visible = true;
                cmbType.Visible = true;
                txtAddress.Visible = true;
                lblDataType.Visible = true;
                cmbDataType.Visible = true;
                cmbDataType.Enabled = true; // å¯ç”¨æ•°æ®ç±»åž‹é€‰æ‹©
                lblIP.Text = "IP";
                lblPort.Text = "æ§½";
@@ -142,15 +84,7 @@
            this.communicator = communicator;
            //加载回调函数
            Subscribe();
        }
        private void cmbDataType_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (communicator != null)
            {
                communicator.CommunicatorConnections.Add("数据类型", cmbDataType.Text);
                communicatorChanged(communicator);
            }
            LoadConfigAndSetupGrid();
        }
        private void CommunicatorForm_FormClosing(object sender, FormClosingEventArgs e) => Unsubscribe();
@@ -274,59 +208,233 @@
            }
        }
        private void btnSend_Click(object sender, EventArgs e)
        // æ‰¹é‡è¯»å–所有信号
        private void btnReadAll_Click(object sender, EventArgs e)
        {
            if (communicator == null)
            if (communicator == null || !communicator.bConnected)
            {
                MessageBox.Show("请先连接 PLC", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (communicator.SendMessage(txtSendMsg.Text))
            try
            {
                ShowSendMsg(txtSendMsg.Text);
                for (int i = 0; i < config.Signals.Count; i++)
                {
                    var signal = config.Signals[i];
                    object value = ((SiemensLBS7)communicator).ReadSignal(signal);
                    config.Signals[i].Value= value?.ToString() ?? "";
                    signalTable.Rows[i]["Value"] = config.Signals[i].Value;
                    ShowLogMsg(signalTable.Rows[i]["Value"] + ":" + value?.ToString() ?? "");
                }
            }
            else
            catch (Exception ex)
            {
                ShowLogMsg(communicator.Msg);
                MessageBox.Show($"批量读取失败: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnRuleSend_Click(object sender, EventArgs e)
        // æ‰¹é‡å†™å…¥ï¼šå°†è¡¨æ ¼ä¸­ä¿®æ”¹è¿‡çš„值写入 PLC
        private void btnWriteAll_Click(object sender, EventArgs e)
        {
            if (communicator == null)
            if (communicator == null || !communicator.bConnected)
            {
                MessageBox.Show("请先连接 PLC", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            string SendMsg = txtSendMsg.Text;
            //byte[] HexByte = BaseCommunicator.strToHexByte(SendMsg);
            byte[] HexByte = SendMsg.Split(' ', StringSplitOptions.RemoveEmptyEntries)
                                        .Select(hex => Convert.ToByte(hex, 16))
                                        .ToArray();
            ushort crcHexByte = BaseCommunicator.CRC16Calculate(HexByte, HexByte.Length);
            string crcString = crcHexByte.ToString("X4");
            crcString = crcString.Insert(2, " ");
            HexByte = BaseCommunicator.strToHexByte(SendMsg + " " + crcString);
            if (communicator.SendMessage(HexByte))
            try
            {
                ShowSendMsg(SendMsg + " " + crcString);
                int successCount = 0;
                for (int i = 0; i < config.Signals.Count; i++)
                {
                    var signal = config.Signals[i];
                    string newValueStr = signalTable.Rows[i]["Value"]?.ToString();
                    if (!string.IsNullOrEmpty(newValueStr))
                    {
                        object convertedValue = ConvertValue(signal.DataType, newValueStr);
                        ((SiemensLBS7)communicator).WriteSignal(signal, convertedValue);
                        successCount++;
                    }
                    ShowSendMsg(signalTable.Rows[i]["Value"] + ":" + newValueStr?.ToString() ?? "");
                }
                MessageBox.Show($"批量写入完成,成功写入 {successCount} ä¸ªä¿¡å·ã€‚", "写入结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            catch (Exception ex)
            {
                ShowLogMsg(communicator.Msg);
                MessageBox.Show($"批量写入失败: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void txtAddress_TextChanged(object sender, EventArgs e)
        private void btnConfig_Click(object sender, EventArgs e)
        {
            if (communicator != null)
            using (var configForm = new ConfigForm(config, GlobalVar.allPlcSettingPath + "\\" + this.Name + ".json"))
            {
                communicator.CommunicatorConnections.Add("变量地址", txtAddress.Text);
                communicatorChanged(communicator);
                if (configForm.ShowDialog() == DialogResult.OK)
                {
                    config = S7ConfigService.LoadConfig(GlobalVar.allPlcSettingPath);
                    LoadConfigAndSetupGrid();
                    UpdateConnectionStatus();
                }
            }
        }
        // æ•°æ®ç±»åž‹è½¬æ¢è¾…助方法
        private object ConvertValue(string dataType, string valueStr)
        {
            switch (dataType)
            {
                case "Bool":
                    {
                        if (bool.TryParse(valueStr, out bool b)) return b;
                        if (valueStr == "1") return true;
                        if (valueStr == "0") return false;
                        throw new Exception("无效的布尔值");
                    }
                case "Byte":
                    {
                        return byte.Parse(valueStr);
                    }
                case "Int":
                    {
                        return short.Parse(valueStr);
                    }
                case "DInt":
                    {
                        return int.Parse(valueStr);
                    }
                case "Real":
                    {
                        return float.Parse(valueStr);
                    }
                case "String":
                    {
                        return valueStr;
                    }
                default:
                    {
                        throw new NotSupportedException($"不支持的类型: {dataType}");
                    }
            }
        }
        private void LoadConfigAndSetupGrid()
        {
            config = S7ConfigService.LoadConfig(GlobalVar.allPlcSettingPath + "\\" + this.Name + ".json");
            if (GlobalVar.allPlcSettings.Keys.Contains(Name))
            {
                GlobalVar.allPlcSettings[Name] = config;
            }
            else
            {
                GlobalVar.allPlcSettings.TryAdd(Name, config);
            }
            ConfigManager<Dictionary<string, PlcConfig>>.SaveConfig<Dictionary<string, PlcConfig>>(GlobalVar.allPlcSettings, GlobalVar.allPlcSettingsPath);
            // æž„建 DataTable ç”¨äºŽå±•示信号(支持编辑值列)
            signalTable = new DataTable();
            signalTable.Columns.Add("SignalName", typeof(string));
            signalTable.Columns.Add("Address", typeof(string));
            signalTable.Columns.Add("Value", typeof(string));
            foreach (var signal in config.Signals)
            {
                string address = $"{signal.Area}";
                if (signal.Area == "DB")
                    address += $"{signal.DbNumber}.DB";
                address += $"{signal.ByteOffset}.{signal.BitOffset}";
                signalTable.Rows.Add(signal.SignalName, address, "");
            }
            bindingSource = new BindingSource();
            bindingSource.DataSource = signalTable;
            dgvSignals.DataSource = bindingSource;
            dgvSignals.Columns["SignalName"].HeaderText = "信号名称";
            dgvSignals.Columns["SignalName"].ReadOnly = true;
            dgvSignals.Columns["Address"].HeaderText = "PLC åœ°å€";
            dgvSignals.Columns["Address"].ReadOnly = true;
            dgvSignals.Columns["Value"].HeaderText = "当前值";
            dgvSignals.Columns["Value"].ReadOnly = false;  // å…è®¸ç”¨æˆ·ç¼–辑
            UpdateConnectionStatus();
            dgvSignals.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
        }
        private void UpdateConnectionStatus()
        {
            if (communicator != null && communicator.bConnected)
            {
                lblStatus.Text = $"已连接: {config.PlcIpAddress}";
                lblStatus.ForeColor = Color.Green;
            }
            else
            {
                lblStatus.Text = "未连接";
                lblStatus.ForeColor = Color.Red;
            }
        }
        // ========== å³é”®èœå•:单信号操作 ==========
        private SignalConfig GetSelectedSignal()
        {
            if (dgvSignals.CurrentRow == null) return null;
            int index = dgvSignals.CurrentRow.Index;
            if (index >= 0 && index < config.Signals.Count)
                return config.Signals[index];
            return null;
        }
        private void menuReadSignal_Click(object sender, EventArgs e)
        {
            var signal = GetSelectedSignal();
            if (signal == null) return;
            if (communicator != null && !communicator.bConnected)
            {
                MessageBox.Show("请先连接 PLC");
                return;
            }
            try
            {
                object value = ((SiemensLBS7)communicator).ReadSignal(signal);
                MessageBox.Show($"信号 [{signal.SignalName}] å½“前值: {value}", "读取结果");
                signalTable.Rows[dgvSignals.CurrentRow.Index]["Value"] = value?.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show($"读取失败: {ex.Message}");
            }
        }
        private void menuWriteSignal_Click(object sender, EventArgs e)
        {
            var signal = GetSelectedSignal();
            if (signal == null) return;
            if (communicator != null && !communicator.bConnected)
            {
                MessageBox.Show("请先连接 PLC");
                return;
            }
            string input = Interaction.InputBox(
                $"请输入要写入 {signal.SignalName} çš„值 ({signal.DataType})",
                "写入信号", "");
            if (string.IsNullOrEmpty(input)) return;
            try
            {
                object value = ConvertValue(signal.DataType, input);
                ((SiemensLBS7)communicator).WriteSignal(signal, value);
                MessageBox.Show("写入成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"写入失败: {ex.Message}");
            }
        }
    }
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorS7Form.resx
@@ -117,6 +117,9 @@
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="contextMenuSignal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <data name="themeForm_Communicator.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.cs
@@ -128,13 +128,27 @@
                if (GlobalVar.dicCommunicators.ContainsKey(name))
                {
                    CommunicatorForm communicatorFForm = new CommunicatorForm(GlobalVar.dicCommunicators[name], name);
                    communicatorFForm.CommunicatorChanged += CommunicatorFForm_CommunicatorChanged;
                    communicatorFForm.Show();
                    if (GlobalVar.dicCommunicators[name].CommunicatorBrand== CommunicatorBrand.SiemensS7)
                    {
                        CommunicatorS7Form communicatorS7Form = new CommunicatorS7Form(GlobalVar.dicCommunicators[name], name);
                        communicatorS7Form.CommunicatorChanged += CommunicatorS7Form_CommunicatorChanged;
                        communicatorS7Form.Show();
                    }
                    else
                    {
                        CommunicatorForm communicatorFForm = new CommunicatorForm(GlobalVar.dicCommunicators[name], name);
                        communicatorFForm.CommunicatorChanged += CommunicatorFForm_CommunicatorChanged;
                        communicatorFForm.Show();
                    }
                }
            }
        }
        private void CommunicatorS7Form_CommunicatorChanged(BaseCommunicator communicator)
        {
            throw new NotImplementedException();
        }
        private void CommunicatorFForm_CommunicatorChanged(BaseCommunicator communicator)
        {
            if (this.InvokeRequired)
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.cs
@@ -37,7 +37,7 @@
                if (string.IsNullOrEmpty(CameraSN) || string.IsNullOrEmpty(CameraBrand))
                    return;
                UserItem flow = new UserItem(new string[] { "运动控制", "刷新", "移除" });
                UserItem flow = new UserItem(new string[] { "运动控制", /*"刷新", "移除"*/ });
                flow.Name = CameraSN;
                flow.Text = $"[{CameraBrand}]";
                if (item.Value.isGrabbing)
@@ -120,7 +120,7 @@
                if (GlobalVar.dicCameras.ContainsKey(name))
                {
                    MotionControlPage.MotionControlForm cameraForm = new MotionControlPage.MotionControlForm(GlobalVar.dicCameras[name]);
                    MotionControlFormRead cameraForm = new MotionControlPage.MotionControlFormRead(GlobalVar.dicCameras[name].SN);
                    cameraForm.Show();
                }
            }
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs
@@ -54,151 +54,6 @@
            }
        }
        Dictionary<string, RecordMotionControlData> concurrentDictionary = new Dictionary<string, RecordMotionControlData>();
        private void CameraForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (camera == null)
                return;
            camera.StopGrabbing();
            camera.StartGrabbing();
            if (GlobalVar.dicMotionControlData.Keys.Contains(GlobalVar.strProductName))
            {
                concurrentDictionary = GlobalVar.dicMotionControlData[GlobalVar.strProductName];
                double xAxisDetectLocationValue, xAxisOriginalLocationValue, yAxisDetectLocationValue, yAxisOriginalLocationValue, zAxisDetectLocationValue, zAxisOriginalLocationValue, wAxisDetectLocationValue, wAxisOriginalLocationValue, pulseMotionSpeedValue, angularVelocityValue;
                xAxisDetectLocationValue = double.Parse(this.textBoxXDetectLocation.Text);
                xAxisOriginalLocationValue = double.Parse(this.textBoxXOriginalLocation.Text);
                yAxisDetectLocationValue = double.Parse(this.textBoxYDetectLocation.Text);
                yAxisOriginalLocationValue = double.Parse(this.textBoxYOriginalLocation.Text);
                zAxisDetectLocationValue = double.Parse(this.textBoxZDetectLocation.Text);
                zAxisOriginalLocationValue = double.Parse(this.textBoxZOriginalLocation.Text);
                wAxisDetectLocationValue = double.Parse(this.textBoxWDetectLocation.Text);
                wAxisOriginalLocationValue = double.Parse(this.textBoxWOriginalLocation.Text);
                pulseMotionSpeedValue = double.Parse(this.textBoxPointSpeed.Text);
                angularVelocityValue = double.Parse(this.textBoxPointSpeed.Text);
                if (concurrentDictionary.Keys.Contains(cameraSN))
                {
                    RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    {
                        ProductName = GlobalVar.strProductName,
                        CommunicatorsName = communicatorsName,
                        CameraSN = cameraSN,
                        XAxisAddress = this.textBoxXVarAddress.Text,
                        XAxisDetectLocationValue = xAxisDetectLocationValue,
                        XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                        YAxisAddress = this.textBoxYVarAddress.Text,
                        YAxisDetectLocationValue = yAxisDetectLocationValue,
                        YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                        ZAxisAddress = this.textBoxZVarAddress.Text,
                        ZAxisDetectLocationValue = zAxisDetectLocationValue,
                        ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                        WAxisAddress = this.textBoxWVarAddress.Text,
                        WAxisDetectLocationValue = wAxisDetectLocationValue,
                        WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                        PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                        PulseMotionSpeedValue = pulseMotionSpeedValue,
                        AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                        AngularVelocityValue = angularVelocityValue
                    };
                    concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
                else
                {
                    RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    {
                        ProductName = GlobalVar.strProductName,
                        CommunicatorsName = communicatorsName,
                        CameraSN = cameraSN,
                        XAxisAddress = this.textBoxXVarAddress.Text,
                        XAxisDetectLocationValue = xAxisDetectLocationValue,
                        XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                        YAxisAddress = this.textBoxYVarAddress.Text,
                        YAxisDetectLocationValue = yAxisDetectLocationValue,
                        YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                        ZAxisAddress = this.textBoxZVarAddress.Text,
                        ZAxisDetectLocationValue = zAxisDetectLocationValue,
                        ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                        WAxisAddress = this.textBoxWVarAddress.Text,
                        WAxisDetectLocationValue = wAxisDetectLocationValue,
                        WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                        PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                        PulseMotionSpeedValue = pulseMotionSpeedValue,
                        AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                        AngularVelocityValue = angularVelocityValue
                    };
                    concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
            }
            else
            {
                double xAxisDetectLocationValue, xAxisOriginalLocationValue, yAxisDetectLocationValue, yAxisOriginalLocationValue, zAxisDetectLocationValue, zAxisOriginalLocationValue, wAxisDetectLocationValue, wAxisOriginalLocationValue, pulseMotionSpeedValue, angularVelocityValue;
                xAxisDetectLocationValue = double.Parse(this.textBoxXDetectLocation.Text);
                xAxisOriginalLocationValue = double.Parse(this.textBoxXOriginalLocation.Text);
                yAxisDetectLocationValue = double.Parse(this.textBoxYDetectLocation.Text);
                yAxisOriginalLocationValue = double.Parse(this.textBoxYOriginalLocation.Text);
                zAxisDetectLocationValue = double.Parse(this.textBoxZDetectLocation.Text);
                zAxisOriginalLocationValue = double.Parse(this.textBoxZOriginalLocation.Text);
                wAxisDetectLocationValue = double.Parse(this.textBoxWDetectLocation.Text);
                wAxisOriginalLocationValue = double.Parse(this.textBoxWOriginalLocation.Text);
                pulseMotionSpeedValue = double.Parse(this.textBoxPointSpeed.Text);
                angularVelocityValue = double.Parse(this.textBoxPointSpeed.Text);
                if (concurrentDictionary.Keys.Contains(cameraSN))
                {
                    RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    {
                        ProductName = GlobalVar.strProductName,
                        CommunicatorsName = communicatorsName,
                        CameraSN = cameraSN,
                        XAxisAddress = this.textBoxXVarAddress.Text,
                        XAxisDetectLocationValue = xAxisDetectLocationValue,
                        XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                        YAxisAddress = this.textBoxYVarAddress.Text,
                        YAxisDetectLocationValue = yAxisDetectLocationValue,
                        YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                        ZAxisAddress = this.textBoxZVarAddress.Text,
                        ZAxisDetectLocationValue = zAxisDetectLocationValue,
                        ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                        WAxisAddress = this.textBoxWVarAddress.Text,
                        WAxisDetectLocationValue = wAxisDetectLocationValue,
                        WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                        PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                        PulseMotionSpeedValue = pulseMotionSpeedValue,
                        AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                        AngularVelocityValue = angularVelocityValue
                    };
                    concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
                else
                {
                    RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    {
                        ProductName = GlobalVar.strProductName,
                        CommunicatorsName = communicatorsName,
                        CameraSN = cameraSN,
                        XAxisAddress = this.textBoxXVarAddress.Text,
                        XAxisDetectLocationValue = xAxisDetectLocationValue,
                        XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                        YAxisAddress = this.textBoxYVarAddress.Text,
                        YAxisDetectLocationValue = yAxisDetectLocationValue,
                        YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                        ZAxisAddress = this.textBoxZVarAddress.Text,
                        ZAxisDetectLocationValue = zAxisDetectLocationValue,
                        ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                        WAxisAddress = this.textBoxWVarAddress.Text,
                        WAxisDetectLocationValue = wAxisDetectLocationValue,
                        WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                        PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                        PulseMotionSpeedValue = pulseMotionSpeedValue,
                        AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                        AngularVelocityValue = angularVelocityValue
                    };
                    concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
            }
            GlobalVar.dicMotionControlData.TryAdd(GlobalVar.strProductName, concurrentDictionary);
            ConfigManager<Dictionary<string, Dictionary<string, RecordMotionControlData>>>.SaveConfig<Dictionary<string, Dictionary<string, RecordMotionControlData>>>(GlobalVar.dicMotionControlData, GlobalVar.allMotionControlDataPath);
            Unsubscribe();
        }
        public void Unsubscribe()
        {
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlFormRead.Designer.cs
@@ -46,12 +46,12 @@
            tabControl1 = new TabControl();
            tabPage1 = new TabPage();
            tableLayoutPanel9 = new TableLayoutPanel();
            dataGridView1 = new DataGridView();
            dgvSignals = new DataGridView();
            tableLayoutPanel2 = new TableLayoutPanel();
            btnOneClickSetting = new ReaLTaiizor.Controls.Button();
            btnOneClickRead = new ReaLTaiizor.Controls.Button();
            btnRemove = new ReaLTaiizor.Controls.Button();
            btnAdd = new ReaLTaiizor.Controls.Button();
            lblStatus = new Sunny.UI.UILabel();
            btnSave = new ReaLTaiizor.Controls.Button();
            uiGroupBoxImage = new GroupBox();
            uiSplitContainer1 = new SplitContainer();
@@ -67,7 +67,7 @@
            tabControl1.SuspendLayout();
            tabPage1.SuspendLayout();
            tableLayoutPanel9.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)dgvSignals).BeginInit();
            tableLayoutPanel2.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)uiSplitContainer1).BeginInit();
            uiSplitContainer1.Panel1.SuspendLayout();
@@ -299,7 +299,7 @@
            tableLayoutPanel9.ColumnCount = 1;
            tableLayoutPanel9.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
            tableLayoutPanel9.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F));
            tableLayoutPanel9.Controls.Add(dataGridView1, 0, 0);
            tableLayoutPanel9.Controls.Add(dgvSignals, 0, 0);
            tableLayoutPanel9.Controls.Add(tableLayoutPanel2, 0, 1);
            tableLayoutPanel9.Dock = DockStyle.Fill;
            tableLayoutPanel9.Location = new Point(3, 3);
@@ -310,15 +310,14 @@
            tableLayoutPanel9.Size = new Size(444, 340);
            tableLayoutPanel9.TabIndex = 0;
            // 
            // dataGridView1
            // dgvSignals
            // 
            dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dataGridView1.Dock = DockStyle.Fill;
            dataGridView1.Location = new Point(3, 3);
            dataGridView1.Name = "dataGridView1";
            dataGridView1.Size = new Size(438, 164);
            dataGridView1.TabIndex = 0;
            dataGridView1.CellContentClick += dataGridView1_CellContentClick;
            dgvSignals.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dgvSignals.Dock = DockStyle.Fill;
            dgvSignals.Location = new Point(3, 3);
            dgvSignals.Name = "dgvSignals";
            dgvSignals.Size = new Size(438, 164);
            dgvSignals.TabIndex = 0;
            // 
            // tableLayoutPanel2
            // 
@@ -328,9 +327,9 @@
            tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F));
            tableLayoutPanel2.Controls.Add(btnOneClickSetting, 1, 1);
            tableLayoutPanel2.Controls.Add(btnOneClickRead, 0, 1);
            tableLayoutPanel2.Controls.Add(btnRemove, 1, 0);
            tableLayoutPanel2.Controls.Add(btnAdd, 0, 0);
            tableLayoutPanel2.Controls.Add(btnSave, 2, 0);
            tableLayoutPanel2.Controls.Add(lblStatus, 0, 2);
            tableLayoutPanel2.Controls.Add(btnSave, 1, 0);
            tableLayoutPanel2.Dock = DockStyle.Fill;
            tableLayoutPanel2.Location = new Point(3, 173);
            tableLayoutPanel2.Name = "tableLayoutPanel2";
@@ -385,27 +384,6 @@
            btnOneClickRead.TextAlignment = StringAlignment.Center;
            btnOneClickRead.Click += btnOneClickRead_Click;
            // 
            // btnRemove
            //
            btnRemove.BackColor = Color.White;
            btnRemove.BorderColor = Color.Lime;
            btnRemove.Dock = DockStyle.Fill;
            btnRemove.EnteredBorderColor = Color.FromArgb(165, 37, 37);
            btnRemove.EnteredColor = Color.FromArgb(32, 34, 37);
            btnRemove.Font = new Font("Microsoft Sans Serif", 12F);
            btnRemove.Image = null;
            btnRemove.ImageAlign = ContentAlignment.MiddleLeft;
            btnRemove.InactiveColor = Color.FromArgb(32, 34, 37);
            btnRemove.Location = new Point(148, 3);
            btnRemove.Name = "btnRemove";
            btnRemove.PressedBorderColor = Color.FromArgb(165, 37, 37);
            btnRemove.PressedColor = Color.FromArgb(165, 37, 37);
            btnRemove.Size = new Size(139, 49);
            btnRemove.TabIndex = 1;
            btnRemove.Text = "移除";
            btnRemove.TextAlignment = StringAlignment.Center;
            btnRemove.Click += btnRemove_Click;
            //
            // btnAdd
            // 
            btnAdd.BackColor = Color.White;
@@ -423,9 +401,21 @@
            btnAdd.PressedColor = Color.FromArgb(165, 37, 37);
            btnAdd.Size = new Size(139, 49);
            btnAdd.TabIndex = 0;
            btnAdd.Text = "添加";
            btnAdd.Text = "配置地址";
            btnAdd.TextAlignment = StringAlignment.Center;
            btnAdd.Click += btnAdd_Click;
            //
            // lblStatus
            //
            lblStatus.Dock = DockStyle.Fill;
            lblStatus.Font = new Font("宋体", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
            lblStatus.ForeColor = Color.White;
            lblStatus.Location = new Point(3, 110);
            lblStatus.Name = "lblStatus";
            lblStatus.Size = new Size(139, 55);
            lblStatus.TabIndex = 5;
            lblStatus.Text = "uiLabel1";
            lblStatus.TextAlign = ContentAlignment.MiddleLeft;
            // 
            // btnSave
            // 
@@ -438,14 +428,15 @@
            btnSave.Image = null;
            btnSave.ImageAlign = ContentAlignment.MiddleLeft;
            btnSave.InactiveColor = Color.FromArgb(32, 34, 37);
            btnSave.Location = new Point(293, 3);
            btnSave.Location = new Point(148, 3);
            btnSave.Name = "btnSave";
            btnSave.PressedBorderColor = Color.FromArgb(165, 37, 37);
            btnSave.PressedColor = Color.FromArgb(165, 37, 37);
            btnSave.Size = new Size(142, 49);
            btnSave.Size = new Size(139, 49);
            btnSave.TabIndex = 2;
            btnSave.Text = "保存";
            btnSave.TextAlignment = StringAlignment.Center;
            btnSave.Click += btnSave_Click;
            // 
            // uiGroupBoxImage
            // 
@@ -547,7 +538,7 @@
            tabControl1.ResumeLayout(false);
            tabPage1.ResumeLayout(false);
            tableLayoutPanel9.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit();
            ((System.ComponentModel.ISupportInitialize)dgvSignals).EndInit();
            tableLayoutPanel2.ResumeLayout(false);
            uiSplitContainer1.Panel1.ResumeLayout(false);
            uiSplitContainer1.Panel2.ResumeLayout(false);
@@ -581,13 +572,13 @@
        private TabControl tabControl1;
        private TabPage tabPage1;
        private TableLayoutPanel tableLayoutPanel9;
        private DataGridView dataGridView1;
        private DataGridView dgvSignals;
        private TableLayoutPanel tableLayoutPanel2;
        private ReaLTaiizor.Controls.Button btnRemove;
        private ReaLTaiizor.Controls.Button btnAdd;
        private ReaLTaiizor.Controls.Button btnSave;
        private ReaLTaiizor.Controls.Button btnOneClickSetting;
        private ReaLTaiizor.Controls.Button btnOneClickRead;
        private ComboBox cmbSN;
        private Sunny.UI.UILabel lblStatus;
    }
}
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlFormRead.cs
@@ -1,6 +1,9 @@
using LB_SmartVisionCommon;
using LB_VisionControls;
using LB_VisionProcesses.Cameras;
using LB_VisionProcesses.Communicators;
using LB_VisionProcesses.Communicators.SiemensS7;
using OpenVinoSharp.Extensions.model;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@@ -31,6 +34,13 @@
        private BindingSource _bindingSource;
        private PlcConfig config;
        private DataTable signalTable;
        private BindingSource bindingSource;
        private string Name;
        UserPictureBox onlinePictureBox { get; set; }
        string communicatorsName { get; set; }
        public MotionControlFormRead()
@@ -39,187 +49,23 @@
        }
        string cameraSN = string.Empty;
        public MotionControlFormRead(List<string> strCameraSN)
        public MotionControlFormRead(string strCameraSN)
        {
            InitializeComponent();
            if (strCameraSN == null || strCameraSN.Count == 0)
            if (string.IsNullOrEmpty(strCameraSN))
            {
                return;
            }
            //this.camera = camera;
            //this.Text = camera.SN;
            this.cmbSN.Items.Clear();
            foreach (string strSN in strCameraSN)
            {
                this.cmbSN.Items.Add(strSN);
            }
            //cameraSN = camera.SN;
            this.cmbSN.Items.Add(strCameraSN);
            onlinePictureBox = new UserPictureBox(uiGroupBoxImage);
            this.uiGroupBoxImage.Controls.Clear();
            this.uiGroupBoxImage.Controls.Add(onlinePictureBox);
            onlinePictureBox.Dock = DockStyle.Fill;
            dataGridView1.Columns["SN"].HeaderText = "序列号";
            dataGridView1.Columns["SN"].ReadOnly = true;
            dataGridView1.Columns["ReadAddress"].HeaderText = "读取PLC地址";
            //dataGridView1.Columns["ReadAddress"].ReadOnly = true;
            dataGridView1.Columns["WriteAddress"].HeaderText = "写入PLC地址";
            //dataGridView1.Columns["WriteAddress"].ReadOnly = true;
            dataGridView1.Columns["Value"].HeaderText = "数值";
            dataGridView1.Columns["Description"].HeaderText = "描述";
            dataGridView1.Columns["Value"].DefaultCellStyle.Format = "F2"; // ä¿ç•™ä¸¤ä½å°æ•°
            LoadConfigAndSetupGrid();
        }
        Dictionary<string, RecordMotionControlData> concurrentDictionary = new Dictionary<string, RecordMotionControlData>();
        private void CameraForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (GlobalVar.dicCameras[this.cmbSN.Text] == null)
            {
                return;
            }
            GlobalVar.dicCameras[this.cmbSN.Text].StopGrabbing();
            GlobalVar.dicCameras[this.cmbSN.Text].StartGrabbing();
            if (GlobalVar.dicMotionControlData.Keys.Contains(GlobalVar.strProductName))
            {
                concurrentDictionary = GlobalVar.dicMotionControlData[GlobalVar.strProductName];
                double xAxisDetectLocationValue, xAxisOriginalLocationValue, yAxisDetectLocationValue, yAxisOriginalLocationValue, zAxisDetectLocationValue, zAxisOriginalLocationValue, wAxisDetectLocationValue, wAxisOriginalLocationValue, pulseMotionSpeedValue, angularVelocityValue;
                //xAxisDetectLocationValue = double.Parse(this.textBoxXDetectLocation.Text);
                //xAxisOriginalLocationValue = double.Parse(this.textBoxXOriginalLocation.Text);
                //yAxisDetectLocationValue = double.Parse(this.textBoxYDetectLocation.Text);
                //yAxisOriginalLocationValue = double.Parse(this.textBoxYOriginalLocation.Text);
                //zAxisDetectLocationValue = double.Parse(this.textBoxZDetectLocation.Text);
                //zAxisOriginalLocationValue = double.Parse(this.textBoxZOriginalLocation.Text);
                //wAxisDetectLocationValue = double.Parse(this.textBoxWDetectLocation.Text);
                //wAxisOriginalLocationValue = double.Parse(this.textBoxWOriginalLocation.Text);
                //pulseMotionSpeedValue = double.Parse(this.textBoxPointSpeed.Text);
                //angularVelocityValue = double.Parse(this.textBoxPointSpeed.Text);
                if (concurrentDictionary.Keys.Contains(cameraSN))
                {
                    //RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    //{
                    //    ProductName = GlobalVar.strProductName,
                    //    CommunicatorsName = communicatorsName,
                    //    CameraSN = cameraSN,
                    //    //XAxisAddress = this.textBoxXVarAddress.Text,
                    //    //XAxisDetectLocationValue = xAxisDetectLocationValue,
                    //    //XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                    //    //YAxisAddress = this.textBoxYVarAddress.Text,
                    //    //YAxisDetectLocationValue = yAxisDetectLocationValue,
                    //    //YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                    //    //ZAxisAddress = this.textBoxZVarAddress.Text,
                    //    //ZAxisDetectLocationValue = zAxisDetectLocationValue,
                    //    //ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                    //    //WAxisAddress = this.textBoxWVarAddress.Text,
                    //    //WAxisDetectLocationValue = wAxisDetectLocationValue,
                    //    //WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                    //    //PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                    //    //PulseMotionSpeedValue = pulseMotionSpeedValue,
                    //    //AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                    //    //AngularVelocityValue = angularVelocityValue
                    //};
                    //concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
                else
                {
                    //RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    //{
                    //    ProductName = GlobalVar.strProductName,
                    //    CommunicatorsName = communicatorsName,
                    //    CameraSN = cameraSN,
                    //    //XAxisAddress = this.textBoxXVarAddress.Text,
                    //    //XAxisDetectLocationValue = xAxisDetectLocationValue,
                    //    //XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                    //    //YAxisAddress = this.textBoxYVarAddress.Text,
                    //    //YAxisDetectLocationValue = yAxisDetectLocationValue,
                    //    //YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                    //    //ZAxisAddress = this.textBoxZVarAddress.Text,
                    //    //ZAxisDetectLocationValue = zAxisDetectLocationValue,
                    //    //ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                    //    //WAxisAddress = this.textBoxWVarAddress.Text,
                    //    //WAxisDetectLocationValue = wAxisDetectLocationValue,
                    //    //WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                    //    //PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                    //    //PulseMotionSpeedValue = pulseMotionSpeedValue,
                    //    //AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                    //    //AngularVelocityValue = angularVelocityValue
                    //};
                    //concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
            }
            else
            {
                double xAxisDetectLocationValue, xAxisOriginalLocationValue, yAxisDetectLocationValue, yAxisOriginalLocationValue, zAxisDetectLocationValue, zAxisOriginalLocationValue, wAxisDetectLocationValue, wAxisOriginalLocationValue, pulseMotionSpeedValue, angularVelocityValue;
                //xAxisDetectLocationValue = double.Parse(this.textBoxXDetectLocation.Text);
                //xAxisOriginalLocationValue = double.Parse(this.textBoxXOriginalLocation.Text);
                //yAxisDetectLocationValue = double.Parse(this.textBoxYDetectLocation.Text);
                //yAxisOriginalLocationValue = double.Parse(this.textBoxYOriginalLocation.Text);
                //zAxisDetectLocationValue = double.Parse(this.textBoxZDetectLocation.Text);
                //zAxisOriginalLocationValue = double.Parse(this.textBoxZOriginalLocation.Text);
                //wAxisDetectLocationValue = double.Parse(this.textBoxWDetectLocation.Text);
                //wAxisOriginalLocationValue = double.Parse(this.textBoxWOriginalLocation.Text);
                //pulseMotionSpeedValue = double.Parse(this.textBoxPointSpeed.Text);
                //angularVelocityValue = double.Parse(this.textBoxPointSpeed.Text);
                if (concurrentDictionary.Keys.Contains(cameraSN))
                {
                    //RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    //{
                    //    ProductName = GlobalVar.strProductName,
                    //    CommunicatorsName = communicatorsName,
                    //    CameraSN = cameraSN,
                    //    //XAxisAddress = this.textBoxXVarAddress.Text,
                    //    //XAxisDetectLocationValue = xAxisDetectLocationValue,
                    //    //XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                    //    //YAxisAddress = this.textBoxYVarAddress.Text,
                    //    //YAxisDetectLocationValue = yAxisDetectLocationValue,
                    //    //YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                    //    //ZAxisAddress = this.textBoxZVarAddress.Text,
                    //    //ZAxisDetectLocationValue = zAxisDetectLocationValue,
                    //    //ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                    //    //WAxisAddress = this.textBoxWVarAddress.Text,
                    //    //WAxisDetectLocationValue = wAxisDetectLocationValue,
                    //    //WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                    //    //PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                    //    //PulseMotionSpeedValue = pulseMotionSpeedValue,
                    //    //AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                    //    //AngularVelocityValue = angularVelocityValue
                    //};
                    //concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
                else
                {
                    //RecordMotionControlData recordMotionControlData = new RecordMotionControlData
                    //{
                    //    ProductName = GlobalVar.strProductName,
                    //    CommunicatorsName = communicatorsName,
                    //    CameraSN = cameraSN,
                    //    //XAxisAddress = this.textBoxXVarAddress.Text,
                    //    //XAxisDetectLocationValue = xAxisDetectLocationValue,
                    //    //XAxisOriginalLocationValue = xAxisOriginalLocationValue,
                    //    //YAxisAddress = this.textBoxYVarAddress.Text,
                    //    //YAxisDetectLocationValue = yAxisDetectLocationValue,
                    //    //YAxisOriginalLocationValue = yAxisOriginalLocationValue,
                    //    //ZAxisAddress = this.textBoxZVarAddress.Text,
                    //    //ZAxisDetectLocationValue = zAxisDetectLocationValue,
                    //    //ZAxisOriginalLocationValue = zAxisOriginalLocationValue,
                    //    //WAxisAddress = this.textBoxWVarAddress.Text,
                    //    //WAxisDetectLocationValue = wAxisDetectLocationValue,
                    //    //WAxisOriginalLocationValue = wAxisOriginalLocationValue,
                    //    //PulseMotionSpeedAddress = this.textBoxPulseMotionSpeedAddress.Text,
                    //    //PulseMotionSpeedValue = pulseMotionSpeedValue,
                    //    //AngularVelocityAddress = this.textBoxAngularVelocityAddress.Text,
                    //    //AngularVelocityValue = angularVelocityValue
                    //};
                    //concurrentDictionary.TryAdd(cameraSN, recordMotionControlData);
                }
            }
            GlobalVar.dicMotionControlData.TryAdd(GlobalVar.strProductName, concurrentDictionary);
            ConfigManager<Dictionary<string, Dictionary<string, RecordMotionControlData>>>.SaveConfig<Dictionary<string, Dictionary<string, RecordMotionControlData>>>(GlobalVar.dicMotionControlData, GlobalVar.allMotionControlDataPath);
            Unsubscribe();
        }
        Dictionary<string, PlcConfig> concurrentDictionary = new Dictionary<string, PlcConfig>();
        public void Unsubscribe()
        {
@@ -344,123 +190,174 @@
        private void btnAdd_Click(object sender, EventArgs e)
        {
            // åˆ›å»ºæ–°å¢žæ•°æ®çš„对话框(这里简化为直接创建默认数据)
            PlcDataItem newData = new PlcDataItem
            {
                SN = (GlobalVar.dicMPlcData.Count()).ToString(),
                ReadAddress = "DB1003.DBD1",
                WriteAddress = "DB1003.DBD51",
                Value = 0.0F,
                Description = "请修改对应描述"
            };
            // æ·»åŠ åˆ°åµŒå¥—å­—å…¸
            if (!GlobalVar.dicMPlcData.ContainsKey(newData.ReadAddress))
            using (var configForm = new ConfigForm(config, GlobalVar.allPlcSettingPath + "\\" + this.Name + ".json"))
            {
                GlobalVar.dicMPlcData.TryAdd(newData.ReadAddress, new Dictionary<string, PlcDataItem> { [newData.ReadAddress] = newData });
            }
            else
            {
                newData.ReadAddress = newData.ReadAddress + GlobalVar.dicMPlcData.Count;
                GlobalVar.dicMPlcData.TryAdd(newData.ReadAddress, new Dictionary<string, PlcDataItem> { [newData.ReadAddress] = newData });
            }
            // æ›´æ–°DataGridView数据源
            UpdateDataSource();
            // é€‰ä¸­æ–°å¢žçš„行
            dataGridView1.ClearSelection();
            var newRow = dataGridView1.Rows[dataGridView1.Rows.Count - 1];
            newRow.Selected = true;
            dataGridView1.FirstDisplayedScrollingRowIndex = newRow.Index;
        }
        /// <summary>
        /// å°†åµŒå¥—字典转换为视图模型并更新数据源
        /// </summary>
        private void UpdateDataSource()
        {
            // è½¬æ¢åµŒå¥—字典为扁平的视图模型列表
            List<PlcDataItem> viewModelList = new List<PlcDataItem>();
            foreach (var group in GlobalVar.dicMPlcData)
            {
                foreach (var device in group.Value)
                if (configForm.ShowDialog() == DialogResult.OK)
                {
                    var data = device.Value;
                    viewModelList.Add(new PlcDataItem
                    {
                        SN = (GlobalVar.dicMPlcData.Count()).ToString(),
                        ReadAddress = data.ReadAddress,
                        WriteAddress = data.WriteAddress,
                        Value = data.Value,
                        Description = data.Description
                    });
                    config = S7ConfigService.LoadConfig(GlobalVar.allPlcSettingPath);
                    LoadConfigAndSetupGrid();
                    UpdateConnectionStatus();
                }
            }
            _bindingSource.DataSource = viewModelList;
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        // æ•°æ®ç±»åž‹è½¬æ¢è¾…助方法
        private object ConvertValue(string dataType, string valueStr)
        {
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
            switch (dataType)
            {
                return;
                case "Bool":
                    {
                        if (bool.TryParse(valueStr, out bool b)) return b;
                        if (valueStr == "1") return true;
                        if (valueStr == "0") return false;
                        throw new Exception("无效的布尔值");
                    }
                case "Byte":
                    {
                        return byte.Parse(valueStr);
                    }
                case "Int":
                    {
                        return short.Parse(valueStr);
                    }
                case "DInt":
                    {
                        return int.Parse(valueStr);
                    }
                case "Real":
                    {
                        return float.Parse(valueStr);
                    }
                case "String":
                    {
                        return valueStr;
                    }
                default:
                    {
                        throw new NotSupportedException($"不支持的类型: {dataType}");
                    }
            }
            // èŽ·å–ä¿®æ”¹åŽçš„è§†å›¾æ¨¡åž‹
            var modifiedModel = (PlcDataItem)_bindingSource.List[e.RowIndex];
            // æ›´æ–°åŽŸå§‹å­—å…¸æ•°æ®
            if (GlobalVar.dicMPlcData.ContainsKey(modifiedModel.SN))
            {
                var originalData = GlobalVar.dicMPlcData[modifiedModel.SN][GlobalVar.dicMPlcData[modifiedModel.SN].Keys.ToList()[0]];
                // åŒæ­¥ä¿®æ”¹åŽçš„值
                originalData.SN = modifiedModel.SN;
                originalData.ReadAddress = modifiedModel.ReadAddress;
                originalData.WriteAddress = modifiedModel.WriteAddress;
                originalData.Value = modifiedModel.Value;
                originalData.Description = modifiedModel.Description;
                GlobalVar.dicMPlcData[modifiedModel.SN] = new Dictionary<string, PlcDataItem> { [originalData.SN] = originalData };
            }
        }
        private void btnRemove_Click(object sender, EventArgs e)
        private void LoadConfigAndSetupGrid()
        {
            if (dataGridView1.SelectedRows.Count == 0)
            config = S7ConfigService.LoadConfig(GlobalVar.allPlcSettingPath + "\\" + this.Name + ".json");
            if (GlobalVar.allPlcSettings.Keys.Contains(Name))
            {
                System.Windows.Forms.MessageBox.Show("请先选中要删除的行!");
                return;
            }
            // èŽ·å–é€‰ä¸­è¡Œçš„è§†å›¾æ¨¡åž‹
            var selectedModel = (PlcDataItem)dataGridView1.SelectedRows[0].DataBoundItem;
            // ä»ŽåµŒå¥—字典中删除对应数据
            if (GlobalVar.dicMPlcData.ContainsKey(selectedModel.SN))
            {
                GlobalVar.dicMPlcData.Remove(selectedModel.SN);
                // æ›´æ–°DataGridView数据源
                UpdateDataSource();
                System.Windows.Forms.MessageBox.Show("删除成功!");
                GlobalVar.allPlcSettings[Name] = config;
            }
            else
            {
                System.Windows.MessageBox.Show("未找到对应数据,删除失败!");
                GlobalVar.allPlcSettings.TryAdd(Name, config);
            }
            ConfigManager<Dictionary<string, Dictionary<string, PlcConfig>>>.SaveConfig<Dictionary<string, Dictionary<string, PlcConfig>>>(GlobalVar.dicMPlcData, GlobalVar.allMPlcDataPath);
            // æž„建 DataTable ç”¨äºŽå±•示信号(支持编辑值列)
            signalTable = new DataTable();
            signalTable.Columns.Add("SignalName", typeof(string));
            signalTable.Columns.Add("Address", typeof(string));
            signalTable.Columns.Add("Value", typeof(string));
            foreach (var signal in config.Signals)
            {
                string address = $"{signal.Area}";
                if (signal.Area == "DB")
                    address += $"{signal.DbNumber}.DB";
                address += $"{signal.ByteOffset}.{signal.BitOffset}";
                signalTable.Rows.Add(signal.SignalName, address, "");
            }
            bindingSource = new BindingSource();
            bindingSource.DataSource = signalTable;
            dgvSignals.DataSource = bindingSource;
            dgvSignals.Columns["SignalName"].HeaderText = "信号名称";
            dgvSignals.Columns["SignalName"].ReadOnly = true;
            dgvSignals.Columns["Address"].HeaderText = "PLC åœ°å€";
            dgvSignals.Columns["Address"].ReadOnly = true;
            dgvSignals.Columns["Value"].HeaderText = "当前值";
            dgvSignals.Columns["Value"].ReadOnly = true;  // å…è®¸ç”¨æˆ·ç¼–辑
            UpdateConnectionStatus();
            dgvSignals.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgvSignals.ForeColor = Color.Black;
        }
        private void UpdateConnectionStatus()
        {
            if (((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]) != null && ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).bConnected)
            {
                lblStatus.Text = $"已连接: {config.PlcIpAddress}";
                lblStatus.ForeColor = Color.Green;
            }
            else
            {
                lblStatus.Text = "未连接";
                lblStatus.ForeColor = Color.Red;
            }
        }
        private void btnOneClickRead_Click(object sender, EventArgs e)
        {
            if (((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]) == null || !((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).bConnected)
            {
                System.Windows.Forms.MessageBox.Show("请先连接 PLC", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            try
            {
                for (int i = 0; i < config.Signals.Count; i++)
                {
                    var signal = config.Signals[i];
                    object value = ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).ReadSignal(signal);
                    config.Signals[i].Value = value?.ToString() ?? "";
                    signalTable.Rows[i]["Value"] = config.Signals[i].Value;
                    //ShowLogMsg(signalTable.Rows[i]["Value"] + ":" + value?.ToString() ?? "");
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show($"批量读取失败: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnOneClickSetting_Click(object sender, EventArgs e)
        {
            if (((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]) == null || !((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).bConnected)
            {
                System.Windows.Forms.MessageBox.Show("请先连接 PLC", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            try
            {
                int successCount = 0;
                for (int i = 0; i < config.Signals.Count; i++)
                {
                    var signal = config.Signals[i];
                    string newValueStr = signalTable.Rows[i]["Value"]?.ToString();
                    if (!string.IsNullOrEmpty(newValueStr))
                    {
                        object convertedValue = ConvertValue(signal.DataType, newValueStr);
                        ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(signal, convertedValue);
                        successCount++;
                    }
                    //ShowSendMsg(signalTable.Rows[i]["Value"] + ":" + newValueStr?.ToString() ?? "");
                }
                System.Windows.Forms.MessageBox.Show($"批量写入完成,成功写入 {successCount} ä¸ªä¿¡å·ã€‚", "写入结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show($"批量写入失败: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            LoadConfigAndSetupGrid();
        }
    }
}
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlFormRead.resx
@@ -121,24 +121,24 @@
  <data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
        vAAADrwBlbxySQAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
        BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
        evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
        2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
        NNs5DgaTKLinEQYVO4Trf1mkV81wixLUslPmA3bzF2XcKeP+hWY/u3n0fCXcrQwLyjAvjNsb1dI6N05P
        mFAIHlHG73sEypPgGwnhfpn0zzH7jzddcK4Q7kqfKNMI4a9K+MwBDgbdeF04MBWsFYYdQvhbLlBvfhKT
        f+vMtLfG7C0JJXxKGY67WnvCmPAFGRs7z42boul5AzHBfdK6TjdQtzPGk8oos5F/5Y7sfVvPhg+lp+1h
        0yIsxARPmtaN78WEl8eEX+SNclxUhne0glUrNrN9zfMGlPAuZTzaQ99FYfwuDv3ruoLvq5bWaQSvZCfL
        GXUYLwrj240Qxtu2lkSN4FpdWfKZH9jb9RQ1Cq62f9sVOlxUxn3KQXnJ0PO8QxU/jBm1h74v7ZniEG9K
        Hdg/quzvXO709k0Y3u08ucGqWgheX862H4XgxbR47SqU8D1X0EXC2VmGizqDz0xPr0kYH9eO360gNe0b
        jWppozB+1kOQEb5MCLa0C64NoeGrhOGrvH6lhK81GiIvnggmrDLzgvTkvwvDA+5wsU4nhG/m9AUoBD/F
        HFzWN4H0XQn2vF8eXN8Z3FAPYasl59oUYjuB+sTImDB+nhfgYQ39STf4fmu1DHtz+oIUgiM1KkWtwcFw
        sOujVT3hrnaL7UQc+hcL5W+sKIXhw0OVjaW0iwnBc47gqIQ45QY32PKRzv8eTguRYM9SS5YouEEZjv37
        EffbzbjBDdZyxZYQ12EB2qS0bWrJqRVazPDWkojwZbuZrsgZtDJ0iY1g12khEtTicMTvclwn2CKE32YJ
        7G5PORfZ1HtMCH7MOV4BrQ3XCe92+4onk5Nn2PolDAvWXnuOzAwzo6Nnx4Q3SrojwqfKeMxWMpsXWVs+
        2WrfKRdbW1W6Hf0shM/33Y7my4PrleFZIfhAaWjU/e5ivlw+y3S2FySMtynjvcrwsFiLJv/RhPBB2ws1
        hK2WcBLBFf1qawlplwvxaQlxe786OOU4PBWsjSO85mBlQ8n99r/BisSdAas4FfgHpdEUZpwUX7sAAAAA
        SUVORK5CYII=
        vAAADrwBlbxySQAAA+xJREFUWEftV0loFUkYbvcNFzJi0lWdBEPQruqXKEYdcRgz4AYqeplBwYiXEUVB
        UHAhCEG8iR509OBlmIsOjJ5EBvQSRVHzuvslxjAy8eCG+75GozF+f716L6873fqe2ykffDR59e9/1V8V
        ow99KARtUg72J5aypGNN8xy2yJPWcleylb5gS13HnJdy+KSW6uJx3b8ZA7TKl6PbMPq3SbMsBUcpyf/2
        BP8PDh96kr32BX/rS/4O30789grfO1j/k4LQ6p8POO6XdFgpDNbDSZsn2Bt8u2MpWGdKsCPeBNMm3TZp
        FaUc6/cW20pQEtpsflCllmwxjDbpLKOd9vAZuBPOx5J+86TyMdDbBxsdYLsn+SpUZYQy/imQILLdBIP3
        cxzEU7Dbns3WejXmcNK/NPGHkajabtUiLYO/nyOgXWdRFeUkDmdnWMOg2ACFFwEn8fzfFeaSxlpjIOlT
        EHC0HVm/CstSC13B93sVFaOVszDQpwGuYGtQLipnQDlMyLzH12t2zJ8adH/TbeMbVLYROmmyDvjYRrLK
        aS4Q3Y/gtWjFALtg6KSf4NW02Uj3HwSPzOuw9iAk24sI/p5rm3OV0wyOo+++ww7pzCIViVjvAk+02GyC
        VlWnpUmw2Qggn+AV0eZ/A61oEtYsOttRwjlE5vy4L61KrabQmjBtV3I/JPtRUptcmy9UBuiM+tLc+bHs
        aQ1Rn8rNnEC7Gpvr8KcqF0XoHVCbl0qB8p2OEspS8OZmySZrvwqNtbUDMRm3Yj9kj1uB9NXcwLkfjwyu
        RAhoshuYcHMyGy4DT5T+jKrcjNbJh+yW75QIw62yqhDAvUghwV/Cybrw5UKTDn08GqmTJ9GCx660pscG
        oPoq2MHzlUWjtN8skjZbRsGFdQpiJoBkVVkFnF3tLcCv+7ZZo31mcYZGLY5RL/kCiQrcaRLFTvrikOxc
        YJF2PeZ5ZsTmAkNkCtaiW1YAkcTF1sT4YjXFEM3ekMADz+YztM8AULqlqE5nSL5wor3Zkew51nxU4WnP
        Ij9DlVGLIWCtDhV6FzBWIJH9a3pNaZOGQRsNT6tjWSHB/6LK6OUA/ETJVER/O9dgwcQ7w7XLTG0yjSTO
        Onp7Ny3A92VuuTD0rbcFbXsUMJonaQwnBV8Rniu4y2sGYbEe5emA8cORV6ZGY3n5UNycC9AKvBHZZRh+
        iqxoX9BlRWMZozvLLiSEV5V6HT2Bjz9iX0ftaAWE9sDoBV+UlOufY9FeWTmE5OhdgLH8Kxyvhv5GON3q
        C3NzSvD19C70MTco4JTDZsbtrSzUlLP5DnBV3D745riOp5nr8F/OJcYV65++P2iTfNV/MPoQCcP4AKXR
        FGYxo/VGAAAAAElFTkSuQmCC
</value>
  </data>
</root>
LB_SmartVision/GlobalVar.cs
@@ -7,6 +7,7 @@
using LB_VisionProcesses.BarcodeReaders;
using LB_VisionProcesses.Cameras;
using LB_VisionProcesses.Communicators;
using LB_VisionProcesses.Communicators.SiemensS7;
using System.Collections.Concurrent;
namespace LB_SmartVision
@@ -48,8 +49,10 @@
        public static string AllSerialPortPath
        => GlobalVar.strApplicationPath + "所有产品\\" + GlobalVar.strProductName + "\\A_SerialPort.json";
        /// <summary>
        /// å½“前通讯
        /// </summary>
        public static string currentCommunicators { get; set; } = string.Empty;
        /// <summary>
        /// æµç¨‹é›†åˆ(Key:流程名,Value:运行步骤集合)
        /// </summary>
@@ -72,18 +75,27 @@
        /// <summary>
        /// è¿åŠ¨æŽ§æ•°æ®åˆ¶é›†åˆ Key:产品名称,Value: SN,RecordMotionControlData
        /// è¿åŠ¨æŽ§æ•°æ®åˆ¶é›†åˆ Key:产品名称,Value: SN,PlcConfig
        /// </summary>
        public static Dictionary<string, Dictionary<string, PlcDataItem>> dicMPlcData { get; set; } = new Dictionary<string, Dictionary<string, PlcDataItem>>();
        public static Dictionary<string, Dictionary<string, PlcConfig>> dicMPlcData { get; set; } = new Dictionary<string, Dictionary<string, PlcConfig>>();
        public static string allMPlcDataPath
            => GlobalVar.strApplicationPath + "所有产品\\" + GlobalVar.strProductName + "\\A_MPlcDatas.json";
        public static Dictionary<string, PlcConfig> allPlcSettings { get; set; } = new Dictionary<string, PlcConfig>();
        public static string allPlcSettingPath
            => GlobalVar.strApplicationPath + "所有产品\\" + GlobalVar.strProductName /*+ "\\A_PlcSetting.json"*/;
        public static string allPlcSettingsPath
            => GlobalVar.strApplicationPath + "所有产品\\" + GlobalVar.strProductName + "\\A_PlcSettings.json";
        /// <summary>
        /// è¿åŠ¨æŽ§æ•°æ®åˆ¶é›†åˆ Key:产品名称,Value: SN,RecordMotionControlData
        /// è¿åŠ¨æŽ§æ•°æ®åˆ¶é›†åˆ Key:产品名称,Value: SN,PlcConfig
        /// </summary>
        public static Dictionary<string, Dictionary<string, RecordMotionControlData>> dicMotionControlData { get; set; } = new Dictionary<string, Dictionary<string, RecordMotionControlData>>();
        public static Dictionary<string, Dictionary<string, PlcConfig>> dicMotionControlData { get; set; } = new Dictionary<string, Dictionary<string, PlcConfig>>();
        public static string allMotionControlDataPath
            => GlobalVar.strApplicationPath + "所有产品\\" + GlobalVar.strProductName + "\\A_MotionControlDatas.json";
LB_SmartVision/PausableHeartbeatAsync.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LB_SmartVision
{
    public sealed class PausableHeartbeatAsync : IAsyncDisposable
    {
        private readonly CancellationTokenSource _cts = new();
        private readonly AsyncManualResetEvent _pauseEvent = new(true); // åˆå§‹ä¸ºå·²è®¾ç½®ï¼ˆæœªæš‚停)
        private readonly Task _loopTask;
        private readonly Func<Task> _sendHeartbeatAsync;
        private readonly TimeSpan _interval;
        public PausableHeartbeatAsync(Func<Task> sendHeartbeatAsync, TimeSpan interval)
        {
            _sendHeartbeatAsync = sendHeartbeatAsync;
            _interval = interval;
            _loopTask = Task.Run(RunAsync);
        }
        private async Task RunAsync()
        {
            using var timer = new PeriodicTimer(_interval);
            try
            {
                while (await timer.WaitForNextTickAsync(_cts.Token))
                {
                    // ç­‰å¾…暂停状态解除(若未暂停则立即通过)
                    await _pauseEvent.WaitAsync(_cts.Token);
                    try
                    {
                        await _sendHeartbeatAsync();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"[Async Heartbeat] å¼‚常: {ex.Message}");
                    }
                }
            }
            catch (OperationCanceledException) { }
        }
        public void Pause() => _pauseEvent.Reset();
        public void Resume() => _pauseEvent.Set();
        public async Task StopAsync()
        {
            _cts.Cancel();
            Resume(); // é˜²æ­¢ WaitAsync æ°¸ä¹…阻塞
            await _loopTask.ConfigureAwait(false);
        }
        public async ValueTask DisposeAsync()
        {
            await StopAsync();
            _cts.Dispose();
        }
        // ç®€å•的异步手动重置事件辅助类
        private class AsyncManualResetEvent
        {
            private volatile TaskCompletionSource<bool> _tcs = new();
            private readonly object _lock = new();
            public AsyncManualResetEvent(bool initialState)
            {
                if (initialState) _tcs.TrySetResult(true);
            }
            public Task WaitAsync(CancellationToken token = default)
            {
                return _tcs.Task.WaitAsync(token);
            }
            public void Set()
            {
                lock (_lock)
                {
                    _tcs.TrySetResult(true);
                }
            }
            public void Reset()
            {
                lock (_lock)
                {
                    if (_tcs.Task.IsCompleted)
                        _tcs = new TaskCompletionSource<bool>();
                }
            }
        }
    }
}
LB_SmartVision/VisionForm.Designer.cs
@@ -40,6 +40,7 @@
            btn_Login = new Sunny.UI.UIButton();
            btn_RunContinuously = new Sunny.UI.UIButton();
            btn_GlobalVar = new Sunny.UI.UIButton();
            textBox_CommunicationSetting = new TextBox();
            tlp_MainViewMenu = new Sunny.UI.UITableLayoutPanel();
            materialCombobox1 = new Sunny.UI.UIComboBox();
            materialTabSelector = new MaterialSkin.Controls.MaterialTabSelector();
@@ -149,6 +150,7 @@
            tlp_VisionMainOperator.Controls.Add(btn_Login, 1, 0);
            tlp_VisionMainOperator.Controls.Add(btn_RunContinuously, 3, 0);
            tlp_VisionMainOperator.Controls.Add(btn_GlobalVar, 7, 0);
            tlp_VisionMainOperator.Controls.Add(textBox_CommunicationSetting, 4, 0);
            tlp_VisionMainOperator.Dock = DockStyle.Fill;
            tlp_VisionMainOperator.Location = new Point(3, 51);
            tlp_VisionMainOperator.Name = "tlp_VisionMainOperator";
@@ -257,6 +259,16 @@
            btn_GlobalVar.Text = "全局变量";
            btn_GlobalVar.TipsFont = new Font("宋体", 9F, FontStyle.Regular, GraphicsUnit.Point, 134);
            btn_GlobalVar.Click += btn_GlobalVar_Click;
            //
            // textBox_CommunicationSetting
            //
            textBox_CommunicationSetting.Cursor = Cursors.AppStarting;
            textBox_CommunicationSetting.Dock = DockStyle.Fill;
            textBox_CommunicationSetting.Location = new Point(503, 3);
            textBox_CommunicationSetting.Name = "textBox_CommunicationSetting";
            textBox_CommunicationSetting.ReadOnly = true;
            textBox_CommunicationSetting.Size = new Size(119, 28);
            textBox_CommunicationSetting.TabIndex = 7;
            // 
            // tlp_MainViewMenu
            // 
@@ -379,6 +391,7 @@
            sc_VisionForm.ResumeLayout(false);
            tlp_MainView.ResumeLayout(false);
            tlp_VisionMainOperator.ResumeLayout(false);
            tlp_VisionMainOperator.PerformLayout();
            tlp_MainViewMenu.ResumeLayout(false);
            grb_Info.ResumeLayout(false);
            ResumeLayout(false);
@@ -403,5 +416,6 @@
        private Sunny.UI.UIButton btn_GlobalVar;
        private Sunny.UI.UIComboBox materialCombobox1;
        private Sunny.UI.UITableLayoutPanel tlp_MainViewMenu;
        private TextBox textBox_CommunicationSetting;
    }
}
LB_SmartVision/VisionForm.cs
@@ -34,6 +34,7 @@
using log4net.Config;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using OpenCvSharp;
using Serilog;
using Serilog.Events;
using Sunny.UI;
@@ -50,6 +51,7 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Media.Media3D;
namespace LB_SmartVision
{
@@ -82,6 +84,17 @@
        // çª—体类的全局变量:标记是否允许切换Tab(默认允许)
        private bool _isTabSwitchAllowed = true;
        PausableHeartbeatAsync heartbeat = new PausableHeartbeatAsync(
            sendHeartbeatAsync: async () =>
            {
                // æ¨¡æ‹Ÿå¼‚步心跳发送(如 HttpClient è¯·æ±‚)
                await Task.Delay(100); // æ¨¡æ‹Ÿ I/O å»¶è¿Ÿ
                Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] å¿ƒè·³å·²å‘送");
            },
            interval: TimeSpan.FromSeconds(0.5)
        );
        #endregion
@@ -153,6 +166,7 @@
            materialTabControl.ControlRemoved += (s, e) => UpdateOverflowComboBox();
            //HOperatorSet.SetSystem("max_mem_cache", 2048);
            startPLCThread();
        }
        string removeName = string.Empty;
@@ -657,6 +671,32 @@
            catch { return false; }
        }
        public bool LoadAllPLCSettings(string allPLCSettingStringPath)
        {
            try
            {
                GlobalVar.allPlcSettings = ConfigManager<Dictionary<string, PlcConfig>>.LoadConfig<Dictionary<string, PlcConfig>>(allPLCSettingStringPath);
            }
            catch
            {
                return false;
            }
            return true;
        }
        public bool SaveAllPLCSettings()
        {
            try
            {
                ConfigManager<Dictionary<string, PlcConfig>>.SaveConfig<Dictionary<string, PlcConfig>>(GlobalVar.allPlcSettings, GlobalVar.allPlcSettingsPath);
            }
            catch
            {
                return false;
            }
            return true;
        }
        public static bool SaveAllProcessSetting()
        {
            try
@@ -778,6 +818,14 @@
            else
            {
                LogInfo("通讯加载失败", LogInfoType.ERROR);
            }
            if (LoadAllPLCSettings(GlobalVar.allPlcSettingsPath))
            {
                LogInfo("PLC通讯加载成功", LogInfoType.PASS);
            }
            else
            {
                LogInfo("PLC通讯加载失败", LogInfoType.ERROR);
            }
            //加载相机
            foreach (BaseCamera camera in GlobalVar.dicCameras.Values)
@@ -940,7 +988,7 @@
                    if (GlobalVar.dicCommunicators.Keys.Contains("通讯0"))
                    {
                        SiemensLBS7 siemensLBS7 = GlobalVar.dicCommunicators["通讯0"] as SiemensLBS7;
                        siemensLBS7.Write(GlobalVar.dicMotionControlData[GlobalVar.strProductName][item].XAxisAddress, GlobalVar.dicMotionControlData[GlobalVar.strProductName][item].XAxisAddress);
                        //siemensLBS7.Write(GlobalVar.dicMotionControlData[GlobalVar.strProductName][item].XAxisAddress, GlobalVar.dicMotionControlData[GlobalVar.strProductName][item].XAxisAddress);
                    }
                }
            }
@@ -973,6 +1021,7 @@
            SaveMotionControlDatas();
            SaveSerialPorts();
            SaveAllBarcodeReaders();
            SaveAllPLCSettings();
        }
@@ -1104,7 +1153,7 @@
        {
            try
            {
                GlobalVar.dicMotionControlData = ConfigManager<Dictionary<string, Dictionary<string, RecordMotionControlData>>>.LoadConfig<Dictionary<string, Dictionary<string, RecordMotionControlData>>>(alMotionControlDataPath);
                GlobalVar.dicMotionControlData = ConfigManager<Dictionary<string, Dictionary<string, PlcConfig>>>.LoadConfig<Dictionary<string, Dictionary<string, PlcConfig>>>(alMotionControlDataPath);
            }
            catch
            {
@@ -1141,7 +1190,7 @@
                        GlobalVar.dicMotionControlData[item].Remove(itemSN);
                    }
                }
                ConfigManager<Dictionary<string, Dictionary<string, RecordMotionControlData>>>.SaveConfig<Dictionary<string, Dictionary<string, RecordMotionControlData>>>(GlobalVar.dicMotionControlData, GlobalVar.allMotionControlDataPath);
                ConfigManager<Dictionary<string, Dictionary<string, PlcConfig>>>.SaveConfig<Dictionary<string, Dictionary<string, PlcConfig>>>(GlobalVar.dicMotionControlData, GlobalVar.allMotionControlDataPath);
            }
            catch
            {
@@ -1498,7 +1547,10 @@
                        Debug.WriteLine("No match found.");
                    }
                }
                if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0)
                {
                    GlobalVar.currentCommunicators = GlobalVar.dicCommunicators.Keys.ToList()[0];
                }
                return true;
            }
            catch { return false; }
@@ -2963,25 +3015,31 @@
            {
                camera.Dispose();
            }
            if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
            {
                foreach (var item in GlobalVar.allPlcSettings[GlobalVar.currentCommunicators].Signals)
                {
                    if (item.SignalName.Equals("视觉Ready信号"))
                    {
                        if (!string.IsNullOrEmpty("0"))
                        {
                            object convertedValue = ConvertValue(item.DataType, "0");
                            ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item, convertedValue);
                        }
                    }
                }
            }
            StopPLC();
            foreach (BaseCommunicator communicator in GlobalVar.dicCommunicators.Values)
            {
                communicator.Disconnect();
            }
            FormClosing -= VisionForm_FormClosing;
            //try
            //{
            //    Process[] processes = System.Diagnostics.Process.GetProcesses(); //获得所有进程
            //    foreach (Process p in processes)
            //    {
            //        if (p.ProcessName == "LB_SmartVision" && p.StartTime < DateTime.Now.AddMilliseconds(-300))
            //        {
            //            p.Kill();
            //        }
            //    }
            //}
            //catch { }
            KillAllTargetProcesses();
        }
@@ -3073,6 +3131,24 @@
                {
                    _isTabSwitchAllowed = false;
                    btn_RunContinuously.Text = "暂停运行";
                    if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                        GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                        GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
                    {
                        foreach (var item in GlobalVar.allPlcSettings[GlobalVar.currentCommunicators].Signals)
                        {
                            if (item.SignalName.Equals("视觉Ready信号"))
                            {
                                if (!string.IsNullOrEmpty("1"))
                                {
                                    object convertedValue = ConvertValue(item.DataType, "1");
                                    ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item, convertedValue);
                                }
                            }
                        }
                    }
                    StartPLC();
                    // å…³é—­ä½¿èƒ½
                    SelectMainPage();
                    btn_GlobalVar.Enabled = false;
@@ -3129,6 +3205,23 @@
                    ckbAllowRun.Enabled = true;
                    Thread.Sleep(100);
                    _isTabSwitchAllowed = true;
                    if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                        GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                        GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
                    {
                        foreach (var item in GlobalVar.allPlcSettings[GlobalVar.currentCommunicators].Signals)
                        {
                            if (item.SignalName.Equals("视觉Ready信号"))
                            {
                                if (!string.IsNullOrEmpty("0"))
                                {
                                    object convertedValue = ConvertValue(item.DataType, "0");
                                    ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item, convertedValue);
                                }
                            }
                        }
                    }
                    StopPLC();
                }
            }
        }
@@ -3234,6 +3327,219 @@
            }
            materialCombobox1.SelectedItem = materialTabControl.SelectedTab.Text;
        }
        #region  PLC心跳线程
        private bool threadStart = false;
        private AutoResetEvent mAutoResetEventWorking = new AutoResetEvent(false);
        private void startPLCThread()
        {
            var taskworking = Task.Factory.StartNew(() =>
            {
                PLCHeartBeatWorkThread();
            });
        }
        private void StartPLC()
        {
            threadStart = true;
            mAutoResetEventWorking.Set();
            AsyncLogHelper.Info("开启心跳通讯线程!");
        }
        private void StopPLC()
        {
            threadStart = false;
            Thread.Sleep(10);
        }
        bool isStart = true;
        object plcHeartBeatWorkThread = new object();
        private bool plcHeartBeat = false;
        private void PLCHeartBeatWorkThread()
        {
            while (isStart)
            {
                try
                {
                    lock (plcHeartBeatWorkThread)
                    {
                        if (threadStart == false)
                        {
                            mAutoResetEventWorking.WaitOne();//阻塞等待
                        }
                        else
                        {
                            if (threadStart)
                            {
                                try
                                {
                                    Thread.Sleep(500);
                                }
                                catch { }
                                try
                                {
                                    if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                                        GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                                        GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
                                    {
                                        var TaskHeartBeat = Task.Factory.StartNew(() =>
                                        {
                                            try
                                            {
                                                if (!plcHeartBeat)
                                                {
                                                    plcHeartBeat = true;
                                                    foreach (var item in GlobalVar.allPlcSettings[GlobalVar.currentCommunicators].Signals)
                                                    {
                                                        if (item.SignalName.Equals("心跳信号"))
                                                        {
                                                            if (!string.IsNullOrEmpty(plcHeartBeat.ToString()))
                                                            {
                                                                object convertedValue = ConvertValue(item.DataType, plcHeartBeat.ToString());
                                                                ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item, convertedValue);
                                                            }
                                                        }
                                                    }
                                                    this.textBox_CommunicationSetting.BackColor = Color.SpringGreen;
                                                }
                                                else
                                                {
                                                    plcHeartBeat = false;
                                                    foreach (var item in GlobalVar.allPlcSettings[GlobalVar.currentCommunicators].Signals)
                                                    {
                                                        if (item.SignalName.Equals("心跳信号"))
                                                        {
                                                            if (!string.IsNullOrEmpty(plcHeartBeat.ToString()))
                                                            {
                                                                object convertedValue = ConvertValue(item.DataType, plcHeartBeat.ToString());
                                                                ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item, convertedValue);
                                                            }
                                                        }
                                                    }
                                                    this.textBox_CommunicationSetting.BackColor = Color.Red;
                                                }
                                            }
                                            catch
                                            {
                                            }
                                        });
                                    }
                                }
                                catch
                                {
                                }
                            }
                        }
                    }
                    //Thread.Sleep(1000);
                }
                catch { }
            }
        }
        public void stopPLC()
        {
            if (btn_RunContinuously.Text.Equals("连续运行"))
            {
                var taskstopPLC = Task.Factory.StartNew(() =>
                {
                    try
                    {
                        if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                            GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                            GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
                        {
                            //S7NETplusStaticClass.plc.Write(VVar.softWareParams.StopNG, true);
                            AsyncLogHelper.Error("[" + DateTime.Now.ToString("yyyy:MM:dd:HH:mm:ss:fff") + "]" + "连续NG次数为:" + ", å·²å‘出停线信号!请人为排查并复位异常。");
                        }
                    }
                    catch
                    {
                        AsyncLogHelper.Error("[" + DateTime.Now.ToString("yyyy:MM:dd:HH:mm:ss:fff") + "]" + "连续NG停线异常!请检查工控机到PLC的网线连接!");
                    }
                });
            }
        }
        private void abortHeartB()
        {
            try
            {
                threadStart = false;
            }
            catch { }
        }
        private void stopPLCHB()
        {
            //发送给PLC的IsRead为false;
            if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                       GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                       GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
            {
                foreach (var item in GlobalVar.allPlcSettings[GlobalVar.currentCommunicators].Signals)
                {
                    if (item.SignalName.Equals("视觉Ready信号"))
                    {
                        ((SiemensLBS7)GlobalVar.dicCommunicators[GlobalVar.currentCommunicators]).WriteSignal(item, "0");
                    }
                }
                threadStart = false;
                AsyncLogHelper.Info("暂停心跳通讯线程!");
                if (GlobalVar.dicCommunicators != null && GlobalVar.dicCommunicators.Count > 0 &&
                       GlobalVar.dicCommunicators[GlobalVar.currentCommunicators] != null &&
                       GlobalVar.dicCommunicators[GlobalVar.currentCommunicators].bConnected)
                {
                    this.textBox_CommunicationSetting.BackColor = Color.SpringGreen;
                }
                else
                {
                    textBox_CommunicationSetting.BackColor = Color.Red;
                }
            }
            else
            {
                AsyncLogHelper.Error("停止通讯异常!PLC连接异常,请检查工控机到PLC的网线连接!");
            }
            Thread.Sleep(100);
        }
        #endregion
        // æ•°æ®ç±»åž‹è½¬æ¢è¾…助方法
        private object ConvertValue(string dataType, string valueStr)
        {
            switch (dataType)
            {
                case "Bool":
                    {
                        if (bool.TryParse(valueStr, out bool b)) return b;
                        if (valueStr == "1") return true;
                        if (valueStr == "0") return false;
                        throw new Exception("无效的布尔值");
                    }
                case "Byte":
                    {
                        return byte.Parse(valueStr);
                    }
                case "Int":
                    {
                        return short.Parse(valueStr);
                    }
                case "DInt":
                    {
                        return int.Parse(valueStr);
                    }
                case "Real":
                    {
                        return float.Parse(valueStr);
                    }
                case "String":
                    {
                        return valueStr;
                    }
                default:
                    {
                        throw new NotSupportedException($"不支持的类型: {dataType}");
                    }
            }
        }
    }
}
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll
Binary files differ
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe
Binary files differ
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb
Binary files differ
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll
Binary files differ
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb
Binary files differ
LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-04/2026-04-17.log
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@

LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-04/2026-04-17.log
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-04/2026-04-17.log
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@

LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-04/2026-04-17.log
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1854 @@
2026-04-17 10:02:11,286 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:02:20,988 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:02:21,003 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:02:21,004 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:02:21,004 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:02:21,005 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:02:21,327 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:02:21,521 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:02:21,521 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:02:21,525 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:02:21,527 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:02:24,200 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:02:24,201 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:02:24,362 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:02:24,363 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:02:24,501 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:02:24,502 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:02:24,648 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:02:24,648 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:02:24,790 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:02:24,791 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:02:25,911 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:02:26,071 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:02:26,071 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:02:26,865 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:02:27,659 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:02:27,660 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:02:27,663 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:02:27,677 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:02:27,681 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:02:27,683 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:02:28,298 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:02:28,482 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[EK64127CAK00002]图像已加入缓存,当前缓存数量:0
2026-04-17 10:02:28,483 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[[EK64127CAK00002]]: å›¾åƒå…¥é˜Ÿï¼Œå½“前队列:1
2026-04-17 10:02:28,519 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[EK64127CAK00002]Get frame blockId = {0}1
2026-04-17 10:02:28,721 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:02:28,726 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:02:28,731 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:02:28,743 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:02:28,744 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:02:28,830 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[FB11752AAK00020]图像已加入缓存,当前缓存数量:0
2026-04-17 10:02:28,831 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[[FB11752AAK00020]]: å›¾åƒå…¥é˜Ÿï¼Œå½“前队列:1
2026-04-17 10:02:28,866 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[FB11752AAK00020]Get frame blockId = {0}1
2026-04-17 10:02:29,065 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:02:29,154 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[FB11752AAK00027]图像已加入缓存,当前缓存数量:0
2026-04-17 10:02:29,155 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[[FB11752AAK00027]]: å›¾åƒå…¥é˜Ÿï¼Œå½“前队列:1
2026-04-17 10:02:29,155 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[FB11752AAK00027]Get frame blockId = {0}1
2026-04-17 10:02:29,361 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:02:29,362 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:02:29,400 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:02:29,448 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:02:29,477 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:02:29,524 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:02:29,551 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:02:29,586 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:02:29,614 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:02:29,647 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:02:29,678 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:02:29,718 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:02:29,750 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:02:29,751 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:02:31,582 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:02:31,595 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:02:31,622 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:02:31,625 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:02:31,626 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:02:31,627 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:02:31,629 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:02:31,679 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:02:31,679 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:02:31,694 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:02:31,696 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:02:31,698 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:02:33,696 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:05:33,659 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[西门子S7] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:05:49,156 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[西门子S7] å·²æ–­å¼€è¿žæŽ¥
2026-04-17 10:06:26,913 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[西门子S7] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:06:34,865 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[西门子S7]加载触发通讯
2026-04-17 10:06:34,867 [14] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加通讯口[通讯口1]成功
2026-04-17 10:37:37,091 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:37:42,783 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:37:42,788 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:37:42,789 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:37:42,790 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:37:42,791 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:37:43,089 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:37:43,322 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:37:43,322 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:37:43,323 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:37:43,324 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:37:45,747 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:37:45,747 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:37:45,905 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:37:45,906 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:37:46,057 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:37:46,057 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:37:46,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:37:46,210 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:37:46,366 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:37:46,366 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:37:47,275 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:37:47,431 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:37:47,431 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:37:48,225 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:37:49,019 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:37:49,021 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:37:49,022 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:37:49,025 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:37:49,026 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:37:49,028 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:37:49,397 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:37:49,761 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:37:49,762 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:37:49,763 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:37:49,765 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:37:49,765 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:37:50,045 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:37:50,293 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:37:50,294 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:37:50,316 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:37:50,329 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:37:50,357 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:37:50,358 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:37:50,388 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:37:50,391 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:37:50,434 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:37:50,436 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:37:50,480 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:37:50,483 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:37:50,527 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:37:50,529 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:37:51,727 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:37:51,744 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:37:51,771 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:37:51,772 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:37:51,772 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:37:51,774 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:37:51,775 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:37:51,820 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:37:51,821 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:37:51,825 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:37:51,827 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:37:51,828 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:37:53,698 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:41:51,022 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:41:56,851 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:41:56,856 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:41:56,857 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:41:56,858 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:41:56,859 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:41:57,172 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:41:57,369 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:41:57,369 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:41:57,370 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:41:57,371 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:41:59,789 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:41:59,790 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:41:59,955 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:41:59,955 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:42:00,122 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:42:00,122 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:42:00,278 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:42:00,278 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:42:00,433 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:42:00,433 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:42:01,351 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:42:01,489 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:42:01,489 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:42:02,281 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:42:03,077 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:42:03,078 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:42:03,080 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:42:03,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:42:03,086 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:42:03,088 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:42:03,527 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:42:03,890 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:42:03,891 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:42:03,892 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:42:03,896 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:42:03,897 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:42:04,171 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:42:04,450 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:42:04,451 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:42:04,480 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:42:04,493 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:42:04,521 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:42:04,522 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:42:04,564 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:42:04,565 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:42:04,596 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:42:04,598 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:42:04,643 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:42:04,645 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:42:04,690 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:42:04,691 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:42:05,916 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:42:05,932 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:42:05,960 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:42:05,961 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:42:05,962 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:42:05,962 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:42:05,963 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:42:06,002 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:42:06,002 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:42:06,006 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:42:06,008 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:42:06,010 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:42:07,913 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:48:26,929 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 10:48:26,933 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 10:48:26,936 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 10:50:47,897 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:50:53,374 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:50:53,380 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:50:53,382 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:50:53,383 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:50:53,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:50:53,671 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:50:53,879 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:50:53,879 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:50:53,881 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:50:53,882 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:50:56,361 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:50:56,362 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:50:56,499 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:50:56,499 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:50:56,666 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:50:56,666 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:50:56,820 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:50:56,821 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:50:56,957 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:50:56,957 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:50:57,863 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:50:58,005 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:50:58,005 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:50:58,803 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:50:59,592 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:50:59,594 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:50:59,595 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:50:59,598 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:50:59,600 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:50:59,602 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:50:59,951 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:50:59,964 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:50:59,964 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:51:00,338 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:51:00,343 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:51:00,344 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:51:00,594 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:51:00,842 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:51:00,844 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:51:00,870 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:51:00,883 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:51:00,910 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:51:00,912 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:51:00,958 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:51:00,961 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:51:01,006 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:51:01,008 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:51:01,053 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:51:01,055 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:51:01,055 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:51:01,100 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:51:02,331 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:51:02,339 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:51:02,367 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:51:02,368 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:51:02,368 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:51:02,369 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:51:02,369 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:51:02,414 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:51:02,415 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:51:02,419 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:51:02,421 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:51:02,423 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:51:04,315 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:51:09,419 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 10:51:09,422 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 10:51:09,425 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 10:51:57,653 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:52:04,082 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:52:04,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:52:04,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:52:04,086 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:52:04,086 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:52:04,394 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:52:04,594 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:52:04,595 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:52:04,597 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:52:04,598 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:52:07,069 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:52:07,070 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:52:07,202 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:52:07,203 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:52:07,339 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:52:07,339 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:52:07,516 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:52:07,516 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:52:07,672 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:52:07,672 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:52:08,561 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:52:08,712 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:52:08,712 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:52:09,501 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:52:10,291 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:52:10,292 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:52:10,293 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:52:10,296 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:52:10,297 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:52:10,299 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:52:10,682 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:52:11,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:52:11,086 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:52:11,086 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:52:11,089 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:52:11,089 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:52:11,362 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:52:11,639 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:52:11,643 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:52:11,665 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:52:11,677 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:52:11,705 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:52:11,706 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:52:11,749 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:52:11,751 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:52:11,794 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:52:11,797 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:52:11,840 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:52:11,842 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:52:11,886 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:52:11,888 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:52:13,146 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:52:13,152 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:52:13,180 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:52:13,181 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:52:13,182 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:52:13,225 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:52:13,225 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:52:13,232 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:52:13,233 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:52:13,237 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:52:13,239 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:52:13,243 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:52:15,229 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:54:04,104 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 10:54:04,122 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 10:54:04,125 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 10:55:37,411 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:55:44,502 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:55:44,507 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:55:44,508 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:55:44,509 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:55:44,511 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:55:44,815 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:55:44,938 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:55:44,938 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:55:44,940 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:55:44,940 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:55:47,385 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:55:47,386 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:55:47,535 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:55:47,536 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:55:47,696 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:55:47,697 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:55:47,827 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:55:47,827 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:55:47,978 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:55:47,979 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:55:48,878 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:55:49,005 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:55:49,005 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:55:49,798 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:55:50,590 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:55:50,590 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:55:50,592 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:55:50,595 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:55:50,596 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:55:50,598 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:55:51,037 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:55:51,041 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:55:51,042 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:55:51,403 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:55:51,406 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:55:51,406 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:55:51,687 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:55:51,928 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:55:51,929 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:55:51,956 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:55:51,969 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:55:51,996 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:55:51,997 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:55:52,045 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:55:52,047 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:55:52,091 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:55:52,092 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:55:52,138 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:55:52,139 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:55:52,140 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:55:52,186 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:55:53,343 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:55:53,354 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:55:53,382 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:55:53,382 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:55:53,383 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:55:53,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:55:53,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:55:53,427 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:55:53,428 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:55:53,432 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:55:53,434 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:55:53,436 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:55:55,133 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:56:18,877 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 10:56:18,888 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 10:56:18,890 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 10:56:43,300 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 10:56:49,302 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 10:56:49,307 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 10:56:49,308 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 10:56:49,309 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 10:56:49,310 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 10:56:49,599 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 10:56:49,801 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 10:56:49,801 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 10:56:49,803 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 10:56:49,804 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 10:56:52,227 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:56:52,227 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 10:56:52,362 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:56:52,363 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 10:56:52,513 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:56:52,513 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 10:56:52,658 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:56:52,658 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 10:56:52,796 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:56:52,796 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 10:56:53,706 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 10:56:53,838 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 10:56:53,838 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 10:56:54,628 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 10:56:55,418 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 10:56:55,419 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 10:56:55,420 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 10:56:55,424 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 10:56:55,426 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 10:56:55,427 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 10:56:55,815 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 10:56:56,191 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 10:56:56,192 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 10:56:56,192 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 10:56:56,197 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 10:56:56,198 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 10:56:56,478 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 10:56:56,724 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 10:56:56,725 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 10:56:56,750 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 10:56:56,762 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 10:56:56,790 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 10:56:56,791 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 10:56:56,841 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 10:56:56,842 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 10:56:56,887 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 10:56:56,888 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 10:56:56,935 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 10:56:56,936 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 10:56:56,980 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 10:56:56,982 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 10:56:58,176 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 10:56:58,182 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 10:56:58,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 10:56:58,210 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 10:56:58,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 10:56:58,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 10:56:58,212 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 10:56:58,261 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 10:56:58,261 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 10:56:58,265 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 10:56:58,267 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 10:56:58,269 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 10:57:00,071 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 10:57:38,194 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 10:57:38,198 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 10:57:38,200 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 13:30:10,177 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:30:21,833 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:30:21,838 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:30:21,839 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:30:21,841 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:30:21,842 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:30:22,143 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:30:22,336 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:30:22,336 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:30:22,338 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:30:22,338 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:30:22,339 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:30:24,776 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:30:24,777 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:30:24,923 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:30:24,924 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:30:25,083 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:30:25,083 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:30:25,217 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:30:25,217 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:30:25,373 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:30:25,373 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:30:26,324 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:30:26,478 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:30:26,479 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:30:27,334 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:30:28,194 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:30:28,195 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:30:28,197 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:30:28,200 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:30:28,201 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:30:28,205 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:30:28,597 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:30:28,604 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:30:28,605 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:30:28,975 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:30:28,978 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:30:28,979 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:30:29,224 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:30:29,472 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:30:29,473 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:30:29,494 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:30:29,508 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:30:29,536 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:30:29,537 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:30:29,590 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:30:29,591 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:30:29,637 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:30:29,639 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:30:29,681 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:30:29,681 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:30:29,682 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:30:29,725 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:30:30,877 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:30:30,884 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:30:30,913 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:30:30,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:30:30,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:30:30,915 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:30:30,915 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:30:30,957 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:30:30,958 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:30:30,962 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:30:30,964 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:30:30,966 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:30:32,637 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:31:01,168 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 13:31:01,172 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 13:31:01,176 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 13:31:18,101 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:31:33,820 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:31:33,824 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:31:33,825 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:31:33,826 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:31:33,827 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:31:34,143 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:31:34,243 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:31:34,244 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:31:34,245 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:31:34,246 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:31:34,249 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:31:37,663 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:31:37,664 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:31:37,819 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:31:37,819 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:31:37,957 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:31:37,958 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:31:38,103 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:31:38,104 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:31:38,260 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:31:38,261 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:31:39,223 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:31:39,373 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:31:39,374 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:31:40,222 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:31:41,074 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:31:41,075 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:31:41,076 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:31:41,079 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:31:41,080 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:31:41,082 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:31:41,521 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:31:41,857 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:31:41,858 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:31:41,859 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:31:41,864 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:31:41,865 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:31:42,143 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:31:42,392 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:31:42,393 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:31:42,417 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:31:42,431 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:31:42,458 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:31:42,459 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:31:42,499 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:31:42,501 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:31:42,547 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:31:42,549 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:31:42,592 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:31:42,594 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:31:42,638 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:31:42,640 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:31:43,857 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:31:43,870 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:31:43,897 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:31:43,898 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:31:43,898 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:31:43,899 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:31:43,899 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:31:43,937 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:31:43,938 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:31:43,941 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:31:43,943 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:31:43,945 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:31:45,744 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:32:47,246 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:32:52,927 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:32:52,932 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:32:52,933 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:32:52,934 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:32:52,935 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:32:53,255 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:32:53,486 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:32:53,487 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:32:53,490 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:32:53,492 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:32:53,506 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:32:55,961 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:32:55,962 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:32:56,102 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:32:56,103 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:32:56,235 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:32:56,235 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:32:56,389 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:32:56,389 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:32:56,537 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:32:56,538 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:32:57,511 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:32:57,672 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:32:57,673 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:32:58,531 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:32:59,383 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:32:59,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:32:59,386 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:32:59,388 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:32:59,390 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:32:59,391 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:32:59,782 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:33:00,144 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:33:00,145 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:33:00,146 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:33:00,149 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:33:00,149 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:33:00,432 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:33:00,680 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:33:00,682 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:33:00,706 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:33:00,719 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:33:00,722 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:33:00,723 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:33:00,726 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:33:00,727 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:33:00,729 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:33:00,730 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:33:00,732 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:33:00,733 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:33:00,776 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:33:00,777 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:33:02,040 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:33:02,058 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:33:02,060 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:33:02,061 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:33:02,062 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:33:02,064 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:33:02,064 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:33:02,104 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:33:02,105 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:33:02,109 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:33:02,111 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:33:02,112 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:33:03,623 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:39:24,046 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:39:39,149 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:39:39,154 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:39:39,155 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:39:39,156 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:39:39,157 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:39:39,462 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:39:39,603 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:39:39,603 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:39:39,605 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:39:39,607 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:39:39,629 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:39:42,074 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:39:42,075 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:39:42,236 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:39:42,236 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:39:42,393 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:39:42,393 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:39:42,549 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:39:42,549 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:39:42,687 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:39:42,687 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:39:43,665 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:39:43,804 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:39:43,804 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:39:44,666 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:39:45,520 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:39:45,521 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:39:45,524 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:39:45,527 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:39:45,529 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:39:45,530 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:39:45,997 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:39:46,361 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:39:46,364 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:39:46,364 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:39:46,367 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:39:46,367 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:39:46,616 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:39:46,864 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:39:46,866 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:39:46,889 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:39:46,902 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:39:46,905 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:39:46,906 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:39:46,908 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:39:46,909 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:39:46,911 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:39:46,912 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:39:46,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:39:46,915 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:39:46,917 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:39:46,918 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:39:48,126 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:39:48,136 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:39:48,138 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:39:48,140 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:39:48,141 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:39:48,142 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:39:48,143 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:39:48,154 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:39:48,156 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:39:48,160 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:39:48,162 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:39:48,164 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:39:49,650 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:41:41,845 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:41:47,439 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:41:47,443 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:41:47,443 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:41:47,444 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:41:47,444 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:41:47,751 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:41:47,931 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:41:47,931 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:41:47,932 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:41:47,933 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:41:47,942 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:41:50,389 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:41:50,390 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:41:50,535 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:41:50,535 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:41:50,688 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:41:50,689 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:41:50,836 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:41:50,837 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:41:50,986 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:41:50,986 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:41:51,954 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:41:52,116 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:41:52,116 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:41:52,964 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:41:53,818 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:41:53,820 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:41:53,821 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:41:53,824 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:41:53,825 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:41:53,827 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:41:54,233 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:41:54,614 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:41:54,615 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:41:54,616 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:41:54,620 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:41:54,622 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:41:54,865 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:41:55,111 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:41:55,112 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:41:55,134 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:41:55,148 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:41:55,175 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:41:55,176 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:41:55,216 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:41:55,218 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:41:55,263 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:41:55,264 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:41:55,310 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:41:55,311 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:41:55,358 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:41:55,359 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:41:56,565 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:41:56,573 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:41:56,601 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:41:56,602 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:41:56,603 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:41:56,605 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:41:56,606 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:41:56,659 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:41:56,660 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:41:56,665 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:41:56,667 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:41:56,668 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:41:58,480 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:46:18,047 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:46:23,469 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:46:23,474 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:46:23,475 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:46:23,476 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:46:23,477 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:46:23,773 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:46:23,961 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:46:23,961 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:46:23,963 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:46:23,964 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:46:23,973 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:46:26,438 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:46:26,439 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:46:26,591 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:46:26,591 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:46:26,737 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:46:26,737 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:46:26,889 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:46:26,889 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:46:27,027 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:46:27,028 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:46:27,990 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:46:28,149 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:46:28,149 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:46:29,010 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:46:29,855 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:46:29,856 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:46:29,858 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:46:29,861 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:46:29,862 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:46:29,863 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:46:30,237 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:46:30,631 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:46:30,633 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:46:30,634 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:46:30,640 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:46:30,641 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:46:30,920 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:46:31,167 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:46:31,168 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:46:31,193 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:46:31,205 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:46:31,208 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:46:31,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:46:31,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:46:31,212 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:46:31,214 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:46:31,255 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:46:31,298 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:46:31,300 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:46:31,302 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:46:31,303 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:46:32,563 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:46:32,572 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:46:32,575 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:46:32,577 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:46:32,579 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:46:32,580 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:46:32,580 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:46:32,628 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:46:32,629 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:46:32,633 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:46:32,635 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:46:32,638 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:46:34,539 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:46:36,687 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 13:46:36,689 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 13:46:36,691 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 13:47:26,101 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:47:37,827 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:47:37,832 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:47:37,833 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:47:37,834 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:47:37,836 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:47:38,161 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:47:38,259 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:47:38,260 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:47:38,261 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:47:38,262 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:47:38,271 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:47:40,721 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:47:40,721 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:47:40,859 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:47:40,859 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:47:40,992 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:47:40,992 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:47:41,144 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:47:41,145 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:47:41,286 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:47:41,286 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:47:42,247 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:47:42,396 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:47:42,396 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:47:43,249 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:47:44,096 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:47:44,097 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:47:44,098 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:47:44,100 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:47:44,102 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:47:44,103 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:47:44,458 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:47:44,460 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:47:44,461 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:47:44,820 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:47:44,824 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:47:44,825 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:47:45,070 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:47:45,337 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:47:45,338 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:47:45,363 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:47:45,377 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:47:45,405 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:47:45,406 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:47:45,448 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:47:45,449 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:47:45,493 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:47:45,495 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:47:45,538 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:47:45,539 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:47:45,540 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:47:45,585 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:47:46,801 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:47:46,807 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:47:46,833 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:47:46,834 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:47:46,835 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:47:46,835 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:47:46,836 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:47:46,879 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:47:46,879 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:47:46,883 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:47:46,885 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:47:46,887 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:47:48,671 [13] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:56:10,882 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:56:16,544 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:56:16,549 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:56:16,551 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:56:16,552 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:56:16,553 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:56:16,855 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:56:17,043 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:56:17,043 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:56:17,045 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:56:17,046 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:56:17,056 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:56:20,438 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:56:20,439 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:56:20,580 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:56:20,580 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:56:20,721 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:56:20,721 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:56:20,861 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:56:20,861 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:56:21,016 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:56:21,017 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:56:21,990 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:56:22,133 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:56:22,133 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:56:22,991 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:56:23,841 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:56:23,842 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:56:23,843 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:56:23,845 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:56:23,847 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:56:23,848 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:56:24,304 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:56:24,307 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:56:24,308 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:56:24,673 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:56:24,676 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:56:24,677 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:56:24,952 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:56:25,228 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:56:25,230 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:56:25,252 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:56:25,266 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:56:25,293 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:56:25,294 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:56:25,342 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:56:25,344 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:56:25,389 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:56:25,392 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:56:25,435 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:56:25,436 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:56:25,438 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:56:25,481 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:56:26,684 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:56:26,697 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:56:26,726 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:56:26,726 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:56:26,727 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:56:26,728 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:56:26,728 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:56:26,780 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:56:26,781 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:56:26,785 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:56:26,787 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:56:26,788 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:56:28,670 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:56:33,196 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:开启心跳通讯线程!
2026-04-17 13:56:33,199 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]:开始连续采集
2026-04-17 13:56:33,202 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]:开始连续采集
2026-04-17 13:56:33,205 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]:开始连续采集
2026-04-17 13:56:33,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]:开始连续采集
2026-04-17 13:56:33,241 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]:开始连续采集
2026-04-17 13:56:33,245 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]:开始连续采集
2026-04-17 13:57:14,958 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 13:57:14,960 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 13:57:14,963 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 13:58:18,986 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 13:58:25,885 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 13:58:25,890 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 13:58:25,891 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 13:58:25,892 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 13:58:25,893 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 13:58:26,210 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 13:58:26,432 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 13:58:26,432 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 13:58:26,434 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 13:58:26,435 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 13:58:26,445 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 13:58:28,882 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:58:28,882 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 13:58:29,042 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:58:29,042 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 13:58:29,224 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:58:29,224 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 13:58:29,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:58:29,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 13:58:29,557 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:58:29,558 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 13:58:30,538 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 13:58:30,689 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 13:58:30,689 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 13:58:31,550 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 13:58:32,409 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 13:58:32,410 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 13:58:32,412 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 13:58:32,415 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 13:58:32,416 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 13:58:32,418 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 13:58:32,861 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 13:58:33,245 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 13:58:33,246 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 13:58:33,247 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 13:58:33,252 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 13:58:33,254 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 13:58:33,500 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 13:58:33,747 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 13:58:33,747 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 13:58:33,770 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 13:58:33,782 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 13:58:33,811 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 13:58:33,812 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 13:58:33,862 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 13:58:33,864 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 13:58:33,909 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 13:58:33,911 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 13:58:33,955 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 13:58:33,956 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 13:58:34,001 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 13:58:34,002 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 13:58:35,199 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 13:58:35,214 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 13:58:35,242 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 13:58:35,243 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 13:58:35,243 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 13:58:35,244 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 13:58:35,244 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 13:58:35,295 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 13:58:35,296 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 13:58:35,299 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 13:58:35,302 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 13:58:35,304 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 13:58:37,071 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 13:58:41,718 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:开启心跳通讯线程!
2026-04-17 13:58:41,720 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]:开始连续采集
2026-04-17 13:58:41,724 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]:开始连续采集
2026-04-17 13:58:41,727 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]:开始连续采集
2026-04-17 13:58:41,730 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]:开始连续采集
2026-04-17 13:58:41,765 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]:开始连续采集
2026-04-17 13:58:41,769 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]:开始连续采集
2026-04-17 13:59:00,473 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[EK64127CAK00002]停止采集失败,错误码:-101
2026-04-17 14:00:06,019 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 14:00:06,023 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 14:00:06,025 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 14:00:25,063 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 14:05:20,966 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 14:05:27,398 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 14:05:27,403 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 14:05:27,404 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 14:05:27,405 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 14:05:27,406 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 14:05:27,698 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 14:05:27,950 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 14:05:27,950 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 14:05:27,951 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 14:05:27,952 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 14:05:27,962 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 14:05:30,400 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:05:30,400 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 14:05:30,560 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:05:30,560 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 14:05:30,727 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:05:30,727 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 14:05:30,872 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:05:30,872 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 14:05:31,012 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:05:31,012 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 14:05:31,991 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 14:05:32,136 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:05:32,136 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 14:05:32,993 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 14:05:33,835 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 14:05:33,836 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 14:05:33,838 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 14:05:33,841 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 14:05:33,844 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 14:05:33,847 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 14:05:34,266 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 14:05:34,275 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 14:05:34,275 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 14:05:34,630 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 14:05:34,636 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 14:05:34,638 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 14:05:34,913 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 14:05:35,199 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 14:05:35,200 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 14:05:35,221 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 14:05:35,235 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 14:05:35,263 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 14:05:35,264 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 14:05:35,305 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 14:05:35,307 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 14:05:35,351 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 14:05:35,353 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 14:05:35,399 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 14:05:35,400 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 14:05:35,401 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 14:05:35,447 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 14:05:36,651 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 14:05:36,666 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 14:05:36,693 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 14:05:36,694 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 14:05:36,694 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 14:05:36,695 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 14:05:36,695 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 14:05:36,734 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 14:05:36,735 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 14:05:36,739 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 14:05:36,741 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 14:05:36,743 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 14:05:38,300 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 14:06:34,997 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 14:06:35,000 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 14:06:35,002 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 14:44:56,901 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 14:45:04,903 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 14:45:04,908 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 14:45:04,909 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 14:45:04,910 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 14:45:04,911 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 14:45:05,221 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 14:45:05,459 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 14:45:05,459 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 14:45:05,461 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 14:45:05,462 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 14:45:05,472 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 14:45:07,898 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:45:07,899 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 14:45:08,049 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:45:08,049 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 14:45:08,190 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:45:08,190 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 14:45:08,336 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:45:08,336 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 14:45:08,493 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:45:08,493 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 14:45:09,476 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 14:45:09,615 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:45:09,616 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 14:45:10,480 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 14:45:11,334 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 14:45:11,335 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 14:45:11,336 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 14:45:11,339 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 14:45:11,340 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 14:45:11,342 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 14:45:11,798 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 14:45:12,168 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 14:45:12,169 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 14:45:12,170 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 14:45:12,174 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 14:45:12,175 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 14:45:12,460 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 14:45:12,704 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 14:45:12,706 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 14:45:12,730 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 14:45:12,742 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 14:45:12,771 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 14:45:12,772 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 14:45:12,809 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 14:45:12,811 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 14:45:12,857 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 14:45:12,858 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 14:45:12,905 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 14:45:12,906 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 14:45:12,951 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 14:45:12,952 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 14:45:14,146 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 14:45:14,152 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 14:45:14,179 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 14:45:14,179 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 14:45:14,180 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 14:45:14,181 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 14:45:14,181 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 14:45:14,188 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 14:45:14,225 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 14:45:14,229 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 14:45:14,231 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 14:45:14,233 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 14:45:15,793 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 14:46:08,910 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 14:46:08,912 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 14:46:08,915 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 14:49:40,077 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 14:49:47,521 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 14:49:47,526 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 14:49:47,527 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 14:49:47,528 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 14:49:47,529 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 14:49:47,836 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 14:49:48,006 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 14:49:48,007 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 14:49:48,009 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 14:49:48,011 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 14:49:48,030 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 14:49:50,617 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:49:50,617 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 14:49:50,769 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:49:50,770 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 14:49:50,910 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:49:50,910 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 14:49:51,059 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:49:51,059 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 14:49:51,218 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:49:51,218 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 14:49:52,201 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 14:49:52,352 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 14:49:52,353 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 14:49:53,207 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 14:49:54,051 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 14:49:54,052 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 14:49:54,054 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 14:49:54,058 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 14:49:54,060 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 14:49:54,062 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 14:49:54,468 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 14:49:54,479 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 14:49:54,480 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 14:49:54,854 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 14:49:54,857 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 14:49:54,858 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 14:49:55,136 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 14:49:55,381 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 14:49:55,382 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 14:49:55,409 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 14:49:55,422 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 14:49:55,451 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 14:49:55,452 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 14:49:55,494 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 14:49:55,495 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 14:49:55,539 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 14:49:55,541 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 14:49:55,585 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 14:49:55,586 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 14:49:55,588 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 14:49:55,631 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 14:49:56,833 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 14:49:56,838 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 14:49:56,866 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 14:49:56,867 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 14:49:56,867 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 14:49:56,868 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 14:49:56,869 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 14:49:56,913 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 14:49:56,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 14:49:56,918 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 14:49:56,920 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 14:49:56,922 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 14:49:58,445 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 15:41:11,872 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[流程2]加载成功
2026-04-17 15:41:11,886 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[流程2]
2026-04-17 15:41:11,887 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[流程2]成功
2026-04-17 15:41:16,240 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:移除流程[流程2]
2026-04-17 16:06:52,894 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:07:06,251 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:07:06,262 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:07:06,263 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:07:06,264 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:07:06,267 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:07:06,582 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:07:06,816 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:07:06,816 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:07:06,821 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:07:06,823 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:07:06,834 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:07:10,656 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:07:10,656 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:07:10,794 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:07:10,795 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:07:10,948 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:07:10,949 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:07:11,115 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:07:11,115 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:07:11,254 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:07:11,254 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:07:12,331 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:07:12,487 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:07:12,487 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:07:13,342 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:07:14,200 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:07:14,201 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:07:14,203 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:07:14,212 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:07:14,216 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:07:14,220 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:07:14,768 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:07:14,776 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:07:14,777 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:07:15,156 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:07:15,165 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:07:15,166 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:07:15,452 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:07:15,729 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:07:15,731 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:07:15,756 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:07:15,781 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:07:15,784 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:07:15,786 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:07:15,788 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:07:15,789 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:07:15,791 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:07:15,827 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:07:15,829 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:07:15,832 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:07:15,834 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:07:15,834 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:07:17,494 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:07:17,510 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:07:17,513 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:07:17,516 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:07:17,517 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:07:17,519 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:07:17,520 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:07:17,559 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:07:17,560 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:07:17,565 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:07:17,568 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:07:17,572 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:07:19,543 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:11:39,072 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:11:45,215 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:11:45,220 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:11:45,221 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:11:45,221 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:11:45,222 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:11:45,531 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:11:45,749 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:11:45,750 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:11:45,752 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:11:45,752 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:11:45,763 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:11:48,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:11:48,210 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:11:48,365 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:11:48,366 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:11:48,500 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:11:48,501 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:11:48,643 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:11:48,643 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:11:48,812 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:11:48,812 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:11:49,776 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:11:49,919 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:11:49,919 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:11:50,767 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:11:51,618 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:11:51,619 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:11:51,620 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:11:51,622 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:11:51,624 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:11:51,625 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:11:52,055 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:11:52,057 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:11:52,058 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:11:52,422 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:11:52,427 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:11:52,429 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:11:52,718 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:11:52,967 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:11:52,968 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:11:52,995 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:11:53,008 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:11:53,036 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:11:53,037 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:11:53,083 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:11:53,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:11:53,130 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:11:53,132 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:11:53,177 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:11:53,178 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:11:53,225 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:11:53,226 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:11:54,424 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:11:54,433 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:11:54,461 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:11:54,461 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:11:54,462 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:11:54,462 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:11:54,463 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:11:54,507 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:11:54,507 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:11:54,511 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:11:54,514 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:11:54,515 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:11:56,311 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:13:46,964 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:13:56,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:13:56,089 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:13:56,089 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:13:56,090 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:13:56,091 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:13:56,401 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:13:56,650 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:13:56,651 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:13:56,652 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:13:56,653 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:13:56,664 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:14:00,068 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:14:00,068 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:14:00,195 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:14:00,195 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:14:00,347 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:14:00,347 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:14:00,500 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:14:00,501 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:14:00,645 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:14:00,646 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:14:01,595 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:14:01,742 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:14:01,743 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:14:02,595 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:14:03,437 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:14:03,438 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:14:03,439 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:14:03,442 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:14:03,443 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:14:03,456 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:14:03,928 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:14:03,929 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:14:03,929 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:14:04,290 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:14:04,295 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:14:04,297 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:14:04,576 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:14:04,864 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:14:04,866 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:14:04,898 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:14:04,909 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:14:04,938 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:14:04,939 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:14:04,971 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:14:04,972 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:14:05,018 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:14:05,019 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:14:05,063 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:14:05,064 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:14:05,109 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:14:05,110 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:14:06,336 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:14:06,354 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:14:06,381 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:14:06,382 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:14:06,384 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:14:06,385 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:14:06,386 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:14:06,437 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:14:06,438 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:14:06,442 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:14:06,444 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:14:06,445 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:14:08,451 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:21:06,523 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 16:21:06,527 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 16:21:06,530 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 16:21:24,518 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:21:30,507 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:21:30,510 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:21:30,511 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:21:30,512 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:21:30,512 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:21:30,821 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:21:31,067 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:21:31,067 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:21:31,069 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:21:31,070 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:21:31,080 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:21:34,480 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:21:34,481 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:21:34,642 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:21:34,642 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:21:34,778 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:21:34,778 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:21:34,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:21:34,915 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:21:35,072 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:21:35,072 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:21:36,037 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:21:36,186 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:21:36,186 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:21:37,039 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:21:37,893 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:21:37,894 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:21:37,895 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:21:37,898 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:21:37,900 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:21:37,903 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:21:38,338 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:21:38,725 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:21:38,725 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:21:38,726 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:21:38,729 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:21:38,729 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:21:38,999 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:21:39,247 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:21:39,249 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:21:39,273 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:21:39,286 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:21:39,315 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:21:39,317 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:21:39,364 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:21:39,365 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:21:39,411 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:21:39,413 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:21:39,457 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:21:39,459 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:21:39,460 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:21:39,505 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:21:40,752 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:21:40,760 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:21:40,788 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:21:40,789 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:21:40,791 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:21:40,792 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:21:40,793 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:21:40,836 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:21:40,837 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:21:40,841 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:21:40,843 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:21:40,845 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:21:42,956 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:22:31,728 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 16:22:31,731 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 16:22:31,733 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
2026-04-17 16:25:55,338 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:26:02,366 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:26:02,370 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:26:02,371 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:26:02,371 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:26:02,372 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:26:02,680 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:26:02,931 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:26:02,932 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:26:02,933 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:26:02,934 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:26:02,945 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:26:05,371 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:26:05,372 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:26:05,513 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:26:05,513 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:26:05,651 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:26:05,651 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:26:05,804 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:26:05,805 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:26:05,954 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:26:05,954 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:26:06,924 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:26:07,069 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:26:07,070 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:26:07,926 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:26:08,780 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:26:08,781 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:26:08,783 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:26:08,785 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:26:08,788 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:26:08,790 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:26:09,161 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:26:09,165 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:26:09,167 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:26:09,522 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:26:09,525 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:26:09,526 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:26:09,766 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:26:10,012 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:26:10,014 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:26:10,041 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:26:10,052 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:26:10,080 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:26:10,081 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:26:10,115 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:26:10,118 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:26:10,162 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:26:10,164 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:26:10,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:26:10,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:26:10,257 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:26:10,258 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:26:11,473 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:26:11,478 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:26:11,505 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:26:11,507 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:26:11,507 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:26:11,508 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:26:11,509 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:26:11,556 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:26:11,556 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:26:11,560 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:26:11,562 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:26:11,564 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:26:13,343 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:33:36,256 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:33:41,919 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:33:41,923 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:33:41,924 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:33:41,924 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:33:41,925 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:33:42,236 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:33:42,482 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:33:42,483 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:33:42,484 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:33:42,485 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:33:42,496 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:33:44,976 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:33:44,977 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:33:45,132 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:33:45,133 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:33:45,274 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:33:45,274 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:33:45,412 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:33:45,412 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:33:45,579 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:33:45,579 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:33:46,547 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:33:46,695 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:33:46,695 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:33:47,538 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:33:48,386 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:33:48,386 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:33:48,388 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:33:48,390 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:33:48,392 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:33:48,394 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:33:48,787 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:33:48,792 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:33:48,793 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:33:49,159 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:33:49,162 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:33:49,163 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:33:49,439 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:33:49,685 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:33:49,686 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:33:49,708 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:33:49,721 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:33:49,749 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:33:49,750 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:33:49,781 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:33:49,782 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:33:49,829 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:33:49,830 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:33:49,875 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:33:49,876 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:33:49,922 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:33:49,924 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:33:51,165 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:33:51,181 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:33:51,209 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:33:51,210 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:33:51,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:33:51,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:33:51,245 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:33:51,253 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:33:51,254 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:33:51,258 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:33:51,261 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:33:51,263 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:33:53,203 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:38:27,820 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:38:33,690 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:38:33,694 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:38:33,695 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:38:33,695 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:38:33,696 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:38:34,005 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:38:34,213 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:38:34,214 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:38:34,216 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:38:34,217 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:38:34,228 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:38:36,662 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:38:36,662 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:38:36,805 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:38:36,805 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:38:36,942 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:38:36,943 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:38:37,072 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:38:37,072 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:38:37,207 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:38:37,207 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:38:38,162 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:38:38,311 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:38:38,311 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:38:39,165 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:38:40,013 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:38:40,014 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:38:40,017 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:38:40,021 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:38:40,023 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:38:40,025 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:38:40,426 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:38:40,432 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:38:40,433 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:38:40,804 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:38:40,807 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:38:40,808 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:38:41,085 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:38:41,331 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:38:41,332 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:38:41,356 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:38:41,368 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:38:41,396 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:38:41,397 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:38:41,437 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:38:41,439 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:38:41,482 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:38:41,483 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:38:41,527 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:38:41,529 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:38:41,572 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:38:41,573 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:38:42,776 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:38:42,792 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:38:42,819 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:38:42,820 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:38:42,820 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:38:42,821 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:38:42,821 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:38:42,860 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:38:42,861 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:38:42,865 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:38:42,867 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:38:42,868 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:38:44,684 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:46:39,784 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:日志系统启动成功
2026-04-17 16:46:45,909 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
2026-04-17 16:46:45,912 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
2026-04-17 16:46:45,913 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
2026-04-17 16:46:45,913 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
2026-04-17 16:46:45,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:ℹ️ ç›®å½•已存在: D:\Vision\SmartVision20260413\SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
2026-04-17 16:46:46,226 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LB3D相机配置文件加载成功!
2026-04-17 16:46:46,476 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:Device:[通讯口0] å·²è¿žæŽ¥åˆ° 192.168.10.10 æœºæž¶:0 æ’æ§½:1
2026-04-17 16:46:46,476 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:初始化通讯口[通讯口0]成功
2026-04-17 16:46:46,479 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯口[通讯口0]加载触发通讯
2026-04-17 16:46:46,480 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:通讯加载成功
2026-04-17 16:46:46,500 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:PLC通讯加载成功
2026-04-17 16:46:48,914 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:46:48,915 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C009]加载触发通讯
2026-04-17 16:46:49,044 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:46:49,045 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300245B2050001]加载触发通讯
2026-04-17 16:46:49,210 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:46:49,211 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C001]加载触发通讯
2026-04-17 16:46:49,366 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:46:49,367 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C003]加载触发通讯
2026-04-17 16:46:49,534 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:46:49,535 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LX300253A205C002]加载触发通讯
2026-04-17 16:46:50,494 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00027]]加载触发通讯
2026-04-17 16:46:50,624 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: Connected and initialized successfully (Manual Data Mode)
2026-04-17 16:46:50,624 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[LW150253A215C010]加载触发通讯
2026-04-17 16:46:51,478 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[FB11752AAK00020]]加载触发通讯
2026-04-17 16:46:52,319 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机[[EK64127CAK00002]]加载触发通讯
2026-04-17 16:46:52,320 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:相机加载成功
2026-04-17 16:46:52,322 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:读码器加载成功
2026-04-17 16:46:52,324 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量加载成功
2026-04-17 16:46:52,326 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:运动控制参数加载成功
2026-04-17 16:46:52,327 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:光源控制加载成功
2026-04-17 16:46:52,680 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[结束]
2026-04-17 16:46:52,683 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[开始]
2026-04-17 16:46:52,684 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支开始]
2026-04-17 16:46:53,040 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D棱镜胎内相机]
2026-04-17 16:46:53,043 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[轮胎计数]
2026-04-17 16:46:53,044 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[并行分支结束]
2026-04-17 16:46:53,318 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D下相机]
2026-04-17 16:46:53,563 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]添加步骤[2D上相机]
2026-04-17 16:46:53,565 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[2D工位]加载成功
2026-04-17 16:46:53,595 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[2D工位]
2026-04-17 16:46:53,610 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300245B2050001]: å¼€å§‹å•次采集
2026-04-17 16:46:53,637 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎肩]
2026-04-17 16:46:53,639 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C003]: å¼€å§‹å•次采集
2026-04-17 16:46:53,676 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎肩]
2026-04-17 16:46:53,677 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C002]: å¼€å§‹å•次采集
2026-04-17 16:46:53,723 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[正胎内]
2026-04-17 16:46:53,725 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C009]: å¼€å§‹å•次采集
2026-04-17 16:46:53,769 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[下胎趾]
2026-04-17 16:46:53,770 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LW150253A215C010]: å¼€å§‹å•次采集
2026-04-17 16:46:53,815 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[上胎趾]
2026-04-17 16:46:53,816 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[结束]
2026-04-17 16:46:55,101 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[脚本]
2026-04-17 16:46:55,104 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[LX300253A205C001]: å¼€å§‹å•次采集
2026-04-17 16:46:55,132 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[外胎冠]
2026-04-17 16:46:55,134 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支开始]
2026-04-17 16:46:55,135 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[开始]
2026-04-17 16:46:55,136 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]添加步骤[并行分支结束]
2026-04-17 16:46:55,177 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程[3D工位]加载成功
2026-04-17 16:46:55,188 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:添加流程[3D工位]
2026-04-17 16:46:55,189 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程加载成功
2026-04-17 16:46:55,194 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程设置加载成功
2026-04-17 16:46:55,197 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程布局加载成功
2026-04-17 16:46:55,198 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程表格加载成功
2026-04-17 16:46:57,168 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:数据库和表创建成功!
2026-04-17 16:55:14,709 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[FB11752AAK00027]图像已加入缓存,当前缓存数量:0
2026-04-17 16:55:14,709 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:LBCamera[[FB11752AAK00027]]: å›¾åƒå…¥é˜Ÿï¼Œå½“前队列:1
2026-04-17 16:55:14,753 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:[FB11752AAK00027]Get frame blockId = {0}1
2026-04-17 16:57:51,950 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:流程运行设置保存成功
2026-04-17 16:57:51,952 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局变量保存成功
2026-04-17 16:57:51,955 [12] INFO  LB_SmartVisionCommon.AsyncLogHelper - è®°å½•信息:全局布局保存成功
LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-04/2026-04-17.log
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@

LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/3D¹¤Î»/A_ProcessInputs.json
@@ -155,84 +155,6 @@
      "item2": "3D工位"
    }
  ],
  "下胎趾": [
    {
      "item1": "下胎趾.Inputs.Image",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.相机SN",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发模式",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发方式",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发极性",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发消抖",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发延时",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.曝光时间",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.增益",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.是否每次写入参数",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.是否本地取图",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.本地取图路径",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.本地取图序号",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.超时时间",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.是否失败重新取图",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.ImagesPerTyre",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.当前轮胎ID",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.当前图像序号",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.同一流程",
      "item2": "3D工位"
    }
  ],
  "正胎内": [
    {
      "item1": "正胎内.Inputs.Image",
@@ -311,6 +233,84 @@
      "item2": "3D工位"
    }
  ],
  "下胎趾": [
    {
      "item1": "下胎趾.Inputs.Image",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.相机SN",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发模式",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发方式",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发极性",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发消抖",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.触发延时",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.曝光时间",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.增益",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.是否每次写入参数",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.是否本地取图",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.本地取图路径",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.本地取图序号",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.超时时间",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.是否失败重新取图",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.ImagesPerTyre",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.当前轮胎ID",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.当前图像序号",
      "item2": ""
    },
    {
      "item1": "下胎趾.Inputs.同一流程",
      "item2": "3D工位"
    }
  ],
  "上胎趾": [
    {
      "item1": "上胎趾.Inputs.Image",
LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/3D¹¤Î»/A_ProcessOutputs.json
@@ -7,14 +7,14 @@
    "上胎肩.Outputs.Image",
    "上胎肩.Outputs.Result"
  ],
  "下胎趾": [
    "下胎趾.Outputs.Image",
    "下胎趾.Outputs.Result"
  ],
  "正胎内": [
    "正胎内.Outputs.Image",
    "正胎内.Outputs.Result"
  ],
  "下胎趾": [
    "下胎趾.Outputs.Image",
    "下胎趾.Outputs.Result"
  ],
  "上胎趾": [
    "上胎趾.Outputs.Image",
    "上胎趾.Outputs.Result"
LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/3D¹¤Î»/default.nds
@@ -15,13 +15,13 @@
      "BranchCondition": null,
      "TimeoutMilliseconds": 60000,
      "X": 313,
      "Y": 265,
      "Y": 267,
      "Width": 100,
      "Height": 40,
      "LeftPoint": "263, 265",
      "RightPoint": "363, 265",
      "BtmPoint": "313, 285",
      "TopPoint": "313, 245"
      "LeftPoint": "263, 267",
      "RightPoint": "363, 267",
      "BtmPoint": "313, 287",
      "TopPoint": "313, 247"
    },
    "上胎肩": {
      "Id": "afb13dcc-96e5-4821-b150-1805a95353c2",
@@ -46,29 +46,6 @@
      "BtmPoint": "165, 287",
      "TopPoint": "165, 247"
    },
    "下胎趾": {
      "Id": "487426d3-83c7-4840-87b1-56e5290e1fba",
      "Result": true,
      "Break": false,
      "RunState": 0,
      "NodeType": 0,
      "Text": "下胎趾",
      "Description": "相机取图",
      "BranchNodes": {
        "下胎趾-Branch0": "并行分支结束"
      },
      "BranchIndex": "0",
      "BranchCondition": null,
      "TimeoutMilliseconds": 60000,
      "X": 607,
      "Y": 261,
      "Width": 100,
      "Height": 40,
      "LeftPoint": "557, 261",
      "RightPoint": "657, 261",
      "BtmPoint": "607, 281",
      "TopPoint": "607, 241"
    },
    "正胎内": {
      "Id": "557c6ac3-d97c-49ab-9e8e-fcc205f7019c",
      "Result": true,
@@ -92,28 +69,28 @@
      "BtmPoint": "878, 281",
      "TopPoint": "878, 241"
    },
    "结束": {
      "Id": "c2383471-d485-4aab-b6d1-6d7f8c1fbd8f",
    "下胎趾": {
      "Id": "487426d3-83c7-4840-87b1-56e5290e1fba",
      "Result": true,
      "Break": false,
      "RunState": 0,
      "NodeType": 3,
      "Text": "结束",
      "Description": "结束",
      "NodeType": 0,
      "Text": "下胎趾",
      "Description": "相机取图",
      "BranchNodes": {
        "结束-Branch0": ""
        "下胎趾-Branch0": "并行分支结束"
      },
      "BranchIndex": "0",
      "BranchCondition": null,
      "TimeoutMilliseconds": 60000,
      "X": 451,
      "Y": 699,
      "X": 607,
      "Y": 261,
      "Width": 100,
      "Height": 40,
      "LeftPoint": "401, 699",
      "RightPoint": "501, 699",
      "BtmPoint": "451, 719",
      "TopPoint": "451, 679"
      "LeftPoint": "557, 261",
      "RightPoint": "657, 261",
      "BtmPoint": "607, 281",
      "TopPoint": "607, 241"
    },
    "上胎趾": {
      "Id": "96f06f55-442e-4b07-83f0-75c88b2f40c3",
@@ -137,6 +114,29 @@
      "RightPoint": "501, 264",
      "BtmPoint": "451, 284",
      "TopPoint": "451, 244"
    },
    "结束": {
      "Id": "c2383471-d485-4aab-b6d1-6d7f8c1fbd8f",
      "Result": true,
      "Break": false,
      "RunState": 0,
      "NodeType": 3,
      "Text": "结束",
      "Description": "结束",
      "BranchNodes": {
        "结束-Branch0": ""
      },
      "BranchIndex": "0",
      "BranchCondition": null,
      "TimeoutMilliseconds": 60000,
      "X": 451,
      "Y": 699,
      "Width": 100,
      "Height": 40,
      "LeftPoint": "401, 699",
      "RightPoint": "501, 699",
      "BtmPoint": "451, 719",
      "TopPoint": "451, 679"
    },
    "脚本": {
      "Id": "99bd8e97-75e9-49f6-9e04-1c15878e14c6",
@@ -184,29 +184,6 @@
      "BtmPoint": "751, 281",
      "TopPoint": "751, 241"
    },
    "开始": {
      "Id": "9e1132d8-fb86-4b8c-9398-301c0dbf7c1e",
      "Result": true,
      "Break": false,
      "RunState": 0,
      "NodeType": 2,
      "Text": "开始",
      "Description": "开始",
      "BranchNodes": {
        "开始-Branch0": "并行分支开始"
      },
      "BranchIndex": "0",
      "BranchCondition": null,
      "TimeoutMilliseconds": 60000,
      "X": 370,
      "Y": 59,
      "Width": 100,
      "Height": 40,
      "LeftPoint": "320, 59",
      "RightPoint": "420, 59",
      "BtmPoint": "370, 79",
      "TopPoint": "370, 39"
    },
    "并行分支开始": {
      "Id": "fa2f07a7-24cb-4f13-86dc-d63f1c58f0a7",
      "Result": true,
@@ -234,6 +211,29 @@
      "RightPoint": "496, 133",
      "BtmPoint": "446, 153",
      "TopPoint": "446, 113"
    },
    "开始": {
      "Id": "9e1132d8-fb86-4b8c-9398-301c0dbf7c1e",
      "Result": true,
      "Break": false,
      "RunState": 0,
      "NodeType": 2,
      "Text": "开始",
      "Description": "开始",
      "BranchNodes": {
        "开始-Branch0": "并行分支开始"
      },
      "BranchIndex": "0",
      "BranchCondition": null,
      "TimeoutMilliseconds": 60000,
      "X": 370,
      "Y": 59,
      "Width": 100,
      "Height": 40,
      "LeftPoint": "320, 59",
      "RightPoint": "420, 59",
      "BtmPoint": "370, 79",
      "TopPoint": "370, 39"
    },
    "并行分支结束": {
      "Id": "bd27fff3-85ac-4b42-a561-d21096448bb5",
@@ -392,17 +392,6 @@
      "LineWidth": 2.0,
      "IsDashed": false
    },
    "并行分支开始-Branch3": {
      "Id": "67cc1907-5ea8-4f7f-bd5a-b4a332a736a9",
      "StartNodeId": "fa2f07a7-24cb-4f13-86dc-d63f1c58f0a7",
      "EndNodeId": "487426d3-83c7-4840-87b1-56e5290e1fba",
      "BranchIndex": 3,
      "BranchName": "Branch3",
      "IsParallel": false,
      "LineColor": "Black",
      "LineWidth": 2.0,
      "IsDashed": false
    },
    "外胎冠-Branch0": {
      "Id": "daa54521-f9d4-4c9e-8e55-75b19163b3c4",
      "StartNodeId": "dab451d9-e09f-4ebf-8022-ed095b536fb5",
@@ -414,6 +403,17 @@
      "LineWidth": 2.0,
      "IsDashed": false
    },
    "并行分支开始-Branch3": {
      "Id": "67cc1907-5ea8-4f7f-bd5a-b4a332a736a9",
      "StartNodeId": "fa2f07a7-24cb-4f13-86dc-d63f1c58f0a7",
      "EndNodeId": "487426d3-83c7-4840-87b1-56e5290e1fba",
      "BranchIndex": 3,
      "BranchName": "Branch3",
      "IsParallel": false,
      "LineColor": "Black",
      "LineWidth": 2.0,
      "IsDashed": false
    },
    "下胎肩-Branch0": {
      "Id": "96fcaedb-6662-44b5-9127-c54c0648a3ad",
      "StartNodeId": "1586261b-e2a8-4641-acb3-64d8e9f74238",
LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/A_MPlcDatas.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
{}
LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/A_PlcSettings.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
{
  "通讯口0": {
    "PlcIpAddress": "192.168.10.10",
    "Rack": 0,
    "Slot": 1,
    "CommunicatorsName": null,
    "ProductName": null,
    "Signals": [
      {
        "SignalName": "心跳信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 0,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "视觉Ready信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 1,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "3D工位检测NG信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 2,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "2D工位检测NG信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 3,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "复位NG信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 4,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "3D工位检测完成信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 5,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "2D工位检测完成信号",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 6,
        "DataType": "Bool",
        "Value": null
      },
      {
        "SignalName": "轮胎数据写入完成",
        "Area": "DB",
        "DbNumber": 100,
        "ByteOffset": 0,
        "BitOffset": 7,
        "DataType": "Bool",
        "Value": null
      }
    ]
  },
  "MotionControlFormRead": {
    "PlcIpAddress": "192.168.10.10",
    "Rack": 0,
    "Slot": 1,
    "CommunicatorsName": null,
    "ProductName": null,
    "Signals": [
      {
        "SignalName": "上胎趾角度轴检测位置",
        "Area": "DB",
        "DbNumber": 103,
        "ByteOffset": 64,
        "BitOffset": 0,
        "DataType": "Real",
        "Value": "1.1"
      },
      {
        "SignalName": "新信号",
        "Area": "DB",
        "DbNumber": 102,
        "ByteOffset": 0,
        "BitOffset": 0,
        "DataType": "Int",
        "Value": null
      }
    ]
  }
}
LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/MotionControlFormRead.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
{
  "PlcIpAddress": "192.168.10.10",
  "Rack": 0,
  "Slot": 1,
  "CommunicatorsName": null,
  "ProductName": null,
  "Signals": [
    {
      "SignalName": "上胎趾角度轴检测位置",
      "Area": "DB",
      "DbNumber": 103,
      "ByteOffset": 64,
      "BitOffset": 0,
      "DataType": "Real",
      "Value": "1.1"
    },
    {
      "SignalName": "新信号",
      "Area": "DB",
      "DbNumber": 102,
      "ByteOffset": 0,
      "BitOffset": 0,
      "DataType": "Int",
      "Value": null
    }
  ]
}
LB_SmartVision/bin/Debug/net8.0-windows/ËùÓвúÆ·/Product0/ͨѶ¿Ú0.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
{
  "PlcIpAddress": "192.168.10.10",
  "Rack": 0,
  "Slot": 1,
  "Signals": [
    {
      "SignalName": "心跳信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 0,
      "DataType": "Bool"
    },
    {
      "SignalName": "视觉Ready信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 1,
      "DataType": "Bool"
    },
    {
      "SignalName": "3D工位检测NG信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 2,
      "DataType": "Bool"
    },
    {
      "SignalName": "2D工位检测NG信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 3,
      "DataType": "Bool"
    },
    {
      "SignalName": "复位NG信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 4,
      "DataType": "Bool"
    },
    {
      "SignalName": "3D工位检测完成信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 5,
      "DataType": "Bool"
    },
    {
      "SignalName": "2D工位检测完成信号",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 6,
      "DataType": "Bool"
    },
    {
      "SignalName": "轮胎数据写入完成",
      "Area": "DB",
      "DbNumber": 100,
      "ByteOffset": 0,
      "BitOffset": 7,
      "DataType": "Bool"
    }
  ]
}
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_SmartVision")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b48ac75b89e94e3f70da5a2233e18734aa271682")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e14b76f38ea713b43430bc86b1411172d9530f6")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_SmartVision")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_SmartVision")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache
@@ -1 +1 @@
a33816d564518a8d0262278f85f3296f26a131a1a8adb2340c9ed2e4c23aa3da
09ab790cde422e2289bbc9a8b2b70dd9c75f732049c9aa4816a2bb2589322645
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.MotionControlPage.MotionControlFormRead.resources
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
a4001ac8e47bcb55f1733b46d2cd408594802e779ec68074452019151960bc1f
ca3128d6fd70f1a9eac20b0dead9c77042262336d36e8c25765f8a01831ca209
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll
Binary files differ
LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll
Binary files differ
LB_VisionProcesses/Communicators/SiemensS7/ConfigForm.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,171 @@
namespace LB_VisionProcesses.Communicators.SiemensS7
{
    partial class ConfigForm
    {
        private System.ComponentModel.IContainer components = null;
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        private void InitializeComponent()
        {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigForm));
            txtIpAddress = new TextBox();
            nudRack = new NumericUpDown();
            nudSlot = new NumericUpDown();
            dgvSignals = new DataGridView();
            btnAdd = new Button();
            btnDelete = new Button();
            btnSave = new Button();
            btnCancel = new Button();
            lblIp = new Label();
            lblRack = new Label();
            lblSlot = new Label();
            ((System.ComponentModel.ISupportInitialize)nudRack).BeginInit();
            ((System.ComponentModel.ISupportInitialize)nudSlot).BeginInit();
            ((System.ComponentModel.ISupportInitialize)dgvSignals).BeginInit();
            SuspendLayout();
            //
            // txtIpAddress
            //
            txtIpAddress.BackColor = Color.FromArgb(32, 41, 50);
            txtIpAddress.ForeColor = Color.White;
            txtIpAddress.Location = new Point(141, 12);
            txtIpAddress.Name = "txtIpAddress";
            txtIpAddress.Size = new Size(120, 23);
            txtIpAddress.TabIndex = 1;
            //
            // nudRack
            //
            nudRack.BackColor = Color.FromArgb(32, 41, 50);
            nudRack.ForeColor = Color.White;
            nudRack.Location = new Point(311, 12);
            nudRack.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
            nudRack.Name = "nudRack";
            nudRack.Size = new Size(50, 23);
            nudRack.TabIndex = 3;
            //
            // nudSlot
            //
            nudSlot.BackColor = Color.FromArgb(32, 41, 50);
            nudSlot.ForeColor = Color.White;
            nudSlot.Location = new Point(401, 12);
            nudSlot.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
            nudSlot.Name = "nudSlot";
            nudSlot.Size = new Size(50, 23);
            nudSlot.TabIndex = 5;
            //
            // dgvSignals
            //
            dgvSignals.AllowUserToAddRows = false;
            dgvSignals.BackgroundColor = Color.FromArgb(32, 41, 50);
            dgvSignals.Location = new Point(12, 50);
            dgvSignals.Name = "dgvSignals";
            dgvSignals.Size = new Size(760, 350);
            dgvSignals.TabIndex = 6;
            //
            // btnAdd
            //
            btnAdd.Location = new Point(12, 410);
            btnAdd.Name = "btnAdd";
            btnAdd.Size = new Size(75, 30);
            btnAdd.TabIndex = 7;
            btnAdd.Text = "添加";
            btnAdd.Click += btnAdd_Click;
            //
            // btnDelete
            //
            btnDelete.Location = new Point(93, 410);
            btnDelete.Name = "btnDelete";
            btnDelete.Size = new Size(75, 30);
            btnDelete.TabIndex = 8;
            btnDelete.Text = "删除";
            btnDelete.Click += btnDelete_Click;
            //
            // btnSave
            //
            btnSave.Location = new Point(600, 410);
            btnSave.Name = "btnSave";
            btnSave.Size = new Size(80, 30);
            btnSave.TabIndex = 9;
            btnSave.Text = "保存";
            btnSave.Click += btnSave_Click;
            //
            // btnCancel
            //
            btnCancel.Location = new Point(690, 410);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(80, 30);
            btnCancel.TabIndex = 10;
            btnCancel.Text = "取消";
            btnCancel.Click += btnCancel_Click;
            //
            // lblIp
            //
            lblIp.Location = new Point(12, 12);
            lblIp.Name = "lblIp";
            lblIp.Size = new Size(100, 23);
            lblIp.TabIndex = 0;
            //
            // lblRack
            //
            lblRack.Location = new Point(0, 0);
            lblRack.Name = "lblRack";
            lblRack.Size = new Size(100, 23);
            lblRack.TabIndex = 2;
            //
            // lblSlot
            //
            lblSlot.Location = new Point(0, 0);
            lblSlot.Name = "lblSlot";
            lblSlot.Size = new Size(100, 23);
            lblSlot.TabIndex = 4;
            //
            // ConfigForm
            //
            BackColor = Color.FromArgb(32, 41, 50);
            ClientSize = new Size(784, 451);
            Controls.Add(lblIp);
            Controls.Add(txtIpAddress);
            Controls.Add(lblRack);
            Controls.Add(nudRack);
            Controls.Add(lblSlot);
            Controls.Add(nudSlot);
            Controls.Add(dgvSignals);
            Controls.Add(btnAdd);
            Controls.Add(btnDelete);
            Controls.Add(btnSave);
            Controls.Add(btnCancel);
            ForeColor = Color.White;
            Icon = (Icon)resources.GetObject("$this.Icon");
            MaximizeBox = false;
            MinimizeBox = false;
            Name = "ConfigForm";
            Text = "配置 PLC åœ°å€";
            ((System.ComponentModel.ISupportInitialize)nudRack).EndInit();
            ((System.ComponentModel.ISupportInitialize)nudSlot).EndInit();
            ((System.ComponentModel.ISupportInitialize)dgvSignals).EndInit();
            ResumeLayout(false);
            PerformLayout();
        }
        private Label lblIp;
        private Label lblRack;
        private Label lblSlot;
        private TextBox txtIpAddress;
        private NumericUpDown nudRack;
        private NumericUpDown nudSlot;
        private DataGridView dgvSignals;
        private Button btnAdd;
        private Button btnDelete;
        private Button btnSave;
        private Button btnCancel;
    }
}
LB_VisionProcesses/Communicators/SiemensS7/ConfigForm.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,135 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LB_VisionProcesses.Communicators.SiemensS7
{
    public partial class ConfigForm : Form
    {
        private PlcConfig config;
        private BindingSource bindingSource;
        private string strPath = string.Empty;
        public ConfigForm(PlcConfig existingConfig, string strPath)
        {
            InitializeComponent();
            config = existingConfig;
            SetupBindings();
            dgvSignals.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgvSignals.ForeColor = Color.Black;
            this.strPath = strPath;
            //dgvSignals.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        }
        private void SetupBindings()
        {
            // PLC è¿žæŽ¥å‚数绑定
            txtIpAddress.DataBindings.Add("Text", config, nameof(config.PlcIpAddress));
            nudRack.DataBindings.Add("Value", config, nameof(config.Rack));
            nudSlot.DataBindings.Add("Value", config, nameof(config.Slot));
            // æ‰‹åŠ¨é…ç½® DataGridView åˆ—(下拉框列)
            dgvSignals.AutoGenerateColumns = false;
            dgvSignals.Columns.Clear();
            var colName = new DataGridViewTextBoxColumn();
            colName.DataPropertyName = "SignalName";
            colName.HeaderText = "信号名称";
            colName.Width = 120;
            dgvSignals.Columns.Add(colName);
            var colArea = new DataGridViewComboBoxColumn();
            colArea.DataPropertyName = "Area";
            colArea.HeaderText = "存储区";
            colArea.Items.AddRange("DB", "I", "Q", "M");
            colArea.Width = 60;
            dgvSignals.Columns.Add(colArea);
            var colDbNum = new DataGridViewTextBoxColumn();
            colDbNum.DataPropertyName = "DbNumber";
            colDbNum.HeaderText = "DB号";
            colDbNum.Width = 60;
            dgvSignals.Columns.Add(colDbNum);
            var colByte = new DataGridViewTextBoxColumn();
            colByte.DataPropertyName = "ByteOffset";
            colByte.HeaderText = "字节偏移";
            colByte.Width = 80;
            dgvSignals.Columns.Add(colByte);
            var colBit = new DataGridViewTextBoxColumn();
            colBit.DataPropertyName = "BitOffset";
            colBit.HeaderText = "位偏移";
            colBit.Width = 80;
            dgvSignals.Columns.Add(colBit);
            var colType = new DataGridViewComboBoxColumn();
            colType.DataPropertyName = "DataType";
            colType.HeaderText = "数据类型";
            colType.Items.AddRange("Bool", "Byte", "Int", "DInt", "Real","String");
            colType.Width = 80;
            dgvSignals.Columns.Add(colType);
            // ç»‘定数据源
            bindingSource = new BindingSource();
            bindingSource.DataSource = config.Signals;
            dgvSignals.DataSource = bindingSource;
            // æ·»åŠ æ ¡éªŒäº‹ä»¶ï¼ˆå¯é€‰ï¼‰
            dgvSignals.CellValueChanged += DgvSignals_CellValueChanged;
        }
        private void DgvSignals_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0) return;
            var row = dgvSignals.Rows[e.RowIndex];
            var signal = row.DataBoundItem as SignalConfig;
            if (signal == null) return;
            // è‹¥ Area ä¸æ˜¯ DB,自动将 DbNumber ç½® 0
            if (!signal.Area.Equals("DB", StringComparison.OrdinalIgnoreCase))
            {
                signal.DbNumber = 0;
                dgvSignals.InvalidateRow(e.RowIndex);
            }
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            config.Signals.Add(new SignalConfig());
            bindingSource.ResetBindings(false);
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (dgvSignals.CurrentRow != null)
            {
                var signal = dgvSignals.CurrentRow.DataBoundItem as SignalConfig;
                if (signal != null)
                {
                    config.Signals.Remove(signal);
                    bindingSource.ResetBindings(false);
                }
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            S7ConfigService.SaveConfig(config, this.strPath);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }
    }
}
LB_VisionProcesses/Communicators/SiemensS7/ConfigForm.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1057 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAABAA0AICAQAAEABADoAgAA1gAAABAQEAABAAQAKAEAAL4DAAAwMAAAAQAIAKgOAADmBAAAICAAAAEA
        CACoCAAAjhMAABAQAAABAAgAaAUAADYcAAAAAAAAAQAgAC0RAACeIQAAQEAAAAEAIAAoQgAAyzIAADAw
        AAABACAAqCUAAPN0AAAoKAAAAQAgAGgaAACbmgAAICAAAAEAIACoEAAAA7UAABgYAAABACAAiAkAAKvF
        AAAUFAAAAQAgALgGAAAzzwAAEBAAAAEAIABoBAAA69UAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAA
        AAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/
        /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAIkAAAAAAAAAAAAAAAAAAACXAAAA
        AAiXk5k5GXmAAAAJOAAAAAB5OZGTkZk5kAAAeZgAAAAJGZOTmTkZk5kAAJGXAAAACTk5kZOZk5OTAAiT
        mQAAAAkZk5ORk5kZmXAHmZGAAAAJmTmRmZOTk5FwB5OTkAAABzmTk5OZGZOZMAmZGZcAAACZOZGZGTk5
        k5AHk5OZAAAAeRk5OTmRkZmQCZOZk5AAAAmZOZGZOTmTcAeTk5k5AAAAOZOTkZmTmZAImZGTmXAAAHmT
        mZOTk5GAAHk5k5OXAAAHk5OZGZOZAAB5mTmRmXAAAJmRk5ORlwAABxk5OTmXAAAHk5mTmZAAAACZOZGZ
        GXAAAJmTk5MAAAAAB5OZOTmZAACDkZmXAAAAAACZk5kZOXAACJmXgAAAAAAAB5k5ORk5gACDkAAAAAAA
        AAAJOZmZOZcAAAAAAAAAAAAAAAd5OZOZcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////
        ////////+/////P////z/gAH4/wAB8P4AAPD+AADg/gAAYH4AAGB+AABgPwAAYD8AAGAfgABgD8AAYAf
        AAHAD4ADwAfAA+AD4AfwAfAP+ADwD/wAeB/+ABx//4AP///gB////////////////////////////ygA
        AAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA
        gACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAHAACZeXlwAJcACDmRmTkAmQAImRk5OQg5cAA5OZkZiJlwAHmZOTmAGZkABzkZmQB5OXAAmZ
        OXAAk5lwADkZAAAJmTkAiZgAAAB5mZgAAAAAAACHeAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//
        AADeAwAAnAEAAJwBAAAOAAAADgAAAIcBAACDgQAAwcMAAODDAADwPwAA/D8AAP//AAD//wAAKAAAADAA
        AABgAAAAAQAIAAAAAACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAbKswAHCvMAB4szAAgL80AIjHNACUz
        zgAmNc4AKDbPACo4zwAqONAALDrQAC480AAwPtAAMkDRADRB0QA3RNIAOUbTADtI1AA/TNQAQE3UAENQ
        1QBFUdUASVXWAE1Y1wBPWtgAUFvYAFFd2ABVYNkAWGPZAFpl2gBeadsAYGrbAGNu3ABkbtwAZ3HdAGhy
        3QBrdN0AbHbeAG943wBxet8AcnzfAHR93wB0feAAd4DgAHmC4QB7hOEAfYbhAIGK4gCDjOMAho7kAImQ
        5ACMk+UAALB5AADPjwAA8KYAEf+0ADH/vgBR/8gAcf/TAJH/3ACx/+UA0f/wAP///wAAAAAAAC8OAABQ
        GAAAcCIAAJAsAACwNgAAz0AAAPBKABH/WwAx/3EAUf+HAHH/nQCR/7IAsf/JANH/3wD///8AAAAAAAIv
        AAAEUAAABnAAAAiQAAAKsAAAC88AAA7wAAAg/xIAPf8xAFv/UQB5/3EAmP+RALX/sQDU/9EA////AAAA
        AAAULwAAIlAAADBwAAA9kAAATLAAAFnPAABn8AAAeP8RAIr/MQCc/1EArv9xAMD/kQDS/7EA5P/RAP//
        /wAAAAAAJi8AAEBQAABacAAAdJAAAI6wAACpzwAAwvAAANH/EQDY/zEA3v9RAOP/cQDp/5EA7/+xAPb/
        0QD///8AAAAAAC8mAABQQQAAcFsAAJB0AACwjgAAz6kAAPDDAAD/0hEA/9gxAP/dUQD/5HEA/+qRAP/w
        sQD/9tEA////AAAAAAAvFAAAUCIAAHAwAACQPgAAsE0AAM9bAADwaQAA/3kRAP+KMQD/nVEA/69xAP/B
        kQD/0rEA/+XRAP///wAAAAAALwMAAFAEAABwBgAAkAkAALAKAADPDAAA8A4AAP8gEgD/PjEA/1xRAP96
        cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAAKwCwADYAzwBAAPAASQD/EVoA/zFwAP9R
        hgD/cZwA/5GyAP+xyAD/0d8A////AAAAAAAvACAAUAA2AHAATACQAGIAsAB4AM8AjgDwAKQA/xGzAP8x
        vgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR
        /wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA
        8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYA
        zwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADImAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAKwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAtBBkAAAAAAAAAAAAAAAAAAAAAAAAAMisnIyMjJistMgAAAAAAAAAAAAAAAAAAADQEAS4A
        AAAAAAAAAAAAAAAAAC0VCgQBAQEBAQEBAQEBAQEEBAYkAAAAAAAAAAAAAAoBAQAAAAAAAAAAAAAAAAAj
        CgEBAQEBAQEBAQEBAQEBAQEBAQEEAAAAAAAAAAAAFwEBBAAAAAAAAAAAAAAAABkBAQEBAQEBAQEBAQEB
        AQEBAQEBAQEBDgAAAAAAAAAyBAEBAQAAAAAAAAAAAAAALQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBASMA
        AAAAAAASAQEBATAAAAAAAAAAAAAAFQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQoAAAAAAAAEAQEBARwA
        AAAAAAAAAAAADgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEtAAAAABwBAQEBAQwAAAAAAAAAAAAAEAEB
        AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEVAAAAAAwBAQEBAQE0AAAAAAAAAAAAFwEBAQEBAQEBAQEBAQEB
        AQEBAQEBAQEBAQEGAAAAAAQBAQEBAQEVAAAAAAAAAAAALQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEC
        AAAAAAEBAQEBAQEEAAAAAAAAAAAAAAgBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBLQAALAEBAQEBAQEB
        EgAAAAAAAAAAABwBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBIwAAJgEBAQEBAQEBASYAAAAAAAAAAAAG
        AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBHwAAJgEBAQEBAQEBAQYAAAAAAAAAAAAeAQEBAQEBAQEBAQEB
        AQEBAQEBAQEBAQEBHwAALQEBAQEBAQEBAQEQAAAAAAAAAAAACwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
        IwAAAAEBAQEBAQEBAQECGQAAAAAAAAAAMQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBMAAAAAQBAQEBAQEB
        AgEBASEAAAAAAAAAABoBAQEBAQEBAQEBAQEBAQEBAQEBAQECAAAAAA4BAQEBAQEBAQECAQQrAAAAAAAA
        AAAOAQEBAQEBAQEBAQEBAQEBAQEBAQEKAAAAAB8BAQEBAQEBAgEBAQEEMAAAAAAAAAAABgEBAQEBAQEB
        AQEBAQEBAQEBAQEYAAAAAAAEAQEBAQEBAQECAQEBBjIAAAAAAAAAKwIBAQEBAQEBAQEBAQEBAQEBAQMA
        AAAAAAAWAQEBAQEBAgEBAQEBAQYyAAAAAAAAAB4BAQEBAQEBAQEBAQEBAQEBARAAAAAAAAAABAEBAQEB
        AQECAQEBAQEGMgAAAAAAAAAVAQEBAQEBAQEBAQEBAQEBAzIAAAAAAAAAHQEBAQEBAgEBAQEBAgEBBC4A
        AAAAAAAAEAEBAQEBAQEBAQEBAQEBFgAAAAAAAAAAAA8BAQEBAQECAQEBAQECAQQnAAAAAAAAAAsBAQEB
        AQEBAQEBAQEIAAAAAAAAAAAAAAAIAQEBAgEBAQEBAgEBAQEEIAAAAAAAAAAIAQEBAQEBAQEBAQQzAAAA
        AAAAAAAAAAAABQEBAQECAQEBAQECAQEBAhoAAAAAAAAABQEBAQEBAQEBAykAAAAAAAAAAAAAAAAAAAgB
        AgEBAQEBAgEBAQEBAQETAAAAAAAAMAQBAQEBAQEEJwAAAAAAAAAAAAAAAAAAAAAOAQECAQEBAQECAQEB
        AQEBDgAAAAAAAC0EAQEBAQYwAAAAAAAAAAAAAAAAAAAAAAAAGgMBAQEBAgEBAQEBAQEBAQgyAAAAAAAp
        AwEBEQAAAAAAAAAAAAAAAAAAAAAAAAAAADMPAQEBAQECAQEBAQEBAQEEIwAAAAAAJgokAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAALhADAgEBAQEBAQEBAgECAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAHAwDAQEBAQEBAQECAQIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALh4X
        EQ8ODxIWHSsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/P/////8AAP5/
        /////wAA/H//8AP/AAD4f/4AAB8AAPj/+AAAHwAA8P/wAAAPAADg/+AAAAcAAOB/4AAABwAA4H/gAAAD
        AADAf+AAAAMAAMA/4AAAAwAAwD/gAAADAADAP/AAAAEAAIAf8AAAAQAAgA/4AAABAACAD/gAAAEAAIAH
        /AAAAQAAwAP8AAABAADAAf4AAAMAAMAA/wAAAwAAwAB/gAADAADgAD+AAAcAAOAAH8AABwAA8AAP4AAH
        AADwAAfwAA8AAPgAA/gAHwAA/AAB/AAfAAD+AAD+AD8AAP8AAH4AfwAA/4AAPwD/AAD/wAAPg/8AAP/g
        AAfH/wAA//gAA///AAD//wAB//8AAP//4AP//wAA////////AAD///////8AAP///////wAA////////
        AAD///////8AAP///////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAB
        AAAAAAAAAAAAABsqzAAcK8wAHizMACAvzQAhMM0AJDLOACY0zgAoNs8AKDbQACo40AAtOtAALjzQADA+
        0QAzQdIANULRADdE0gA6R9MAO0jUAD1K1ABBTtQARlLVAElV1wBMWNcAT1rYAFBb2ABRXdgAWGPZAFpl
        2gBeaNoAZG7cAGlz3QBpdN4Ab3jfAHF63wB1fuAAeoLgAHuE4QB8heIAgYniAIqR5AAx8f8AUfP/AHH1
        /wCR9/8Asfn/ANH7/wD///8AAAAAAAAvIQAAUDcAAHBMAACQYwAAsHkAAM+PAADwpgAR/7QAMf++AFH/
        yABx/9MAkf/cALH/5QDR//AA////AAAAAAAALw4AAFAYAABwIgAAkCwAALA2AADPQAAA8EoAEf9bADH/
        cQBR/4cAcf+dAJH/sgCx/8kA0f/fAP///wAAAAAAAi8AAARQAAAGcAAACJAAAAqwAAALzwAADvAAACD/
        EgA9/zEAW/9RAHn/cQCY/5EAtf+xANT/0QD///8AAAAAABQvAAAiUAAAMHAAAD2QAABMsAAAWc8AAGfw
        AAB4/xEAiv8xAJz/UQCu/3EAwP+RANL/sQDk/9EA////AAAAAAAmLwAAQFAAAFpwAAB0kAAAjrAAAKnP
        AADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP///wAAAAAALyYAAFBBAABwWwAAkHQAALCO
        AADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+
        AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAG
        AACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA
        FwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8A
        IABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAA
        AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
        /wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
        /wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x
        /wDa0f8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhQAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIAAAAAAAAAAAACASCQQEAQEBAQIEBgkmAAAAAAAADQEm
        AAAAAAAAAAAKAQEBAQEBAQEBAQEBAQkAAAAAAB0BASEAAAAAAAAADQEBAQEBAQEBAQEBAQEBARYAAAAA
        CQEBGAAAAAAAAAADAQEBAQEBAQEBAQEBAQEBBAAAACYBAQELAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEB
        IAAAFwEBAQEnAAAAAAAACwIBAQEBAQEBAQEBAQEBAQEUAAAQAQEBAQ4AAAAAAAAcAQEBAQEBAQEBAQEB
        AQEBAQwAAAsBAQEBASAAAAAAAAAGAQEBAQEBAQEBAQEBAQEBCQAACwEBAQEBBgAAAAAAAB4BAQEBAQEB
        AQEBAQEBAQEJAAAQAQEBAQEBDgAAAAAAAA4BAQEBAQEBAQEBAQEBAQ0AABkBAQEBAQEBFgAAAAAAAAQB
        AQEBAQEBAQEBAQECFQAAJwEBAQEBAQEBGgAAAAAAHgIBAQEBAQEBAQEBAQEjAAAACgEBAQEBAQECHAAA
        AAAAFgEBAQEBAQEBAQEBBgAAAAAgAQEBAQEBAQECHAAAAAAAEAEBAQEBAQEBAQEcAAAAAAAPAQEBAQEB
        AQECGgAAAAAACwEBAQEBAQEBCwAAAAAAAAAHAQEBAQEBAQEBFgAAAAAABgEBAQEBAQUAAAAAAAAAAAAG
        AQEBAQEBAQEBEgAAAAAoBgEBAQEEJAAAAAAAAAAAAAALAQEBAQEBAQEBDQAAAAAnBAEBBicAAAAAAAAA
        AAAAAAAWAwEBAQEBAQEBCScAAAAkBRIAAAAAAAAAAAAAAAAAAAAAFAQBAQECAQEBAx4AAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAB8TCgQDAwMFDCIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAD/////////////////////+/////P////z/gAH4/wAB8P4AAPD+AADg/gAAYH4
        AAGB+AABgPwAAYD8AAGAfgABgD8AAYAfAAHAD4ADwAfAA+AD4AfwAfAP+ADwD/wAeB/+ABx//4AP///g
        B////////////////////////////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAA
        AAAAAAAAGyrMAB4szAAiMM0AJTPOACY0zgApN9AAKznQAC070AAvPdAANULRADtI0wA8SdMAQEzUAEhU
        1wBPWtgAVmHZAGRu3ABpct0AbHbeAHeA4AB4geAAf4fiAH+I4gCBieMAhIzjAIeP5ACIkOQAkc//ALHd
        /wDR6/8A////AAAAAAAALC8AAEtQAABocAAAhpAAAKWwAADDzwAA4fAAEe//ADHx/wBR8/8AcfX/AJH3
        /wCx+f8A0fv/AP///wAAAAAAAC8hAABQNwAAcEwAAJBjAACweQAAz48AAPCmABH/tAAx/74AUf/IAHH/
        0wCR/9wAsf/lANH/8AD///8AAAAAAAAvDgAAUBgAAHAiAACQLAAAsDYAAM9AAADwSgAR/1sAMf9xAFH/
        hwBx/50Akf+yALH/yQDR/98A////AAAAAAACLwAABFAAAAZwAAAIkAAACrAAAAvPAAAO8AAAIP8SAD3/
        MQBb/1EAef9xAJj/kQC1/7EA1P/RAP///wAAAAAAFC8AACJQAAAwcAAAPZAAAEywAABZzwAAZ/AAAHj/
        EQCK/zEAnP9RAK7/cQDA/5EA0v+xAOT/0QD///8AAAAAACYvAABAUAAAWnAAAHSQAACOsAAAqc8AAMLw
        AADR/xEA2P8xAN7/UQDj/3EA6f+RAO//sQD2/9EA////AAAAAAAvJgAAUEEAAHBbAACQdAAAsI4AAM+p
        AADwwwAA/9IRAP/YMQD/3VEA/+RxAP/qkQD/8LEA//bRAP///wAAAAAALxQAAFAiAABwMAAAkD4AALBN
        AADPWwAA8GkAAP95EQD/ijEA/51RAP+vcQD/wZEA/9KxAP/l0QD///8AAAAAAC8DAABQBAAAcAYAAJAJ
        AACwCgAAzwwAAPAOAAD/IBIA/z4xAP9cUQD/enEA/5eRAP+2sQD/1NEA////AAAAAAAvAA4AUAAXAHAA
        IQCQACsAsAA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP///wAAAAAALwAgAFAA
        NgBwAEwAkABiALAAeADPAI4A8ACkAP8RswD/Mb4A/1HHAP9x0QD/kdwA/7HlAP/R8AD///8AAAAAACwA
        LwBLAFAAaQBwAIcAkAClALAAxADPAOEA8ADwEf8A8jH/APRR/wD2cf8A95H/APmx/wD70f8A////AAAA
        AAAbAC8ALQBQAD8AcABSAJAAYwCwAHYAzwCIAPAAmRH/AKYx/wC0Uf8AwnH/AM+R/wDcsf8A69H/AP//
        /wAAAAAACAAvAA4AUAAVAHAAGwCQACEAsAAmAM8ALADwAD4R/wBYMf8AcVH/AIxx/wCmkf8Av7H/ANrR
        /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA
        ABEKBgQEBggAAAAMDgAAABUBAQEBAQEBCgAAAgYAAAAUAQEBAQEBAQIAGgEBEgAAAAQBAQEBAQEBGBsB
        AQQAAAASAQEBAQEBARgAAgEBCQAAAAsBAQEBAQIAAA0BAQEKAAAABwEBAQELAAAABAEBAQoAAAAEAQED
        AAAAAAAFAQEBCAAAGwMEGQAAAAAAAA8DAQEEFgAAAAAAAAAAAAAAABsTEhcAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAN4DAACcAQAAnAEAAA4AAAAOAAAAhwEAAIOB
        AADBwwAA4MMAAPA/AAD8PwAA//8AAP//AACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYA
        ABD0SURBVHja7d0/etzGGcfxAbhUytCVH4mFmcoWXXj1SKrNnMCbE4Q+gekThDlB6BOEPoHlE4SuJT+i
        i1BKFbqg9KQyWUpcAsHsCuZqxSUGwAzmz/v9FJZk0xS4u/PDzDt/kCkAYmW+LwCAPwQAIBgBAAhGAACC
        EQCAYAQAIBgBAAhGAACCEQCAYAQAIBgBAAhGAACCEQCAYAQAIBgBAAhGAACCEQCAYAQAIBgBAAhGAACC
        EQCAYAQAIBgBAAhGAACCEQCAYAQAIBgBAAhGAACCEQCAYAQAIBgBAAhGAACCEQCAYAQAIBgBAAhGAACC
        EQAJeb59bzzNsg39+7xQO/W/LzM1rv65sfz1mcq+vOn7FEXxS5Zn5x/+l+w8K9Xx9fctT8ssO9W/H41G
        xw9++fVcISoEQGSefr65k5XlVlZmW3XDzlRZ/Zr/0fe1aYVSv1bXc1qHRR0SBESYCIBAPf/0462rPB9n
        Kh9XjWinVNlWrtQnvq+rn+Ki+jmOqw/dcVlkp+WaOn7877Mj31clGQEQiNmd/aq6o+eqauxqHH9jN6eH
        HHmWH5dVj2EtL48enLw67v9dYYIA8ESP16+KbEc3+OpN+Mr39YRF9xTyo2o8cUQguEUADOT5F59sXF1e
        Tqqx+47KikkoY/Y4FBdFlk8YLthHADg0G8evre1UL/OEu3xXVW+gVLuPXrx+4vtKUkQAWFbf6avf7q6a
        ZoMZXRsY5dkuQwB3CABLnt2/O1FZvsud3o5SqR/X1ke7TB26RQD0oLv4xdraXvVx3WVMb09ZqG8fvTw7
        8H0dEhAAHczv9tkeXXzbKPYNjQAwNBvbv5nulrnakzRHP5TZeP8Pd3bo8g+LAGgw6+bno12VFXt08x0p
        1fcPX5zt+r4MiQiAFd41/P3qFfqr72tJWanKrx+dvDr0fR1SEQBLaPhDKS5yle0MOcX38/3NQ/1rXkz3
        H/znf6e+X4EQEADv6DF+cXm5X70k3/i+ltT5GO/PGv/voV5cqDI/yO+MDqTXHMQHwKzhv53uMcYfiIfx
        /vuNf9Fsd+Ke5CGI6AB4tn1vt/oA7FPVH4aP8f7qxn9N90jUWr4ncfpRZADMduIpdcA8/lCGH+9rJo3/
        PVXvpBoW7EkaFogKAMb5w/M1v9+68V9fsahhgZgA0Kv3skwdMs4fkKf5/e6Nf/HSy5/Wrq52U58tSD4A
        5ltyRwds0hmWr/l9G43/WtUbKPL9lPclJB0Azz7b3MvyYp+7/pD8jPe1+fut/mH7+856A+vrkxRrA0kG
        wHxP/vSQu/6wZuP9spj46DbrGZ1MZf90+NMleTBJcgHAWN8TjxV0943/vR/0u3x9fT+V3kBSAfDz9r0D
        KvwelOrvD1+c7fv4q4dt/HMpnVSURADoQt80y5/kef6F72uRxW+32EfjD+VntyX6AKDL74d+AtBIlRNf
        d0G/jX9R+d3Dk1d7vq+iq6gD4Of7m3rX3t98X4c0vg/vmId+/oPv16EW8/mFUQYAVX6PPB/eoZdxF6o8
        Cq3HF2tdILoAYLzvj+/DOkNt/Nf8rYHoKqoACP8DkCr/Ba943vu49hJEEwAU+/zwXezT4mn812I56iyK
        AAin4iuL72Kfpus908vpcZRnNnhcH2Eq+ACg8XsSwEm9s8b/5u1R1PWeAF7H2wQdAKzs8ySAO1cSjb8W
        cAgEGwB2t3XCTBgFrKQafy3QEAgyAGj8PoQzhZXs+x9gCAQXAMm++QHzuY13WfLvf2AhEFQAsLR3eCFU
        +mvJN/5aADWWWjABQLXfg4DuRq5O8wlVKOsEgggAGr8HAd2FpL7/IYSA9wB4+vnmTl6qf/m+DklC+ODV
        pDb+Of+FV68BEOMSz7gVF0WWT0J5Ag7vv1aFwFUx9lWA9RYA84d0vD2V/eYPyf/dZhGN/5rPQqyXAEhy
        oUfAQqr0a7NHsK/lxzT+a/pQkUcnZ5Oh/14vASBmuicAwTV+wn81D4XZwQNA2nSPVwFN82k0/mZlWfxl
        yHMXBg2A+bgvez7k3ylWYI1fo+dnYtii4GABQNFvOCFN89Vo/Ob0sO3xy9fjIf6uwQLg2fbmEw7xdC/E
        xs+wr4OB6gGDBAAfgCH4P7fvJrIX+vRTZOrPrtdsOA8Axv1DCGuOv8Z738/sPMb10djlDI7zAHj62d1j
        qr4uhdz4WejTn9snDzkNALb3uhXaHH8t6oM8A+RyKOAsAOj+uRV042eu3yqXQwFnAUDX351QG7/GdJ8j
        jmYFnAQAVX+HSvV9fme0F2Tj5xRnp/Kr6Z9sLxCyHgAs+HEowNV9Nab73CtV+dOjk1c7Nr+n9QCgC+hI
        wI2fQ12GY3uvgNUA4IPgSMCNn+m+YemC4OOTsy1b389qAFTdwKOqG/jl4K9K0tzOA/dBxd8TiwVBawHA
        GNC+ENf1L2Kmx5fiIl+/s2WjEGwtAJ5ub56y8MOe0Bs/tR7PLPUCrAQAd3+7Qm/8vN8hsNMLsBIA3P3t
        Cb3xU+gNiIVeQO8A4G5gT+iNn4p/aPr3AnoHAHd/O4Jv/FT8w9SzF9ArALj72xF649c40SlUxcXDk9cb
        Xf/vvgHAvH9PMTR+tnWHrc9nqHMAUAzqL4bG/+z+3UmW5T/4vg6s1ucQ0c4BwDxwPzE0fop+8eh6aEin
        AJjv+Jv+5vuHjlUUjZ+iX1w67hfpFADs9+8uhsavUfSLT74++qjtlGCnAGDqr5toGj8BH6Uun6/WAcBZ
        f92Uhfr20cuzA9/X0YTibry6FANbBwDFvw4C3s+/iNOc4tf22LD2AbB995wPSAuRNH6NdR3xa9vTbBUA
        zAm3FFHjZ7FPGtoOA1oFAN3/FiJq/Iz709JmGNAqAKj+mwn53P5ljPvT02YYYBwAVP/NxNT4Ncb96SmV
        +vHRydnE5GuNA4AxYrMhnuZqE+9puh6enBm1beMA4E7RJMyn9K7CuD9tps8PMAoA1v43iavx8/ReCcyO
        kzcKAKb/bmf7aS2usc4/faaPETMKAMaKq8Wyvr/GKU5ymNQBzHoAjP9XCPepPTd5/unHW8VafsyUnwwm
        ZwSY9QC2N0vfP0xwIlroUyPIhTE4MLQxAJj//1Bsc/0awzh5TNYDNAYAY8b3xTbXrxHiMpnsC2gMAO4c
        i+Ka7qvxEE+5mgqBJj0Axo3vxDbdpxHgsjUVAhsDgA1Ac7Gc6LOIrj+ablrNQwBmAKKs+Gt0/dE0E3Br
        AHAHibPir9H1x0zDzevWAGDDSHGRXxXjNmeshWC+4Gf0X9/XAf+algTfGgDSj4fu+rQV3yjcotY0FXhr
        AIjuRvZ87LIvrNvAstumAgmAG7Q5USUkHO+Fm3QOAIldyRhX+tU4tBU3ue2QUAJgSa7KB7Gt9NMo2GKV
        22pZBMCCGBf71JjzxyoEgAHTE1RCROEPtyEAGhUX+fqdrRjH/RT+0KRzAEh5DmCMm3xqUmdqYK5HAEjY
        BxDXsV6LWPEHEwTACjFP+WlM+8EEAbBCrFN+Ghu1YIoi4E0iXepbS/q9gVUEwPIL0vIZ6qFh0Q/aIACW
        xNz111J9X+AGAfCeeKv+Gnd/tEUA1C9E5FV/LbX3BO71mAW4d1B9yTe+f4AhXogYUPlHF5wHoOLd47+I
        eX90QQBEerbfIlb9oavOAZBMwSnyOX8tnTDGkHodCppCAKRQ+NOkbMyCXb0CYL7VdPqb7x+i5wvwdfUC
        HPq+jj7Y74/ubp/2TvrJQDEf8rGIqT901ufJQFrMH77Yp/00in/oo/ezAZ9tbz6pvugr3z9I6x88kbt/
        amsxMKzeTweOtfp821HIMeHpzOjjtilArfnx4DHOBET6NN9lrPxDH3oG7PHJ2dZtX9MYADGOQVO5+9P9
        Rx8mq18bA0CLag46kbu/RvcfvRgsgDMKgJgKgSlU/rUYe14Ii0lbMOsBRFIITKXyr0l/NDv6y9dHHzWt
        gDUKgFgKgTGf778spl4XwmNSANSMAkALfUWg6Q8cC8b/6MWwFmYcAKHfkWJ+sOcyxv/oy3QPjHkABD4m
        NRnvxOLZ/buTLMt/8H0diJfpVLhxAAS9KCWhqT8tlqIrwtRmOGwcAFqo49JUpv5qoQ+3EDrzk69bBUCI
        K9NSK/5pMe/AhH9tZsNaBUCYw4C4z/m/Sag9LcSguHh48nrD9KtbBYAW2ocz9qf83CT0KVcErGU9rHUA
        hDQMSLH7rxEA6KrtYrjWARDWMCC97r9GAKCbdt1/rXUAaKEMA1Kr/tcIAHTSYTq8UwCEsSiofdrFggBA
        F132wnQKgBCOC0/hUV+rEABoq2s9rFMAaL6fU5fS2v9lBABa6/j0q84B4HuLcIrTfzUWAqGtrsfgdQ4A
        7elnd4/zPP/Cxw/cdNppzFgKjDb6DId7NSJfj6xK6eSfm7AZCG30mQ3rfRf1MyWY5vx/zffwCvEoiuKX
        xy9fj7v+/70DwEcvIIUHfjahEAgTfduClXH00L2AVBcALaIOgCY2lsJbCYChewEpnf6zCo8ERxMbPWFr
        lfQhewEpzwAsiuqBLBiUrY1w1hrSUHesVHcA3oTZAKxiqw5m9U46xLqA1KcAF82XXL89pReARTZvgnYD
        YIDpK0kBoIWx8QohsVkEtz6Wdl29lhYAGkuDUbP9+bceAPOHWuTHzrqtHTc9xMz5a4po2N4D46Sa7rR4
        JTAANB4WAhcrYJ1NpzkrCAoNAI21AZIVF/n6nS3b61+cBYC7swPT3gfQhBCQydWTr50uqHFxgrDEIuAy
        QkAWl6dfOV9RZ3soQADMzadciycUBlPnputfcx4AtocCBMA1PTtwtbZ2yBRhulx1/WuDrKm3OyuQ7mnA
        Xc1f32KP3kBiBnjq9WCbamwuZpGyGaiNeW9gdMAW4jTo5b6j9dHY9a7XwRqSzXXtKR8I2peuDWRluc+w
        IG5DfcYHvZPa2ivgelyUAoIgXkOeeDV4V9rK5hbBi4Hami0jzke6RjChRhCBAcb9i7yMpfs+VISZgPb0
        EOzq8rIKgWxCnSBMfQ/47MJLAOgP4/TN26Pu6wOYCejj/TAodugZhMDtfP8q3qrpfYuCFALtmdVmCrVT
        ZuUONQMfqsavsh0fn2ev02nzRULlUZcQSPnZgL7NCohXapxlalyUxdjX05+k8HnKtff59K4zAz7GS5K9
        m1XYyspsS/cUyqLcIBhW0/P4mSpP53/KzrNSze7uZanOy7X570dlee67F+s9ALSum1u6PhAR9uhZhulo
        tJUVxUam8lkg64CY/ZpASOiC8+KfqwA8Wvxzkavf/zwajY5jO64+iADQuoQAw4C46F7E4p913WHV19Yh
        0kXVSE+rX05Xfu+Fu/Ci0XR6Ku2GEkwAaG1DgGEA0E9QAaC1DQFmA4DuggsArVUIDLxyCkhJkAGgmYeA
        nwUUQAqCDQDNOATYGwB0EnQAaGYhQC8A6CL4ANCMzr+jFwC0FkUAaM3LhqtewFUxljaPC/QRTQBos1Vn
        Wf5k5eoyZgSAVqIKAG2+lXV6uGpPu8+NFUBsoguA2qqThm0+Ox1IXbQBoM0fmKkOP6gLUBAEjEQdAJou
        Dk6L8nC5LsBQAGgWfQBos9OF3k4PFs8ZHOpcdSBmSQRAbXlI4PKhikAKkgoA7YPn5VEPAFZKLgBq8+cP
        FPu6N8CDRICbJRsA2nVvoBz7OnUVCFnSAVDTvYEyV3sUBYH3iQgAbbaC8M10lzMEgWtiAgDAhwgAQDAC
        ABCMAAAEIwAAwQgAQDACABCMAAAEIwAAwQgAQDACABCMAAAEIwAAwQgAQDACABCMAAAEIwAAwQgAQDAC
        ABCMAAAEIwAAwQgAQDACABCMAAAE+z9wtceXg+mMXgAAAABJRU5ErkJggigAAABAAAAAgAAAAAEAIAAA
        AAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//BAAA/wEAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8CGCrIKhkqzDwA
        P78EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc
        HMYJGynNXBopzJIdJ80aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAcKtQSGyrMhBopzNUcKM4/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeKMsZGSrMnRoqzfYaKcyOACrUBgAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeKMsZGirMoxopzfoaKs3mHSzNNAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Aioq1AYcOOIJIjPMDxkmzBQWLNIXHSfNGh0nzRod
        J80aFy7QFhkmzBQeLcMREyfEDR8f3wgqKtQGAD+/BAAAfwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZJswUGyvNoBopzfob
        Ks3/GynMshcu0AsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoDHCrGEhwnyy0ZKctPGirNchoqy5AbKsyoGynLuRspzMQb
        KczLGinN0BspzNUbKczVGynM1Rspzc8bKczLGyrMxhoqzb8aKs22GyrMqhsqzJwbKcuMGinNexopzmka
        KcxWHibQIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ
        M8wKGyrNihopzPkbKs3/GyrN/RsqzHgAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkyA4bKsxCGyrNihspzcQaKs3mGirM9xsqzP0b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzP4bKcz8GinM+RopzbkZKsweAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAKoDGinNYhoqzPEbKs3/GyrN/xoqzPgdKc5PAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKirUBhkoy0UbKsywGinM7hsqzP4b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKc37GinMmBUq1AwAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGinKMRoqzNobKs3/GyrN/xsqzf8bKs3wHSrQPAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFy65CxopznQb
        KczoGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzfIa
        KsxgAAD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEyfEDRopzaQbKsz+GyrN/xsqzf8b
        Ks3/GinN7Rsp0DcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAD+/BBspy24bKszyGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GirL0hwqzSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARsozVIa
        KszxGyrN/xsqzf8bKs3/GyrN/xspzfMbKtBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAABwt0S0aKs3dGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzPwaKsuFAD+/BAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAB4twxEbKcy3GyrN/xsqzf8bKs3/GyrN/xsqzf8aKc36HCrMWwAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEcKcx1GyrN/Bsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinN3BgqzioA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaK81NGyrM8hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM/hopy4YA
        AH8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKqoGGynMpxsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzPwbKcx6AAD/AgAAAAAAAAAAAAAAAAAAAAAkJNoHGirMoRsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKsy6JyfEDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAHx+/CBopzLcbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirNxxkz2BQAAAAAAAAAAAAAAAAAAAAAGynOJRopzN0b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirN5hop0DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAACQk2gcbKcyxGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzPAbK89BAAAAAAAAAAAA
        AAAAAAAAABwqzlkaKsz4GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzPwbKsx4AAB/AgAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVf8DGyrNlRsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ksz+GirMfwAA/wEAAAAAAAAAAABV/wMbKcyTGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GinNyR4oyxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsqz2Ub
        Kcz7GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqy7McOOIJAAAAAAAAAAAkJMgOGinNvhsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xoqzfYaKs1hAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAaKs8wGirN5hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKczVHCXPGwAAAAAAAAAAGivTHRsqzNkb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrMxhwlzxsAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFy7QCxsqzLAbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynM6RoqzzAA
        AAAAAAAAABss0i4bKczoGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzPkc
        Kc12AFX/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcKsxbGirN9hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xspzPQbKtBCAAAAAAAAAAAdKsw8GyrN8Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GinN3BkoyzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAHyrJGBsqzMYbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKs34GyjNUgAAAAAAAAAAGinNQxsqzPQbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzP4bKsyoHy/PEAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEcK8tkGirN9hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM+RopzFYAAAAAAAAAABsq0EIb
        Ksz0GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinN9hsozHAA
        P78EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCTCFRsqzLsbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzPka
        KcxWAAAAAAAAAAAeK887GyrN7xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKc3iGyvPQQAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEa
        K8xMGinM7Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8aKsz4GSnMUAAAAAAAAAAAHC3LLRspzecbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzMYbKc4lAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAHDjGCRspy5UbKs38GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM8hwozj8AAAAAAAAAABwlzxsbKczWGyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs38GynNphkzzBQA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaKMkmGynMzxsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xoqzOUdKc8rAAAAAAAAAAAX
        LtALGinNuBsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopzPkbKs2LFSq/DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Ah0pzVca
        KczuGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        KsvNGCTOFQAAAAAAAAAAAAD/AhorzIgbKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynM8xopzHQkJNoHAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAcOMYJGivMjhspzPsbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GirMoyoq1AYAAAAAAAAAAAAAAAAaK81NGynL9Rsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKcztGSjLZDMzzAUA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABst0RwbKsy8GyrM/hsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynM+xopy2gAAAAAAAAAAAAAAAAAAAAAGivKHRoqzdMb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xoqzeYZKstaAD+/BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGivOOhopzdwb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzOQcJ9EtAAAAAAAAAAAA
        AAAAAAAAAAA/vwQbKcyNGyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynN4hsrzVMAP78EAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAABVqgMaKs5fGinM7xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8a
        KcyrGTPMCgAAAAAAAAAAAAAAAAAAAAAAAAAAGivKOhspzegbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKc3hGyvKUwA/vwQA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHDjGCRsqzIQaKsz4GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKcz0GyrOVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw4xgkbKcygGyrM/hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xspzeEbK81TAD+/BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaKNYTGynNpBsqzfwb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrMvBooyRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAGivOOhoqzOQbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirM4xwqzFszM8wFAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAB4t0iIaKcy/GyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM8hopzVcAAP8BAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAq1AYaKs2FGynN+xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKc3nGSnOYyQktgcA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BHSfNNBoqzdIbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM/hsqzKcS
        JMgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGivKHRoqzMEbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzewbKMxwGTPMCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwIZK9BHGyrM4Bsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopzNsZKM0zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEb
        K89BGynM4hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirN8RspzYAiM8wPAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAFX/AxwqzFsbKs3pGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzPIbKsxlAFWqAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAD+/BBsqzGUaKszvGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKcz2GynMkxYsxxcA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKtQGGSrNbRoqzfAbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzPkbKcuMFy7QCwAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHMYJGynMehspzPQbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopzfobKsyoFi3KIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw44gkaKst9GynM9Bsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzfsaKcukGDDOFQAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUq1Awb
        KsyEGynM8xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/Bopzb0ZKNEyAAD/AQAAAAAAAAAAAAAAAAAAAAAA
        AAAAEyfXDRsqy4saKs33GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzfsa
        KcytGivKHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAFSq/DBsqzHgaKc3tGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKsz+GinM0RspykkA
        P78EAAAAAAAAAAAAAAAAAAAAAAAAAAAeLdIRGyrLlhopzPkbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopzPkaKc2kGivKHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfH78IGirOXxsqzN4bKsz+GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKc3iHCjOZBwcxgkAAAAAAAAAAAAAAAAAAAAAAAAAABgkzhUbKc2fGinN+hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzPIbKcyNFy7FFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wMZ
        Ksw8GyrMvBopzfobKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzO8bKMyDGijJEwAAAAAAAAAAAAAAAAAAAAAA
        AAAAHijLGRoqzKMbKc37GyrN/xsqzf8bKs3/GyrM/hoqzN4bKs1nFy7QCwAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAR0nzRobKc2AGinN4xsqzP4bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirM+Bopy6Qd
        K8sjAAD/AQAAAAAAAAAAAAAAAAAAAAAcL88bGinMrBspzfsbKs3/GirN9hkpzLEbKMw4AFX/AwAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzPMBRoszTkaKculGinM7hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs38GynNwxkqzDwAAKoDAAAAAAAAAAAAAAAAAAAAABkqzB4bKs2qGyrMzhopy2gc
        KtQSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAFSq/DBwqzUgaKc2mGynN6Bsqzf0bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzP4bKc3cGynNXB8fvwgAAAAAAAAAAAAAAAAA
        AAAAGDDOFRoryh0AAP8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGTPMChsozDgaKc2GGyrNzBsqzfEbKsz+GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzO4b
        KsyDGijWEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFWqAxUqyRgZ
        KM5FGynNghsqzbkaKczdGyrN8RspzfobKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ksz9GirN9xsqzesaKs3TGinLpRwryjUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAfwIVKtQMHi3KIhsry0AaKsxgGirMfhsrzZQaKculGirMrRopzLca
        Ks2uGyrMpxopzZoaKc2HGynMbxwozFEYLMk0HSfNGh8fvwgAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA
        VaoDMzPMBSQktgcfH78IJCS2Byoq1AYAP78EAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////
        ///////////8//////////D/////////4f/////////D/////////4P/////////B///8AAH//4H//4A
        AAB//Af/+AAAAD/4D//gAAAAH/gP/8AAAAAP8A//gAAAAA/gD/+AAAAAB+AP/wAAAAAH4Af/AAAAAAPA
        B/8AAAAAA8AH/wAAAAADwAP/AAAAAAGAA/+AAAAAAYAB/4AAAAABgAH/gAAAAAGAAP/AAAAAAYAA/8AA
        AAABgAB/wAAAAAGAAD/gAAAAAYAAH+AAAAABgAAf8AAAAAGAAA/4AAAAAYAAB/gAAAABgAAD/AAAAAHA
        AAH+AAAAA8AAAP8AAAADwAAAfwAAAAPgAAA/gAAAB+AAAB/AAAAH8AAAD+AAAAfwAAAH4AAAD/gAAAPw
        AAAf+AAAAfgAAB/8AAAA/AAAP/4AAAB+AAB//wAAAB8AAP//gAAAD4AB///AAAAHwAP//+AAAAPgB///
        8AAAAPAP///8AAAAeD////8AAAA8f////8AAAB//////8AAAH//////+AAAf///////wB///////////
        //////////////////////////////////////////////////////////////////////////////8o
        AAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAD/Ah4oyxkcHMYJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAcHMYJGinNVxsrylMAM8wFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAABwqxhIaKc2GGyrOpxooyRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSbMFBopzZobKs3rGivQTAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA
        AKoDAD+/BCoq1AYqKtQGKirUBgAzzAUAVf8DAAB/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeLdIRGinMmRopzfkbKszGGijJEwAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8EHyrJGBwryjUb
        KsxVGirNchsqzYoaKc2aGirMoxopzasaKsytGinMrBspy6UbKc2fGyrNlRoqzIkbKcx6GivOaRkqy1kc
        K8xHHyrJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fvwgbKMyDGirM+Bsqzf8a
        KsuRAAD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEyfXDRspzkka
        KcyZGinN0BsqzewaKcz5GyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ksz+GyrN/RspzfobKc31GyrMqBkmzBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ARsqz1Ua
        KczuGyrN/xsqzP4ZKs1sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEd
        Kc8rGyrMqBsqzfEbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM+RoqzH4zM8wFAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAHibQIRsqzc0bKs3/GyrN/xspzPwaKsxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAABonyicbKszGGyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xoqzeYZKcw9AAAAAAAAAAAA
        AAAAAAAAAAAAAAAAP78EGyjMgxsqzPwbKs3/GyrN/xsqzP4cKs1tAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAADPMBRopzJIbKs39GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf4b
        Ks2pFSq/DAAAAAAAAAAAAAAAAAAAAAAZLMwoGinM2xsqzf8bKs3/GyrN/xsqzf8aKs2PAAD/AgAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHijLGRoqzNQbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8aKc3tGyrMQgAAAAAAAAAAAAAAAAAA/wEaKstzGynM/Bsqzf8bKs3/GyrN/xsqzf8a
        Kcy/EiTIDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi3KJxoqy+YbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKsz+GyvNlAA/vwQAAAAAAAAAABIk2g4aKc29GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKczpGCzNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCrNJBspzOIb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirN0xwlzxsAAAAAAAAAABsrzi8a
        KczoGyrN/xsqzf8bKs3/GyrN/xsqzf8bKsz9GynNgAAA/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAGijJExspzMsbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynM8xopzUMA
        AAAAAAAAABorzVgaKc36GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirN0xcvzyAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAD+/BBsqzJcbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrM/Rspzm8AAAAAAAAAABoqzn0bKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynN+xorzXwA
        P78EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABorzEwbKc3zGyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xspzZQAAP8CAACqAxsqzJcbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzd4aKdAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwq1BIaKszAGyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzasAM8wFAD+/BBopzaQbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzP4bKc2mIiLMDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEb
        K85eGinM9hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzbMfH78IAD+/BBoqzqMb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKcz2HCrNbQBV/wMAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAcKtQSGinMtxsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzbMf
        H78IAAD/AhsqzZYbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynN4hsqzEIA
        AP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSjORRsqzOobKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzakAM8wFAAAAABspzHobKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopzMkZLMwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCS2Bxkqy4obKc37GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xopzI4AAH8CAAAAABsrylMaKsz4GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf0bKsywHijLGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoryh0a
        Ks3CGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynM/BsqzWYAAAAAAAAAABgrzSkaKczjGyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKc37GirMnBwqxhIAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAEaKc1DGirM5Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM7RsozDgAAAAAAAAAABcu0Asb
        Ks2zGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirM+BopzI4S
        JMgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAP78EGynMbxsqzfUbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynMxRwq1BIA
        AAAAAAAAAAAAAAAcK85jGinM+Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xoqzfYaKc2GEyfXDQAAAAAAAAAAAAAAAAAAAAAAAAAAEiTIDhopy5obKcz8GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks38GinNewAAfwIAAAAAAAAAAAAAAAAaK8odGynMzxsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs31GinNhhMn1w0AAAAAAAAAAAAAAAAAAAAAAAAAABoryh0b
        Ks26GyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8aKs3eFynJKwAAAAAAAAAAAAAAAAAAAAAAAH8CHCrNbRoqzfgbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN9RsqzYofH88QAAAAAAAAAAAA
        AAAAAAAAAAAAAAAaKcoxGirM0Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzfwaKc2GAD//BAAAAAAAAAAAAAAAAAAAAAAAAAAAGCTOFRsqzbob
        Ks3+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xoqzfcb
        KcyTGSbMFAAAAAAAAAAAAAAAAAAAAAAAAP8BGSvLRhspzeEbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzM8dK8sjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAABwpzT4bKcziGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8aKcz5GinMoRwlzxsAAAAAAAAAAAAAAAAAAAAAAAD/AxspzVwbKs3rGyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM7xopzVcAAP8BAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAA/vwQbKs1nGyrN8Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynN+xspzLEaKNAmAAAAAQAAAAAAAAAAAAAAACoq1AYb
        KcxvGyrN8Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKsz4GyrMhB8f3wgA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHMYJGijOfRspzfUbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzP0bKc3DHCrLNgAAfwIA
        AAAAAAAAAAAAAAAZM8wKGirMfxspzfUbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzPsb
        KsydHCrGEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFSrUDBoqzn4b
        Ks3xGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ksz+GinM1Rsoy0sAP78EAAAAAAAAAAAAAAAAEyfXDRspy4waKsz4GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GinM+RspzaAVKskYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAABw44gkaK8xqGirM5Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xoqzOUbKs1nHBzGCQAAAAAAAAAAAAAAAB4t0hEbKs2WGinM+Rsqzf8b
        Ks3/GyrN/xsqzf8bKczzGynMjRkmzBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP78EGSjLRRspzcQbKc37GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKszxGinNhhoo1hMAAAAAAAAAAAAAAAAZ
        JswUGirMnBspzfobKs3/GyrM/hopzd0bKs1mFy7QCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ARoryh0bKcuCGynN4RsqzP4b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM+RsozKgb
        Kc4lAAD/AQAAAAAAAAAAFizHFxoqzKIaKc3tGyrMqBgszTQAAKoDAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        M8wFGSjLMhspzJMbKszfGynM/Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzP0aKs3HHCjOPwBVqgMAAAAAAAAAABcu0BYcKM4/EyfEDQAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAADMzzAUeKs4qGirLcxsqzLwbKczoGynN+hsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirM3hopzFYAAP8DAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ARIkyA4aKskwGirMYBoqy5Ea
        Ksy2GyrNzRopzNsbKcziGirM5RspzeEaKs3aGyrNzhsqzLoaKcyZGSrNbRkozTMAAKoDAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAA/wIcOMYJGijWExkqzB4cKs0kGifRJx0ryyMZKsweGSbMFBkzzAoAAKoDAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////AAD/j/////8AAP8P////
        /wAA/h//////AAD8P//wB/8AAPg//gAAHwAA8D/4AAAPAADgf+AAAAcAAOB/4AAABwAAwH/AAAADAADA
        P8AAAAMAAIA/wAAAAQAAgD/AAAABAACAH8AAAAEAAIAfwAAAAQAAgA/gAAAAAAAAD+AAAAAAAAAH4AAA
        AAAAAAPwAAAAAAAAAfgAAAAAAIAB+AAAAAAAgAD8AAABAACAAHwAAAEAAIAAPgAAAQAAwAAfAAABAADA
        AA+AAAMAAMAAB8AAAwAA4AADwAAHAADwAAHgAAcAAPAAAHAADwAA+AAAOAAfAAD8AAAcAD8AAP4AAA4A
        fwAA/wAABwD/AAD/gAABgf8AAP/gAADH/wAA//gAAH//AAD//gAAf/8AAP//4AP//wAA////////AAD/
        //////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACgAAABQAAAAAQAgAAAAAABA
        GgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx/fCCQk2gcA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BGijJJhopzVcnJ9cNAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8CHCjOPxoqzLAcKss2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH8CGSvLRhsqzNkbKsuVADPMBQAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wQSJMgOHyrJGB4m0CEa
        J9EnHCjKLBwo0CwYK80pGynOJRgpzR8fKtQYHCrUEhUqvwwqKtQGAAD/AQAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAABGifOOhsqzdgbKc31GynOSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAATJ8QNGijNORoqy3MaKcukGynLwxspzNUbKszfGirM5RspzegbKczpGirN5hspzeIa
        Kc3dGynN1RsqzcwaKc2/GirMrRoqzU4AAP8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSrMHhsqzcIb
        Ks3+GirM5Bot0ScAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVqgMcKMo/GyrMsBsqzewb
        Ksz9GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8a
        Ks3aHijNMwAAAAAAAAAAAAAAAAAAAAAAAAAAKirUBhspy4wbKcz8GyrN/xopzNsZKsweAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEaK8xMGynN4Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM/hopzK0RIswPAAAAAAAAAAAA
        AAAAAAAAABonzjobKczoGyrN/xsqzf8bKc3iGynHJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ
        JtgUGynNxBsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKcz0GinMVgAAAAAAAAAAAAAAACoq1AYaKc2aGyrM/hsqzf8b
        Ks3/GyrM8hwozj8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGynLNxopzO4bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xoqzLYTJ9cNAAAAAAAAAAAaKMkmGyrN3hsqzf8bKs3/GyrN/xsqzP0bKM13AAD/AQAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAABsrz0AbKcz0GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3sGyjMOAAAAAAA
        AAAAGynNXBopzfobKs3/GyrN/xsqzf8bKs3/GirMwB4t0hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa
        Ks8wGyrM6hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/RoqznMAAAAAAAD/AhspzJMbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzfIaKs1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGijJExoqzcgbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKcynADPMBRwcxgkaKcy3GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinMtx4t0hEA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wIbKc2BGyrM/Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrNxSIizA8e
        LcMRGirOyBsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xoqzfYbKs1nAAD/AgAAAAAAAAAAAAAAAAAAAAAA
        AAAAGyzNLhspzeIbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzdQfKskYGijJExsqzs4bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN2RoqzzAAAAAAAAAAAAAAAAAAAAAAAAAAADMzzAUbKsuLGyrM/Rsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKc3XHSfNGh8vzxAaKs3IGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzP4b
        KsywGDDOFQAAAAAAAAAAAAAAAAAAAAAAAAAAGynOJRoqzNQbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirN0xYs0hcf
        H98IGirNtBsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinN+RsqzIkZM8wKAAAAAAAAAAAA
        AAAAAAAAAAAAfwIaKc1iGynM9Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzcIkJMgOAAB/Ahspzo0bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKszyGSrNbDMzzAUAAAAAAAAAAAAAAAAAAAAAEyfEDRspzZ8b
        Ksz9GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKcufAD+/BAAAAAAbKs5UGirM+Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzOoZKstaAFX/AwAAAAAAAAAAAAAAAAAAAAAaKMkmGyrNzBsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKc37GyrMZQAAAAAA
        AAAAFyfPIBsqzdcbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM4xwpz1AA
        AKoDAAAAAAAAAAAAAAAAAAD/ARspykkaKs3mGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GynN4h0pySsAAAAAAAAAAAAAvwQbKs2LGyrN/Rsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKszgGSnLTwAAqgMAAAAAAAAAAAAAAAAA
        P/8EHCrNbRspzfMbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrM/hspy58kJNoHAAAAAAAAAAAAAAAAGybNLhsqzd4bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xspzeEbK81SAD+/BAAAAAAAAAAAAAAAABcu0AsaKcyOGynN+hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzOkZKcw9AAAAAAAAAAAA
        AAAAAAAAAAAA/wMbKM13GinM+Rsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GirN5BspzVwzM8wFAAAAAAAAAAAAAAAAGCTOFRsqzKgbKs38GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzPwbKc6NJCS2BwAAAAAAAAAAAAAAAAAAAAAAAAAAGSbMFBoqza4b
        Ksz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKszqGirMaxwcxgkA
        AAAAAAAAAAAAAAAXJ88gGyrNuxsqzP4bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Kc3DGCnNHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYK80pGirNyBsqzP4bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzPEcKs5/IiLMDwAAAAAAAAAAAAAAABwo0Cwa
        Kc3JGyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKszaGSvLOwAAAAEAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAD/ARwryjUaKczLGyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GirM9xsqzpceKMsZAAAAAAAAAAAAAP8BGynLNxopzNMbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8aKc3dGynOSgAA/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8BGybHLhopzbgbKc37GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Kc37GynMshgrzSkAAP8BAAAAAAAA/wEbJ8tAGyrM2Rsqzf8bKs3/GyrN/xsqzP4bKczPGinNQwAA/wIA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdJ80aGynLjBsqzewb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf0aKszLGyvPQQAAqgMA
        AAAAAAB/Ahkoy0YaKczdGyrN/xoqzfYbKs2pFynPKwAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQk2gcYKs1IGirNthspzPQbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzeEaKc1iHBzGCQAAAAAAAP8CGyjLSxspzLob
        Ks1mHx/PEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAB8vzxAcKMxRGinMqxoqzOUbKc37GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GirN8BopzYcZJswUAAAAAAAA/wIiIswPAAB/AgAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAABw4xgkcLcstGyrNZxoqzaEaKc3JGyrM4BsqzewbKszyGynM9BoqzfEbKs3rGyrM3xopzckb
        Kc2fGSjNMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        M8wFHCrGEh0ryyMZKMsyGSrMPBsry0AaK846GirPMB4u0CEeLdIRMzPMBQAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/
        /////wAAAP//////AAAA//////8AAAD/P////wAAAPw/////AAAA+H////8AAADwf/gADwAAAOD/wAAH
        AAAA4P8AAAcAAADA/gAAAwAAAMD+AAADAAAAgP4AAAEAAACAfgAAAQAAAIB+AAABAAAAAH4AAAAAAAAA
        PgAAAAAAAAAfAAAAAAAAAB8AAAAAAAAAD4AAAAAAAAAHgAAAAAAAAAPAAAAAAACAAeAAAQAAAIAA4AAB
        AAAAgABwAAEAAADAADgAAwAAAMAAHAADAAAA4AAOAAcAAADwAAcABwAAAPAAAwAPAAAA+AAAgB8AAAD+
        AABAPwAAAP8AACD/AAAA/8AAEf8AAAD/8AAf/wAAAP/+AD//AAAA//////8AAAD//////wAAAP//////
        AAAA//////8AAAD//////wAAACgAAAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQBV/wMAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw44gkbK8tAFizHFwAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfL88QGyjMgxsozGUA
        AKoDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiTaDhoqzZEa
        KczRGCnNHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCTaBxgpzR8ZK887GyrOVBsqzWca
        Ks1yGyrMeBkpzXYbKc5uHCvOZBoozVgbKctKGivOOh8vzxAAAAAAAAAAAAAAAAAAAAAAAAAAADMzzAUb
        Kcx6GirM9xopzKsqKtQGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx+/CBspy0obKsynGinM2xsqzfEa
        Kc36GyrN/RsqzP4bKs3+GyrM/hsqzP4bKsz9GynN+xoqzfcaKs3wGynMkxcu0AsAAAAAAAAAAAAAAAAA
        AAAAGinKRBspzOkbKs3/GynNlAAAfwIAAAAAAAAAAAAAAAAAAAAAAAAAACoq1AYbKs13GinM7hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKczzGynKXQAA/wEA
        AAAAAAAAABIkyA4aKsu0GyrN/xsqzf8bKc2gAACqAwAAAAAAAAAAAAAAAAAAAAAAAAAAGCzNNBopzecb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8a
        Kc3JHijLGQAAAAAAAAAAHCvMRxoqzfEbKs3/GyrN/xspzcQfL88QAAAAAAAAAAAAAAAAAAAAAAAAAAAb
        Kc1cGyrM/Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xoqzPgcKsxbAAAAAAAAqgMaKcySGyrN/xsqzf8bKs3/GyrN7BsozDgAAAAAAAAAAAAAAAAA
        AAAAAAAAABopzVcbKc36GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xopzaUqKtQGHy/PEBoqzccbKs3/GyrN/xsqzf8bKsz+GynMjQA/vwQA
        AAAAAAAAAAAAAAAAAAAAGSjLMhspzOobKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirM0yEs0hceLcoiGyrM4Bsqzf8bKs3/GyrN/xsqzf8b
        Kc3iGSjNMwAAAAAAAAAAAAAAAAAAAAATJ8QNGirMthsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKczoFynJKxwtyy0bKszqGyrN/xsqzf8b
        Ks3/GyrN/xsqzP4aKc2lEiTIDgAAAAAAAAAAAAAAAAAAAAAaKMpYGynN9Rsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopze8cKss2HC3LLRsqzOob
        Ks3/GyrN/xsqzf8bKs3/GyrN/xspzfUaKsxrAFX/AwAAAAAAAAAAAAAAAB8vzxAbKcyyGyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GinM7xwqyzYX
        LtAhGyrM3xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xoqzeMaKc5EAAD/AQAAAAAAAAAAAAAAAB0pzD0a
        KszlGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8a
        Ks3mGCvNKSIizA8bKc3DGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xspzc8aKs8wAAAAAAAAAAAA
        AAAAPz+/BBsqzngaKs34GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzc0ZJswUAAD/AhkqzYobKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM/hoqzMEa
        KNAmAAAAAAAAAAAAAAAAHCrGEhopzKsbKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GinMmQA/vwQAAAAAHCnJPhopze0bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/RsqzbkcKs0kAAAAAAAAAAAAAAAAGSzSKBsqy80bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xspzPMbKMtLAAAAAAAAAAAXLrkLGivNphsqzP4bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrM/RsqzLoaKNAmAAAAAAAAAAAAAP8BGinJQxspzeEbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirMtiIizA8AAAAAAAAAAAAAAAAbKcs3GynL4Rsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/RoqzcAbLM0uAAD/AQAAAAAAAKoDGynNXBsqzewb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzOoZKMtFAAAAAAAAAAAAAAAAAAAAAAAA/wMa
        KctoGyrM8hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM/hsqzcwZK887AAB/AgAAAAAq
        KtQGGyrNcRspzPMbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKs33GinLfCoq1AYAAAAAAAAAAAAAAAAA
        AAAAAAAAABw4xgkaKsx/GynM9Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzdkZ
        KctPAD+/BAAAAAAZM8wKGynNgRoqzfYbKs3/GyrN/xsqzf8bKs3/GinM+Rspy5UiIswPAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAABcu0AsaKcx1GyrN6xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopzecaKMxqGTPMCgAAAAATJ9cNGynMjRoqzPgbKs3/GyrN/xspzPMbKc2MHCrGEgAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoq1AYaKs1OGinNyRspzfsbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzfIbKs2KGSbMFAAAAAAfL88QGynNlBoqzfcaKs3aGyrMZRcu0AsA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEaK8odGynMehsqzdQa
        Kcz5GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzfoaKc6sGSbMKAAA/wEcKtQSHCvOZBwo0CwA
        AP8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8CGSrUHhoqzl8bKs6nGynM1hopze0aKsz4GynN+xsqzfwbKc36GinN9hspzegbKcyeFy7QFgAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAACoq1AYdJ80aHCvKNRorzEwcKsxbGirLXxopzVcZK8tGGyvOLxcu0BYA
        Vf8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAA///////////8////+P////D////h/gAHwfgAA8HwAAGB8AABgfAAAQHwAAAA
        8AAAAPAAAAB4AAAAOAAAABwAAAAcAAAADgAAgAcAAYADAAHAAIADwABAA+AAIAfwABAP+AAIH/wAAD//
        AAP//+AD//////////////////////8oAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ARgpzR8dJ80aAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8BGSrQPBspzYESJMgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAzzAUZM8wKEiTIDiIizA8T
        J9cNGTPMCioq1AYAAKoDAAAAAAAAAAAAAAAAAAAAAAAAAAAdLM00GynNzxoqzl8AAAAAAAAAAAAAAAAA
        AAAAAAAAABUqvwwbKsxCGynNgBsqzKgaKc29GyrNxRoqzccbKc3DGyrMvBsqzLAbKsycGSvPOwAA/wEA
        AAAAAAAAABgkzhUbKc24GyrN8hgpzT4AAAAAAAAAAAAAAAAAAAAAGSbMFBoqzJwaKs3wGyrM/hsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrMxhoryh0AAAAAAAD/ARsqzWcaKs34GinN9hwqyUgA
        AAAAAAAAAAAAAAAAAAAAHCnLYxopzfobKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GynN+xsozXcAAH8CIjPMDxoqzMAbKs3/GyrM/hspzHoAAP8BAAAAAAAAAAAAAAAAGyrMhBsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzckZJswUGirPMBsqzOob
        Ks3/GyrN/xsqzMYYJM4VAAAAAAAAAAAAAAAAGSnLYxspzfsbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xopzO4bKcs3GivNTRoqzfgbKs3/GyrN/xoqzfcbKs1mAAB/AgAAAAAA
        AAAAGi3RJxsqzd4bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xopzfob
        K81TGSjLWRspzfsbKs3/GyrN/xsqzf8bKc3XHCjQLAAAAAAAAAAAAD+/BBopzIgbKs38GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzfwbK81dGivNTRoqzPgbKs3/GyrN/xsqzf8b
        Ksz+GirNrhgkzhUAAAAAAAAAAB4lyiIbKczPGyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xopy/obK81SGyzNLhspzegbKs3/GyrN/xsqzf8bKs3/GinN+hoqzZETJ9cNAAAAAAAA/wEb
        Ks5UGinN7hsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzesZKM0zEyfXDRsqzLsb
        Ks3/GyrN/xsqzf8bKs3/GyrN/xoqzfYbKc2CFy7QCwAAAAAkJNoHGirNhRopzPkbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xoqzMEfL88QAAAAARoqy18aKs32GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Kcz0GynNgRUq1AwAAAAAGijJExsqzKgbKsz9GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GirN+Bopy2gA
        AP8BAAAAAB4twxEaKs2uGyrM/hsqzf8bKs3/GyrN/xsqzf8bKs3/GynN9RsqzYoeLcMRAAAAAB4u0CEa
        Kc2/GyrM/hsqzf8bKs3/GyrN/xsqzf8bKsz+GinNuBgkwhUAAAAAAAAAAAAAAAAcKMosGyrNzBsqzP4b
        Ks3/GyrN/xsqzf8bKs3/GyrN/xoqzfgaKs2cHijLGQAAAAAbK84vGyrNzRsqzf8bKs3/GyrN/xsqzf8b
        KczVHSfNNAAAAAAAAAAAAAAAAAAAAAAAAP8BGCzNNBspzcQbKsz9GyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Kc37GyrNsxgrzSkAAH8CGifOOhspzNUbKs3/GyrM/hspzc8cKM4/AAD/AQAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAARcu0CEbKs2VGyrN7Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrM/hspzcwbKsxCAD+/BBsry0Eb
        KczPGynMphcpySsAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfH78IGyvLQBoqzJwa
        Ks3aGynN9Rsqzf0bKs3/GyrN/xsqzP4bKszfGinMVgAzzAUYKc0fFSrUDAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzzAUXJ8cgHCvMRxoqzGsbKc2BGirNhRsqzngb
        KcpdGyzNLgAAqgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////APv//wDj//8Aw/AHAMfAAQCHgAEAB4AAAAOAAAAD
        gAAAAYAAAAGAAAAAwAAAAEAAAAAgAAAAEAAAgAgBAMAEAwDAAAMA4AAHAPgAHwD+AH8A////AP///wD/
        //8AKAAAABQAAAAoAAAAAQAgAAAAAACQBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAD/ASoq1AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzzAUaKc1DHCrNJAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoDGynNXRopzJgc
        HMYJAAAAAAAAAAAAAAAAAAD/AhgpzR8aKMxMGynLbhspy4EaKc2HGyrMgxsqzHkaKctpGinNQwAzzAUA
        AAAAAAAAABooyTkbKc3hGynNgQAAAAAAAAAAAAAAAAA/vwQaKsxgGynN1RoqzPcbKsz+GyrN/xsqzf8b
        Ks3/GyrN/xsqzP4aKs3mGinORAAAAAAcOMYJGynMpxsqzf4bKc2MAAD/AQAAAAAAAAAAHibIIRoqzdob
        Ks3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKcyyFSrUDBsrzi8aKc3nGyrN/xoqzcAf
        L88QAAAAAAAAAAAdKc8rGynM6Bsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzOwc
        K841HCrLWhspzfsbKs3/GyrM8hoqyk4AAAAAAAAAABwqxhIbKszGGyrN/xsqzf8bKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GyrN/BoqzGAbK8xwGyrN/hsqzf8bKs3/GinNvx4oyxkAAAAAAAD/ARspy24a
        Kc35GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/HCvKdRopzWgbKs39GyrN/xsqzf8b
        Kcz7GynLjBkzzAoAAAAAFizHFxoqzb8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzP4c
        KsttGinKRBspzfMbKs3/GyrN/xsqzf8bKczzGynObioq1AYAAAAAGinNQxoqzeYbKs3/GyrN/xsqzf8b
        Ks3/GyrN/xsqzf8bKs3/GynN9RwqzUgWLMcXGinMyxsqzf8bKs3/GyrN/xsqzf8bKs3sGSvOZDMzzAUA
        P78EGynMbxspzfUbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8aKczQHSfNGgAA/wEaKc1oGirM9xsqzf8b
        Ks3/GyrN/xsqzf8bKszsGinNaCQk2gcXLtALGirNkBopzfobKs3/GyrN/xsqzf8bKs3/GinM+RsozHAA
        AH8CAAAAACIzzA8aKs2hGynM/Bsqzf8bKs3/GyrN/xsqzf8aKczvGyrMeBUqvwwZJswUGynMphsqzfwb
        Ks3/GyrN/xsqzP0aKcyrGijJEwAAAAAAAAAAAAAAABwlzxsaKculGinM+Rsqzf8bKs3/GyrN/xsqzf8b
        Kc31GirNkBcuxRYbLdEcGynMshsqzP0bKcz7GyrNsBcnzyAAAAAAAAAAAAAAAAAAAAAAAAAAABwqxhIZ
        Kc12GinN3BsqzfwbKs3/GyrN/xsqzf8bKc36GirNrhkmzCgeLdIiGyrNqRsqzIQWLMcXAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAqgMZLMwoGinMdRspzbkaKczbGynM6RsqzOobKc3hGirNmxcuxRYV
        KtQMMzPMBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BFy7QCxor0x0c
        KMosGyzNLhspxyUaKNYTAACqAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AA5//wAMf/8ACHABAAjgAQAAYAAAAGAAAABgAAAAIAAAAB
        AAAAAIAAAAAAAAAAAAAAgAAQAMAAMADgAHAA8ADwAPwD8AD///AA///wACgAAAAQAAAAIAAAAAEAIAAA
        AAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHMYJGCTOFQAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVKtQMGSnLbhks0igAAAAAAAAAAAAAAAAZ
        M8wKGynOJRorzjoaKc1DGyrMQhkryzsbLM0uFy7QCwAAAAAAAKoDGynLbhsqzLwSJMgOAAAAAAAAAAAc
        KMosGinMrBspzeIbKs3xGynN9RspzfUbKszyGynM6RspzHoAP78EHSvLIxsqzNkbKs3MGijJEwAAAAAA
        AP8CGyrLlhsqzP4bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKszgGCrOKhsoy14bKcz7GinN7hwozj8A
        AAAAAAD/AhsqzJcbKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/BsqzWcaKs2FGyrN/xsqzf4b
        KcynEyfEDQAAAAAaKs1OGynM8xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrN/xsqzf8bKc2MGyrMhBsqzf8b
        Ks3/GynN9RoqzGsAP78EEyfXDRopzasbKsz+GyrN/xsqzf8bKs3/GyrN/xsqzf8bKs3/GyrNixwqzFsb
        Kc36GyrN/xsqzf8aKcznHCjMUQAA/wIaKcoxGirM2hsqzf8bKs3/GyrN/xsqzf8bKs3/GynN+xopzWIX
        J88gGynM1Rsqzf8bKs3/GyrN/xsqzOAaK8pNADPMBRopzVcbKs3sGyrN/xsqzf8bKs3/GyrN/xoqzNoc
        Ks0kAAD/AhsqzGUbKczzGyrN/xsqzf8bKs3/GynM4hopzVcXLrkLGirLcxspzfMbKs3/GyrN/xopzPYb
        KcxvAACqAwAAAAAZM8wKGinNfBopzfAbKs3/GyrN/xsqzf8bKszqGynLbhkmzBQbKs6DGirN9hspzfMa
        KcyIFSrUDAAAAAAAAAAAAAAAAB8fvwgbKsxVGynNxBspzfUbKs3/GyrN/xspzfMaKcyOHSvLIxsqzHka
        Ks1hGTPMCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ARgkzhUbKMtLGyrOgxoqzKMbKc2mGivMjhoqyTAA
        AKoDAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAVaoDAD+/BAAA/wEA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAM//AACOAQAADAAAAAgAAAAIAAAABAAAAAAAAAAA
        AAAAAAAAAAAAAACAAQAAwAMAAOAHAAD8PwAA//8AAA==
</value>
  </data>
</root>
LB_VisionProcesses/Communicators/SiemensS7/S7Config.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LB_VisionProcesses.Communicators.SiemensS7
{
    public class SignalConfig
    {
        public string SignalName { get; set; } = "新信号";
        public string Area { get; set; } = "DB";
        public int DbNumber { get; set; }
        public int ByteOffset { get; set; }
        public int BitOffset { get; set; }
        public string DataType { get; set; } = "Bool";
        public string Value { get; set; }
    }
    public class PlcConfig
    {
        public string PlcIpAddress { get; set; } = "192.168.10.10";
        public short Rack { get; set; } = 0;
        public short Slot { get; set; } = 1;
        public string CommunicatorsName { get; set; }
        public string ProductName { get; set; }
        public List<SignalConfig> Signals { get; set; } = new List<SignalConfig>();
    }
}
LB_VisionProcesses/Communicators/SiemensS7/S7ConfigService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
using LB_SmartVisionCommon;
using Newtonsoft.Json;
using OpenVinoSharp.Extensions.model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LB_VisionProcesses.Communicators.SiemensS7
{
    public static class S7ConfigService
    {
        public static PlcConfig LoadConfig(string ConfigFilePath)
        {
            try
            {
                if (!File.Exists(ConfigFilePath))
                {
                    return new PlcConfig();
                }
                return ConfigManager<PlcConfig>.LoadConfig<PlcConfig>(ConfigFilePath);
            }
            catch
            {
                return new PlcConfig();
            }
        }
        public static void SaveConfig(PlcConfig config, string ConfigFilePath)
        {
            string directory = Path.GetDirectoryName(ConfigFilePath);
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            ConfigManager<PlcConfig>.SaveConfig<PlcConfig>(config, ConfigFilePath);
        }
    }
}
LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs
@@ -13,10 +13,10 @@
    {
        private Plc plc;
        // é»˜è®¤å˜é‡åœ°å€
        public string variable = "DB100.DBX0.1";
        public string variable = "DB100.DBX0.1";
        // æ•°æ®ç±»åž‹
        private string dataType = "Bool";
        // ç¼“存连接参数
        private string ip = "127.0.0.1";
        private short rack = 0;
@@ -27,7 +27,7 @@
        {
            CommunicatorName = name;
            CommunicatorBrand = CommunicatorBrand.SiemensS7;
            // åˆå§‹åŒ–默认参数
            if (!CommunicatorConnections.Contains("地址")) CommunicatorConnections.Add("地址", "192.168.0.1");
            if (!CommunicatorConnections.Contains("机架号")) CommunicatorConnections.Add("机架号", "0");
@@ -35,7 +35,7 @@
            if (!CommunicatorConnections.Contains("型号")) CommunicatorConnections.Add("型号", CpuType.S71500);
            if (!CommunicatorConnections.Contains("变量地址")) CommunicatorConnections.Add("变量地址", "DB1.DBD0");
            if (!CommunicatorConnections.Contains("数据类型")) CommunicatorConnections.Add("数据类型", "String");
            // å…¼å®¹æ—§é…ç½® "端口"
            if (CommunicatorConnections.Contains("端口"))
            {
@@ -43,7 +43,7 @@
            }
            // è®¾ç½®é»˜è®¤å¿ƒè·³æ¶ˆæ¯
            strHeartbeat = "HEARTBEAT";
            strHeartbeat = "HEARTBEAT";
        }
        public override bool Connect()
@@ -52,11 +52,11 @@
            {
                // æ›´æ–°å‚æ•°
                if (CommunicatorConnections.Contains("地址")) ip = CommunicatorConnections["地址"].ToString();
                if (CommunicatorConnections.Contains("机架号"))
                if (CommunicatorConnections.Contains("机架号"))
                    short.TryParse(CommunicatorConnections["机架号"].ToString(), out rack);
                if (CommunicatorConnections.Contains("插槽号"))
                if (CommunicatorConnections.Contains("插槽号"))
                    short.TryParse(CommunicatorConnections["插槽号"].ToString(), out slot);
                else if (CommunicatorConnections.Contains("端口"))
                    short.TryParse(CommunicatorConnections["端口"].ToString(), out slot);
@@ -68,7 +68,7 @@
                    else
                        Enum.TryParse(CommunicatorConnections["型号"].ToString(), out cpuType);
                }
                if (CommunicatorConnections.Contains("变量地址"))
                {
                    variable = CommunicatorConnections["变量地址"].ToString();
@@ -81,10 +81,10 @@
                // å…³é—­æ—§è¿žæŽ¥
                plc?.Close();
                plc = new Plc(cpuType, ip, rack, slot);
                plc.Open();
                if (plc.IsConnected)
                {
                    bConnected = true;
@@ -137,7 +137,7 @@
            try
            {
                variable= CommunicatorConnections.Contains("变量地址") ? CommunicatorConnections["变量地址"].ToString(): "DB100.DBX0.1";
                variable = CommunicatorConnections.Contains("变量地址") ? CommunicatorConnections["变量地址"].ToString() : "DB100.DBX0.1";
                string targetVar = variable;//"DB100.DBX0.1";
                string strValue = message;
@@ -157,7 +157,7 @@
                string currentDataType = CommunicatorConnections.Contains("数据类型") ? CommunicatorConnections["数据类型"].ToString() : "String";
                // æ ¹æ®é…ç½®çš„æ•°æ®ç±»åž‹è¿›è¡Œè½¬æ¢
                try
                try
                {
                    switch (currentDataType)
                    {
@@ -243,6 +243,120 @@
                AsyncLogHelper.Error($"Device:[{CommunicatorName}] {Msg}");
                return false;
            }
        }
        public object ReadSignal(SignalConfig signal)
        {
            if (plc == null || !plc.IsConnected)
            {
                AsyncLogHelper.Error("PLC æœªè¿žæŽ¥");
            }
            string address = BuildAddress(signal);
            if (signal.DataType.Equals("Real"))
            {
                object result = plc.Read(address);
                byte[] bytes = BitConverter.GetBytes(Convert.ToUInt32(result));
                float f = BitConverter.ToSingle(bytes, 0);
                strReceiveMsg = f.ToString();
            }
            else if (signal.DataType.Equals("Bool"))
            {
                object result = plc.Read(address);
                strReceiveMsg = result.ToString();
            }
            else if (signal.DataType.Equals("Int"))
            {
                object result = ((uint)plc.Read(address)).ConvertToInt();// ((uint)plc.Read("DB1.DBD60")).ConvertToInt();
                strReceiveMsg = result.ToString();
            }
            return strReceiveMsg;
        }
        public void WriteSignal(SignalConfig signal, object value)
        {
            if (plc == null || !plc.IsConnected)
            {
                AsyncLogHelper.Error("PLC æœªè¿žæŽ¥");
            }
            string address = BuildAddress(signal);
            plc.Write(address, value);
        }
        public string BuildAddress(SignalConfig signal)
        {
            switch (signal.Area.ToUpper())
            {
                case "DB":
                    {
                        if (signal.DataType.Equals("Bool", StringComparison.OrdinalIgnoreCase))
                        {
                            return $"DB{signal.DbNumber}.DBX{signal.ByteOffset}.{signal.BitOffset}";
                        }
                        else
                        {
                            return $"DB{signal.DbNumber}.DBD{signal.ByteOffset}";
                        }
                    }
                case "I":
                    {
                        if (signal.DataType.Equals("Bool", StringComparison.OrdinalIgnoreCase))
                        {
                            return $"I{signal.ByteOffset}.{signal.BitOffset}";
                        }
                        else
                        {
                            return $"IB{signal.ByteOffset}";
                        }
                    }
                case "Q":
                    {
                        if (signal.DataType.Equals("Bool", StringComparison.OrdinalIgnoreCase))
                        {
                            return $"Q{signal.ByteOffset}.{signal.BitOffset}";
                        }
                        else
                        {
                            return $"QB{signal.ByteOffset}";
                        }
                    }
                case "M":
                    {
                        if (signal.DataType.Equals("Bool", StringComparison.OrdinalIgnoreCase))
                        {
                            return $"M{signal.ByteOffset}.{signal.BitOffset}";
                        }
                        else
                        {
                            return $"MB{signal.ByteOffset}";
                        }
                    }
                default:
                    {
                        AsyncLogHelper.Error($"不支持的存储区: {signal.Area}");
                        return $"不支持的存储区: {signal.Area}";
                    }
            }
        }
        // åŽŸå§‹åœ°å€è¯»å†™ï¼ˆç”¨äºŽè°ƒè¯•å™¨ï¼‰
        public object ReadRaw(string address)
        {
            if (plc == null || !plc.IsConnected)
            {
                AsyncLogHelper.Error("PLC æœªè¿žæŽ¥");
            }
            return plc.Read(address);
        }
        public void WriteRaw(string address, object value)
        {
            if (plc == null || !plc.IsConnected)
            {
                AsyncLogHelper.Error("PLC æœªè¿žæŽ¥");
            }
            plc.Write(address, value);
        }
        public override string ReceiveMsg()
@@ -360,16 +474,16 @@
                return false;
            }
        }
        public object Read(string address)
        {
            if (plc == null || !plc.IsConnected)
            {
                return null;
            }
             return plc.Read(address);
            return plc.Read(address);
        }
        public void Write(string address, object value)
        {
            if (plc != null && plc.IsConnected)
LB_VisionProcesses/LB_VisionProcesses.csproj.user
@@ -28,6 +28,9 @@
    <Compile Update="BarcodeReaders\BarcodeReaderForm.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="Communicators\SiemensS7\ConfigForm.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="Communicators\UserCommunicator\T306CommandTool\T306CommandToolEdit.cs">
      <SubType>UserControl</SubType>
    </Compile>
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
Binary files differ
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
Binary files differ
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_VisionProcesses")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b48ac75b89e94e3f70da5a2233e18734aa271682")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e14b76f38ea713b43430bc86b1411172d9530f6")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_VisionProcesses")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_VisionProcesses")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache
@@ -1 +1 @@
a20ef4d77672910967131a50546dd6b32fd75ef20e32caae55b6ea552ec7957d
2eef9df040cb94f48ec245dbb5624209a64360bcdd227fb04ebd298401423049
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.Communicators.SiemensS7.ConfigForm.resources
Binary files differ
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
5b41dedddd8e5a297ddc0817e9e55ac28e5743dd01069e597a9970085f56c875
65e8714b1e26dccddc28bc8893f10ef3004dd60742968d960d0d79841c04667e
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt
@@ -301,3 +301,4 @@
D:\Vision\SmartVision20260413\SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\LB_VisionProcesses.pdb
D:\Vision\SmartVision20260413\SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\ref\LB_VisionProcesses.dll
D:\Vision\SmartVision20260413\SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\LB_VisionProcesses.Processes.TyreCounterProcessEdit.resources
D:\Vision\SmartVision20260413\SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\LB_VisionProcesses.Communicators.SiemensS7.ConfigForm.resources
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache
Binary files differ
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
Binary files differ
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
Binary files differ
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll
Binary files differ
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll
Binary files differ