PLC-XGI (초급) 스마트팩토리-8일차

내 이름 안찬찬·2023년 1월 19일
0
post-thumbnail

개념 정리

1BIT
1BYTE = 8BIT
1WORD = 2BYTE = 16BIT
1WORD: ㅁㅁㅁㅁ ㅁㅁㅁㅁ ㅁㅁㅁㅁ ㅁㅁㅁㅁ
1WORD: 0000 0000 0000 0001 
=> 16진수: 16#0001
1WORD: 1111 1000 1000 0001 (2진수 표현)
=> 16진수: 16#F881
=> 10진수: 2^15 + 2^14+2^13+2^12+2^11+2^7+2^0=
1 + 2 + 4 + 8 = 15 = 16#F
=> 10진수: 35 => %MW50 (1WORD) =16 BIT
-> 2진수:  2#0000 0000 0010 0011= 2^0+2^1+2^5=1+2+32 =35
-> 16진수: 16#0023 = 16^0*3 + 16^1*2 =3+32=35
%MW50 (1WORD) =16 BIT = 35
%MX800~815
%MW50 = ㅁㅁㅁㅁ ㅁㅁㅁㅁ ㅁㅁ1ㅁ ㅁㅁ11 = 
%MX800, 801, 805 3개의 비트가 ON이 되어있다.
2진수 -> 16진수 -> 10진수 관계
2진수: 0,1
16진수: 0~F
UINT (INT) = 0~65,535 (-32,768~32767)
0000 0000 0000 0000 
1111 1111 1111 1111 => 부호없는 십진수
2^0+2^1+ ~~ 2^15 = 65536
DINT
1111 1111 1111 1111 1111 1111 ~~~~
2^0 + 2^31 = 42억 (-21억 ~ +21억)
SINT: 8BIT = 1BYTE
%MW25 (%MB50~51) => (%MX400~415)
%MB50 : 100 (2#0110 0100)= 64+32+4
16#64
1WORD: 16#****   // 1BYTE: 16#**
A접점, B접점, 코일, P접점 ==> BOOL (%IX, %MX) , 심볼릭 (네임드, 간접)
%IX0.0.0 ~ %IX0.0.15 => %IW0.0.0
비트, 워드(INT)



실습 1) TON을 활용한 신호등 제어와 HMI연동

보행자 버튼 클릭시
-> 30초 후 운전자 신호 파란불 OFF -> 황색등 ON 1초후 ->적색등 ON ->
20초간 보행자 신호 초록불 ON -> 10초 남은 시점부터 초록불 점멸 -> 회로 리셋



실습 2)

방법: B접점 활용



실습 3)

방법: 자기유지 회로



실습 4)

방법:

셋&리셋 코일 활용 또는 자기유지회로와 B접점 활용



실습 5)

방법:

1. 둘 중 어느 한 개라도 => or조건 사용
2. 셋&리셋 코일 사용



실습 6)

방법:
자기유지회로와 B접점 활용 또는 Set & Reset 코일을 이용



실습 7)

방법:
임의의 변수 P2와 다이나믹 플립플롭



실습 8)

방법:
펑션블록 TON사용



실습 9)

방법:
1. 둘중 하나라도 => AND조건
2. 펑션블록 TON사용



실습 10)

첫 번째 방법과 두 번째 방법은 내가 한 방식인데 P1을 키고 바로 끄면 여자상태가 
지속되지 않기 때문에 틀림! ㅠ

방법:
1. 임의의 변수 P2 설정
2. P1과 P2사이에 자기유지회로를 만든다.
3. P2와 P10 사이에 블록펑션 TON을 두어 4초 후 점등되게 한다.



실습 11)

위에는 내가 만든 회로 아래는 강사님께서 만들고 보여주신 회로인디
결과만 같으면 된다했으니 나 틀린건 아님..!
그치만 누군가 회로를 모르는 사람이 봤을 때도 보기 쉬워야 잘 만들어진 거라고 해주셨다.
그런점에서 아래 강사님의 회로와 비교하면 ... 
점등과 소등을 반복하는 회로를 플리커 회로라고 하나보당..!

방법:
두 개의 TON펑션을 이용하고 TON펑션의 출력값을 B접점을 사용하여 작성



실습 12)

방법:
1. 자기유지를 위해 임의의 변수 P2를 만든다.
2. TON펑션블록 세개를 사용하여 마지막 하나는 P12가 소등한 후 자동 초기화가 될 수 있게
P1이 지나가는 길과 연결해준다.



실습 13)

방법:
1. 카운트다운 펑션블록을 이용한다.
4번 동작이 반복 되어 CV값이 0이되면 INST31의 값이 1이 되며 P10이 켜진다.

2. LD에 P2를 설정하여 P2값을 1로 만들어주면 펑션블록의 값이 초기화 된다.



실습 14)

방법:
1. 카운트업 펑션블록을 이용한다.
2. 리셋 부분은 R변수를 두고 INST41이 세번 동작 시 리셋이 되게 한다.



마무으리!

확실히 실습을 많이 할 수록 문제에서 바라는 회로가 무엇인지에 대한 인지가 빨라지기 시작했다.

회로를 만드는 시간도 단축되고 잘 못 만들었을 때 문제점 파악이 빨라지기 시작했다.

회로에 대한 이해도가 올라간 것 같아 뿌듯하다.

오늘도 수고했다 나 자쉰..!

profile
스마트팩토리 개발자가 되기 위한 □□ !!

0개의 댓글