본문 바로가기
대한상공회의소 스마트팩토리 교육/PLC 프로그래밍

[PLC 프로그래밍] BIN / BCD 명령어 활용 PLC 래더프로그램 예제모음

by 나는영하 2022. 1. 17.

※ 주의사항 

본 블로그는 수업 내용을 바탕으로 제가 이해한 부분을 정리한 블로그입니다.
본 내용을 참고로만 보시고, 틀린 부분이 있다면 지적 부탁드립니다!

감사합니다😁

 

안녕하세요!!

오늘은 아래와 같은 내용을 확인해보겠습니다.

 

BIN 명령어 활용 예제모음

BCD 명령어 활용 예제모음


1. BIN / BCD 명령어 예제 -1

1) 실행 조건 

- 디지털 스위치에서 타이머 설정시간을 지정할 수 있다. (1초 ~ 99초)

- X0을 누르면 타이머 설정시간 이후에 Y20이 점등되고 X1을 누르면 Y20이 소등된다.

- 타이머 경과시간은 FND에 표시되어 확인할 수 있다.

- Y20 소등 상태에서 타이머 경과시간은 0으로 FND에 표시된다.

구성도

2) 래더프로그램 

래더프로그램

- 0 스텝 : 디지털 스위치의 각 자리수가 9를 초과하는 값이 안나오게 비교연산자와 and연산 사용.

(디지털 스위치가 9 → 0으로 넘어가는 과정에서 PLC 오류 발생 방지)

디지털스위치의 BCD값을 바이너리 값으로 바꾸어서 D0에 저장을 한다.

- 11번 스텝 : SM400(항시ON)의 특수릴레이를 활용해서 타이머 명령어에 적용할 시간과 FND 모듈에 출력시킬 시간을 각각 내부메모리에 저장함.

(타이머 명령어에서 적용할 시간은 FND모듈에 표시될 시간의 x10을 해주어야 한다.)

그리고 바이너리 값을 BCD 값으로 바꾸어서 FND 모듈에 출력해줌 (BCD 명령어)

- 22번 스텝 : 자기유지회로를 만들어서 X0을 누르면 타이머가 작동하고 X1을 누르면 타이머가 멈춤

- 30번 스텝 : 타이머가 설정시간이 되면 Y20 램프를 점등시킴 


2. BIN / BCD 명령어 예제 -2

1) 실행 조건 

- 디지털 스위치에서 카운터 설정값을 지정할 수 있다. (1회 ~ 99회)

- 설정값이 0을 초과할 때 X1을 ON/OFF하면 계수가 되면서 값을 FND에 표시할 수 있다.

- 계수값과 설정값이 일치되면 Y21이 주기로 교대 점멸한다.

- X2를 누르면 계수값은 0으로 초기화되고 FND도 0으로 초기화되며 램프 점멸도 멈춘다.

구성도

 

2) 래더프로그램 

래더프로그램

- 0 스텝 : 디지털 스위치의 각 자리수가 9를 초과하는 값이 안나오게 비교연산자와 and연산 사용.

(디지털 스위치가 9 → 0으로 넘어가는 과정에서 PLC 오류 발생 방지)

디지털스위치의 BCD값을 바이너리 값으로 바꾸어서 D4에 저장을 한다.

- 11 스텝 : SM400(항시ON)의 특수릴레이를 활용해서 카운터 계수값을 BCD 모듈에 출력한다.

- 16 스텝 : 카운터 설정값이 0보다 크면 X1을 눌러서 카운터를 수행한다.

- 25, 37 스텝 : 카운터 계수값이 설정값과 같으면 SM412(1초 주기로 점등) 특수 릴레이를 활용해서 Y21램프를 점멸

- 31 스텝 : X2 버튼을 눌러서 카운터의 계수값을 초기화 시킨다.


3. BIN / BCD 명령어 예제 -3

1) 실행 조건 

- 디지털 스위치의 100의 자리와 1000의 자리는 타이머 설정값 지정 (1초 ~ 99초 설정)

- 디지털 스위치의 1의 자리와 10의 자리는 카운터 설정값 지정 (1회 ~ 99회 설정)

- FND의 100의 자리와 1000의 자리는 타이머 경과시간 표시

- FND의 1의 자리와 10의 자리는 카운터 계수값 표시

- 타이머 설정값과 카운터 설정값이 하나라도 0으로 설정되어 있으면 프로그램 동작 불가

- X1을 ON/OFF 하면 카운터 계수값을 FND에 표시할 수 있다.

- 카운터 설정값과 계수값이 일치하면 타이머 설정값 이후에 Y20이 점등한다.

- Y20이 점등 되기까지의 타이머 경과시간을 FND에 표시할 수 있다.

- X2을 누르면 Y20 즉시 소등, 카운터 계수값 초기화, FND 표시값은 0으로 초기화 된다.

구성도

 

2) 래더프로그램 

래더프로그램

- 0 스텝 : 디지털 스위치의 BCD값을 바이너리 값으로 바꾸어서 D0에 저장 (타이머 설정값)

- 11 스텝 : 디지털 스위치의 BCD값을 바이너리 값으로 바꾸어서 D4에 저장 (카운터 설정값)

- 22 스텝 : 항시ON 특수릴레이로 타이머의 설정값 연산 및 FND 모듈에 카운터 계수값과 타이머 경과시간 표시

- 37 스텝 : 카운터 설정값과 타이머 설정값이 0을 초과하면 정상적으로 프로그램이 동작

- 45 스텝 : X1을 누르면 카운터 수행

- 51 스텝 : 카운터 설정값과 계수값이 일치하면 타이머 동작 수행

- 59 스텝 : X2을 누르면 카운터 계수 초기화

- 65 스텝 : 타이머가 설정값 이후에 Y20램프 점등


4. BIN / BCD 명령어 예제 -4

1) 실행 조건 

- 디지털 스위치의 100의 자리와 1000의 자리는 설정값1 지정 (0 ~ 99)

- 디지털 스위치의 1의 자리와 10의 자리는 설정값2 지정 (0 ~ 99)

- FND에 설정값1과 설정값2의 연산 결과 표시

- X0을 누르면 설정값1과 설정값2를 더한 값을 FND에 표시

- X1을 누르면 설정값1과 설정값2를 뺀 값을 FND에 표시

- X2를 누르면 설정값1과 설정값2를 곱한 값을 FND에 표시

- X3을 누르면 설정값1과 설정값2를 나눈 값을 FND에 표시

- 설정값1과 설정값2의 뺄셈 값이 음수일때 Y20이 점등되고 FND에는 양수값으로 표시

구성도

2) 래더프로그램 

래더프로그램

- 0 스텝 : 디지털 스위치의 BCD값을 바이너리 값으로 바꾸어서 D1에 저장 (설정값1)

- 11 스텝 : 디지털 스위치의 BCD값을 바이너리 값으로 바꾸어서 D0에 저장 (설정값2)

- 22 스텝 : D0과 D1의 연산결과값을 FND 모듈에 출력

- 25 스텝 : X0을 누르면 D0 + D1 연산 수행

- 30 스텝 : X1을 누르면 D0 - D1 연산 수행

- 35 스텝 : X2을 누르면 D0 * D1 연산 수행

- 40 스텝 : X3을 누르면 D0 / D1 연산 수행 

- 45 스텝 : 연산 결과값이 0보다 크거나 같으면 Y20 램프 점등

연산 결과값이 0보다 작은 음수값이면 Y20 램프를 점등하고 음수값을 양수값으로 바꿈(NEG 명령어)

댓글