From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001 From: wenxiangchao <wenxiangchao@ihengxin.com.cn> Date: 星期一, 02 十一月 2026 18:00:14 +0800 Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点 --- docs/TapProject_代码结构.drawio | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 0 deletions(-) diff --git "a/docs/TapProject_\344\273\243\347\240\201\347\273\223\346\236\204.drawio" "b/docs/TapProject_\344\273\243\347\240\201\347\273\223\346\236\204.drawio" new file mode 100644 index 0000000..f9304d6 --- /dev/null +++ "b/docs/TapProject_\344\273\243\347\240\201\347\273\223\346\236\204.drawio" @@ -0,0 +1,93 @@ +<mxfile host="Electron" modified="2026-09-10T00:00:00.000Z" agent="Codex" version="24.7.17" type="device"> + <diagram id="tap-overview" name="01-鎬讳綋鍒嗗眰缁撴瀯"> + <mxGraphModel dx="1680" dy="1188" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1680" pageHeight="1188" math="0" shadow="0" background="#FFFFFF"> + <root> + <mxCell id="0"/> + <mxCell id="1" parent="0"/> + <mxCell id="p1_title" value="TapProject 浠g爜鎬讳綋鍒嗗眰缁撴瀯" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Microsoft YaHei;fontSize=18;fontStyle=1;fontColor=#17365D;" vertex="1" parent="1"><mxGeometry x="60" y="20" width="1180" height="36" as="geometry"/></mxCell> + <mxCell id="p1_subtitle" value="闈欐�佹簮鐮佸揩鐓э細45 涓唴閮ㄥ伐绋嬶綔.NET Framework 4.7.2锝滃疄绾匡紳杩愯/鎵胯浇閾捐矾锛岀伆鑹茶櫄绾匡紳缂栬瘧鎴栨鏋朵緷璧�" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#666666;" vertex="1" parent="1"><mxGeometry x="60" y="56" width="1500" height="24" as="geometry"/></mxCell> + <mxCell id="p1_host_layer" value="WPF 瀹夸富涓庡惎鍔ㄥ眰" style="swimlane;horizontal=1;startSize=36;rounded=1;whiteSpace=wrap;html=1;fillColor=#F4F8FC;strokeColor=#7EA6D8;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=14;fontStyle=1;fontColor=#17365D;" vertex="1" parent="1"><mxGeometry x="60" y="95" width="1560" height="185" as="geometry"/></mxCell> + <mxCell id="p1_app" value="<b>App / TestPlatform</b><br>鍗曞疄渚嬨�佹棩蹇椼�佽瑷�銆佽祫婧�<br>绋嬪簭闆嗚В鏋愪笌鍚姩" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#17365D;spacing=8;" vertex="1" parent="1"><mxGeometry x="95" y="145" width="285" height="95" as="geometry"/></mxCell> + <mxCell id="p1_login" value="<b>Login + UserInfo</b><br>SQLite 鐢ㄦ埛/瑙掕壊/鑿滃崟<br>鐢熸垚鏉冮檺涓婁笅鏂�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#17365D;spacing=8;" vertex="1" parent="1"><mxGeometry x="425" y="145" width="285" height="95" as="geometry"/></mxCell> + <mxCell id="p1_loader" value="<b>LoadingWindow + PluginLoader</b><br>鏉冮檺鑿滃崟鏍戙�佸弽灏勮杞� DLL<br>娉ㄥ叆鏃ュ織/閰嶇疆骞跺垵濮嬪寲" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#17365D;spacing=8;" vertex="1" parent="1"><mxGeometry x="755" y="145" width="320" height="95" as="geometry"/></mxCell> + <mxCell id="p1_host" value="<b>PanuonWindow + MainTabControl</b><br>IPluginContainer銆佽彍鍗曚笌椤电鎵胯浇<br>Active / DeActive / Close 鐢熷懡鍛ㄦ湡" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#17365D;spacing=8;" vertex="1" parent="1"><mxGeometry x="1120" y="145" width="450" height="95" as="geometry"/></mxCell> + <mxCell id="p1_plugin_layer" value="涓氬姟涓庡姛鑳芥彃浠跺眰" style="swimlane;horizontal=1;startSize=36;rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9F0;strokeColor=#E6A23C;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=14;fontStyle=1;fontColor=#7F6000;" vertex="1" parent="1"><mxGeometry x="60" y="315" width="1560" height="300" as="geometry"/></mxCell> + <mxCell id="p1_burnin" value="<b>鑰佸寲涓讳笟鍔★紙鏍稿績锛�</b><br><br>Plugin.BurnIn<br>鐐変綋/绌翠綅銆佹壂鐮併�丳LC銆丮ES<br>娴嬭瘯鐘舵�併�佹洸绾裤�丼QLite/CSV<br><br>Plugin.CurrentSensorControl<br>Plugin.DOControl / DODriverControl" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FCE4D6;strokeColor=#ED7D31;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#843C0C;spacing=10;" vertex="1" parent="1"><mxGeometry x="95" y="365" width="340" height="205" as="geometry"/></mxCell> + <mxCell id="p1_test_plugins" value="<b>娴嬭瘯鎵ц涓庣紪杈�</b><br><br>Plugin.TsExecution<br>Plugin.StandardTest<br>Plugin.TestPlanEditor<br>Plugin.SeqEditor<br>Util.ManualDebug" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#7F6000;spacing=10;" vertex="1" parent="1"><mxGeometry x="470" y="365" width="340" height="205" as="geometry"/></mxCell> + <mxCell id="p1_data_plugins" value="<b>鏁版嵁銆佺粨鏋滀笌鎶ュ憡</b><br><br>Plugin.TestResult<br>Plugin.DataViewer / DataBoard<br>Plugin.QualityReport<br>HMI.DataViewer<br>HMI.LogViewer" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E2F0D9;strokeColor=#70AD47;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#375623;spacing=10;" vertex="1" parent="1"><mxGeometry x="845" y="365" width="340" height="205" as="geometry"/></mxCell> + <mxCell id="p1_manage_plugins" value="<b>绯荤粺绠$悊涓庡叾浠栨彃浠�</b><br><br>Menu / Setting / Parameter<br>AlarmInfo / ModelManage<br>JarUI / UICollection<br><br>鑿滃崟涓庣敤鎴锋潈闄愬喅瀹氬疄闄呰杞介泦鍚�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E4DFEC;strokeColor=#8064A2;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#4C3768;spacing=10;" vertex="1" parent="1"><mxGeometry x="1220" y="365" width="350" height="205" as="geometry"/></mxCell> + <mxCell id="p1_framework_layer" value="骞冲彴妗嗘灦涓庡叕鍏辫兘鍔涘眰" style="swimlane;horizontal=1;startSize=36;rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#7F8C8D;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=14;fontStyle=1;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="60" y="650" width="1560" height="200" as="geometry"/></mxCell> + <mxCell id="p1_core" value="<b>HMI.Core</b><br>IPlugin 濂戠害銆佸疄浣撱�佽缃�<br>Manager銆丼QLite銆佽矾寰�/璇█" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E6E6;strokeColor=#7F8C8D;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#37474F;spacing=8;" vertex="1" parent="1"><mxGeometry x="95" y="700" width="280" height="105" as="geometry"/></mxCell> + <mxCell id="p1_base" value="<b>HMI.Base</b><br>PluginLoader<br>PluginControl / MaskControl" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E6E6;strokeColor=#7F8C8D;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#37474F;spacing=8;" vertex="1" parent="1"><mxGeometry x="405" y="700" width="260" height="105" as="geometry"/></mxCell> + <mxCell id="p1_ui" value="<b>HMI.UI / StdControl</b><br>鍏叡鎺т欢銆佹牱寮忋�佽浆鎹㈠櫒<br>WPF/WinForms 鎵胯浇" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E6E6;strokeColor=#7F8C8D;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#37474F;spacing=8;" vertex="1" parent="1"><mxGeometry x="695" y="700" width="280" height="105" as="geometry"/></mxCell> + <mxCell id="p1_util" value="<b>HMI.Util + SimpleUtil</b><br>閰嶇疆銆佹棩蹇椼�佷覆鍙c�丮SMQ<br>搴忓垪鍖栦笌閫氱敤鏁版嵁璁块棶" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E6E6;strokeColor=#7F8C8D;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#37474F;spacing=8;" vertex="1" parent="1"><mxGeometry x="1005" y="700" width="280" height="105" as="geometry"/></mxCell> + <mxCell id="p1_ts_support" value="<b>TsSupport / TapApi</b><br>ITestExecutionWrapper<br>TestStand / OpenTAP 閫傞厤" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E6E6;strokeColor=#7F8C8D;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#37474F;spacing=8;" vertex="1" parent="1"><mxGeometry x="1315" y="700" width="255" height="105" as="geometry"/></mxCell> + <mxCell id="p1_infra_layer" value="璁惧銆侀�氫俊銆佹暟鎹笌澶栭儴绯荤粺" style="swimlane;horizontal=1;startSize=36;rounded=1;whiteSpace=wrap;html=1;fillColor=#F2F8F8;strokeColor=#4F9DA6;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=14;fontStyle=1;fontColor=#1F4E5F;" vertex="1" parent="1"><mxGeometry x="60" y="890" width="1560" height="250" as="geometry"/></mxCell> + <mxCell id="p1_plc_adapter" value="<b>PLC 閫傞厤</b><br>PLCHelper / S7Driver" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DDEBF7;strokeColor=#5B9BD5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="100" y="945" width="300" height="65" as="geometry"/></mxCell> + <mxCell id="p1_plc_ext" value="瑗块棬瀛� S7 PLC / 鑰佸寲鐐夋帶鍒跺櫒" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#5B9BD5;dashed=1;fontFamily=Microsoft YaHei;fontSize=11;" vertex="1" parent="1"><mxGeometry x="100" y="1045" width="300" height="55" as="geometry"/></mxCell> + <mxCell id="p1_comm_adapter" value="<b>閫氫俊涓� I/O</b><br>OPC / Modbus TCP / DIO / TCP / Serial" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DDEBF7;strokeColor=#5B9BD5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="480" y="945" width="300" height="65" as="geometry"/></mxCell> + <mxCell id="p1_comm_ext" value="鎵爜鍣ㄣ�佷紶鎰熷櫒銆佹澘鍗′笌缃戠粶璁惧" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#5B9BD5;dashed=1;fontFamily=Microsoft YaHei;fontSize=11;" vertex="1" parent="1"><mxGeometry x="480" y="1045" width="300" height="55" as="geometry"/></mxCell> + <mxCell id="p1_exec_adapter" value="<b>娴嬭瘯鎵ц閫傞厤</b><br>TapWrapper / TeststandWrapper" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DDEBF7;strokeColor=#5B9BD5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="860" y="945" width="300" height="65" as="geometry"/></mxCell> + <mxCell id="p1_exec_ext" value="NI TestStand / OpenTAP锛堝閮ㄦ簮宸ョ▼褰撳墠缂哄け锛�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#C9A227;dashed=1;fontFamily=Microsoft YaHei;fontSize=11;" vertex="1" parent="1"><mxGeometry x="860" y="1045" width="300" height="55" as="geometry"/></mxCell> + <mxCell id="p1_data_adapter" value="<b>鏁版嵁涓庝紒涓氶泦鎴�</b><br>SQLite / CSV / Config / Log / HTTP" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DDEBF7;strokeColor=#5B9BD5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="1240" y="945" width="300" height="65" as="geometry"/></mxCell> + <mxCell id="p1_data_ext" value="鏈湴鏂囦欢涓庢暟鎹簱 / MES 鏈嶅姟" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#5B9BD5;dashed=1;fontFamily=Microsoft YaHei;fontSize=11;" vertex="1" parent="1"><mxGeometry x="1240" y="1045" width="300" height="55" as="geometry"/></mxCell> + <mxCell id="p1_e1" value="鍚姩" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p1_app" target="p1_login"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e2" value="鐧诲綍鎴愬姛" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p1_login" target="p1_loader"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e3" value="瑁呰浇瀹屾垚" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p1_loader" target="p1_host"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e4" value="鎵胯浇涓庡垏鎹�" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="p1_host" target="p1_plugin_layer"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e5" value="鎻掍欢濂戠害涓庡叕鍏辫兘鍔�" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=open;endFill=0;strokeColor=#808080;strokeWidth=1.5;dashed=1;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="p1_plugin_layer" target="p1_framework_layer"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e6" value="閫傞厤涓庢寔涔呭寲" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=open;endFill=0;strokeColor=#808080;strokeWidth=1.5;dashed=1;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="p1_framework_layer" target="p1_infra_layer"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#4F9DA6;strokeWidth=1.5;" edge="1" parent="1" source="p1_plc_adapter" target="p1_plc_ext"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#4F9DA6;strokeWidth=1.5;" edge="1" parent="1" source="p1_comm_adapter" target="p1_comm_ext"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#4F9DA6;strokeWidth=1.5;" edge="1" parent="1" source="p1_exec_adapter" target="p1_exec_ext"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p1_e10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#4F9DA6;strokeWidth=1.5;" edge="1" parent="1" source="p1_data_adapter" target="p1_data_ext"><mxGeometry relative="1" as="geometry"/></mxCell> + </root> + </mxGraphModel> + </diagram> + <diagram id="tap-runtime" name="02-杩愯鏃朵笌鑰佸寲涓婚摼璺�"> + <mxGraphModel dx="1680" dy="1188" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1680" pageHeight="1188" math="0" shadow="0" background="#FFFFFF"> + <root> + <mxCell id="0"/> + <mxCell id="1" parent="0"/> + <mxCell id="p2_title" value="TapProject 杩愯鏃惰杞戒笌鑰佸寲娴嬭瘯涓婚摼璺�" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Microsoft YaHei;fontSize=18;fontStyle=1;fontColor=#17365D;" vertex="1" parent="1"><mxGeometry x="60" y="20" width="1300" height="36" as="geometry"/></mxCell> + <mxCell id="p2_subtitle" value="鍏崇郴鏉ヨ嚜 App/Login/PluginLoader/MainTabControl 涓� Plugin.BurnIn銆丳lugin.TsSupport 鐨勯潤鎬佷唬鐮侊紱閮ㄧ讲閰嶇疆鍜岃澶囧弬鏁版湭鑱旀満楠岃瘉" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#666666;" vertex="1" parent="1"><mxGeometry x="60" y="56" width="1500" height="24" as="geometry"/></mxCell> + <mxCell id="p2_start_layer" value="A. 鍚姩銆佽璇佷笌鎻掍欢瑁呰浇锛堜粠宸﹀埌鍙筹級" style="swimlane;horizontal=1;startSize=36;rounded=1;whiteSpace=wrap;html=1;fillColor=#F4F8FC;strokeColor=#7EA6D8;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=14;fontStyle=1;fontColor=#17365D;" vertex="1" parent="1"><mxGeometry x="60" y="100" width="1560" height="335" as="geometry"/></mxCell> + <mxCell id="p2_app" value="<b>App</b><br>鍗曞疄渚嬩繚鎶�<br>鏃ュ織/璇█/璧勬簮鍒濆鍖�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="90" y="175" width="215" height="105" as="geometry"/></mxCell> + <mxCell id="p2_login" value="<b>Login</b><br>鏍¢獙鐢ㄦ埛<br>鏌ヨ瑙掕壊涓庤彍鍗曟潈闄�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="345" y="175" width="215" height="105" as="geometry"/></mxCell> + <mxCell id="p2_user" value="<b>UserInfo</b><br>Permissions<br>AllPermissions" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="600" y="175" width="200" height="105" as="geometry"/></mxCell> + <mxCell id="p2_loading" value="<b>LoadingWindow</b><br>AlarmUtil.Init<br>PluginLoader.LoadMenuAndPlugin" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="840" y="175" width="250" height="105" as="geometry"/></mxCell> + <mxCell id="p2_reflect" value="<b>鍙嶅皠瑁呰浇</b><br>Assembly.LoadFrom<br>Activator.CreateInstance" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="1130" y="175" width="220" height="105" as="geometry"/></mxCell> + <mxCell id="p2_host" value="<b>PanuonWindow</b><br>MainTabControl<br>Active / DeActive / Close" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D9EAF7;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="1390" y="175" width="195" height="105" as="geometry"/></mxCell> + <mxCell id="p2_sqlite" value="<b>SQLite database.db</b><br>user / role / menu / permission 鍏崇郴" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E2F0D9;strokeColor=#70AD47;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="345" y="330" width="455" height="70" as="geometry"/></mxCell> + <mxCell id="p2_start_e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;" edge="1" parent="1" source="p2_app" target="p2_login"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_start_e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;" edge="1" parent="1" source="p2_login" target="p2_user"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_start_e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;" edge="1" parent="1" source="p2_user" target="p2_loading"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_start_e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;" edge="1" parent="1" source="p2_loading" target="p2_reflect"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_start_e5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#1F4E79;strokeWidth=2;" edge="1" parent="1" source="p2_reflect" target="p2_host"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_start_e6" value="璇诲彇" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#70AD47;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" edge="1" parent="1" source="p2_sqlite" target="p2_login"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_burn_layer" value="B. Plugin.BurnIn 鑰佸寲娴嬭瘯涓婚摼璺�" style="swimlane;horizontal=1;startSize=36;rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9F0;strokeColor=#E6A23C;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=14;fontStyle=1;fontColor=#7F6000;" vertex="1" parent="1"><mxGeometry x="60" y="470" width="1560" height="655" as="geometry"/></mxCell> + <mxCell id="p2_burnin" value="<b>BurnInUI</b><br>鑰佸寲鐐�/绌翠綅缂栨帓<br>鍚姩銆佸仠姝€�佺姸鎬佷笌鍛婅" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FCE4D6;strokeColor=#ED7D31;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#843C0C;spacing=8;" vertex="1" parent="1"><mxGeometry x="90" y="545" width="260" height="115" as="geometry"/></mxCell> + <mxCell id="p2_engine" value="<b>ITestExecutionWrapper</b><br>鎸夊簭鍒楁墿灞曞悕閫夋嫨寮曟搸<br>.tapplan 鈫� OpenTAP" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#7F6000;spacing=8;" vertex="1" parent="1"><mxGeometry x="420" y="545" width="255" height="115" as="geometry"/></mxCell> + <mxCell id="p2_tap" value="<b>TapWrapper</b><br>TestPlanReader / Plan.Execute<br>StationGlobalsManager" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="725" y="505" width="230" height="95" as="geometry"/></mxCell> + <mxCell id="p2_ts" value="<b>TeststandWrapper</b><br>NI AxApplicationMgr<br>Sequence / StationGlobals" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="725" y="625" width="230" height="95" as="geometry"/></mxCell> + <mxCell id="p2_msg" value="<b>UIMessage 浜嬩欢鎬荤嚎</b><br>EventCode 10014<br>鏂规硶鐮佹洿鏂扮姸鎬�/璁℃暟/鏇茬嚎/鎻愮ず" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E4DFEC;strokeColor=#8064A2;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#4C3768;spacing=8;" vertex="1" parent="1"><mxGeometry x="1005" y="545" width="250" height="115" as="geometry"/></mxCell> + <mxCell id="p2_cells" value="<b>DataTable / SingleCell</b><br>鐐変綋涓庣┐浣嶆ā鍨�<br>鐘舵�併�佹潯鐮併�佹祴閲忓�笺�佸浘琛ㄦ暟鎹�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E2F0D9;strokeColor=#70AD47;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#375623;spacing=8;" vertex="1" parent="1"><mxGeometry x="1310" y="545" width="260" height="115" as="geometry"/></mxCell> + <mxCell id="p2_config" value="<b>浜у搧涓庤繍琛岄厤缃�</b><br>ParameterManager / ProductManager<br>Scanner.ini / Count.ini / 涓诲簭鍒�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E6E6;strokeColor=#7F8C8D;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="90" y="760" width="260" height="100" as="geometry"/></mxCell> + <mxCell id="p2_plc" value="<b>PLCHelper.S7Context</b><br>BurnInControler<br>鐐変綋銆佺┐浣嶄笌鍐峰嵈鐘舵�佽鍐�" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DDEBF7;strokeColor=#5B9BD5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="405" y="760" width="260" height="100" as="geometry"/></mxCell> + <mxCell id="p2_scan" value="<b>鎵爜涓� MES</b><br>SerialPort + 鏉$爜瑙f瀽<br>HTTP 鑾峰彇 PN / 杩囩珯鏍¢獙" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DDEBF7;strokeColor=#5B9BD5;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="720" y="790" width="260" height="100" as="geometry"/></mxCell> + <mxCell id="p2_output" value="<b>缁撴灉涓庡彲瑙嗗寲</b><br>SQLite / CSV / Count.ini<br>LiveCharts 鏇茬嚎銆佹祴璇曠粨鏋滀笌鎶ヨ" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E2F0D9;strokeColor=#70AD47;fontFamily=Microsoft YaHei;fontSize=11;spacing=8;" vertex="1" parent="1"><mxGeometry x="1310" y="760" width="260" height="100" as="geometry"/></mxCell> + <mxCell id="p2_ext_boundary" value="澶栭儴杩愯渚濊禆锛氳タ闂ㄥ瓙 PLC锝滀覆鍙f壂鐮佸櫒锝淢ES HTTP 鏈嶅姟锝淣I TestStand 鎴� OpenTAP 杩愯鏃躲�傚綋鍓嶆簮鐮佸揩鐓ф湭鍖呭惈 OpenTAP/UILib/UtilLib 澶栭儴婧愬伐绋嬶紝涓旀湭鍋氳澶囪仈鏈洪獙璇併��" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#C9A227;dashed=1;fontFamily=Microsoft YaHei;fontSize=11;fontColor=#7F6000;spacing=10;align=left;" vertex="1" parent="1"><mxGeometry x="90" y="985" width="1480" height="80" as="geometry"/></mxCell> + <mxCell id="p2_e1" value="鍒濆鍖栨墽琛岃鍥�" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#C65911;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p2_burnin" target="p2_engine"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e2" value="OpenTAP" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#C65911;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p2_engine" target="p2_tap"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e3" value="鍏朵粬搴忓垪" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#C65911;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p2_engine" target="p2_ts"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e4" value="缁熶竴浜嬩欢" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#8064A2;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p2_tap" target="p2_msg"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e5" value="缁熶竴浜嬩欢" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#8064A2;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p2_ts" target="p2_msg"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e6" value="鏇存柊妯″瀷" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#8064A2;strokeWidth=2;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="p2_msg" target="p2_cells"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e7" value="钀藉簱/瀵煎嚭" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#70AD47;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="p2_cells" target="p2_output"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e8" value="璇诲彇" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#808080;strokeWidth=1.5;dashed=1;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" edge="1" parent="1" source="p2_config" target="p2_burnin"><mxGeometry relative="1" as="geometry"/></mxCell> + <mxCell id="p2_e9" value="鎺у埗/閲囬泦" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="p2_burnin" target="p2_plc"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="220" y="720"/><mxPoint x="535" y="720"/></Array></mxGeometry></mxCell> + <mxCell id="p2_e10" value="鏉$爜/杩囩珯" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#5B9BD5;strokeWidth=1.5;fontFamily=Microsoft YaHei;fontSize=10;labelBackgroundColor=#FFFFFF;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="p2_burnin" target="p2_scan"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="220" y="735"/><mxPoint x="850" y="735"/></Array></mxGeometry></mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> -- Gitblit v1.9.1