fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
## Compilation fixes - Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView) - Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs - Fix ILoggerService.Warn() calls using Exception as first arg instead of message string - Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object) - Suppress CS8632 nullable annotation warnings project-wide ## BGA wizard fixes - Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step - Add step validation in CanNext() to prevent skipping to preview with invalid inputs - Notify NextCommand.CanExecuteChanged when inputs change - Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value ## Operator toolbox: prevent duplicate insertion - Add static OperatorTarget property for direct dispatch to active pipeline - PipelineEditorView registers as toolbox target on load (floating window only) - CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close - '+' button inserts only to the active pipeline instead of broadcasting to all subscribers ## Pipeline editor status bar messages - Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs - PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute) - MainViewModel subscribes and displays on main window bottom status bar - Auto-clear after timeout (3s info, 5s error) ## docs - Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
This commit is contained in:
+78803
-78803
File diff suppressed because it is too large
Load Diff
+11363
-11363
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
||||
+18755
-18755
File diff suppressed because it is too large
Load Diff
@@ -1,76 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<Config>
|
||||
<Group ID="WriteCommon" DBNumber="31">
|
||||
<Signal Name="SoftLive" Type="byte" StartAddr="0" IndexOrLength="" Remark="软件心跳,01周期变化表示PLC存活" />
|
||||
<Signal Name="EmergencyStop" Type="byte" StartAddr="5" IndexOrLength="" Remark="急停,0:缺省,1:触发急停" />
|
||||
<Signal Name="MC_SourceZ_Target" Type="single" StartAddr="10" IndexOrLength="" Remark="射线源Z目标位置" />
|
||||
<Signal Name="MC_SourceZ_Speed" Type="single" StartAddr="14" IndexOrLength="" Remark="射线源Z运动速度" />
|
||||
<Signal Name="MC_SourceZ_JogPos" Type="byte" StartAddr="18" IndexOrLength="" Remark="射线源Z正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_SourceZ_JogNeg" Type="byte" StartAddr="19" IndexOrLength="" Remark="射线源Z反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_SourceZ_Home" Type="byte" StartAddr="20" IndexOrLength="" Remark="射线源Z回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_SourceZ_Stop" Type="byte" StartAddr="21" IndexOrLength="" Remark="射线源Z停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_DetZ_Target" Type="single" StartAddr="22" IndexOrLength="" Remark="探测器Z目标位置" />
|
||||
<Signal Name="MC_DetZ_Speed" Type="single" StartAddr="26" IndexOrLength="" Remark="探测器Z运动速度" />
|
||||
<Signal Name="MC_DetZ_JogPos" Type="byte" StartAddr="30" IndexOrLength="" Remark="探测器Z正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_DetZ_JogNeg" Type="byte" StartAddr="31" IndexOrLength="" Remark="探测器Z反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_DetZ_Home" Type="byte" StartAddr="32" IndexOrLength="" Remark="探测器Z回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_DetZ_Stop" Type="byte" StartAddr="33" IndexOrLength="" Remark="探测器Z停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_StageX_Target" Type="single" StartAddr="34" IndexOrLength="" Remark="载物台X目标位置" />
|
||||
<Signal Name="MC_StageX_Speed" Type="single" StartAddr="38" IndexOrLength="" Remark="载物台X运动速度" />
|
||||
<Signal Name="MC_StageX_JogPos" Type="byte" StartAddr="42" IndexOrLength="" Remark="载物台X正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_StageX_JogNeg" Type="byte" StartAddr="43" IndexOrLength="" Remark="载物台X反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_StageX_Home" Type="byte" StartAddr="44" IndexOrLength="" Remark="载物台X回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_StageX_Stop" Type="byte" StartAddr="45" IndexOrLength="" Remark="载物台X停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_StageY_Target" Type="single" StartAddr="46" IndexOrLength="" Remark="载物台Y目标位置" />
|
||||
<Signal Name="MC_StageY_Speed" Type="single" StartAddr="50" IndexOrLength="" Remark="载物台Y运动速度" />
|
||||
<Signal Name="MC_StageY_JogPos" Type="byte" StartAddr="54" IndexOrLength="" Remark="载物台Y正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_StageY_JogNeg" Type="byte" StartAddr="55" IndexOrLength="" Remark="载物台Y反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_StageY_Home" Type="byte" StartAddr="56" IndexOrLength="" Remark="载物台Y回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_StageY_Stop" Type="byte" StartAddr="57" IndexOrLength="" Remark="载物台Y停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_DetSwing_Target" Type="single" StartAddr="58" IndexOrLength="" Remark="探测器摆动目标角度" />
|
||||
<Signal Name="MC_DetSwing_Speed" Type="single" StartAddr="62" IndexOrLength="" Remark="探测器摆动运动速度" />
|
||||
<Signal Name="MC_DetSwing_JogPos" Type="byte" StartAddr="66" IndexOrLength="" Remark="探测器摆动正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_DetSwing_JogNeg" Type="byte" StartAddr="67" IndexOrLength="" Remark="探测器摆动反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_DetSwing_Home" Type="byte" StartAddr="68" IndexOrLength="" Remark="探测器摆动回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_DetSwing_Stop" Type="byte" StartAddr="69" IndexOrLength="" Remark="探测器摆动停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_StageRot_Target" Type="single" StartAddr="70" IndexOrLength="" Remark="载物台旋转目标角度" />
|
||||
<Signal Name="MC_StageRot_Speed" Type="single" StartAddr="74" IndexOrLength="" Remark="载物台旋转运动速度" />
|
||||
<Signal Name="MC_StageRot_JogPos" Type="byte" StartAddr="78" IndexOrLength="" Remark="载物台旋转正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_StageRot_JogNeg" Type="byte" StartAddr="79" IndexOrLength="" Remark="载物台旋转反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_StageRot_Home" Type="byte" StartAddr="80" IndexOrLength="" Remark="载物台旋转回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_StageRot_Stop" Type="byte" StartAddr="81" IndexOrLength="" Remark="载物台旋转停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_FixRot_Target" Type="single" StartAddr="82" IndexOrLength="" Remark="夹具旋转目标角度" />
|
||||
<Signal Name="MC_FixRot_Speed" Type="single" StartAddr="86" IndexOrLength="" Remark="夹具旋转运动速度" />
|
||||
<Signal Name="MC_FixRot_JogPos" Type="byte" StartAddr="90" IndexOrLength="" Remark="夹具旋转正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_FixRot_JogNeg" Type="byte" StartAddr="91" IndexOrLength="" Remark="夹具旋转反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_FixRot_Home" Type="byte" StartAddr="92" IndexOrLength="" Remark="夹具旋转回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_FixRot_Stop" Type="byte" StartAddr="93" IndexOrLength="" Remark="夹具旋转停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_Door_Open" Type="byte" StartAddr="94" IndexOrLength="" Remark="安全门开门,0:缺省,1:触发开门" />
|
||||
<Signal Name="MC_Door_Close" Type="byte" StartAddr="95" IndexOrLength="" Remark="安全门关门,0:缺省,1:触发关门" />
|
||||
<Signal Name="MC_Door_Stop" Type="byte" StartAddr="96" IndexOrLength="" Remark="安全门停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_AllAxis_Stop" Type="byte" StartAddr="97" IndexOrLength="" Remark="全局停止所有轴运动,0:缺省,10:触发停止" />
|
||||
<Signal Name="MC_Axis_Reset" Type="byte" StartAddr="98" IndexOrLength="" Remark="所有轴复位,0:缺省,10:触发复位" />
|
||||
<Signal Name="MC_VirtualJoystick_Enable" Type="bool" StartAddr="111" IndexOrLength="" Remark="虚拟摇杆使能"/>
|
||||
<Signal Name="MC_SourceDetZ_Linkage_Enable" Type="bool" StartAddr="101" IndexOrLength="" Remark="联动使能"/>
|
||||
</Group>
|
||||
<Group ID="ReadCommon" DBNumber="31">
|
||||
<Signal Name="ProbeA" Type="single" StartAddr="228" IndexOrLength="" Remark="测座角度A" />
|
||||
<Signal Name="ProbeB" Type="string" StartAddr="225" IndexOrLength="20" Remark="测座角度B" />
|
||||
<Signal Name="test" Type="byte" StartAddr="222" IndexOrLength="" Remark="" />
|
||||
<Signal Name="PlcLive" Type="byte" StartAddr="200" IndexOrLength="" Remark="PLC心跳,01周期变化表示PLC存活" />
|
||||
<Signal Name="PlcAlarm" Type="byte" StartAddr="201" IndexOrLength="" Remark="系统报警,0:缺省,10:有报警" />
|
||||
<Signal Name="MC_SourceZ_Pos" Type="single" StartAddr="100" IndexOrLength="" Remark="射线源Z实际位置" />
|
||||
<Signal Name="MC_DetZ_Pos" Type="single" StartAddr="104" IndexOrLength="" Remark="探测器Z实际位置" />
|
||||
<Signal Name="MC_StageX_Pos" Type="single" StartAddr="108" IndexOrLength="" Remark="载物台X实际位置" />
|
||||
<Signal Name="MC_StageY_Pos" Type="single" StartAddr="112" IndexOrLength="" Remark="载物台Y实际位置" />
|
||||
<Signal Name="MC_DetSwing_Angle" Type="single" StartAddr="116" IndexOrLength="" Remark="探测器摆动实际角度" />
|
||||
<Signal Name="MC_StageRot_Angle" Type="single" StartAddr="120" IndexOrLength="" Remark="载物台旋转实际角度" />
|
||||
<Signal Name="MC_FixRot_Angle" Type="single" StartAddr="124" IndexOrLength="" Remark="夹具旋转实际角度" />
|
||||
<Signal Name="MC_Door_Status" Type="byte" StartAddr="128" IndexOrLength="" Remark="安全门状态,0:未知,1:正在开门,2:已开,3:正在关门,4:已关,5:已锁定,6:故障" />
|
||||
<Signal Name="MC_Door_Interlock" Type="byte" StartAddr="130" IndexOrLength="" Remark="安全门联锁信号,0:缺省(无联锁),10:联锁有效(禁止开门)" />
|
||||
<Signal Name="MC_Joystick_Active" Type="bool" StartAddr="110" IndexOrLength="" Remark="实体摇杆输入"/>
|
||||
</Group>
|
||||
<Group ID="Status" DBNumber="4100">
|
||||
<Signal Name="ScanMode" Type="byte" StartAddr="201" IndexOrLength="" Remark="扫描模式,0:缺省(空闲),具体值由PLC定义" />
|
||||
</Group>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<Config>
|
||||
<Group ID="WriteCommon" DBNumber="31">
|
||||
<Signal Name="SoftLive" Type="byte" StartAddr="0" IndexOrLength="" Remark="软件心跳,01周期变化表示PLC存活" />
|
||||
<Signal Name="EmergencyStop" Type="byte" StartAddr="5" IndexOrLength="" Remark="急停,0:缺省,1:触发急停" />
|
||||
<Signal Name="MC_SourceZ_Target" Type="single" StartAddr="10" IndexOrLength="" Remark="射线源Z目标位置" />
|
||||
<Signal Name="MC_SourceZ_Speed" Type="single" StartAddr="14" IndexOrLength="" Remark="射线源Z运动速度" />
|
||||
<Signal Name="MC_SourceZ_JogPos" Type="byte" StartAddr="18" IndexOrLength="" Remark="射线源Z正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_SourceZ_JogNeg" Type="byte" StartAddr="19" IndexOrLength="" Remark="射线源Z反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_SourceZ_Home" Type="byte" StartAddr="20" IndexOrLength="" Remark="射线源Z回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_SourceZ_Stop" Type="byte" StartAddr="21" IndexOrLength="" Remark="射线源Z停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_DetZ_Target" Type="single" StartAddr="22" IndexOrLength="" Remark="探测器Z目标位置" />
|
||||
<Signal Name="MC_DetZ_Speed" Type="single" StartAddr="26" IndexOrLength="" Remark="探测器Z运动速度" />
|
||||
<Signal Name="MC_DetZ_JogPos" Type="byte" StartAddr="30" IndexOrLength="" Remark="探测器Z正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_DetZ_JogNeg" Type="byte" StartAddr="31" IndexOrLength="" Remark="探测器Z反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_DetZ_Home" Type="byte" StartAddr="32" IndexOrLength="" Remark="探测器Z回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_DetZ_Stop" Type="byte" StartAddr="33" IndexOrLength="" Remark="探测器Z停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_StageX_Target" Type="single" StartAddr="34" IndexOrLength="" Remark="载物台X目标位置" />
|
||||
<Signal Name="MC_StageX_Speed" Type="single" StartAddr="38" IndexOrLength="" Remark="载物台X运动速度" />
|
||||
<Signal Name="MC_StageX_JogPos" Type="byte" StartAddr="42" IndexOrLength="" Remark="载物台X正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_StageX_JogNeg" Type="byte" StartAddr="43" IndexOrLength="" Remark="载物台X反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_StageX_Home" Type="byte" StartAddr="44" IndexOrLength="" Remark="载物台X回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_StageX_Stop" Type="byte" StartAddr="45" IndexOrLength="" Remark="载物台X停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_StageY_Target" Type="single" StartAddr="46" IndexOrLength="" Remark="载物台Y目标位置" />
|
||||
<Signal Name="MC_StageY_Speed" Type="single" StartAddr="50" IndexOrLength="" Remark="载物台Y运动速度" />
|
||||
<Signal Name="MC_StageY_JogPos" Type="byte" StartAddr="54" IndexOrLength="" Remark="载物台Y正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_StageY_JogNeg" Type="byte" StartAddr="55" IndexOrLength="" Remark="载物台Y反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_StageY_Home" Type="byte" StartAddr="56" IndexOrLength="" Remark="载物台Y回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_StageY_Stop" Type="byte" StartAddr="57" IndexOrLength="" Remark="载物台Y停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_DetSwing_Target" Type="single" StartAddr="58" IndexOrLength="" Remark="探测器摆动目标角度" />
|
||||
<Signal Name="MC_DetSwing_Speed" Type="single" StartAddr="62" IndexOrLength="" Remark="探测器摆动运动速度" />
|
||||
<Signal Name="MC_DetSwing_JogPos" Type="byte" StartAddr="66" IndexOrLength="" Remark="探测器摆动正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_DetSwing_JogNeg" Type="byte" StartAddr="67" IndexOrLength="" Remark="探测器摆动反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_DetSwing_Home" Type="byte" StartAddr="68" IndexOrLength="" Remark="探测器摆动回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_DetSwing_Stop" Type="byte" StartAddr="69" IndexOrLength="" Remark="探测器摆动停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_StageRot_Target" Type="single" StartAddr="70" IndexOrLength="" Remark="载物台旋转目标角度" />
|
||||
<Signal Name="MC_StageRot_Speed" Type="single" StartAddr="74" IndexOrLength="" Remark="载物台旋转运动速度" />
|
||||
<Signal Name="MC_StageRot_JogPos" Type="byte" StartAddr="78" IndexOrLength="" Remark="载物台旋转正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_StageRot_JogNeg" Type="byte" StartAddr="79" IndexOrLength="" Remark="载物台旋转反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_StageRot_Home" Type="byte" StartAddr="80" IndexOrLength="" Remark="载物台旋转回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_StageRot_Stop" Type="byte" StartAddr="81" IndexOrLength="" Remark="载物台旋转停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_FixRot_Target" Type="single" StartAddr="82" IndexOrLength="" Remark="夹具旋转目标角度" />
|
||||
<Signal Name="MC_FixRot_Speed" Type="single" StartAddr="86" IndexOrLength="" Remark="夹具旋转运动速度" />
|
||||
<Signal Name="MC_FixRot_JogPos" Type="byte" StartAddr="90" IndexOrLength="" Remark="夹具旋转正向Jog,0:缺省,1:正向点动" />
|
||||
<Signal Name="MC_FixRot_JogNeg" Type="byte" StartAddr="91" IndexOrLength="" Remark="夹具旋转反向Jog,0:缺省,1:反向点动" />
|
||||
<Signal Name="MC_FixRot_Home" Type="byte" StartAddr="92" IndexOrLength="" Remark="夹具旋转回零,0:缺省,1:触发回零" />
|
||||
<Signal Name="MC_FixRot_Stop" Type="byte" StartAddr="93" IndexOrLength="" Remark="夹具旋转停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_Door_Open" Type="byte" StartAddr="94" IndexOrLength="" Remark="安全门开门,0:缺省,1:触发开门" />
|
||||
<Signal Name="MC_Door_Close" Type="byte" StartAddr="95" IndexOrLength="" Remark="安全门关门,0:缺省,1:触发关门" />
|
||||
<Signal Name="MC_Door_Stop" Type="byte" StartAddr="96" IndexOrLength="" Remark="安全门停止,0:缺省,1:触发停止" />
|
||||
<Signal Name="MC_AllAxis_Stop" Type="byte" StartAddr="97" IndexOrLength="" Remark="全局停止所有轴运动,0:缺省,10:触发停止" />
|
||||
<Signal Name="MC_Axis_Reset" Type="byte" StartAddr="98" IndexOrLength="" Remark="所有轴复位,0:缺省,10:触发复位" />
|
||||
<Signal Name="MC_VirtualJoystick_Enable" Type="bool" StartAddr="111" IndexOrLength="" Remark="虚拟摇杆使能"/>
|
||||
<Signal Name="MC_SourceDetZ_Linkage_Enable" Type="bool" StartAddr="101" IndexOrLength="" Remark="联动使能"/>
|
||||
</Group>
|
||||
<Group ID="ReadCommon" DBNumber="31">
|
||||
<Signal Name="ProbeA" Type="single" StartAddr="228" IndexOrLength="" Remark="测座角度A" />
|
||||
<Signal Name="ProbeB" Type="string" StartAddr="225" IndexOrLength="20" Remark="测座角度B" />
|
||||
<Signal Name="test" Type="byte" StartAddr="222" IndexOrLength="" Remark="" />
|
||||
<Signal Name="PlcLive" Type="byte" StartAddr="200" IndexOrLength="" Remark="PLC心跳,01周期变化表示PLC存活" />
|
||||
<Signal Name="PlcAlarm" Type="byte" StartAddr="201" IndexOrLength="" Remark="系统报警,0:缺省,10:有报警" />
|
||||
<Signal Name="MC_SourceZ_Pos" Type="single" StartAddr="100" IndexOrLength="" Remark="射线源Z实际位置" />
|
||||
<Signal Name="MC_DetZ_Pos" Type="single" StartAddr="104" IndexOrLength="" Remark="探测器Z实际位置" />
|
||||
<Signal Name="MC_StageX_Pos" Type="single" StartAddr="108" IndexOrLength="" Remark="载物台X实际位置" />
|
||||
<Signal Name="MC_StageY_Pos" Type="single" StartAddr="112" IndexOrLength="" Remark="载物台Y实际位置" />
|
||||
<Signal Name="MC_DetSwing_Angle" Type="single" StartAddr="116" IndexOrLength="" Remark="探测器摆动实际角度" />
|
||||
<Signal Name="MC_StageRot_Angle" Type="single" StartAddr="120" IndexOrLength="" Remark="载物台旋转实际角度" />
|
||||
<Signal Name="MC_FixRot_Angle" Type="single" StartAddr="124" IndexOrLength="" Remark="夹具旋转实际角度" />
|
||||
<Signal Name="MC_Door_Status" Type="byte" StartAddr="128" IndexOrLength="" Remark="安全门状态,0:未知,1:正在开门,2:已开,3:正在关门,4:已关,5:已锁定,6:故障" />
|
||||
<Signal Name="MC_Door_Interlock" Type="byte" StartAddr="130" IndexOrLength="" Remark="安全门联锁信号,0:缺省(无联锁),10:联锁有效(禁止开门)" />
|
||||
<Signal Name="MC_Joystick_Active" Type="bool" StartAddr="110" IndexOrLength="" Remark="实体摇杆输入"/>
|
||||
</Group>
|
||||
<Group ID="Status" DBNumber="4100">
|
||||
<Signal Name="ScanMode" Type="byte" StartAddr="201" IndexOrLength="" Remark="扫描模式,0:缺省(空闲),具体值由PLC定义" />
|
||||
</Group>
|
||||
</Config>
|
||||
@@ -1,222 +1,222 @@
|
||||
{
|
||||
"document": {
|
||||
"pageSize": "A4",
|
||||
"orientation": "Portrait",
|
||||
"margins": { "top": 40, "bottom": 20, "left": 20, "right": 20 },
|
||||
"header": {
|
||||
"enabled": true,
|
||||
"left": [
|
||||
"${loc:Report_Title}",
|
||||
"${loc:Report_Id}:${metadata.reportId} | ${loc:Report_Date}:${formatDate(metadata.inspectionDate)} | ${loc:Report_Sample}:${metadata.sampleName}"
|
||||
],
|
||||
"rightImageKey": "companyLogo",
|
||||
"fontSize": 7,
|
||||
"color": "#666666",
|
||||
"showLine": true
|
||||
},
|
||||
"footer": {
|
||||
"enabled": true,
|
||||
"left": ["${CompanyName}"],
|
||||
"right": ["{currentPage} / {totalPages}"],
|
||||
"fontSize": 8,
|
||||
"color": "#666666",
|
||||
"showLine": true
|
||||
}
|
||||
},
|
||||
"pages": [
|
||||
{
|
||||
"type": "homepage",
|
||||
"elements": [
|
||||
{
|
||||
"type": "row", "size": [170, 40], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "companyLogo", "size": [50, 30], "align": "left" },
|
||||
{ "type": "text", "content": "${CompanyName}", "style": "companyName", "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "right",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "softwareLogo", "size": [15, 20], "align": "right" },
|
||||
{ "type": "text", "content": "${SoftwareName}", "style": "companyName", "align": "right" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{ "type": "spacer", "size": [170, 15], "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Title}", "style": "title", "positioning": "flow" },
|
||||
{ "type": "spacer", "size": [170, 10], "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Id}:${metadata.reportId}", "style": "homepageInfo", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Sample}:${metadata.sampleName}", "style": "homepageInfo", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Description}:${metadata.description}", "style": "homepageInfo", "positioning": "flow" },
|
||||
{ "type": "image", "dataKey": "workpieceImage", "size": [160, 110], "border": true, "align": "center", "style": "imageDefault", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Operator}:${metadata.operatorName}", "style": "homepageFooter", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Date}:${formatDate(metadata.inspectionDate)}", "style": "homepageFooter", "positioning": "flow" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "summary",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Report_Summary}", "style": "homepageHeading", "positioning": "flow" },
|
||||
{
|
||||
"type": "table", "dataKey": "summaryTable", "positioning": "flow", "size": [170, 0], "style": "tableDefault",
|
||||
"columns": [
|
||||
{ "header": "${loc:Field_InspectionType}", "field": "inspectionType", "width": 50, "align": "left" },
|
||||
{ "header": "${loc:Field_Result}", "field": "classification", "width": 30, "align": "center", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } },
|
||||
{ "header": "${loc:Field_Status}", "field": "status", "width": 30, "align": "center", "colorRules": { "合格": "#008000", "PASS": "#008000", "不合格": "#FF0000", "FAIL": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "metricData",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_MetricData}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "lineMeasurementImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Measurement_Type}:${measurementType}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Field_Point1}:${point1}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Field_Point2}:${point2}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_Distance}:${actualDistance} ${unit}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_Angle}:${angle}°", "style": "body", "align": "left" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "bgaInspection",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_BgaInspection}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "bgaInspectionImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Bga_Count}:${bgaCount}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_VoidRate}:${formatPercent(voidRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_FillRate}:${formatPercent(fillRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Bga_TotalArea}:${formatNumber(totalBgaArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Bga_TotalVoidArea}:${formatNumber(totalVoidArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Bga_VoidLimit}:${formatPercent(voidLimit)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Table_Classification}:${classification}", "style": "conclusion", "align": "left", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "table", "dataKey": "bgaBallsTable", "positioning": "flow", "size": [170, 0], "style": "tableDefault",
|
||||
"columns": [
|
||||
{ "header": "${loc:Bga_BallIndex}", "field": "index", "width": 25, "align": "center" },
|
||||
{ "header": "${loc:Table_VoidRate}", "field": "voidRate", "width": 40, "align": "center" },
|
||||
{ "header": "${loc:Table_Area}", "field": "area", "width": 40, "align": "center" },
|
||||
{ "header": "${loc:Table_Classification}", "field": "classification", "width": 35, "align": "center", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "voidInspection",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_VoidInspection}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "voidInspectionImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Void_RoiArea}:${formatNumber(roiArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_TotalArea}:${formatNumber(totalVoidArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_VoidRate}:${formatPercent(voidRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_Limit}:${formatPercent(voidLimit)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_Count}:${voidCount}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_MaxArea}:${formatNumber(maxVoidArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Table_Classification}:${classification}", "style": "conclusion", "align": "left", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "table", "dataKey": "voidsTable", "positioning": "flow", "size": [170, 0], "style": "tableDefault",
|
||||
"columns": [
|
||||
{ "header": "${loc:Table_Index}", "field": "index", "width": 20, "align": "center" },
|
||||
{ "header": "${loc:Table_Area}", "field": "area", "width": 35, "align": "center" },
|
||||
{ "header": "${loc:Table_AreaPercent}", "field": "areaPercent", "width": 35, "align": "center" },
|
||||
{ "header": "${loc:Table_CenterX}", "field": "centerX", "width": 30, "align": "center" },
|
||||
{ "header": "${loc:Table_CenterY}", "field": "centerY", "width": 30, "align": "center" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "viaFillInspection",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_ViaFillInspection}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "viaFillImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Fill_Rate}:${formatPercent(fillRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_VoidRate}:${formatPercent(voidRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Fill_FullDistance}:${formatNumber(fullDistance, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Fill_FillDistance}:${formatNumber(fillDistance, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Fill_THTLimit}:${formatPercent(thtLimit)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Table_Classification}:${classification}", "style": "conclusion", "align": "left", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"styles": {
|
||||
"title": { "font": "auto", "size": 28, "bold": true, "italic": false, "color": "#1a1a1a", "align": "center" },
|
||||
"companyName": { "font": "auto", "size": 10, "bold": false, "italic": false, "color": "#333333", "align": "center" },
|
||||
"homepageInfo": { "font": "auto", "size": 12, "bold": false, "italic": false, "color": "#333333", "align": "left", "paddingLeft": 10 },
|
||||
"homepageFooter": { "font": "auto", "size": 12, "bold": false, "italic": false, "color": "#333333", "align": "center" },
|
||||
"homepageHeading": { "font": "auto", "size": 14, "bold": true, "italic": false, "color": "#333333", "align": "left" },
|
||||
"heading": { "font": "auto", "size": 16, "bold": true, "italic": false, "color": "#333333", "align": "left", "marginBottom": 3 },
|
||||
"body": { "font": "auto", "size": 11, "bold": false, "italic": false, "color": "#333333", "align": "left" },
|
||||
"bodyBold": { "font": "auto", "size": 11, "bold": true, "italic": false, "color": "#1a1a1a", "align": "left" },
|
||||
"conclusion": { "font": "auto", "size": 12, "bold": true, "italic": false, "color": "#333333", "align": "left", "marginTop": 3 },
|
||||
"imageDefault": { "font": "auto", "size": 12, "bold": false, "italic": false, "color": "#333333", "align": "center", "marginTop": 5, "marginBottom": 5 },
|
||||
"tableHeader": { "font": "auto", "size": 10, "bold": true, "italic": false, "color": "#ffffff", "align": "center", "backgroundColor": "#4472C4" },
|
||||
"tableDefault": { "font": "auto", "size": 10, "bold": false, "italic": false, "color": "#333333", "align": "center", "marginTop": 5 },
|
||||
"tableCell": { "font": "auto", "size": 10, "bold": false, "italic": false, "color": "#333333", "align": "center" }
|
||||
}
|
||||
}
|
||||
{
|
||||
"document": {
|
||||
"pageSize": "A4",
|
||||
"orientation": "Portrait",
|
||||
"margins": { "top": 40, "bottom": 20, "left": 20, "right": 20 },
|
||||
"header": {
|
||||
"enabled": true,
|
||||
"left": [
|
||||
"${loc:Report_Title}",
|
||||
"${loc:Report_Id}:${metadata.reportId} | ${loc:Report_Date}:${formatDate(metadata.inspectionDate)} | ${loc:Report_Sample}:${metadata.sampleName}"
|
||||
],
|
||||
"rightImageKey": "companyLogo",
|
||||
"fontSize": 7,
|
||||
"color": "#666666",
|
||||
"showLine": true
|
||||
},
|
||||
"footer": {
|
||||
"enabled": true,
|
||||
"left": ["${CompanyName}"],
|
||||
"right": ["{currentPage} / {totalPages}"],
|
||||
"fontSize": 8,
|
||||
"color": "#666666",
|
||||
"showLine": true
|
||||
}
|
||||
},
|
||||
"pages": [
|
||||
{
|
||||
"type": "homepage",
|
||||
"elements": [
|
||||
{
|
||||
"type": "row", "size": [170, 40], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "companyLogo", "size": [50, 30], "align": "left" },
|
||||
{ "type": "text", "content": "${CompanyName}", "style": "companyName", "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "right",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "softwareLogo", "size": [15, 20], "align": "right" },
|
||||
{ "type": "text", "content": "${SoftwareName}", "style": "companyName", "align": "right" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{ "type": "spacer", "size": [170, 15], "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Title}", "style": "title", "positioning": "flow" },
|
||||
{ "type": "spacer", "size": [170, 10], "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Id}:${metadata.reportId}", "style": "homepageInfo", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Sample}:${metadata.sampleName}", "style": "homepageInfo", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Description}:${metadata.description}", "style": "homepageInfo", "positioning": "flow" },
|
||||
{ "type": "image", "dataKey": "workpieceImage", "size": [160, 110], "border": true, "align": "center", "style": "imageDefault", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Operator}:${metadata.operatorName}", "style": "homepageFooter", "positioning": "flow" },
|
||||
{ "type": "text", "content": "${loc:Report_Date}:${formatDate(metadata.inspectionDate)}", "style": "homepageFooter", "positioning": "flow" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "summary",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Report_Summary}", "style": "homepageHeading", "positioning": "flow" },
|
||||
{
|
||||
"type": "table", "dataKey": "summaryTable", "positioning": "flow", "size": [170, 0], "style": "tableDefault",
|
||||
"columns": [
|
||||
{ "header": "${loc:Field_InspectionType}", "field": "inspectionType", "width": 50, "align": "left" },
|
||||
{ "header": "${loc:Field_Result}", "field": "classification", "width": 30, "align": "center", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } },
|
||||
{ "header": "${loc:Field_Status}", "field": "status", "width": 30, "align": "center", "colorRules": { "合格": "#008000", "PASS": "#008000", "不合格": "#FF0000", "FAIL": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "metricData",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_MetricData}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "lineMeasurementImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Measurement_Type}:${measurementType}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Field_Point1}:${point1}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Field_Point2}:${point2}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_Distance}:${actualDistance} ${unit}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_Angle}:${angle}°", "style": "body", "align": "left" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "bgaInspection",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_BgaInspection}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "bgaInspectionImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Bga_Count}:${bgaCount}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_VoidRate}:${formatPercent(voidRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_FillRate}:${formatPercent(fillRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Bga_TotalArea}:${formatNumber(totalBgaArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Bga_TotalVoidArea}:${formatNumber(totalVoidArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Bga_VoidLimit}:${formatPercent(voidLimit)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Table_Classification}:${classification}", "style": "conclusion", "align": "left", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "table", "dataKey": "bgaBallsTable", "positioning": "flow", "size": [170, 0], "style": "tableDefault",
|
||||
"columns": [
|
||||
{ "header": "${loc:Bga_BallIndex}", "field": "index", "width": 25, "align": "center" },
|
||||
{ "header": "${loc:Table_VoidRate}", "field": "voidRate", "width": 40, "align": "center" },
|
||||
{ "header": "${loc:Table_Area}", "field": "area", "width": 40, "align": "center" },
|
||||
{ "header": "${loc:Table_Classification}", "field": "classification", "width": 35, "align": "center", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "voidInspection",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_VoidInspection}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "voidInspectionImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Void_RoiArea}:${formatNumber(roiArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_TotalArea}:${formatNumber(totalVoidArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_VoidRate}:${formatPercent(voidRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_Limit}:${formatPercent(voidLimit)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_Count}:${voidCount}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Void_MaxArea}:${formatNumber(maxVoidArea, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Table_Classification}:${classification}", "style": "conclusion", "align": "left", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "table", "dataKey": "voidsTable", "positioning": "flow", "size": [170, 0], "style": "tableDefault",
|
||||
"columns": [
|
||||
{ "header": "${loc:Table_Index}", "field": "index", "width": 20, "align": "center" },
|
||||
{ "header": "${loc:Table_Area}", "field": "area", "width": 35, "align": "center" },
|
||||
{ "header": "${loc:Table_AreaPercent}", "field": "areaPercent", "width": 35, "align": "center" },
|
||||
{ "header": "${loc:Table_CenterX}", "field": "centerX", "width": 30, "align": "center" },
|
||||
{ "header": "${loc:Table_CenterY}", "field": "centerY", "width": 30, "align": "center" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "viaFillInspection",
|
||||
"elements": [
|
||||
{ "type": "text", "content": "${loc:Page_ViaFillInspection}", "style": "heading", "positioning": "flow" },
|
||||
{
|
||||
"type": "row", "size": [170, 100], "widths": [6, 4], "positioning": "flow",
|
||||
"children": [
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "image", "dataKey": "viaFillImage", "size": [110, 90], "border": true, "align": "left" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "column", "align": "left",
|
||||
"children": [
|
||||
{ "type": "text", "content": "${loc:Fill_Rate}:${formatPercent(fillRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Measurement_VoidRate}:${formatPercent(voidRate)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Fill_FullDistance}:${formatNumber(fullDistance, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Fill_FillDistance}:${formatNumber(fillDistance, 2)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Fill_THTLimit}:${formatPercent(thtLimit)}", "style": "body", "align": "left" },
|
||||
{ "type": "text", "content": "${loc:Table_Classification}:${classification}", "style": "conclusion", "align": "left", "colorRules": { "Pass": "#008000", "Fail": "#FF0000" } }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"styles": {
|
||||
"title": { "font": "auto", "size": 28, "bold": true, "italic": false, "color": "#1a1a1a", "align": "center" },
|
||||
"companyName": { "font": "auto", "size": 10, "bold": false, "italic": false, "color": "#333333", "align": "center" },
|
||||
"homepageInfo": { "font": "auto", "size": 12, "bold": false, "italic": false, "color": "#333333", "align": "left", "paddingLeft": 10 },
|
||||
"homepageFooter": { "font": "auto", "size": 12, "bold": false, "italic": false, "color": "#333333", "align": "center" },
|
||||
"homepageHeading": { "font": "auto", "size": 14, "bold": true, "italic": false, "color": "#333333", "align": "left" },
|
||||
"heading": { "font": "auto", "size": 16, "bold": true, "italic": false, "color": "#333333", "align": "left", "marginBottom": 3 },
|
||||
"body": { "font": "auto", "size": 11, "bold": false, "italic": false, "color": "#333333", "align": "left" },
|
||||
"bodyBold": { "font": "auto", "size": 11, "bold": true, "italic": false, "color": "#1a1a1a", "align": "left" },
|
||||
"conclusion": { "font": "auto", "size": 12, "bold": true, "italic": false, "color": "#333333", "align": "left", "marginTop": 3 },
|
||||
"imageDefault": { "font": "auto", "size": 12, "bold": false, "italic": false, "color": "#333333", "align": "center", "marginTop": 5, "marginBottom": 5 },
|
||||
"tableHeader": { "font": "auto", "size": 10, "bold": true, "italic": false, "color": "#ffffff", "align": "center", "backgroundColor": "#4472C4" },
|
||||
"tableDefault": { "font": "auto", "size": 10, "bold": false, "italic": false, "color": "#333333", "align": "center", "marginTop": 5 },
|
||||
"tableCell": { "font": "auto", "size": 10, "bold": false, "italic": false, "color": "#333333", "align": "center" }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Flag, ob die Trace-Meldungen asynchron zu protokolliern sind: 1 für asynchron, 0 für synchron.
|
||||
1
|
||||
// Kategorie Konfigurationen: <Kategorie-Name> <Enabled[0/1]>
|
||||
FXDriver 0
|
||||
// Flag, ob die Trace-Meldungen asynchron zu protokolliern sind: 1 für asynchron, 0 für synchron.
|
||||
1
|
||||
// Kategorie Konfigurationen: <Kategorie-Name> <Enabled[0/1]>
|
||||
FXDriver 0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"Language": "zh-CN",
|
||||
"LogLevel": "Debug",
|
||||
"CameraType": "Simulated",
|
||||
"CameraSimulatedImagePath": "D:\\XplorePlane\\doc\\样例数据\\Data\\InspectionMaps\\test1_result_260603_051025\\PhotoImage.png"
|
||||
{
|
||||
"Language": "zh-CN",
|
||||
"LogLevel": "Debug",
|
||||
"CameraType": "Simulated",
|
||||
"CameraSimulatedImagePath": "D:\\XplorePlane\\doc\\样例数据\\Data\\InspectionMaps\\test1_result_260603_051025\\PhotoImage.png"
|
||||
}
|
||||
+3907
-3907
File diff suppressed because it is too large
Load Diff
+4359
-4359
File diff suppressed because it is too large
Load Diff
@@ -1,106 +1,106 @@
|
||||
"\n"
|
||||
"General configuration for OpenCV 4.9.0 =====================================\n"
|
||||
" Version control: 4.9.0-265-g79534d600a\n"
|
||||
"\n"
|
||||
" Extra modules:\n"
|
||||
" Location (extra): G:/bb/cv_x64/build/build_x86_64/../opencv_contrib/modules\n"
|
||||
" Version control (extra): 4.9.0-66-g61e23082\n"
|
||||
"\n"
|
||||
" Platform:\n"
|
||||
" Timestamp: 2024-04-27T12:51:52Z\n"
|
||||
" Host: Windows 10.0.22000 AMD64\n"
|
||||
" CMake: 3.23.0\n"
|
||||
" CMake generator: Visual Studio 17 2022\n"
|
||||
" CMake build tool: C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe\n"
|
||||
" MSVC: 1939\n"
|
||||
" Configuration: Debug Release MinSizeRel RelWithDebInfo\n"
|
||||
"\n"
|
||||
" CPU/HW features:\n"
|
||||
" Baseline: SSE SSE2 SSE3\n"
|
||||
" requested: SSE3\n"
|
||||
"\n"
|
||||
" C/C++:\n"
|
||||
" Built as dynamic libs?: NO\n"
|
||||
" C++ standard: 11\n"
|
||||
" C++ Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64/cl.exe (ver 19.39.33523.0)\n"
|
||||
" C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /MD /O2 /Ob2 /DNDEBUG \n"
|
||||
" C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /MDd /Zi /Ob0 /Od /RTC1 \n"
|
||||
" C Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64/cl.exe\n"
|
||||
" C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MD /O2 /Ob2 /DNDEBUG \n"
|
||||
" C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MDd /Zi /Ob0 /Od /RTC1 \n"
|
||||
" Linker flags (Release): /machine:x64 /INCREMENTAL:NO \n"
|
||||
" Linker flags (Debug): /machine:x64 /debug /INCREMENTAL \n"
|
||||
" ccache: NO\n"
|
||||
" Precompiled headers: YES\n"
|
||||
" Extra dependencies: wsock32 comctl32 gdi32 ole32 setupapi ws2_32 G:/bb/cv_x64/build/build_x86_64/install/lib/freetype.lib G:/bb/cv_x64/build/build_x86_64/install/lib/harfbuzz.lib G:/bb/cv_x64/build/build_x86_64/install/lib/libhdf5.lib\n"
|
||||
" 3rdparty dependencies: libprotobuf ade ittnotify libjpeg-turbo libwebp libpng libtiff libopenjp2 IlmImf zlib\n"
|
||||
"\n"
|
||||
" OpenCV modules:\n"
|
||||
" To be built: alphamat aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hdf hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto\n"
|
||||
" Disabled: java python_bindings_generator python_tests world\n"
|
||||
" Disabled by dependency: -\n"
|
||||
" Unavailable: cannops cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv julia matlab ovis python2 python3 sfm viz\n"
|
||||
" Applications: perf_tests\n"
|
||||
" Documentation: NO\n"
|
||||
" Non-free algorithms: NO\n"
|
||||
"\n"
|
||||
" Windows RT support: NO\n"
|
||||
"\n"
|
||||
" GUI: WIN32UI\n"
|
||||
" Win32 UI: YES\n"
|
||||
" VTK support: NO\n"
|
||||
"\n"
|
||||
" Media I/O: \n"
|
||||
" ZLib: build (ver 1.3)\n"
|
||||
" JPEG: build-libjpeg-turbo (ver 2.1.3-62)\n"
|
||||
" SIMD Support Request: YES\n"
|
||||
" SIMD Support: NO\n"
|
||||
" WEBP: build (ver encoder: 0x020f)\n"
|
||||
" PNG: build (ver 1.6.37)\n"
|
||||
" TIFF: build (ver 42 - 4.2.0)\n"
|
||||
" JPEG 2000: build (ver 2.5.0)\n"
|
||||
" OpenEXR: build (ver 2.3.0)\n"
|
||||
" HDR: YES\n"
|
||||
" SUNRASTER: YES\n"
|
||||
" PXM: YES\n"
|
||||
" PFM: YES\n"
|
||||
"\n"
|
||||
" Video I/O:\n"
|
||||
" DC1394: NO\n"
|
||||
" FFMPEG: YES (prebuilt binaries)\n"
|
||||
" avcodec: YES (58.134.100)\n"
|
||||
" avformat: YES (58.76.100)\n"
|
||||
" avutil: YES (56.70.100)\n"
|
||||
" swscale: YES (5.9.100)\n"
|
||||
" avresample: YES (4.0.0)\n"
|
||||
" GStreamer: NO\n"
|
||||
" DirectShow: YES\n"
|
||||
" Media Foundation: YES\n"
|
||||
" DXVA: YES\n"
|
||||
"\n"
|
||||
" Parallel framework: Concurrency\n"
|
||||
"\n"
|
||||
" Trace: YES (with Intel ITT)\n"
|
||||
"\n"
|
||||
" Other third-party libraries:\n"
|
||||
" Eigen: YES (ver 3.4.0)\n"
|
||||
" Custom HAL: NO\n"
|
||||
" Protobuf: build (3.19.1)\n"
|
||||
" Flatbuffers: builtin/3rdparty (23.5.9)\n"
|
||||
"\n"
|
||||
" OpenCL: YES (NVD3D11)\n"
|
||||
" Include path: G:/bb/cv_x64/build/opencv/3rdparty/include/opencl/1.2\n"
|
||||
" Link libraries: Dynamic load\n"
|
||||
"\n"
|
||||
" Python (for build): C:/python-virt/python37/python.exe\n"
|
||||
"\n"
|
||||
" Java: \n"
|
||||
" ant: NO\n"
|
||||
" Java: YES (ver 1.8.0.202)\n"
|
||||
" JNI: C:/Program Files/Microsoft/jdk-11.0.16.101-hotspot/include C:/Program Files/Microsoft/jdk-11.0.16.101-hotspot/include/win32 C:/Program Files/Microsoft/jdk-11.0.16.101-hotspot/include\n"
|
||||
" Java wrappers: NO\n"
|
||||
" Java tests: NO\n"
|
||||
"\n"
|
||||
" Install to: G:/bb/cv_x64/build/build_x86_64/install\n"
|
||||
"-----------------------------------------------------------------\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"General configuration for OpenCV 4.9.0 =====================================\n"
|
||||
" Version control: 4.9.0-265-g79534d600a\n"
|
||||
"\n"
|
||||
" Extra modules:\n"
|
||||
" Location (extra): G:/bb/cv_x64/build/build_x86_64/../opencv_contrib/modules\n"
|
||||
" Version control (extra): 4.9.0-66-g61e23082\n"
|
||||
"\n"
|
||||
" Platform:\n"
|
||||
" Timestamp: 2024-04-27T12:51:52Z\n"
|
||||
" Host: Windows 10.0.22000 AMD64\n"
|
||||
" CMake: 3.23.0\n"
|
||||
" CMake generator: Visual Studio 17 2022\n"
|
||||
" CMake build tool: C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe\n"
|
||||
" MSVC: 1939\n"
|
||||
" Configuration: Debug Release MinSizeRel RelWithDebInfo\n"
|
||||
"\n"
|
||||
" CPU/HW features:\n"
|
||||
" Baseline: SSE SSE2 SSE3\n"
|
||||
" requested: SSE3\n"
|
||||
"\n"
|
||||
" C/C++:\n"
|
||||
" Built as dynamic libs?: NO\n"
|
||||
" C++ standard: 11\n"
|
||||
" C++ Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64/cl.exe (ver 19.39.33523.0)\n"
|
||||
" C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /MD /O2 /Ob2 /DNDEBUG \n"
|
||||
" C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /MDd /Zi /Ob0 /Od /RTC1 \n"
|
||||
" C Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64/cl.exe\n"
|
||||
" C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MD /O2 /Ob2 /DNDEBUG \n"
|
||||
" C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MDd /Zi /Ob0 /Od /RTC1 \n"
|
||||
" Linker flags (Release): /machine:x64 /INCREMENTAL:NO \n"
|
||||
" Linker flags (Debug): /machine:x64 /debug /INCREMENTAL \n"
|
||||
" ccache: NO\n"
|
||||
" Precompiled headers: YES\n"
|
||||
" Extra dependencies: wsock32 comctl32 gdi32 ole32 setupapi ws2_32 G:/bb/cv_x64/build/build_x86_64/install/lib/freetype.lib G:/bb/cv_x64/build/build_x86_64/install/lib/harfbuzz.lib G:/bb/cv_x64/build/build_x86_64/install/lib/libhdf5.lib\n"
|
||||
" 3rdparty dependencies: libprotobuf ade ittnotify libjpeg-turbo libwebp libpng libtiff libopenjp2 IlmImf zlib\n"
|
||||
"\n"
|
||||
" OpenCV modules:\n"
|
||||
" To be built: alphamat aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hdf hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto\n"
|
||||
" Disabled: java python_bindings_generator python_tests world\n"
|
||||
" Disabled by dependency: -\n"
|
||||
" Unavailable: cannops cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv julia matlab ovis python2 python3 sfm viz\n"
|
||||
" Applications: perf_tests\n"
|
||||
" Documentation: NO\n"
|
||||
" Non-free algorithms: NO\n"
|
||||
"\n"
|
||||
" Windows RT support: NO\n"
|
||||
"\n"
|
||||
" GUI: WIN32UI\n"
|
||||
" Win32 UI: YES\n"
|
||||
" VTK support: NO\n"
|
||||
"\n"
|
||||
" Media I/O: \n"
|
||||
" ZLib: build (ver 1.3)\n"
|
||||
" JPEG: build-libjpeg-turbo (ver 2.1.3-62)\n"
|
||||
" SIMD Support Request: YES\n"
|
||||
" SIMD Support: NO\n"
|
||||
" WEBP: build (ver encoder: 0x020f)\n"
|
||||
" PNG: build (ver 1.6.37)\n"
|
||||
" TIFF: build (ver 42 - 4.2.0)\n"
|
||||
" JPEG 2000: build (ver 2.5.0)\n"
|
||||
" OpenEXR: build (ver 2.3.0)\n"
|
||||
" HDR: YES\n"
|
||||
" SUNRASTER: YES\n"
|
||||
" PXM: YES\n"
|
||||
" PFM: YES\n"
|
||||
"\n"
|
||||
" Video I/O:\n"
|
||||
" DC1394: NO\n"
|
||||
" FFMPEG: YES (prebuilt binaries)\n"
|
||||
" avcodec: YES (58.134.100)\n"
|
||||
" avformat: YES (58.76.100)\n"
|
||||
" avutil: YES (56.70.100)\n"
|
||||
" swscale: YES (5.9.100)\n"
|
||||
" avresample: YES (4.0.0)\n"
|
||||
" GStreamer: NO\n"
|
||||
" DirectShow: YES\n"
|
||||
" Media Foundation: YES\n"
|
||||
" DXVA: YES\n"
|
||||
"\n"
|
||||
" Parallel framework: Concurrency\n"
|
||||
"\n"
|
||||
" Trace: YES (with Intel ITT)\n"
|
||||
"\n"
|
||||
" Other third-party libraries:\n"
|
||||
" Eigen: YES (ver 3.4.0)\n"
|
||||
" Custom HAL: NO\n"
|
||||
" Protobuf: build (3.19.1)\n"
|
||||
" Flatbuffers: builtin/3rdparty (23.5.9)\n"
|
||||
"\n"
|
||||
" OpenCL: YES (NVD3D11)\n"
|
||||
" Include path: G:/bb/cv_x64/build/opencv/3rdparty/include/opencl/1.2\n"
|
||||
" Link libraries: Dynamic load\n"
|
||||
"\n"
|
||||
" Python (for build): C:/python-virt/python37/python.exe\n"
|
||||
"\n"
|
||||
" Java: \n"
|
||||
" ant: NO\n"
|
||||
" Java: YES (ver 1.8.0.202)\n"
|
||||
" JNI: C:/Program Files/Microsoft/jdk-11.0.16.101-hotspot/include C:/Program Files/Microsoft/jdk-11.0.16.101-hotspot/include/win32 C:/Program Files/Microsoft/jdk-11.0.16.101-hotspot/include\n"
|
||||
" Java wrappers: NO\n"
|
||||
" Java tests: NO\n"
|
||||
"\n"
|
||||
" Install to: G:/bb/cv_x64/build/build_x86_64/install\n"
|
||||
"-----------------------------------------------------------------\n"
|
||||
"\n"
|
||||
|
||||
Reference in New Issue
Block a user