IT writer

GX Works2 시뮬레이션

헬로제이콥 2026. 4. 1. 16:13

GX Works2에서 래더를 작성하고 시뮬레이션을 돌리는 핵심 절차 5단계를 정리

1. 프로젝트 생성 (New Project)
프로그램을 켜고 가장 먼저 PLC 모델을 설정해야 합니다. (알리 키트 기준인 FX3U로 설정해 보겠습니다.)
  • Project  New
  • Series: FXCPU
  • Type: FX3U/FX3UC
  • Language: Ladder (래더) 선택 후 OK.
2. 간단한 래더 작성 (Coding)
테스트를 위해 입력(X0)을 누르면 출력(Y0)이 나가는 코드를 짜봅니다.
  • 키보드의 [F5]를 누르고 X0 입력 (입력 접점)
  • 키보드의 [F7]을 누르고 Y0 입력 (출력 코일)
  • 마지막 줄에 [F8]을 누르고 END 입력 (프로그램 끝 알림)
3. 컴파일 (Compile / Build)
자바에서 소스 코드를 빌드하듯, 래더도 기계어로 변환해야 합니다.
  • 단축키 [F4] (Build)를 누릅니다.
  • 배경색이 회색에서 흰색으로 변하면 성공입니다.
4. 시뮬레이션 시작 (Start Simulation)
실제 PLC 하드웨어가 없어도 가상의 PLC를 PC 메모리에 띄우는 과정입니다.
  • 상단 메뉴 아이콘 중 모니터 모양에 빨간 화살표가 있는 [Start/Stop Simulation] 버튼을 클릭합니다.
  • 'Writing to PLC' 창이 뜨며 게이지가 올라가고, 완료되면 Close를 누릅니다.
  • 이제 래더 화면에 파란색 선들이 나타나며 '모니터링 모드'가 됩니다.
5. 가상 입력 주기 (Force Input)
실제 버튼이 없으므로 마우스로 입력을 강제로 줘서 동작을 확인합니다.
  1. 작성한 X0 접점 위에 마우스를 올립니다.
  2. [Shift] + [Enter]를 누릅니다. (Toggle 기능)
  3. 결과: X0가 파란색으로 칠해지며 활성화되고, 동시에 오른쪽 끝의 Y0도 파란색으로 변하며 출력이 나가는 것을 확인합니다.
  4. 다시 [Shift] + [Enter]를 누르면 꺼집니다.

💡 자바 개발자를 위한 팁
  • Watch Window: 메뉴의 View -> Docking Window -> Watch를 켜면, 자바의 변수 감시창처럼 D메모리나 T(타이머)의 현재 값을 실시간으로 숫자로 볼 수 있습니다.
  • 수정 시 주의: 시뮬레이션 중 코드를 고치려면 [F2] (Write Mode)로 돌아가서 수정 후 다시 [F4]를 눌러야 반영됩니다.



예제) '자기유지' '타이머' 핵심 로직을 바로 실습


1. 자기유지 회로 (Latch Circuit)

버튼(X0)을 뗐는데도 램프(Y0)가 계속 켜져 있게 만드는 로직입니다. (자바의 전역 변수 값 유지와 같습니다.)
  • 래더 구성:
    1. [F5] 누르고 X0 (시작 버튼)
    2. [F6] 누르고 X1 (정지 버튼 - B접점이라 전기가 평소에 통함)
    3. [F7] 누르고 Y0 (출력 램프)
    4. [F5] 누르고 Y0를 X0 바로 아래에 병렬로 연결 (마우스로 X0 아래 칸 클릭 후 입력)
  • 테스트: 시뮬레이션 중 X0 [Shift]+[Enter]를 눌러 ON 했다가 다시 OFF 해보세요. Y0가 여전히 켜져 있다면 성공입니다! X1을 누르면 꺼집니다.

2. 타이머 회로 (T2 K85)
처음에 질문하셨던 8.5초 타이머를 직접 넣어봅시다. "램프(Y0)가 켜지고 8.5초 뒤에 다른 램프(Y1)가 켜지는" 로직입니다.
  • 래더 추가 (Y0 출력 줄 다음 줄에):
    1. [F5] 누르고 Y0 (램프가 켜지면 타이머 시작)
    2. [F7] 누르고 T2 K85 입력 (8.5초 타이머 세팅)
    3. 그 다음 줄에 [F5] 누르고 T2 (타이머 완료 접점)
    4. [F7] 누르고 Y1 (최종 출력)
  • 테스트: X0를 눌러 Y0를 켭니다. 8.5초 후 T2 접점이 살아나면서 Y1이 켜지는지 확인하세요. (시뮬레이션 하단에 파란색 숫자가 올라가는 게 보입니다.)

💡 자바 전공자를 위한 팁
  • 병렬 연결(OR): 래더에서 세로선으로 연결하는 것은 자바의 || (OR) 연산입니다.
  • 직렬 연결(AND): 가로로 쭉 이어서 배치하는 것은 && (AND) 연산입니다.
  • B접점([F6]): !flag (NOT) 연산과 같습니다. 전기가 평소에 흐르다가 신호가 오면 끊깁니다.