Honeywell HC900을 Modbus TCP로 직접 폴링 → gRPC → C# 크롤러 → PostgreSQL. 기존 Experion OPC UA 데이터 경로를 HC900 직접 통신으로 대체. - industrial-comm/cpp: C++ Modbus 게이트웨이 (gRPC 서버) - src: C# .NET 8 ASP.NET Core 크롤러 + 웹 UI (3-Layer) - mcp-server: Python FastMCP (RAG/NL2SQL/P&ID) - 다중 컨트롤러(N-Controller) 지원 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
361 lines
4.8 KiB
JSON
361 lines
4.8 KiB
JSON
{
|
|
"drawing": "P10-EQP-BLOCK.dxf",
|
|
"stats": {
|
|
"landmarks": 57,
|
|
"offpage_seeds": 1,
|
|
"ball_anchors": 372,
|
|
"raw_segments": 14764,
|
|
"traces": 2,
|
|
"edges": 3,
|
|
"line_number_attributions": 227
|
|
},
|
|
"landmarks": [
|
|
{
|
|
"tag": "3-10203",
|
|
"x": 2208.0,
|
|
"y": 5262.7
|
|
},
|
|
{
|
|
"tag": "C-10111",
|
|
"x": 1821.6,
|
|
"y": 5322.9
|
|
},
|
|
{
|
|
"tag": "C-10211",
|
|
"x": 2267.4,
|
|
"y": 5322.8
|
|
},
|
|
{
|
|
"tag": "CH-6601",
|
|
"x": 5202.3,
|
|
"y": 5191.6
|
|
},
|
|
{
|
|
"tag": "CHT-6601",
|
|
"x": 5284.8,
|
|
"y": 5199.2
|
|
},
|
|
{
|
|
"tag": "CT-10601",
|
|
"x": 3143.2,
|
|
"y": 5249.2
|
|
},
|
|
{
|
|
"tag": "D-10113",
|
|
"x": 1927.6,
|
|
"y": 5373.9
|
|
},
|
|
{
|
|
"tag": "D-10213",
|
|
"x": 2373.4,
|
|
"y": 5374.4
|
|
},
|
|
{
|
|
"tag": "D-10601",
|
|
"x": 1985.6,
|
|
"y": 5347.3
|
|
},
|
|
{
|
|
"tag": "D-10901",
|
|
"x": 4820.7,
|
|
"y": 5263.2
|
|
},
|
|
{
|
|
"tag": "E-10103",
|
|
"x": 1762.2,
|
|
"y": 5262.7
|
|
},
|
|
{
|
|
"tag": "E-10112",
|
|
"x": 1927.9,
|
|
"y": 5388.7
|
|
},
|
|
{
|
|
"tag": "E-10115A",
|
|
"x": 1789.9,
|
|
"y": 5215.7
|
|
},
|
|
{
|
|
"tag": "E-10115B",
|
|
"x": 1789.5,
|
|
"y": 5260.6
|
|
},
|
|
{
|
|
"tag": "E-10117",
|
|
"x": 1846.8,
|
|
"y": 5326.1
|
|
},
|
|
{
|
|
"tag": "E-10212",
|
|
"x": 2373.7,
|
|
"y": 5388.6
|
|
},
|
|
{
|
|
"tag": "E-10215",
|
|
"x": 2235.3,
|
|
"y": 5258.6
|
|
},
|
|
{
|
|
"tag": "E-10217",
|
|
"x": 2292.6,
|
|
"y": 5326.1
|
|
},
|
|
{
|
|
"tag": "F-10102A",
|
|
"x": 1717.6,
|
|
"y": 5237.1
|
|
},
|
|
{
|
|
"tag": "F-10102B",
|
|
"x": 1717.6,
|
|
"y": 5217.8
|
|
},
|
|
{
|
|
"tag": "F-10202A",
|
|
"x": 2163.4,
|
|
"y": 5237.0
|
|
},
|
|
{
|
|
"tag": "F-10202B",
|
|
"x": 2163.4,
|
|
"y": 5217.7
|
|
},
|
|
{
|
|
"tag": "F-10952",
|
|
"x": 4898.1,
|
|
"y": 5208.1
|
|
},
|
|
{
|
|
"tag": "FCV-10101",
|
|
"x": 4987.2,
|
|
"y": 5232.3
|
|
},
|
|
{
|
|
"tag": "FCV-10113",
|
|
"x": 4991.7,
|
|
"y": 5350.4
|
|
},
|
|
{
|
|
"tag": "FCV-10114A",
|
|
"x": 4993.4,
|
|
"y": 5291.4
|
|
},
|
|
{
|
|
"tag": "FCV-10116",
|
|
"x": 4983.4,
|
|
"y": 5177.5
|
|
},
|
|
{
|
|
"tag": "FCV-10118",
|
|
"x": 4979.0,
|
|
"y": 5350.4
|
|
},
|
|
{
|
|
"tag": "FCV-10201",
|
|
"x": 5029.6,
|
|
"y": 5232.3
|
|
},
|
|
{
|
|
"tag": "FCV-10213",
|
|
"x": 5004.4,
|
|
"y": 5350.4
|
|
},
|
|
{
|
|
"tag": "FCV-10214",
|
|
"x": 5020.4,
|
|
"y": 5292.0
|
|
},
|
|
{
|
|
"tag": "FCV-10216",
|
|
"x": 5042.9,
|
|
"y": 5177.5
|
|
},
|
|
{
|
|
"tag": "FCV-10218",
|
|
"x": 5017.0,
|
|
"y": 5350.4
|
|
},
|
|
{
|
|
"tag": "FIT-10101",
|
|
"x": 1736.1,
|
|
"y": 5229.0
|
|
},
|
|
{
|
|
"tag": "FIT-10128",
|
|
"x": 2625.4,
|
|
"y": 5384.8
|
|
},
|
|
{
|
|
"tag": "FIT10213BA-01",
|
|
"x": 2319.7,
|
|
"y": 5378.0
|
|
},
|
|
{
|
|
"tag": "IBC TANK",
|
|
"x": 2122.0,
|
|
"y": 5291.0
|
|
},
|
|
{
|
|
"tag": "KA-10901",
|
|
"x": 0.0,
|
|
"y": 0.0
|
|
},
|
|
{
|
|
"tag": "KD-10901",
|
|
"x": 0.0,
|
|
"y": 0.0
|
|
},
|
|
{
|
|
"tag": "KF-10901A",
|
|
"x": 4831.2,
|
|
"y": 5225.0
|
|
},
|
|
{
|
|
"tag": "KF-10901B",
|
|
"x": 4831.7,
|
|
"y": 5205.5
|
|
},
|
|
{
|
|
"tag": "KR-10901A",
|
|
"x": 4864.7,
|
|
"y": 5215.7
|
|
},
|
|
{
|
|
"tag": "KR-10901B",
|
|
"x": 4864.7,
|
|
"y": 5205.4
|
|
},
|
|
{
|
|
"tag": "PCV-10111",
|
|
"x": 5008.0,
|
|
"y": 5177.4
|
|
},
|
|
{
|
|
"tag": "PCV-10211",
|
|
"x": 5017.0,
|
|
"y": 5177.4
|
|
},
|
|
{
|
|
"tag": "SC-10128",
|
|
"x": 2670.0,
|
|
"y": 5345.1
|
|
},
|
|
{
|
|
"tag": "SC-9128",
|
|
"x": 2647.4,
|
|
"y": 5029.3
|
|
},
|
|
{
|
|
"tag": "SP-10601",
|
|
"x": 1979.2,
|
|
"y": 5350.9
|
|
},
|
|
{
|
|
"tag": "T-10100",
|
|
"x": 2037.4,
|
|
"y": 5299.6
|
|
},
|
|
{
|
|
"tag": "T-10101",
|
|
"x": 1725.6,
|
|
"y": 5273.5
|
|
},
|
|
{
|
|
"tag": "T-10200",
|
|
"x": 2483.2,
|
|
"y": 5299.5
|
|
},
|
|
{
|
|
"tag": "T-10201",
|
|
"x": 2171.9,
|
|
"y": 5273.2
|
|
},
|
|
{
|
|
"tag": "T-10221",
|
|
"x": 2418.4,
|
|
"y": 5243.4
|
|
},
|
|
{
|
|
"tag": "T-10800",
|
|
"x": 4028.5,
|
|
"y": 5225.5
|
|
},
|
|
{
|
|
"tag": "T-3210",
|
|
"x": 2035.6,
|
|
"y": 5357.5
|
|
},
|
|
{
|
|
"tag": "TCV-10111",
|
|
"x": 4995.3,
|
|
"y": 5232.3
|
|
},
|
|
{
|
|
"tag": "TCV-10211",
|
|
"x": 5047.9,
|
|
"y": 5232.3
|
|
}
|
|
],
|
|
"traces": [
|
|
{
|
|
"seed": "OFFPAGE T-10100→(OFFPAGE_CONNECTOR_LEFT_TO_RIGHT)",
|
|
"start": [
|
|
1662.94,
|
|
5221.19
|
|
],
|
|
"source_tag": "T-10100",
|
|
"line_number": "P-10149-40A-F1A-n",
|
|
"landmarks_in_order": [
|
|
"T-10100"
|
|
],
|
|
"pipe_segments": 13,
|
|
"commodity_passed": 0,
|
|
"blocks_through": 0,
|
|
"gap_bridges": 2,
|
|
"recirculation": null
|
|
},
|
|
{
|
|
"seed": "P-10101 discharge",
|
|
"start": [
|
|
1702.52,
|
|
5217.69
|
|
],
|
|
"source_tag": "P-10101",
|
|
"line_number": null,
|
|
"landmarks_in_order": [
|
|
"P-10101",
|
|
"F-10102B",
|
|
"F-10102A",
|
|
"FIT-10101"
|
|
],
|
|
"pipe_segments": 39,
|
|
"commodity_passed": 6,
|
|
"blocks_through": 3,
|
|
"gap_bridges": 1,
|
|
"recirculation": null
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "P-10101",
|
|
"to": "F-10102B",
|
|
"type": "process",
|
|
"via_seed": "P-10101 discharge",
|
|
"line_number": null
|
|
},
|
|
{
|
|
"from": "F-10102B",
|
|
"to": "F-10102A",
|
|
"type": "process",
|
|
"via_seed": "P-10101 discharge",
|
|
"line_number": null
|
|
},
|
|
{
|
|
"from": "F-10102A",
|
|
"to": "FIT-10101",
|
|
"type": "process",
|
|
"via_seed": "P-10101 discharge",
|
|
"line_number": null
|
|
}
|
|
]
|
|
} |