CSM SC#1 Robot3 HMI Enable=1 Phase 1 Test
노트

Robot3 조기 진입에 의한 SC1 체인 깔딱 현상 시험안

HMI Enable=1에서만 신규 Robot 진입 Gate를 시험하고, Enable=0에서는 기존 Rung 6을 그대로 유지한다.

검토일
2026-08-22
적용 위치
Sheet_Conveyor_1
Permits Rung 6
시험 범위
HMI Enable=1
상태
현장 검증 필요

시험안 결론

Robot3와 SC1 파라미터는 건드리지 않고, SC1 이동이 시작된 뒤 완료되기 전까지 신규 Robot Unload 허가만 제한한다.

1차 시험에서 변경하는 것

  • Sheet_Conveyor_1 / Permits / Rung 6 한 곳
  • HMI Enable=1, AUTO, active=1일 때만 신규 Robot 진입 차단
  • active=0이면 추가 Gate 해제
  • Manual과 Off에서는 기존 조건 유지

1차 시험에서 변경하지 않는 것

  • HMI Enable=0의 기존 운전
  • Robot3 LS 프로그램과 티칭 좌표
  • SC1 속도와 거리 파라미터
  • Tracking, MES, Reject 구조
적용 상태 이 문서는 소스 교차검토가 끝난 1차 시험안이다. Studio 5000 Verify, Online Trend, 저속 현장시험 전에는 생산 확정본으로 취급하지 않는다.

최종 시험용 Neutral Text

기존 허가 조건 뒤에 HMI, 운전 모드, SC1 active 상태를 이용한 병렬 XIO Gate를 추가한다.

HMI Enable=1 Phase 1 Test
[XIC(interlock_stopped),XIC(z_System_Running.X)XIC(permit_sc1_r3_slowdown)]XIO(i_sheet_not_at_transfer)[XIO(sc1_hmi_enable),XIO(z_mode_automatic),XIO(sc1_start_req_active)]OTE(z_permit_sc1_r3_unload);
기존 Rung 6 허가
AND
NOT(sc1_hmi_enable AND z_mode_automatic AND sc1_start_req_active)
정확한 표현 Enable, AUTO, active가 모두 1일 때만 Robot3 신규 진입을 차단한다. 세 Tag 중 하나라도 0이면 추가 Gate는 통과한다.

pending, active, permit_run_forward

세 신호는 서로 다른 일을 한다. active는 모터 출력이 아니라 미완료 SC1 전진 사이클의 상태 표시이다.

sc1_start_req_pending

요청 기억

SM1 또는 SM2에서 전진 요청이 들어왔다는 사실을 래치한다. 아직 SC1이 출발하지 못한 대기 상태에서도 1일 수 있다.

sc1_start_req_active

출발 완료 전

SC1이 Forward Step에 들어간 뒤 1이 되고, 목표 Count와 State_Stop 완료가 확인될 때까지 유지된다.

permit_run_forward

실시간 모터 허가

Robot3 Clear 상태에 따라 SC1 전진 전압을 허가한다. 이 신호가 끊기면 일부 전진 속도 모드에서 전압이 0이 될 수 있다.

쉽게 구분하기

pending / active / permit

pending은 주문 기억, active는 출발 후 도착 전, permit_run_forward는 지금 실제로 움직여도 되는지에 해당한다.

active=0인 주요 경우

상태pendingactiveSC1와 Robot 의미
정상 Idle00이동 요청 없음. 기존 조건이 맞으면 Robot 진입 가능
요청 대기10요청은 기억했지만 아직 출발 전. 기존 Sheet Pick이 필요할 수 있음
정상 완료00State_Stop과 목표 Count 도달 확인 후 추가 Gate 해제
Manual, Off, Reset해제 경로해제 경로추가 Gate를 우회하고 기존 복구 조건 사용

active 생성과 해제 조건

active SET / Permits Rung 14
XIC(sc1_start_req_pending)
XIC(State_Forward_Fast_To_Flag.X)
OTL(sc1_start_req_active);
active CLEAR / Permits Rung 15
XIC(sc1_start_req_active)
XIC(State_Stop.X)
GRT(var_counts_target,0)
GEQ(var_counts_accum_32,var_counts_target)
[OTU(sc1_start_req_pending),
 OTU(sc1_start_req_active)];

SC1 한 사이클의 시간 순서

active는 출발 직후 1이 되고 목표 도달과 정지 완료 후 0으로 돌아간다.

Idle 대기
pending=0active=0Robot: 기존 조건
SM Drop 요청
pending=1active=0요청 기억
시작 조건 대기
pending=1active=0기존 Sheet Pick 가능
Forward Step 진입
pending=1active=1신규 Robot 차단
한 Pitch 전진
pending=1active=1Gate 유지
목표와 Stop 확인
pending: 1→0active: 1→0추가 Gate 해제
Robot Pick
pending=0active=0기존 조건 적용
active=0에서 Robot 진입 복원의 의미 Robot을 강제로 작동시키는 것이 아니다. active로 추가한 차단만 해제되고, 기존 interlock, System Running, slowdown, Sheet 존재, Robot Clear와 Gripper 조건은 그대로 남는다.

