106 lines
4.9 KiB
Markdown
106 lines
4.9 KiB
Markdown
# PTOP 소스 → 산출물 필드 매핑
|
||
|
||
> 이 파일은 소스 파일과 산출물 필드 간 1:1 매핑 인덱스.
|
||
> 다른 PC에서 스킬 실행 시 이 파일을 보고 어떤 소스를 읽어야 할지 판단한다.
|
||
|
||
---
|
||
|
||
## A. PLC-PC 인터페이스 신호정의서
|
||
|
||
출력: `02.설계/IO_DB설계/PLC_PC_인터페이스_신호정의서.md`
|
||
|
||
| 시트 | 소스 파일 | 읽어야 할 심볼 |
|
||
|---|---|---|
|
||
| 통신 사양 | `Device/PLC/PLCContoller.Config.cs` | `ePLCNetType`, `PLCMMapFileType`, 베이스 주소 설정 |
|
||
| PC→PLC (Write) | `Device/PLC/PLCController.Address.cs` | `eBitOutput`, `eWordOutput` enum 전수 |
|
||
| PLC→PC (Read) | `Device/PLC/PLCController.Address.cs` | `eBitInput`, `eWordInput` enum 전수 |
|
||
| 핸드셰이크 시퀀스 | `Sequences/SeqAutoRunPTOP.cs` | `CheckPageNo`, `CheckRecipeNoComp`, `CheckPageNoComp`, `WaitWeldingStart`, `WriteWeldComplete` |
|
||
|
||
**PLC 주소 규칙**:
|
||
- `eBitOutput` offset → `M70000 + offset`
|
||
- `eBitInput` offset → `M70500 + offset`
|
||
- `eWordOutput` offset → `D70000 + offset`
|
||
- `eWordInput` offset → `D70500 + offset`
|
||
- 두 번째 블록(0x65~, 양극 P) → `M70600~` (현재 미사용)
|
||
|
||
---
|
||
|
||
## B. 모션축·IO 맵 정의서
|
||
|
||
출력: `02.설계/IO_DB설계/모션축_IO맵_정의서.md`
|
||
|
||
| 시트 | 소스 파일 | 읽어야 할 심볼 |
|
||
|---|---|---|
|
||
| 통신·제어 구성 | `EquipmentSetup.cs` | `RegisterDevices()` 내 모든 `Register*Device` 호출 |
|
||
| 모션축 정의 | `docs/architecture.md §4` | AuroraACS(X/Y), AuroraMotionBoard(Z), RTC(Scanner) |
|
||
| I/O 맵 DI | `Device/IO/PAIX_PTOP.cs` | `ePrismaticDIAddress` enum — 채널 번호·신호명 |
|
||
| I/O 맵 DO | `Device/IO/PAIX_PTOP.cs` | `ePrismaticDOAddress` enum — 채널 번호·신호명 |
|
||
|
||
**모션축 주의사항**:
|
||
- X/Y 행정·속도·Home 방식 = 소스에 없음 → 전부 `(제안)` 표기.
|
||
- `AuroraACS` = EtherCAT SPiiPlus. `AuroraMotionBoard` = Ajin 보드.
|
||
|
||
---
|
||
|
||
## C. 기능명세서 / UI 설계
|
||
|
||
출력: `02.설계/UIUX_기능설계/기능명세서.md`
|
||
|
||
| 탭 | 소스 파일 | 읽어야 할 심볼 |
|
||
|---|---|---|
|
||
| 메뉴 구조 | `EquipmentSetup.cs` | `RegisterViews()` 전수 (MenuId, ViewType, AuthLevel) |
|
||
| MainView | `Views/Main/UCMainAutoRun*.cs` | 버튼·이벤트·바인딩 목록 |
|
||
| RecipeView | `Views/Recipe/UCRecipe*.cs` | ActivateRecipe, RecipeChangeHistory, UCModel |
|
||
| ManualView | `Views/Manual/UCManualScannerOperation*.cs` | ScannerOperation, ModelFinder |
|
||
| MonitoringView | `Views/Monitoring/UCPLC*.cs`, `UCIOInterfaceView.cs` | PLCBit, PLCWord, IOInterface |
|
||
| Sequence 흐름 | `Sequences/SeqAutoRunPTOP.cs` | Builder() 노드 목록 순서대로 |
|
||
|
||
**8탭 고정** (xlsx ref 호환): OverView / MainView / RecipeView / ManualView / DeviceView / SettingView / VisionView / Sequence 흐름
|
||
|
||
---
|
||
|
||
## D. 제어 시퀀스·인터락 정의서
|
||
|
||
출력: `02.설계/시퀀스_인터록/제어시퀀스_인터락_정의서.md`
|
||
|
||
| 섹션 | 소스 파일 | 읽어야 할 심볼 |
|
||
|---|---|---|
|
||
| 메인 시퀀스 노드 흐름 | `SeqAutoRunPTOP.cs` | `Builder()` 내 모든 AddNode·AddTransition |
|
||
| 단계별 동작 요약 | `SeqAutoRunPTOP.cs` | 각 노드 메서드 구현 첫 줄 주석·로그 |
|
||
| 인터락 정의 | `Settings/LaserInterlockSetting.cs` | `HeadThetaInterlockEnabled`, `ThetaTolerance` |
|
||
| 인터락 정의 (추가) | `SeqAutoRunPTOP.cs` | `LaserInterlock`, `PLC_HEAVY_ALARM_STATUS` 처리 |
|
||
| 정지/에러 처리 | `SeqAutoRunPTOP.cs` | `OnStopped`, `OnForceError`, `ResumeMode` |
|
||
|
||
**Resume(bit15) 흐름**: `PLC_WELD_READY_REQ(0x0F)` 수신 → 팝업 + Auto→Manual 전환 → `PC_WELD_READY_ACK(0x0F)` ON → 1사이클 후 OFF.
|
||
|
||
---
|
||
|
||
## E. TactTime 산정서
|
||
|
||
출력: `02.설계/시퀀스_인터록/TactTime_산정서.md`
|
||
|
||
| 단위동작 | 소스 파일 | 상수/값 |
|
||
|---|---|---|
|
||
| Page 3회 검증 | `SeqAutoRunPTOP.cs` | `PAGE_VERIFY_DELAY_MS` × 3 (≈200ms×3 = 600ms) |
|
||
| 준비 응답 | `SeqAutoRunPTOP.cs` | `WELD_START_DELAY_MS` (200ms) + 소신호(5ms) |
|
||
| Gate ON delay | `SeqAutoRunPTOP.cs` | `laserEmissionGateDelayMs` = 15ms |
|
||
| 실제 발진 | `SeqAutoRunPTOP.cs` | 로그 "TactTime: [Nms]" — 예시 285ms (라인 수 의존) |
|
||
| Jump 복귀 | `SeqAutoRunPTOP.cs` | `Thread.Sleep(500)` |
|
||
| 완료비트 | `SeqAutoRunPTOP.cs` | 50ms + 5ms |
|
||
| Pre/Post Scout | `SeqAutoRunPTOP.cs` | `SCOUT_PROCEED_DELAY_MS` = 100ms/회 (M70509 ON 시) |
|
||
|
||
---
|
||
|
||
## F. _task.md 진행률 기준 (현황 기준)
|
||
|
||
| 단계 | 상태 | 진행률 | 근거 |
|
||
|---|---|---|---|
|
||
| 1.분석/협의 | 해야 할 일 | 0% | 사양서 미입수 |
|
||
| 2.설계 | 업무 진행중 | 85% | xlsx 4종 완료, 모션 파라미터 미확정 |
|
||
| 3.제작 | 해야 할 일 | 0% | CheckList 미작성 |
|
||
| 4.셋업 | 해야 할 일 | 0% | 현장 셋업 미완료 |
|
||
| 5.양산 | 업무 진행중 | 40% | 운영매뉴얼 3종 완료, 나머지 미완료 |
|
||
| 6.CS | 해야 할 일 | 0% | 미착수 |
|
||
|
||
> 이 값은 스킬 실행 시점 기준. 재실행 시 소스·폴더 현황 재확인 후 갱신.
|