네트워크를 말하는건데,
자동화 라인에 가보면 스위치류, 센서, 모터, 알림 등이 있습니다.
더 많지만 간단히 이정도이고, 스위치 및 센서류는 컴퓨터(PLC)에게 스위치가 눌렸는지 센서가 감지를 했는지 등을 전기신호로 알려줍니다. 전기신호로 알려주려면 당연히 PLC에 연결을 해야되고, 또한 모터를 구동한다거나 알림 등을 켠다거나 하는 역할을 하기위해서 ON OFF스위치를 PLC에 연결해야 합니다.
이제 다 연결했다고 치면, 스위치류와 센서류의 상태를 조합해서 (입력)
PLC는 어떤 모터를 구동할건지, 어떤 알림등을 구동할건지 판단해서 모터를 켜거나 알림 등을 끄거나 하게됩니다(출력)
이부분을 담당하는 모듈이 I/O Module이라고 합니다.
미쯔비시에서는 스위치 및 센서처럼 정보를 주는 것들을 입력(X)라 하고, 모터나 알림등처럼 동작을 지시하게 되는 류들을 출력(Y)라고 합니다.
그림에서처럼 스위치류, 센서류 등의 입력(X)은 I/O모듈의 입력측에
모터, 램프 등의 출력은 I/O모듈의 출력측에 연결하게 됩니다.
그런데 I/O모듈은 각 단자마다 고유의 주소를 갖고 있습니다. 그림에 표시된 모듈은 1번부터 8번까지의 주소를 갖고 있습니다.
이들의 주소는 X1,X2,X3,X4,X5.....X8로 표현됩니다. 즉, 비상정지 스위치를 X3이란 주소로 쓰려면 스위치의 연장선을 X3단자에 연결해야 합니다.
또한 그림에 표시는 하지 않았지만 모터나 램프등을 동작하게 하는 신호선은 Y1,Y2,Y3... 등의 단자에 연결하게 됩니다.
입출력 혼합 모듈입니다. 위 아래 어느 한쪽이 입력, 또 다른쪽이 출력이겠지요. 자세한건 메뉴얼을 봐야되고,
이런 I/O모듈들은 네트워크와 상관없이 바로 CPU에 연결됩니다.
플러스코먼, 마이너스코먼 중요합니다.
입력이던 출력이던 플러스 흔히 P24라고 많이 넘버링하고, 마이너스는 N24라고도 하죠.
입출력 한개당 2개의 선(P24,N24)이 나옵니다.
3개의 입력신호 X1,X2,X3을 연결한다고 했을 때 위의 사양에 보면 입력은 플러스코먼,
스위치류나 센서류들을 극성에 따라 연결하면 X1(+),X1(-),X2(+),X2(-), X3(+),X3(-) 6개의 선이 나오게 되는데,
플러스 코먼 플러스가 공통 단자라는 뜻입니다.
즉 마이너스 선 X1(-),X2(-),X3(-)를 1,2,3번 단자에 각각 연결하고, X1(+),X2(+),X3(+) 선은 함께 연결해서 코먼 단자에 연결하라는 뜻입니다.
글로 설명할 때는 애매했지만, 그림으로 보면 간단합니다.
그렇게 저렇게 해서 산업은 나날이 발전하고, 네트웍이 발전하면서 인터넷이라는것도 등장하고, 자동화도 더욱 발전하여 스위치며, 센서며, 모터며, 표시등 등의 종류 및 수량도 엄청 많아졌습니다.
네트웍의 발전에 힘입어, 스위치, 램프 등의 입출력을 직접 연결하는 방식 대신에 네트웍을 연결해서 전송하는 방법이 생겨납니다.
이 개념이 CC-LINK 입니다.
여러개의 선을 생략하고 4개의 선에 데이터만 실어서 보내줍니다.
그림에서 보면 A에 3개의 입력이 존재합니다만 보통 32개 정도의 입력이 가능합니다.
B~E까지는 입출력을 생략했습니다.
이 입출력선 대신에 4가닥의 CC-LINK 선이 각각 모듈에 연결됩니다.
가정에서 흔히 쓰는 랜선 정도로 생각하시면 되겠습니다.
B도 C도 32개 입력 혹은 출력이 가능합니다.
A,B,C,D 각각 32개의 입력 혹은 출력이 가능합니다.
I/O를 직접 연결하는 방법보다 네트웍으로 연결하는 방법을 쓰면 전선사용량도 엄청나게 줄어들고, 더불어 인건비도 줄어들겠지요.
공부하다보니 생각난건데, 그러면 결국엔 유선연결이냐 무선연결이냐 같은데, 무선연결이 편하지만 단점은 없는지?
예를 들면 간섭이 생긴다든지, 뭔가 통신상에 속도차이는 없는지,
CC-LINK 단점: 연결 거리의 한계가 있다. (현장에서는 60M이상 쓰지 않는다.)
주로 사용하는경우: POINT가 적고, 거리가 멀고, 공사비 절감할 때.
거리가 멀어져 CC-LINK 사용이 불가능할 경우 MELSEC-NET을 쓴다.
어쨋든... CC-LINK 모듈 A,B,C,D 등을 국 이라고 하며,
CC-LINK모듈 (위 그림 PLC바로 아래 그려놓은그림) 을 국중에서도 으뜸인 마스터국이라고 하고, 네트웍의 전반을 운용합니다.
1개의 마스터국에는 최대 64개의 다른 국들을 연결 가능합니다. (국번 1~ 64)
마스터국 말고는 리모트I/O국, 리모트디바이스국, 로컬국, 인텔리전트 디바이스국 등이 있는데, 여기서는 리모트 I/O국만 설명합니다. 당연하겠지만 A~E가 모두 리모트 I/O국 입니다.
리모트 I/O국은 CC-LINK로 연결하는 것만 제외하면 위에서 언급한 I/O모듈과 동일하며 리모트 I/O국의 입출력단자는 I/O모듈과 매 한가지로 특유의 주소체계를 갖고 있습니다.
그러면 똑같은 2개의 리모트 I/O국의 주소는 어떻게 다를까요?
국마다 국번이라는게 있습니다. 모듈의 국번을 서로 다르게 맞춰주면 모듈의 국번 + I/O주소(X3,Y11등)로 구분 가능하지요.
CC-LINK를 배운다는 것은 I/O 주소 체계와 국번 체계와 주고 받는 데이터 및 파라미터를 이해한다는 걸 의미 합니다.
끝으로 마스터국으로 많이 쓰이는 QJ61BT11N의 사양을 간단히 살펴봅니다.
최대접속 대수: 한 마스터국에 최대 64대까지의 국을 연결할 수 있습니다. CPU하나당 64국 *32점 = 2048점(최대)
위에 표에도 1시스템당 최대 입출력 2048로 나오네요. (입력,출력 등 비트 단위의 정보를 점이라고 합니다)
점유국수: 보통의 I/O모듈은 1국 차지하는데 일부 모듈들이 4국 차지합니다.
1국 차지하는 국번호 5번의 다음 국번은 6이 되지만, 4국 차지하는 국번호 5번의 다음 국번은 9번이 된답니다.
국번호는 IO 어드레스 및 파라미터값 참조에서도 상당히 중요한 변수입니다.
입출력 점수는 1국당 32점입니다.
IO를 16점만 쓰는 리모트I/O국이 있는데, 그래도 32점 할당하고, 그 다음국에 다시 32점 할당합니다.
4국 차지하는 국은? 답은 32*4 = 128점 차지 합니다.
CC-LINK 개념 설명에 이어
리모트 IO국과의 교신에 대해 알아봅시다.
리모트 IO라는 모듈이 네트워크를 통해 입력 및 출력 스위치의 상태를 PLC에 보고하고 실행하는데요.
이번에는 구체적으로 어떻게 입출력 값 교환이 일어나는지 알아 보겠습니다.
대부분의 네트웍은 그 네트웍을 관리 운영하는 장비가 있습니다.
보통은 댁에서나 직장에서 공유기를 사용하실텐데요. 이때는 공유기가 네트웍을 관리 운영하게 됩니다.
아이피 주소할당이며, 데이터의 전송 등 우리가 아는일, 모르는 일 여러가지 상당히 많은 일을 한다.
마찬가지로 CC-LINK 네트웍에서도 네트웍을 총괄하는 놈이 있는데, 이것을 마스터국 이라고 한다.
흔히 쓰는 모듈중에 QJ61BT11N이라는 놈이 있음. 그리고 마스터국은 총 64개의 리모트 IO국을 관리할 수 있다.
CC-LINK 시스템의 통신방법(리모트 입출력값을 교환하는방식) 으로는
1. 리모트 네트워크모드
2. 리모트IO네트워크 모드
두 종류가 있는데, 여기서는 리모트 IO만을 사용하는 것으로해서 진행한다.
리모트 IO국과의 리모트 입력과정을 살펴보겠습니다.
링크 스캔을 하던 , 리프레쉬를 하던, 리모트 IO의 입력 상태가 마스터국으로, 또 PLC CPU로 전달됩니다.
1국이 32개의 입력 또는 출력을 가진다고 가정했을 때, 32비트 이므로 16진수로 20H개의 데이터가 되고 이 데이터는 국번에 따라 마스터국의 지정된 버퍼에 저장됩니다. 버퍼의 위치는 추후 설명, 그리고 이 버퍼의 내용이 다시 PLC CPU의 메모리에 저장되는데, PLC CPU의 메모리 위치를 파라미터값 설정하면서 지정해줍니다.
결론은 리모트 I/O의 입출력값은 국번에 따라 마스터국의 정해진 위치(변경불가)에 저장되고, PLC CPU의 지정위치(파라미터로설정)에 저장됩니다. 나중에 다른 파라미터들도 나오는데, 이들도 PLC CPU의 설정가능한 위치에 저장됩니다.
마스터 국의 리모트 입력 RX버퍼의 크기를 계산해보겠습니다.
RX00~RX7FF 까지이므로 그 크기는 800H(2048)가 됩니다.
2048 / 32 (20H 1국당 입출력) = 64 <--- 마스터국에 붙을 수 있는 최대국수 64와 딱이죠?
이런식으로 CC-LINK는 64개 국을 기준으로 대부분의 파라미터들을 분류해두었습니다. 참고하시고 보면 다른 부분들도 좀 쉬워요
대충 다시 정리해보면
1. 네트웍을 이용해서 IO(입력및 출력값)값을 가져올 수 있는데, 리모트 I/O라고 한다.
2. 리모트 I/O의 입출력값은 마스터국에 의해 모아져서, PLC CPU에 전달된다.
3. 이과정에서 3가지 주소가 존재하게 되는데, 리모트 I/O의 주소는 32점 모듈의 경우 0X00~0X1F 혹은 0Y00~0Y1F 이다. 리모트 IO가 저장되는 마스터국의 표기는 RX00~RX1F(1국의데이터), RX20~RX3F(2국의데이터) 순으로 저장되며 버퍼 메모리의 일정 장소에 저장된다. 마스터국에 저장된 데이터는 CPU메모리에 자동 저장되는데 이 위치를 지정할수 있다
파라미터 값을 설정해 보자
CC-LINK를 더블 클릭하면 CC-LINK 환경을 설정할 수 있는 창이 나옵니다.
마스터국 네트워크 파라미터
Number of Modules: 마스터국 역할을 하는 넘을 몇개나 가지고 있느냐 하는 질문입니다.
로컬국 등이 있긴 하지만 일반적으로는 1개 쓰므로 여기서는 1을 선택합니다.
Start I/O No: 아까 위에서 마스터국의 I/O주소 (X000 ~ X001F)에서 스타트 I/O No 0이 됩니다.
보라색의 Operation Setting 눌러서 Parameter Name을 설정합니다.
이름 설정 한 뒤 나머지 옵션들도 그냥 통과 확인 눌러주고 저장
Type은 국의 종류인데, 여기서는 그냥 Master Station 선택합니다.
Mode는 Remote IO 모드를 선택합니다. IO모듈만으로 구성되어 있다면 Remote IO모드가 가장 신속합니다.
Total module Connected 는 5로 합니다. 위 그림에서처럼 리모트 IO가 다섯개이기에,
마스터국은 포함되지 않는다.
그 나머지는 기본값으로 PLC CPU이상시 STOP, 시퀀스 스캔에 대한 링크 스캔방식을 비동기로(async)
이제부터 마스터국 자동리프래쉬 파라미터 입니다.
좌측에 PLC CPU 메모리를 X1000이라고 설정했습니다.
우측 리모트 I/O국 1국의 X00~X0F가 마스터국을 거쳐 PLC메모리 X1000~ X100F에 저장됩니다.
우측리모트 I/O국 2국의 X00~X1F가 마스터국을 거쳐 PLC메모리 X1020~X103F에 저장됩니다.
리모트 I/O 1국의 X00~X1F는 마스터국의 버퍼메모리에 E0H, E1H에 저장된 후 PLC CPU의 메모리 X1000~X101F에 저장됩니다.
리모트 I/O 2국의 X00~X1F는 마스터국의 버퍼메모리 E2H, E3H에 저장된 후 PLC CPU의 메모리 X1020~ X103F에 저장됩니다.
같은방법으로, 리모트 I/O 64국의 X00~ X1F는 마스터국의 버퍼메모리 15EH, 15FH에 저장된 후 PLC CPU의 메모리 X17E0~ X17FF에 저장됩니다.
결국 64개의 리모트 I/O 입력값을 마스터국에 모아모아서 PLC CPU의 지정주소(여기서는 X1000) 에 차곡차곡 저장한다는거죠.
그리고 링크 특수 릴레이(Special Relay)에 SB0를 지정합니다.
링크 특수 레지스터(Special Register)에 SW0을 지정합니다.
링크 특수 릴레이 및 레지스터는 네트웍에 관련된 정보들이 저장되며, 리모트I/O의 입출력처럼 국별로 따로 영역이 존재하지 않습니다.
이렇게 해서 파라미터가 완성되었습니다.
리모트 I/O국의 X5를 참조하고 싶으면?
아까 기준 Remote Input(RX)가 X1000 .
그렇다면 리모트 I/O 1국의 X5의 내용은 PLC CPU의 메모리 X1005에 들어가 있습니다.
IO모듈의 입출력 주소를 참조하듯 똑같은 방법으로 할당된 주소(1000+?)의 입출력 주소를 참조하면 됩니다.
CC-LINK의 개념에 대해 얼추 알아봤는데여 이젠 GXworks2 를 이용해서 래더 프로그램으로 어떻게 구현할것인지 살펴보려구 합니다.
CC-LINK의 네트웍 방법에는
1. 리모트 네트워크 Ver1
2. 리모트 네트워크 Ver2
3. 리모트 네트워크 추가모드
4. 리모트 I/O 네트워크 모드
등 4가지가 있는데, 이 4가지 모드에 공통 적용되는 사항을 설명합니다.
데이터 링크 상태란 리모트 IO국등의 국들이 통신가능한 상태인지 통신불가 상태인지를 의미하며 인터록은 통신 가능할 때만 리모트 IO국등에 데이터를 전송하겠다는 의미입니다.
앞전에 특수릴레이(SB)및 특수 레지스터(SW)는 국별로 존재하지 않고 단독으로 존재한다고 했는데 이는 한 시스템(64개의 국과 마스터 국으로 구성) 하나씩 별도로 존재한다.
즉 CC-LINK IE가 존재하면 거기에도 별도로 SB 및 SW 영역이 존재하고, MELSECNET/H에도 별도로 존재하므로 SB및 SW영역이 중복되지 않게 주의하라는 뜻입니다.
해설해보자면, Xn0~XnF는 마스터국과 PLC가 주고 받는 신호로 Xn0는 마스터국에 이상이 있는지 없는지의 정보를 제공한다.
Xn1은 마스터국이 통신 가능한지 여부를 제공하는데, 레디상태(XnF) 이더라도 교신이 아닐 때도 있습니다.
예를 들어 파라미터값을 받아들인다던지 할 때 통신 불능입니다.
XnF는 Xn0와 상대적으로 마스터국이 자체 테스트 등을 끝내고 동작할 준비가 되어있는지를 의미 합니다.
간단히 설명하자면
마스터국이 이상상태가 아니고, 레디 상태이고 통신 가능한 상태라면 SW80의 내용을 M0~15까지에 복사합니다. 이걸 네번 반복하므로 SW81의 내용은 M16~M31까지 뭐 이런식으로 16비트 *4 = 64,
64개 국의 상태를 m0~m64까지에 저장하게 되는거죠. K1은 4비트 K4는 16비트 의미합니다.
SW80.0에는 제1국의 데이터링크 상태가 저장되고
SW80.1에는 제2국의 데이터 링크 상태가
SW80.2에는 제3국의 데이터 링크 상태가
SW80.F에는 제16국의 데이터 링크 상태가 저장됩니다.
그렇다면 5국과 통신을 하고 싶다면 SW80.4 > M4값을 참조하여 M4값이 0일때 통신하면 된다.
Xn0는 마스터국의 IO주소 입니다. 이것이 PLC CPU와 연동되서 로컬주소로 사용하는 것 뿐
그렇다면 마스터모듈과 리모트IO모듈들은 어떤 방법으로 그런 류의 정보를 주고 받을까요?
특수릴레이(SB)및 특수레지스터(SW)를 이용해서 그런류의 정보를 주고 받습니다.
'PLC' 카테고리의 다른 글
네트워크 파라미터 설정 (0) | 2020.01.06 |
---|---|
GX WORKS2 파라미터(미완성) (0) | 2020.01.01 |
프로그래밍 메뉴얼 (공통명령어편)(미완성) (0) | 2019.12.27 |
[06] 프로그래밍 (0) | 2019.12.27 |
[05] 프로그램 처리 (0) | 2019.12.26 |