XIO 병렬 OR Gate 읽는 방법

병렬이므로 OR 조건이 맞지만, XIO는 Tag가 0일 때 참이다. Tag 값과 접점 통과 상태를 반대로 읽지 않아야 한다.

XIO 기본 동작

Tag 값XIO 접점결과
0TRUE / 닫힘통과
1FALSE / 열림차단

병렬 Gate 논리

NOT HMI
OR NOT AUTO
OR NOT active

드모르간 법칙으로 정리하면 NOT(HMI AND AUTO AND active)이다.

전체 진리표

Rung 앞부분의 기존 조건이 이미 모두 참이라고 가정한 추가 Gate 결과
HMIAUTOactive XIO HMIXIO AUTOXIO active 추가 GateRobot 결과
000111통과기존 조건 적용
001110통과기존 조건 적용
010101통과기존 조건 적용
011100통과기존 조건 적용
100011통과기존 조건 적용
101010통과기존 조건 적용
110001통과기존 조건 적용
111000차단신규 진입 차단
혼동 금지 “세 조건이 모두 성립해야 Robot이 진입한다”가 아니다. “세 조건이 모두 1일 때만 Robot 신규 진입을 차단한다”가 정확하다.

깔딱 후 자동 재전진 원리

active가 모터를 직접 돌리지는 않는다. SFC와 요청 상태가 미완료 사이클을 기억하고, Robot Clear 복구 후 permit_run_forward가 다시 전압을 허가한다.

1
SC1 전진 중
SFC Step, var_cmd_speed, pending, active가 미완료 사이클을 유지한다.
2
Robot3 조기 진입
Robot3가 Infeed 영역으로 들어가면 i_clear_of_infeed가 0이 될 수 있다.
3
전진 허가 상실
z_permit_r3_sc1_start와 permit_run_forward가 0으로 바뀔 수 있다.
4
모터 전압 0
var_cmd_speed 2, 1, 3 조건에서 permit_run_forward가 없으면 BasicControl은 0 V 경로로 갈 수 있다.
5
Robot Clear 복구
Robot이 빠져나가 Clear가 1이 되면 permit_run_forward가 다시 1이 된다.
6
자동 재전진
유지된 SFC와 var_cmd_speed에 따라 전압이 다시 출력되고 SC1이 계속 전진할 수 있다.
근거 상태 위 피드백 경로는 L5X에서 확인된다. 실제 깔딱 순간마다 같은 순서가 발생했는지는 i_clear_of_infeed, permit_run_forward, var_cmd_speed, var_volts_velocity와 SFC State를 같은 10 ms Trend로 기록해야 최종 확정할 수 있다.

원본, 사진 로직, 시험안

가장 신뢰할 수 있는 원복 기준은 Cathode1(260714).L5X의 원본 Rung 6이다.

원본 Rung 6

Cathode1(260714).L5X
[XIC(interlock_stopped),XIC(z_System_Running.X)XIC(permit_sc1_r3_slowdown)]XIO(i_sheet_not_at_transfer)OTE(z_permit_sc1_r3_unload);

2026-08-22 사진 전사본

사진 기반 전사, Online 대조 필요
[XIC(interlock_stopped),XIC(z_System_Running.X)XIC(permit_sc1_r3_slowdown)[XIO(sc1_hmi_enable),XIC(sc1_hmi_enable)XIC(State_Stop.X)]]XIO(i_sheet_not_at_transfer)OTE(z_permit_sc1_r3_unload);

최종 1차 시험본

HMI Enable=1 전용
[XIC(interlock_stopped),XIC(z_System_Running.X)XIC(permit_sc1_r3_slowdown)]XIO(i_sheet_not_at_transfer)[XIO(sc1_hmi_enable),XIO(z_mode_automatic),XIO(sc1_start_req_active)]OTE(z_permit_sc1_r3_unload);

CSV Trend 근거

2026-07-29의 10 ms Trend 세 개를 시간 정렬하여 Robot Unload 허가와 SC1 active의 겹침을 확인했다.

360,000각 Trend의 Sample 수
356 / 366Unload 허가 상승 중 active=1인 횟수
30 mspermit_start에서 active 상승까지
672 msUnload 허가 상승에서 active 해제까지 중앙값
대표 사이클
시간신호의미
03:38:46.260sc1_start_req_active1SC1 실제 전진 시작
03:38:48.458z_permit_sc1_r3_unload1Robot Unload 허가
03:38:48.598i_clear_of_infeed0Robot Infeed 진입
03:38:49.170sc1_start_req_active0SC1 완료 확인
제한 사항 제공 CSV의 HMI Enable은 전체 구간에서 1이며 z_mode_automatic과 var_volts_velocity는 포함되지 않았다. 따라서 물리적 깔딱의 최종 원인은 수정 후 동일 Tag 구성의 Online Trend로 확인한다.

