ST 언어를 보면 당황하는 이유는 단순합니다.
래더는 전류 흐름이 눈으로 보이지만,
ST는 문자로 로직이 작성되어 있어서
처음 보면 어디서부터 어떻게 실행되는지 바로 안 들어옵니다.
현장에서 PLC 프로그램을 열었는데 접점도 코일도 없습니다.
영어 문장만 줄줄 나오면 순간 멈춥니다.
“이게 PLC 맞나?”
요즘 신규 장비나 스마트팩토리 설비에서는 ST(Structured Text) 언어 사용 비중이 확실히 늘었습니다. 왜 익숙한 래더 대신 ST를 쓰는지, 실무 기준으로 정리합니다.
1. 왜 ST 언어가 계속 보일까?
요즘 PLC는 단순 출력 제어만 하지 않습니다.
- 서버와 통신
- 생산 데이터 처리
- 수식 계산
- 레시피 관리
- 반복 동작 자동 처리
이걸 전부 래더로만 짜면 프로그램이 길어지고 수정도 어려워집니다.
ST는 이런 작업을 짧고 깔끔하게 처리하려고 쓰는 언어입니다.
2. 한눈에 보는 실무 비교표
| 구분 | 래더 (LD) | ST 언어 |
| 형태 | 이미지 (전기 회로 기반) | 글자 (코딩 기반) |
| 가독성 | 직관적임 (접점 확인 빠름) | 적응 필요 (로직 해석 필요) |
| 연산/데이터 | 박스형이라 복잡함 | 수식 한 줄이면 끝 |
| 유지보수 | 매우 쉬움 (현장 선호) | 숙련자만 가능 |
| 현장 대응 | 트러블슈팅에 최적 | 분석에 시간이 걸림 |
3. 래더(LD) – 현장의 영원한 1순위
전기 도면이랑 똑같습니다. 전기가 어디서 끊겼는지 눈에 바로 보이죠.

- 현실: 새벽에 자다 깨서 장비 트러블 잡을 때 최고입니다. 접점 살았는지 죽었는지 색깔만 봐도 답이 나오거든요. 유지보수 하는 분들한테는 래더가 ‘효자’입니다.
급하게 로직 하나 추가해야 할 때도 아직은 래더 쪽이 손이 먼저 갑니다. 익숙한 방식이라 간단한 시퀀스는 30분 안에 끝나는 경우도 있습니다. 반면 ST는 아직 익숙하지 않다면 같은 작업도 더 오래 걸릴 수 있습니다.
4. ST는 왜 쓰는가?
복잡한 계산과 반복 처리 때문입니다.

예를 들어 데이터 100개를 초기화한다고 가정하면,
래더는 여러 줄 로직이 필요하지만,
ST는 반복문 한 줄로 끝낼 수 있습니다.
이 차이가 커지기 시작하면 ST를 쓰는 이유가 분명해집니다.
아래 코드는 제가 실제 프로젝트에서 사용했던 ST 로직입니다.
상위 장비에서 "123.456" 형태 문자열 데이터를 보내고 있었는데, PLC 내부에서는 숫자로 바꿔 연산과 비교를 해야 했습니다.
그래서 문자열 자르기(MID), 소수점 위치 검색(FIND), 숫자 변환(STRING_TO_DINT) 처리를 ST로 구성했습니다.

이런 작업은 래더로도 가능하지만 줄 수가 길어지고 수정도 번거로워집니다.
반면 ST는 짧게 정리되고 나중에 다시 봐도 구조를 파악하기 편했습니다.
5. 무엇부터 배워야 하나?
현장 엔지니어라면 래더가 먼저입니다.
남이 짠 프로그램을 읽고 트러블을 잡아야 하기 때문입니다.
그다음 계산, 데이터 처리, 반복 로직이 필요해질 때 ST를 배우면 됩니다.
순서는 보통 이렇습니다.
① 래더 접점 흐름 이해
② 디바이스 익히기
→ 기본 디바이스 구조는 따로 정리한 글 참고
③ 타이머/카운터 익히기
④ 데이터 이동(MOV / BMOV)
👉[실무] MOV·BMOV·FMOV로 래더 줄이는 방법
⑤ 반복 처리(FOR) 이해
👉[실무] PLC FOR NEXT 안 쓰면 데이터 100개를 100줄로 처리합니다
⑥ ST 언어 익히기
여기까지 보고 나면, ST는 복잡한 언어라기보다
앞에서 본 값 변환 예제처럼 반복과 계산을 줄이기 위한 도구로 보는 편이 이해가 쉽습니다.
예를 들어 이런 경우입니다.
- 동일한 동작을 여러 번 반복해야 할 때
- 데이터 배열을 한 번에 처리해야 할 때
- 문자열, 수식 계산이 필요한 경우
이런 작업은 래더로도 가능하지만
ST로 정리하면 코드 길이가 줄고 구조를 파악하기가 수월합니다.
실제 현장에서는
메인 시퀀스는 래더로 구성하고,
내부 계산이나 반복 처리만 ST로 분리해서 사용하는 경우가 많습니다.
이렇게 나눠 쓰기 시작하면
ST를 언제 써야 하는지 기준이 잡힙니다.
6. 한 줄 직설
“래더는 눈으로 찾고, ST는 코드로 줄인다.”
엔지니어 팁
- 새벽 트러블 대응은 래더가 빠릅니다.
- 반복문, 계산식은 ST가 압도적입니다.
- 고수는 둘 중 하나만 쓰지 않습니다.
- 메인 흐름은 래더, 내부 계산은 ST로 섞어 씁니다.