Revert "Reapply "archive 삭제""

This reverts commit aec9ae8c43.
This commit is contained in:
2026-04-09 10:45:31 +09:00
parent 7225e53760
commit 4510784946
245 changed files with 3799 additions and 0 deletions
@@ -0,0 +1,19 @@
AMHS (Automated Material Handling Systems: 자동화 물류 반송 시스템)
Clean WAY를 통해서 FOUP을 천정반송 하는 OHT (천장에 매달려있는 레일형태의 물류설비)
FOUP을 보관하는 역활을 하는 ==STB==, AZFS와 STOCKER
FOUP을 층간반송하는  ZIP TOWER로 구성되어 있습니다.
(ZIP TOWER는 하이닉스에서 쓰는 단어, 일반적으론 리프터라고 한다고 함.)
**반송 장비** 라는 말도 AMHS 장비를 의미하는 것 같음.
- FAB내에 자재들을 반송 / 운송하는 장비
- 사람에 의한 반송이 아닌 자동화 장비들에 의한 반송
반송장비에 해당되는 설비들
- [[Stocker]]
- [[OHT]] (Overhead Hoist Transport)
- [[OHS]] (Overhead Shuttle)
- [[Lifter]]
- Conveyor
- AGV (Automated Guided Vehicles)
- RGV (Rail Guided Vehicles)
@@ -0,0 +1,6 @@
alternate(대체) [[Storage]](저장소)
- 반송 명령 수행 중 반송 완료가 불가능할 경우 대체 저장소로 저장되어 대기함.
- 반송 명령의 최종 목적지를 기준으로 등록 가능
( 최종 목적지 직전 저장소에서 갈 수 있는 곳이어야 함 )
- 복수개의 Alternate Storage 등록 가능 ( Priority 설정하여 순서 정하기가 가능함 )
@@ -0,0 +1,15 @@
Bridge Group을 클릭하면 [[Transport Machine]] Management가 뜬다.
이는 Bridge가 [[Transport Machine]] 이라는 개념에 포함되는 개념이라서 그렇다.
Bridge = Convayer = [[InterRail]] Machine 이며
이들은 대개 별도의 통신을 하지 않는다. (하는 경우가 아에 없는건 아니라고 함)
컨베이어벨트를 생각해보자.
컨베이어벨트는 작동, 정지 두가지만 잘 되면 된다.
그래서 SECS 통신등의 통신수단으로 연결하지 않는다.
( 상태보고 같은걸 할 필요가 없으니까 )
이 설비들은 Ports가 없다.
( 컨베이어위에 물건을 올리거나 회수하기만 하면 되니까 port라는게 따로 있을 필요가 없다 )
![[Pasted image 20231215161230.png]]
@@ -0,0 +1,5 @@
크레인, 포크레인팔처럼 로봇팔같은걸 의미한단다..
보통 [[Stocker]] 내부에 있으며
- LP(Load Port)에 있는 물류를 내부의 Shelf로 옮기거나
- Shelf에 있는 물류를 OP(Out Port)로 옮겨주는 역할을 한다.
@@ -0,0 +1,18 @@
| Service | 기 능 | |
| ---- | ---- | ---- |
| Route Service | § 모든 반송 경로 탐색 (available + unavailable + banned)<br>§ 최적 반송 경로 탐색 | |
| | | |
| Transfer Service | § 반송 가능한 목적지 결정<br>§ 반송 명령 Queue 및 반송 상태 관리 | |
| | | |
| Resource Service | § Machine (Storage, Rail, InterStorage, InterRail, Process) 상태 관리<br>§ Unit (Port, Vehicle, Crane, Shelf) 상태 관리 | |
| | | |
| Material Service | § Carrier 상태 관리<br>§ Carrier 위치 관리 및 탐색 기능 제공 | |
| | | |
| History Service | § Carrier 별 반송 명령 및 단윈 반송 History 관리<br>§ 장비 별 In / Out History 관리 | |
| | | |
| Reconcile Service | § Reconcile for Transfer/Carrier<br>§ Reconcile for ActiveZone (only for STKSEM)<br>§ Reconcile for Vehicle (only for IBSEM) | |
| | | |
| Alarm Service | § Alarm Set/Cleared 처리<br>§ AlarmReport Set/Cleared 처리 | |
| | | |
| Interface Service | § MES 에 대한 다양한 메시지 SET  제공 (Object, String, xml)<br>§ 다양한 ESB 지원<br>§ AMHS 장비 Interface (STOCKER-SEM, IB-SEM 지원) | |
| | | |
@@ -0,0 +1,32 @@
### Green MCS
- 반도체 FPD 공장에 최적화된 자동 반송 시스템 (MCS를 구현한 aim 제품)
- 각 설비의 상태와 반송을 담당하는 Framework
### GreenMCS 특징
- MES로 부터 받은 반송 명령에 대한 Route 설정 및 반송 장비 관리
( MES와 연동되는 기능 자체도 GreenMCS의 특징인가보다 )
- FAB내 상황 변화에 효과적 대처, 효율적인 Dynamic Routing 설정
- [[AMHS]] 장비 및 Carrier에 대한 실시간 모니터링
( AMHS장비란 OHT, STB, AZFS, Stocker 등의 물류설비들을 모두 통칭함 )
- 최적의 반송 경로 탐색 알고리즘
- Host & AMHS 인터페이스 제공
![[Pasted image 20231205131420.png]]
- **T**rans **S**erver (TS)
( 자재, 반송, 경로 등 모든 물류 자재의 반송 관련 기능 수행 )
- **E**quipment **I**nterface **S**erver (EI, ES)
( AMHS Interface, SECS Message <-> XML Doc 맵핑 및 파싱, 전송 )
**C**ontrol **S**erver (CS)
( MCS App들에 Heartbeat 체크, Service & Workflow reload, App Control, AMHS Control )
- **D**aemon **S**erver (DS)
( async 하게 작동해야 하는 동작들을 수행함. awake alternated transport job, garbage data delete, log backup 등 )
- MES Interface
- Database
- UI (Client)
![[Pasted image 20231205132711.png]]
![[Pasted image 20231205133918.png]]
![[Pasted image 20231205133940.png]]
![[Pasted image 20231205133951.png]]
@@ -0,0 +1,5 @@
[[InterStorage]], InterRail 처럼 종류에 Inter가 들어가는 설비들의 경우
'SECS 통신을 별도로 할 필요가 없고 [[AMHS]]설비간의 물류 반송을 지원하는 설비' 라고 요약할 수 있음.
대표적인 InterRail 설비로는 Convayer가 있으며,
물류가 어디서 어디로 가는지 그런거 전혀 알 필요 없이 그저 컨베이어 벨트를 돌리기만 하면 되는 설비를 통칭한다고 생각하면 됨.
@@ -0,0 +1,12 @@
InterStorage, [[InterRail]] 처럼 종류에 Inter가 들어가는 설비들의 경우
'SECS 통신을 별도로 할 필요가 없고 [[AMHS]]설비간의 물류 반송을 지원하는 설비' 라고 요약할 수 있음.
InterStorage설비는 스스로 별도의 통신을 하지 않고 단순반복 작업을 진행하며 별도의 Shelf 저장공간을 가지지 않는 설비를 의미함.
다만, Interstorage설비의 대표격인 Lifter의 경우 Interstorage설비로 구분을 하긴 하지만
엄밀히 말하자면 Lifter가 SECS통신을 하지 않는 것은 아니기 때문에 잘못된 구분처럼 보여진다고 함.
( 아마 층간반송을 통해 Storage와 Storage사이에서 물류를 반송해주는 특성 때문에
Interstorage로 구분한 것 같음 )
구분을 잘못해서 그런 것인진 몰라도
Interstorage라는 용어 자체를 잘 쓰지 않는 추세라고 함.
@@ -0,0 +1,5 @@
[[AMHS]]설비의 한 종류이며
수평적인 물류 반송이 아닌 수직적인 물류반송을 담당하는 반송설비이다.
엘리베이터? 같은 느낌이라고 하며
층간반송을 담당하는 반송설비이다.
@@ -0,0 +1,23 @@
**M**aterial **C**ontrol **S**ystem
- 물류 제어(반송[^물건 따위를 운반하여 보냄.] ) 시스템
Trans Server (TS)의 역할을 보면 아래 두가지가 있고
- MES로 부터 요청 받은 XML Message에 관한 반송 생성 및 반송 로직 수행
- 반송 명령과 Carrier에 관한 모든 이벤트는 MES로 보고
nanoTrans (Green MCS)의 특징에 보면 이런내용이 있는걸로 봐서
- MES로 부터 받은 반송 명령에 대한 Route 설정 및 반송 장비 관리
- 최적의 반송 경로 탐색 알고리즘
MCS의 가장 중요한 기능중 하나로
#### MES가 알려준 물류의 최종 목적지로 실질적으로 반송을 한다.
가 될 수 있겠다.
목적지로 물류를 반송하기 위해서는 목적지까지의 경로를 알아야 하고
경로내에 있는 AMHS설비들에게 명령을 내릴 수 있어야 한다.
그래서 두번째 MCS의 기능으로
#### AMHS설비들에 실질적인 명령을 내릴 수 있어야 한다.
가 있겠다.
이 두가지 주요 업무를 수행하기 위해서 AMHS 장비 관리 및 인터페이스가 가능해야하고
기준정보 관리 및 상태정보 관리를 위해 DB가 필요하다.
@@ -0,0 +1,36 @@
※ nanoTrans 및 Green MCS 기준이 아님
![[MCS Architecture.png]]
-> 대략 이런 느낌의 것을 구현해내면 MCS System을 구현했다고 할 수 있지 않을까 싶음.
이걸 구현해낸 aim사 제품이 nanoTrans (greenMCS) 인거고..
**( 이 기능이 MCS의 전부는 절대 아니고 일부분일 것임. )**
nanoTrans Functionality 문서를 보면 16가지의 기능이 정의되어 있는데
- Dynamic Route -> 물류 반송 중간중간마다 동적으로 최적경로를 재탐색 하겠다. (**물류 반송**)
- Fixed Route -> 사용자가 정의한 고정된 경로로만 반송하겠다. (**물류 반송**)
- Load Balancing -> AMHS설비에 과부하 걸리지 않게 밸런싱 하겠다. (**물류 반송**)
- Alternate Storage -> 반송명령 수행불가 시 어떻게 처리할것인가? (**물류 반송**, 예외 처리)
- Recovery desination -> Idle Carrier의 반송 경로 Block 방지기능 (**물류 반송**)
- Fore Transfer -> 반송명령 수행 불가 시 예외처리 (**물류 반송**, 예외 처리)
- Carrier Process Type -> Carrier에 따라 반송 (불)가능한 AMHS 설비를 설정하겠다. **물류 반송**)
- Bi-Directional Node -> InOut port 강제 제어, 다양한 장비 Scenario 대응 (**물류 반송**, 예외처리)
- Transfer Option -> 반송 옵션, 여러가지 예외상황 대응 가능 (**물류 반송**, 예외처리)
- Change Destination -> 진행중인 반송명령의 최종 목적지 변경 (**물류 반송**, 예외처리)
- Predictive Transfer -> 반송시간 단축을 위한 옵셔널 기능 (**물류 반송**)
- Alarm Management -> 알람 발생 및 알람 확인 기능
- Storage Full-rate Management -> Storage 장비의 Carrier 저장량 조절 기능
- Log Analyzing -> TransServer의 Log를 저장
- Rich History -> MCS 명령 수행 이력 관리
- High Performance -> 뭔지 잘 모르겠음
16가지 중 11가지가 물류 반송에 관련된 기능임.
물류 반송 기능이 MCS의 핵심 기능이라고 봐도 되는 것 같고
물류 반송 기능을 제공하기 위한 서브기능들 몇가지가 추가된 상태로 분석된다.
즉, 위에 그려놓은 반송 관련 기능이 MCS의 거의 전부라고 봐도 될 듯하다.
약어도 보면 Material Control System, 물류 제어 시스템이다.
자동으로 최적의 경로를 구해서 효율적인 Load Balancing을 하면서
어지간한 예외상황에 대해서도 대처가 가능한 물류 반송 자동화 시스템
( 물론 사용자를 위한 추가기능도 추가해놓은 )
이라고 하면 되겠다.
@@ -0,0 +1,14 @@
![[2023-11-15 MCS 교육 필기]]
![[Pasted image 20231215134055.png]] TM18 (Factory)
└ ![[Pasted image 20231215134110.png]] ARRAY (Area)
└ ![[Pasted image 20231215134125.png]] Array2f (Shop) (Shop과 이름이 Array2f로 같은거임.)
└ ![[Pasted image 20231215134135.png]] Array2f (Bay)
├ ![[Pasted image 20231215134204.png]] BRIDGE (보통 Convayer를 의미한다함.)
├ ![[Pasted image 20231215134208.png]] OHS
├ ![[Pasted image 20231215134218.png]] PROCESS
└ ![[Pasted image 20231215134228.png]] STOCKER
Level 구분은 Factory -> Area -> Shop -> Bay 까지 있고
그 아래에 있는 BRIDGE, OHS, PROCESS, STOCKER는 각 설비들을
타입별로 grouping 해 놓은 것이라고 생각하면 된다.
@@ -0,0 +1,11 @@
OverHead Shuttle[[24.01.04#^shuttle]]
Overhead Shuttle
머리위에서 특정지점을 빠르게 오고가는 시스템
Rail을 따라서 물류를 반송하는 반송설비.
물류를 Rail위에 올리고 반송하기 때문에 무거운 물류 운송에 [[OHT]]보다 유리하다.
[[Transport Machine]]이자 [[Rail Machine]]에 포함된다.
@@ -0,0 +1,11 @@
Overhead Hoist Transport
Overhead Hoist Transport
머리위에서 들어(끌어)올리는 반송
머리위에 있으며 인형뽑기 집게같은걸로 들어올리거나 내려주는 식으로
물류를 반송하는 반송설비.
물류가 집게에 잡혀서 매달려있는 형태여서 매우 무거운 물류는 옮기기 힘들다.
[[Transport Machine]]이자 [[Rail Machine]]에 포함된다.
@@ -0,0 +1,9 @@
일반적인 MCS에서 사용되는 용어는 아니라고 함.
TM18에서만 사용하는 특별한 설비종류일수도 있고,
아무튼 뭔지 모르겠다는 답변을 받음.
(Storage로 분류되어 있는걸로 봐선 Stocker Machine의 일종이지 않을까?)
이름을 잘못지은 것 같다.
O(ver)H(ead) 어쩌구저쩌구는 뭔가 RailMachine의 일종처럼 들리니까..
@@ -0,0 +1,10 @@
MCS에서 Process는 ==생산설비== (AMHS 설비를 제외한, 실제 가동되면서 product를 생산하는)를 의미
product는 반드시 완제품이 아니고 여러가지 형태일 수 있다.
MCS에서 Process는 Equipment라고 보면 되나보다..
(Machine 기준정보에 Process - Equipment 라고 되어있음.)
설비가 process를 완료하기전과 완료후가 외형상 변화가 없는 경우도 있고
( 계측설비 같은것들 )
그냥 씻기만 하고 내보내는 경우도 있다. ( WET 설비 같은것들 )
process 완료 전,후가 엄청 큰 차이를 보이는 경우도 당연히 있고..
@@ -0,0 +1,7 @@
OHS를 누르면 Rail Machine Management 메뉴가 열림.
OHS, OHT는 Transport Machine에 포함되긴 하지만
Rail Machine이 조금 더 좁은 범위의 분류이기 떄문에
Transport Machine Management대신 Rail Machine Management가 열리는 것 같다.
Rail (선로)이 있고 이 Rail을 통해 물류를 반송하는 설비들을 Rail Machine이라 하는 것 같다.
@@ -0,0 +1,15 @@
Side Track Buffer
하이닉스에서만 사용하는 반송설비의 종류
[[Stocker]] (STK) 와 비슷하게 동작하는 Storage Machine의 일종이고
STK와 다르게 설비 내부에 Crane이 없고 OHT가 직접 반송을 해줌.
OHT 반송 설비의 레일(트랙) 옆에 위치하는..
느낌은 Shelf인데(저장소인데),
Foup에 질소를 충전하는 곳? 으로 사용되는 것 같습니다.
찾아보니, UTB (Under Track Buffer) 라는 용어도 있습니다
트랙 옆에 저장(보관)하면 Side STB
트랙 아래에 저장(보관하면 Under) UTB ??
@@ -0,0 +1,8 @@
( Shelf(선반), Zone ) -> 사실 Shelf랑 [[Zone]]이라고 괄호쳐놓은 이유를 잘 모르겠음
- Stocker 자체 저장 공간 (선반), Carrier를 보관하는 장소
-> 이건 아마 Shelf 라는 단어의 의미인 것 같음.
- Crane에 의해 Carrier를 이동, 저장
==Carrier를 저장해놓거나 Carrier를 필요로하는 생산 설비나 다른 AMHS 설비들에게 넘겨주는 역할을 함==
-> Stocker에는 1개 이상의 Crane이 있고 이 Crane이 Input / Output port들로 Carrier를 옮겨줌.
@@ -0,0 +1,9 @@
storage, 저장 공간
Storage = [[Stocker]] / STB(ZFS, INVENTORY, UTS, AZFS)
내부에 foup을 저장할 수 있는 설비들을 통칭하는 듯 함.
ZFS, INVENTORY, UTS와 AZFS는 [[STB]]의 한 종류일 가능성이 높음.
(STB가 하는 일을 하는건 맞는데 다르게 처리하거나 하는 식)
아마 STB처럼 OHT에 의해 Foup을 적재하는 식으로 동작하는 녀석들을 말하는 것 같음
@@ -0,0 +1,13 @@
[[Transport Job]]이 택배 송장이라면
Transport command는 택배의 상세 배송 이력이라고 보면 되겠음.
현재 진행중인 Trnasport command는 당연히 하나만 존재할 수 있는것이고
지금 현재 이 물류가 지금 당장 어떻게 반송되어야 하는지에 대한 정보를 가짐.
아래 이미지에서 하나하나의 상세 이력.. 저런 느낌인듯
지금 이 foup이 A1STK0100 의 Shelf에서 OP로 이동해야한다.
이런 상세내역 자체를 의미.
==Transport command는 Transport Job이 있어야만 존재할 수 있다.==
![[Pasted image 20240131113033.png]]
@@ -0,0 +1,17 @@
Carrier에 내려진 반송명령 그 자체를 의미함.
택배의 송장과 비슷하다고 보면 될 듯 합니다.
///////////////////////
출발지: A1STK0100
목적지: A1STK2500
///////////////////////
어디에서 어디로 가야한다. 그 자체를 의미하며
목적지까지 어떻게 가는지에 대한 상세반송은 [[Transport Command]]를 확인해야 함.
Carrier 하나당 하나의 TransportJob만 존재할 수 있음.
MCS는 Lot 단위까지 물류를 관리하지 않지만
MES가 알려준 Lot ID에 대해서는 정보를 가지고 있기는 함.
그래서 Transport Job History 검색할 때 lot ID로도 검색이 가능한 것 같음.
근데 그럼 Transport Command도 lot ID 단위로 검색 가능해야 한 것 아닌가..?
@@ -0,0 +1,10 @@
MCS에서 Equipment의 종류를 나누는 대분류중 하나.
크게 두가지로 분류된다.
Process Machine , Transport Machine
Transport Machine은 반송과 관련된 설비 모두를 의미한다.
Transport Machine
├ [[Rail Machine]]
└ [[Stocker]] Machine ( Storage )
@@ -0,0 +1,4 @@
Port / Shelf ( = STBPort) / Crane / Vehicle / Shuttle
Equipment, AMHS 설비들에 포함되는 모듈들 중
따로 관리포인트가 필요한 것들을 통칭하는 용어
@@ -0,0 +1,8 @@
일종의 Grouping 단위이며 zone에는 여러가지 것들이 포함될 수 있다.
( Storage Machine이 될 수도, 그 Machine의 특정 Unit이 될 수도 있고 여러개일 수 있다. )
사용자가 특정한 조건으로 묶은 개체들에 대해서 동시에 어떠한 설정을 하고자 할 때 쓴다.
예를들면
설비의 port 여러개를 하나의 zone단위로 묶고 이 zone을 특정 설비의 Alternate Storage로
지정할 수 있다.
@@ -0,0 +1,2 @@
sys랑 system은 oracle DB에서 관리자 계정을 의미
@@ -0,0 +1,13 @@
cmd -> sqlplus -> 계정명 입력에 'sys as sysdba' 입력 -> password 없이 엔터
SQL > 로 커맨드라인이 약간 바뀜
show user // 현재 접속한 유저 확인 명령어
USER is "SYS" 라고 나오면 성공
alter user sys identified by 1234; // sys 계정 암호를 1234로 변경
User alterd. // 변경 완료
conn sys/1234 as sysdba; //변경한 암호로 접속 시도
Connected. // 접속 완료
@@ -0,0 +1,14 @@
[Listen]
tibrvlisten 서비스명 데몬명 네트워크명 서브젝트명
```bash
tibrvlisten -service "8200" -daemon "tcp:10.20.9.114:7500" -network ";225.11.11.2" PJS.P2.MES.DEV.OLED.PEMsvr
```
[Send]
tibrvsend 서비스명 데몬명 네트워크명 서브젝트명 할말
```bash
tibrvsend -service "8200" -daemon "tcp:10.20.9.114:7500" -network ";225.11.11.2" PJS.EDO.MES.DEV.OLED.PEMsvr test
```
@@ -0,0 +1,16 @@
Server
config -> TRANS4 -> startup -> database.properties
interface.properties ( environment, server.domain.(mcs).host 개인꺼로 바꿔주기 )
( 위 두 파일 설정만 맞춰주면 됨 )
UI
TM18_Client -> plugins -> config.TM18 -> ui.properties
UI_Listener -> MCS 입장에서의 Client들이 보내는 TIB 메시지를 받음
Host_Listener -> '' Host가 보내는 TIB 메시지를 받음
MCS에서 JOB은 출발지, 최종목적지에 대한 정보를 의미
@@ -0,0 +1,17 @@
IB: OHT OHS 등
SEM?
Stocker SEM 이러면 뭔가 Stocker 동작 규약? 그런 뜻인가 봄
TSC??
Transfer SC
SC? System Control? <---> Semi Conductor?
OP: Stocker Crane이 닿을 수 있는 최종 ==Out Port==
LP: OHT, OHS에 붙어있는 Port ==Loading Port==
OP <-> LP는 알아서 움직일 수 있다.
EAP가 반도체설비 대신 물류관련(IB, SC) 설비를 관리하고,
반송관련 Order를 내릴 수 있어야 하기 때문에 별도의 DB를 가진다고 생각하면 될 것 같음.
@@ -0,0 +1,8 @@
Area
FACTORY -> AREA -> <U>SHOP</U> -> BAY
(Hynix) 잘안씀 많이씀
INTERSTORAGE 에서 SHELF를 뺀 것 (LIFTER)
@@ -0,0 +1,16 @@
MCS가 TIB으로 누구랑 연결되어 있는지 확인 필요 (이전 교육내용중에 있었음, 교육자료 보면 될듯)
AbstractMessage
└TransferMessage
└ TransportMessage
둘 다 반송관련 메시지임. 개별 스토커내부의 반송명령에는 TransportMessage를 쓴다.
모든 반송명령 메시지는 TransferMessage (혹은 그 자식 클래스)로 처리한다.
이 둘의 구분은 명확하지 않다. 이부분에 대해서는 명확하게 확정해주는게 필요하다.
Heuristic Delay는 별도의 Daemon Server를 통해 주기적으로 계산한다.
(하지만 이 기능 자체를 잘 안쓴다고 함)
alternate, recovery 두가지의 대체반송이 있음
alternate는 job이 있고 recovery는 별도의 job이 없다
@@ -0,0 +1,35 @@
SEM 문서를 기반으로 개발진행
SEMI SPEC 문서랑 굉장히 비슷해보임
MCS가 close connection 하는것과
UI에서 offline 처리하는 것은 다르다. (S1F15)
Carrier cancel은 동작중일때는 캔슬불가
(Cancel은 취소, Abort는 중단)
차세대MCS에서는
Client <-> MCS WebServer 이렇게만 통신하게 할 예정
이 둘은 HTTP를 쓸거같고 MCS WebServer가 TS든 CS든 얘네들하고 TIB통신을 할듯함
기존 MCS에서는
UI(Client) <-> TS, CS 두곳과 TIB통신으로 직접 통신했었음.
기존 UI는 메인 화면 띄울때 버벅이는게 있었고
설비수가 천대를 넘어가는 큰 사이트의 경우에는
처음 화면 띄울때 켜놓고 나갔다와야할 정도라고..
한번띄워놓으면 그다음부터는 좀 낫다고..
Crane이 out of service되면 Crane이 접근가능한 port들도 같이 out of service가 된다.
(Crane이 없으면 해당 port들에 접근할 방법이 없으므로)
Crane이 in service가 되면 port들도 같이 in service가 된다.
(Machine)AlarmSet
UnitAlarmSet
AlarmCleared 순서로? 세트로 발생된다함
Machine Alarm, Unit Alarm이 각각 의미하는 바가 있나봄
Machine은 설비 그자체,
Unit은 Machine에 포함된 Port같은 유닛들을 의미
Rail OHT는 (일반적으로)Port가 없고
Interail은 있다. ?
@@ -0,0 +1,9 @@
컨플, 지라 확인 (메일 보낸거중에 있음)
RCP 걷어내는건가?
-> ㅇㅇ
WBS문서 보는방법을 확인하자
-> 해야할 일을 정의하고 일정을 어느정도 산정해봄
WBS기준으로 JIRA 작성됨
@@ -0,0 +1,5 @@
Front 화면 설계
오븐써서 그린다는 거 같음.
설계의 범위가 어느정도까지여야 하는가?
![[2023-12-14 Client 회의]]
@@ -0,0 +1,6 @@
WEB UI 설계 - WEB UI 화면 설계
'이력 조회' '사용자 관리' 'Application 관리' 'Data 조회' '기준 정보 관리 - 모델링' 화면 설계하면 됨.
화면 설계?
: 카카오 오븐으로 프로토타입 제작
@@ -0,0 +1,13 @@
1. 프로젝트 신규투입인원 오리엔테이션
2. 프로젝트 관련 질답 ( 컨플에 자유롭게 게시글작성해도 됨, )
3. ==2024.01.11 목요일날 WFB, WFL 관련 교육받아야 함.==
4. WBS Gant-Chart에 상위분류에 담당자는 하위분류에 있는 업무들을 관리해야함.
5. 화면 개발 관련 정기 회의 : 매주 화,목 오전 10시 30분. 회의실은 예약하는데로 공유
Backend: 성능개선, IOBridge_SECS 사용으로 변경
Frontend: Web으로 변경, UX 개선 (기존과 차이가 많이 나면 안됨)
**기존에 UI app을 Web버전으로 변경한 적이 있었는데
(너무 많이 변해버린 UI/UX로 인해) 못쓰겠다고 해서 다 걷어낸 이력이 있다고 함.
지금 쓰고있는 .NET버전의 UI대비 많이 변하면 안됨**
@@ -0,0 +1,26 @@
aim의 DB설계컨셉
1. 기준정보 테이블 따로, 현재 데이터 따로
2. ?
key join
NXMCS의 DB Table Hierachy
FACTORY
AREA (SHOP이랑 BAY는 어디로??)
EQUIPMENT
Unit
Port
Shelf
ProhibitTransport: 현재 위치 기준, 반송 불필요 Bay 연결 정보
Transport Command : 실제 설비로 내려지는 반송명령 그 자체를 의미
Transport Job은 무엇?
Transfer -> Transport 용어 변경,통일
InterNode != IntraNode, 개념설명 x
Inter와 Intra 단어 뜻 그대로 사용되는 개념인가봄
MCS에서의 Node는 Equipment 이하의 개념들을 의미하는가?
( Equipment, Unit, Port, Shelf )
@@ -0,0 +1,15 @@
기준 정보 관리 - 모델링 start , end date 다시 할당하기
업무들에 할 일 형태로 설명에 있는 업무들 추가해주기
2월9일까지 할당량 다 할 수 있는 일정으로 업데이트
반송설비
-> 저장 + 반송
-> only 반송
두가지로 나뉨.
machine -> equipment 로 용어 통일
@@ -0,0 +1,7 @@
6월까지 (6월30일) 개발 완료
FrontEnd는 일단 4월까지 (아마 3월31일까지 인듯) 해보고
안되면 김동균선임 추가 투입
2월5일~8일 화면 설계 Review
@@ -0,0 +1,18 @@
1. 디자인 시안 리뷰 (제안)
- micro-copy = 좋아요 ? 좋아요 기능을 이야기하는 것 같음. UX에서 쓰는 은어같은것인가봄
- aim제품의 UI 통일성이 부족함
-> A set (Factory Modeler와 비슷한 시안) 제안
-> Q. B set는 그럼 뭐랑 비슷한가요? -> 개방감을 위주로 새로 한 시안인듯
( 못 물어보겠다 회의분위기가.. )
- UI / UX 제안인데, 설계 다 끝나가고 리뷰를 다음주에 하는데 지금 제안을 주는게 맞는것인가?
- UI / UX 제안서를 봤는데 기존이랑 크게 달라지는게 없는거 같은데?
( C# 프로그램에서 WebApp으로 바뀌는데 WebApp으로 구현하기엔 화면 하나에 표현되는 정보가 너무 많은 경우가 있는 것 같음. )
-> 이거에 대해서는 특별히 해결책이 제시되지도, 의논되지도 않았음
- 이번 NXMCS 프로젝트 부터는 퍼블리싱이 먼저 나오고 front 개발 진행되는 식으로
바뀔수 있으..려나?
- favorite 메뉴를 원래 C# UI Program에서 관리한거 같음. user table에 추가해서 이제 서버가 관리하는 식으로 바뀔 것 같음.
- 우측 information 탭 사용함
- properties -> select 한 grid item에 대한 properties를 나열해주는 우측 information
- 설비, 유닛별 메모기능 -> Excel 메모처럼 보여져야 한다?
화면 시안 A, B 중 맘에드는거 하나 골라놓자.
@@ -0,0 +1,17 @@
Q: 컨텍스트 메뉴는 한땀한땀 만든것인지?
: ㅇㅇ (노가다)
Online Remote는 Heart Beat 기능의 일종인가?
( Are you there? 같은 그런 느낌의 )
서버에게 정보 전송 -> reply 오거나 안오기까지
Wating Reply -> Success -> Success 상태를 알려주기 위한 문자열
-> Timeout
요런 순서로 버튼 클릭 시 동작이 잘 작동되고 있는지 알려주는 아이디어
progress button
@@ -0,0 +1,4 @@
JIRA 업데이트 해줄 것
화면설계 피드백
-
@@ -0,0 +1,62 @@
el, trans 이름
MCS Management 우클릭메뉴 없음
SECS Interface 화면
그리드에서 바로 데이터를 수정하는건 안쓰는걸로
보관함
프로퍼티 다시그리기
페이징 빼기
Resource Management
아이템에 따라 화면 다 내가 다 그려줘야함
State
다른화면 참고 필요
AlarmSpec management
버튼 다른화면이랑 비교해서 바꾸고
모달에서 정보 수정하도록
Alternate Storage management
트리에서 우클릭, 그리드에서 우클릭 (Alternate Storage 그리드)
Empty Carrier Balance Management
EQP ID가 PK라서 GroupName만 받아서 Group을 만들 수 없다.
DB Table 구조 excel 확인하면서 그려야함. (
- MCS Application Management
→ 기존 구조를 따르되, 기존 Primary/Secondary에서 MCS 갯수대로 넘버링하고, UI로 표시함. (페이징)
→ 우클릭 메뉴에 대한 내용이 누락되어 확인하여 추가 예정.
- SECS Interface Management
→ AS-IS DB가 아닌 최신화 된 DB 컬럼 기준으로 설계할 것.
→ Grid Edit방식으로 설계했는데, 다른 Create/Modify/Delete 패턴을 참조하여 수정할 것.
→ SECS Reference 화면 설계 누락되어 확인하여 추가 예정.
- Resource Managment
→ 좌측 트리 클릭 대상(Type)에 따라 조회된 데이터가 출력 되는 화면이 다름. Main에서 넘어오는 경우도 있음. (논의 필요)
→ State 부분도 이미 결정된 내용을 따라 재설계할 것.
- AlarmSpec Manangement
→ Create/Modify/Delete 패턴 참조하여 재설계할 것.
- Alternate Storage Management
→ 기존 팝업 화면에서 한페이지에서 조작할 수 있도록 설계함. (Modal 방식이 나을지는 좀 더 고민 필요.)
→ Alternate Storage 그리드에 우클릭 컨텍스트 메뉴 추가.
→ Undo 제거, 순서 변경 기능 추가할 것.
- Recovery Dest Management
→ Alternate Storage Management와 동일한 UI 패턴으로 설계함.
- Empty Carrier Balance Management
→ Add New Group 버튼 클릭시 AS-IS와 동일하게 Modal로 추가할수 있도록 함. 단, Machine 정보도 같이 입력할 수 있도록 Modal창에 선택 화면 추가할 것.
→ 기타 이미 의사결정된 UI 요소들을 참조하여 재설계 할 것.
- Port Priorty Management
- MachineAlias Management
- UnitAlias Management
- User
→ User 메뉴, 권한 부분은 논의 필요.
- 이력 조회
→ Grid base의 단순한 구조로 변경할 것.
@@ -0,0 +1,5 @@
따라가기가 힘들다..
컨플런스 회의록 댓글에 변경되는 사항들에 대해 등록을 하겠음.
: 컨플런스 알람이 오는 것 같은데, 한번 알람왔을 때 확인 안하면 알람표식이 꺼지는거같음.
@@ -0,0 +1,12 @@
반응형 화면 대응
→ 현재, 가로 사이즈 1280 이하 디바이스에서는 대응하지 않는 문제가 있음.
→ 1280 이하에서는 상단 메뉴 위치를 왼쪽에 대응 하는 방식으로 적용한다.
퍼블리싱 우선순위
→ 현재, 메뉴 기준으로 우선순위가 설정되어 있고, 그에 따라 개발 계획이 잡혀있음.
→ 레이아웃 → 메뉴 순으로 개발 우선순위를 두어야 함.
- Client 개발
→ 소스 충돌 방지 위해 퍼블리싱 소스를 Tag Branch단위로 관리한다.
( )
→ 화면 개발시 이를 참고하여 개발 한다.
@@ -0,0 +1,8 @@
Jira에 하위 일감을 그때그때 잡은 job에 추가해서 진행
sprint5 시작할 때 개발자 추가 투입 검토 예정
모달 기존 WFL거 말고 새로 만들어서 씀
@@ -0,0 +1,12 @@
1. 모달창 전부 제대로 그리기
2. 우측 properties 창 properties 아닌거 같은것들 수정
( 전정현선임 69page )
3. Alias가 Unit, Port, Zone, Equipment 네가지로 나뉘어짐.
( 네개를 한 화면에서 할 수 있을까? )
4. History 새로 그리기 (EAS 화면 기준으로)
( The Latest: 10초, 30초, 1분, 5분, 10분, 30분 )
( 검색시간 제한이 필요함. 너무 많은 데이터를 조회하면 안됨 )
( 하이닉스는 10분 초과 시 confirm 화면을 한번 띄움 )
http://211.60.157.241:8090/pages/viewpage.action?pageId=50075248
History 검색조건 중요도 순서
@@ -0,0 +1,4 @@
- UX는 비슷하게, UI는 새롭게 (????)
- 동적 화면 구성에 대해 고민해봐라 (????)
- Multi Select 방식을 고려해봐라 (???????)
@@ -0,0 +1,9 @@
- 플랫폼개발팀에서 만든 로그뷰어를 써야한다. ( 로그뷰어 개발이 아니고 있던 플랫폼에 사용가능한 상태인지 확인하고 적용할 것 )
- 원래 있던 버튼, 바로가기 등이 없어질 경우 Relation Menu 등을 통해 찾아갈 수 있는 방향으로 함.
- MCS는 기준정보가 정해지기 전에 레이아웃 모델링을 한다.
( 레이아웃을 먼저 그리고 나서야 설비모델링 등록을 할 수 있다 )
: 레이아웃 그리는 곳에서 설비를 먼저 등록을 하고 레이아웃에 등록된 데이터를 DB에 있는 실제데이터랑 매핑을 하는 방식임
- 화면에서 공통적으로 쓰는 버튼같은것들은 템플릿을 동일하게 맞춰주면 좋겠음.
@@ -0,0 +1,86 @@
#### 1. 전달 받은 소스 및 설치 파일
1. JDK1.7 이상 ( 32bit 필요)
- jdk-8u381-windows-i586.exe
2. Tibco 8.3 이상 ( 32bit 필요)
- TIB_rv_8.4.3_win_x86_vc10.zip
3. MCS_TM18_개발환경구성
1). DATABASE
- database script file
2). SERVER
- eclipse.zip → IDE
- TM18_server.zip → config setup 되어 있는 workspace
3). UI
- layout → 기존 사용하는 모델링 layout
- TM18_client.zip → client setup 및 실행 파일
#### 2. 설치
- JDK 설치
- TibRV 설치
- Eclipse 압축풀기
#### 3. DB Set
- Oracle 11g 설치
- Script를 통해 테이블 생성 및 더미 데이터 추가
( CreateTableScript_TM18.sql 실행, TM18 Insert Script.sql 실행 )
주의사항: TM18 Insert Script.sql은 파일크기가 너무 커서 sql devleopment에서 못염
( IOExcepion 발생 ) 텍스트 에디터에서 연 다음 분할해서 실행시켜야함 (예를들어 10만줄씩?)
#### 4. 환경설정
![[2023-11-08 MCS 교육 필기]]
eclipse 실행
- workspace 위치 → TM18_server.zip 압축푼 디렉토리
- greenmcs-entry > config > TRANS4 > startup > interface.properties 수정 하고 저장
```xml
//interface.properties
..
## Basic
product=GREENMCS
site=TIANMA
fab=TM18
environment=COMMON --> environment=자신의 고유한 명칭으로 변경 ex) environment=JIKIM
..
..
#LOCAL
server.domain.host=TIANMA.TM18.MES.COMMON.FAB.TEMsvr -> TIANMA.TM18.MES.JIKIM.FAB.TEMsvr
server.domain.mcs.host=TIANMA.TM18.MCS.COMMON.FAB.HIFsvr -> TIANMA.TM18.MCS.JIKIM.FAB.HIFsvr
```
UI setup
UI > TM18_client > plugins > kr.co.aim.greenmcs.client.custom_1.0.1.20151013 > config_TM18 > ui-interface.xml 수정
```xml
//ui-interface.xml
..
<!-- destination -->
<bean id="serverSenderDestination" class="kr.co.aim.greenmcs.communication.msb.tibrv.QueueDestination">
<property name="name"><value>GREENMCS.TIANMA.TM18.COMMON.UI.LISTENER</value></property> -> GREENMCS.TIANMA.TM18.JIKIM.UI.LISTENER
</bean>
<bean id="serverListenerDestination" class="kr.co.aim.greenmcs.communication.msb.tibrv.HostNameQueueDestination" init-method="init">
<property name="name"><value>GREENMCS.TIANMA.TM18.COMMON.UI.SENDER.ALL.#{host}</value></property> -> GREENMCS.TIANMA.TM18.JIKIM.UI.SENDER.ALL.#{host}
</bean>
<bean id="allServerListenerDestination" class="kr.co.aim.greenmcs.communication.msb.tibrv.HostNameQueueDestination" init-method="init">
<property name="name"><value>GREENMCS.TIANMA.TM18.COMMON.UI.SENDER.ALL</value></property> -> GREENMCS.TIANMA.TM18.JIKIM.UI.SENDER.ALL
</bean>
..
```
1. 수정후 [kr.co](http://kr.co/).aim.greenmcs.client.custom_1.0.1.20151013 폴더를 압축
2. 기존 [kr.co](http://kr.co/).aim.greenmcs.client.custom_1.0.1.20151013.jar 삭제
3. [kr.co](http://kr.co/).aim.greenmcs.client.custom_1.0.1.20151013.zip → 확장자 jar로 변경
4. exe 실행
1. plugin 어쩌구 저쩌구 에러가 발생하는 경우, [장원석](http://211.60.157.241:8090/display/~jhzhang) 책임에게 문의
5. Default 계정
1. common/common
6. . Java Project 설정
- workspace는 그냥 편한대다 만듬
- 그 워크스페이스에 프로젝트들 등록하고 진행하면 됨.
( run configuration은 전달받은 이클립스에 다 등록되어 있음 )