Robot3 프로그램 확인

PLC Gate의 목적은 이미 진입한 Robot을 중간 정지시키는 것이 아니라, SC1 완료 전 신규 Unload 호출을 시작하지 않게 하는 것이다.

CSM1 호출 흐름

RSR0001 /MN 24
IF DI[1:Unload Infeed]=ON,CALL ULOD_INF;

ULOD_INF /MN 14
DO[1:Clear of Infeed]=OFF;

ULOD_INF /MN 16
J PR[2:Infeed Perch] 100% CNT100 ACC150;

판단

  • DI[1]이 ON이면 Robot 메인에서 Unload 서브프로그램을 호출한다.
  • 호출 후 서브프로그램은 DI[1]을 매 Step 다시 확인하지 않는다.
  • PLC 출력이 뒤늦게 OFF되어도 이미 들어간 Robot을 취소하지 않는다.
  • 따라서 신규 호출 이전에 Gate해야 한다.

SC1 파라미터

1차 시험에서는 Logic과 Parameter를 동시에 바꾸지 않는다. 아래 L5X 저장값을 유지한다.

Tag현재 값처리
param_offset9450유지
param_offset_creep8200유지
param_offset_highspd6700유지
param_volts_fwd_highspd5.6유지
param_volts_fwd_lowspd2.87유지
param_volts_fwd_creep3.2유지
param_volts_forward_homing3.0유지

필수 시험 절차

Enable=0은 원본 등가성만 확인하고, 개선 효과는 Enable=1에서 SM1과 SM2를 각각 시험한다.

원본 회귀

  • HMI Enable=0에서 AUTO, MANUAL, OFF 동작이 원본과 동일한지 확인
  • active=1이어도 추가 Gate 때문에 Robot 허가가 차단되지 않는지 확인
  • Enable=0에서는 깔딱 제거 효과를 판정하지 않음

Enable=1 AUTO

  • SM1 Drop 최소 10 Cycle
  • SM2 Drop 최소 10 Cycle
  • active=1 동안 z_permit_sc1_r3_unload=0 확인
  • active=0 이후 기존 Robot 허가 복원 확인

기존 Sheet 대기

  • pending=1, active=0에서 기존 Sheet를 Robot이 먼저 Pick하는지 확인
  • 전송 위치가 비워진 후 SC1이 정상 시작하는지 확인
  • Robot과 SC1의 상호 대기가 없는지 확인

복구와 모드 전환

  • Enable=1 MANUAL과 OFF 기존 동작
  • AUTO 이동 중 MANUAL 또는 OFF 전환
  • Single Cycle, Reset, Home Recovery
  • Sheet, Grade, Tracking Data 정합성

합격 및 즉시 원복 기준

필수 합격

  1. Enable=0에서 원본과 동일
  2. Enable=1 AUTO active=1 동안 Robot Unload 허가 0
  3. active=0 이후 기존 Robot 진입 정상 복원
  4. SM1과 SM2 각각 10 Cycle 이상 깔딱 없음
  5. Sheet, Grade, Tracking Data 일치
  6. 새 Fault, Alarm, 물리 간섭 없음

즉시 중단 및 원복

  1. Enable=0 동작이 원본과 다름
  2. Enable=1 active=1인데 Robot 허가가 1
  3. active=0 이후 Robot 허가가 복원되지 않음
  4. 전송 위치 기존 Sheet에서 상호 대기 발생
  5. Manual, Off, Reset, Home Recovery 이상
  6. Sheet와 Data가 한 칸이라도 어긋남

검토 자료

PLC, Robot, Trend 원본은 읽기만 했으며 직접 수정하지 않았다.

PLC 기본 베이스reference/Cathode1(260714).L5X
SHA-256 c98ac2a646e9ba7fdc6f6563e61f7e21ef61532db136cb50c4ca587015e624bb
CSM1 Robot3/Volumes/ZEMOS_ADMIN/ROBOT_3/CSM1/rsr0001.ls
/Volumes/ZEMOS_ADMIN/ROBOT_3/CSM1/ulod_inf.ls
CSV Trend A/Volumes/ZEMOS_ADMIN/trend_log/SC1_trend_A_pending.CSV
CSV Trend B/Volumes/ZEMOS_ADMIN/trend_log/SC1_trend_B_RGrade_600ms.CSV
CSV Trend C/Volumes/ZEMOS_ADMIN/trend_log/SC1_Trend_C_Robot3.CSV
생산 적용 전 필수 절차
  1. 현재 Online Rung 6과 Controller Project 전체 백업
  2. 사진 전사본과 실제 Online Neutral Text 문자 단위 대조
  3. Rung 6 한 곳만 반영
  4. Verify Routine과 Verify Program
  5. Cross Reference와 Force 상태 확인
  6. 안전구역 확보 후 승인된 저속 시험
  7. Trend 저장과 OFF 회귀시험