Cc-link 파라미터 리프레시 영역 어떻게

이 강좌는 이 매뉴얼을 보고 진행중입니다. 자세한 내용 원하시는분은

참고 하시길 바랍니다
 

CC LINK의 개념에 대해 얼추 알아봤는데여 이젠
GXWORK2를 이용해서 래더 프로그램으로 어떻게 구현할것인지

살펴 보려구 해요 ^^

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 영역이 중복되지 않게 주의하라는

뜻입니다.

그리고 GX Developer는 저는 gxwork2로 대체해서 사용중입니다.

gxwork2 쓰시는 분들은 GX Developer 신경쓰지 마시고

gxwork2 로 대응하시면 되겟읍니다..

간단히 해설 드리면 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국과 통신을 하고 싶다면 SW.4 --> M4값을 참조하여

m4값이 0일때 통신하면 되겠습니다.(아래 프로그램 참고)

Xn0에서 n은 선두 입출력번호로 마스터국이 PLC 베이스의 1번째 꽂혀있으면 0,

2번째면 2 , 3번째면 4 머대충 이렇게 됩니다.

그렇다면 베이스의 처음위치에 꽂혀있다면 n=0가 되어 위의 예제 주소는 X0, XF, X1 이렇게 되겠죠 ?

그럼 Xn0는 어디서 나오는 신호일까요 ?

Xn0는 마스터국의 IO 주소 입니다.. 이것이 PLC CPU와 연동되서 로칼주소로 사용하는것 뿐입니다.

즉 X0 ~ X1F, Y0~Y1F 는 모듈(마스터국)과 PLC CPU와 통신 준비가 되었는지 ?

머 그런류의 정보를 주고 받을수 있다는거죠...(PLC CPU와 마스터 모듈과 말이죠)

Xn0~XnF는 리모트 IO주소와 리프레쉬 되던 X1000과는 본질적으로 틀린 개념이라는걸

잘 아시죵 ? 30초뒤에 다시 설명
 

그렇다면 마스터 모듈과 리모트 IO 모듈들은 어떤 방법으로 그런류의 정보를 주고 받을까요 ?

좀전에도 언급 되었던 특수 릴레이(SB)및 특수 레지스터(SW)를 이용해서 그런류의 정보를

주고 받습니다.

각각 기능은 유사하지만

어떤넘들 사이에서 쓰는건지 잘 이해하시기 바랍니다.

또한 X1000과 Xn0의 차이점도 잘 생각해보세요

X1000은 리모트 IO의 입력 입니다..

Xn0는 ? 마스터국의 입력인데 스위치 입력 개념보다는

방금전 설명한 그런류의 정보를 PLC CPU와 주고 받습니다.

알면 쉬운말인데 PLC CPU, 마스터국, 리모트 IO 일캐 각각 얘기하니 헛갈리시 쉽습니다.

이 부분 잘 정리해 놓으면 이해하기 훨씬 쉽습니다.

표를 보시면 왼쪽이 SW0080, SW0081등이고 오른쪾이 각각의 비트 입니다.

즉 SW0080.0는 1번 국, SW0080.1은 2번국의 데이터 링크 상태가 저장됩니다.

BMOV SW80 K4M0 K4 명령에 의해 m0에는 국번1번의 데이타 링크 상태가

m1에는 국번2번의 데이타 링크 상태가 저장되겠쥬 ?

글타면 아래와 같은 래더가 가능합니다. ㅎ

m0가 0 이면 정상시 프로그램(리모트 IO에 데이타를 읽어온다던지 출력한다던지) 실행 ^^

위의 두 래더를 합치면 완전한 프로그램이 되겠어요..

빨간색 동그라미 부분은 임의로 넣어봤읍니다. 국번2의 이상 발생시 처리 프로그램을

넣어주면 되겠습니다.

마스터국 QJ61BT11N의 버퍼 메모리에 대해 설명드립니다.

우선 마스터국의 IO 메모리와 버퍼 메모리는 완전히 틀린건데요

마스터국의 IO 메모리는 PLC CPU에서 X0, X1, X7 등으로 직접 참조가능하지만

버퍼메모리는 IO 메모리와는 별도로 PLC CPU에서 직접 참조 할수 없습니다.

버퍼 메모리는 Un\Gm의 형식으로 참조합니다.

여기서 n:선두 입출력번호 m:버퍼 메모리 주소 입니다.

확실히 CPU의 입출력이되는 IO 메모리와 버퍼 메모리는

틀리다는걸 알고 넘어갑니다..

버퍼메모리의 자세한 내용은 매뉴얼을 참고하시기 바랍니다..

먼길 오시느라 수고 많았습니다..

잠시 쉬었따가 또 함께 길 떠나봅니다.

Cc-link 파라미터 리프레시 영역 어떻게

지난 시간의 CC LINK(씨씨링크) 개념 설명에 이어 가장 단순한

리모트 IO 국과의 교신에 대해 알아 봅니다. 

리모트 IO라는 모듈이 네트워크를 통해  입력 및 출력 스위치의 상태를 PLC에

보고하고 실행하는데요

이번에는 구체적으로 어떻게 입출력 값 교환이 일어나는지 알아 보겠습니다.

Cc-link 파라미터 리프레시 영역 어떻게

대부분의 네트웍은 그 네트웍을 관리 운영하는 장비가 있습니다.

보통은 댁에서나 직장에서 공유기를 사용하실텐데요

이떄는 공유기가 네트웍을 관리 운영하게 됩니다..

아이피 주소 할당이며, 데이타의 전송 등 우리가 아는 일, 모르는 일

여러가지 상당히 많은 일을 합니다.

마찬가지로 CC LINK(씨씨링크) 네트웍에서도 네트웍을 총괄하는 넘이 있는데

이 넘을 마스터 국이라고 합니다.  흔히 쓰는 모듈중에 QJ61BT11N이라는 넘입니다.

그리고 마스터 국은 총 64개의 리모트 IO 국을 관리할수 있습니다.

Cc-link 파라미터 리프레시 영역 어떻게

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개의 국을 기준으로 대부분의 파라미터들을 분류해두었습니다.

참고하시고 보면 다른 부분들도 좀 쉬우요 ^^

Cc-link 파라미터 리프레시 영역 어떻게

대충 다시 정리 해보면요 ^^

1. 네트웍을 이용해서 IO(입력 및 출력)값을 가져올수 있는데 이를 리모트 IO라고 한다

2. 리모트 IO 의 입출력값은 마스터국에 의해 모아져서, PLC CPU에 전달된다..

3. 이과정에서 3가지 주소가 존재하게되는데

리모트 IO의 주소는 32점 모듈의 경우 0X00 ~ 0X1F, 혹은 0Y00 ~ 0Y1F 이다.

리모트 IO가 저장되는 마스터국의 표기는 RX00 ~ RX1F(1국의 데이터),

RX20 ~ RX3F(2국의 데이터) 순으로 저장되며 버퍼메모리의 일정 장소에 저장된다.

마스터국에 저장된 데이타는 CPU 메모리에 자동 저장되는데 이 위치를 지정할수 있다.

머 이정도 정리하고 GX work2에 의해서 파라미터 값을 설정해보겠습니다.

자 같이 해볼까요 ?

gxwork2를 실행합니다.

프로젝트 New를 선택해서 기본설정으로 고고 합니다.

왼쪽에 프로젝트 창에 보면 파라미터가 있읍니다. + 표시를 클릭해서열면

PLC 파라미터와 네트워크 파라미터가 있는데 네트워크 파라미터 + 표시를

클릭해서 열면 CC LINK 가 나옵니다.

CC LINK를 더블 클릭하면 CC LINK 환경을 설정할수 있는 창이 나옵니다

이 화면을 다 들 보고 계신가요 ?

안 보이신다면 2화면 위로 올라가서 다시 읽어보시는걸로

그래도 안 보이신다면 ? 헐 ^^ 제가 글을 잘못 쓴거니

댓글로 알려주세요 ㅠㅠ

아무튼 보인다고 가정하고 설명합니다.

마스터국 네트워크 파라미터 입니다.

Number of Modules : 마스터국 역할을 하는 넘을 몇개나 가지고 있느냐 하는 질문입니다.

로컬국 등이 있긴 하지만 일반적으로는 1개 쓰므로 여기서는 1을 선택합니다.

Start I/O No : 아까 위에서 마스터국의 IO 주소 (X000 ~ X001F)에서 스타트 IO No 0 이 됩니다.

보라색의 Operation Setting 눌러서 Parameter Name을 설정합니다.

아무것나 (저는 myMaster 설정 , 촌스럽죠 ? ㅋㅋ) 하셔두 되구 안 하셔도 됩니다.

나머지 옵션들도 그냥 통과 확인(OK) 눌러서 저장하세요

TYPE은 국의 종류인데 여기서는 그냥 Master Station 선택합니다.

Mode는 Remote IO 모드를 선택합니다..  IO 모듈만으로 구성되어있따면

Remote IO 모드가 가장 신속합니다.

Total module Connected는 5로 합니다.. 위에 그림에서

리모트 IO가 다섯개지요 ? 자신(마스터국) 은 안 들어간다는걸 기억하세요 ^^

그 나머지는 기본 값으로 PLC CPU 이상시 stop,

시퀀스 스캔에대한 링크 스캔 방식을 비동기로(async)

뭔진 잘 모르지만 그냥 있는대로 안 건드리는걸로 ^^

(매뉴얼은 너무 세세한거까지 설명해서 이게 참 힘들어요

어떤걸 보고 어떤걸 말아야 할지가 ㅠ ㅎ)

이제부터가 마스터국 자동 리프레쉬 파라미터 인데요

중요한 내용입니다..

remote input(RX)를 X1000으로 설정합니다.

remote output(RY)를 Y1000으로 설정합니다.

X1000, Y1000이 도대체 무슨 의미일까 ?

아까 설명했던 내용을 되세겨 봅니다.

좌측의 PLC CPU 메모리를 살펴보세요.. X1000 이라고 방금 설정해줬습니다.

우측 리모트 I/O 1 국의 X00 ~ X0F 가 마스터국을 거쳐 PLC 메모리 X1000 ~ X 100F 에 저장됩니다.

우측 리모트 I/O 2 국의 X00 ~ X1F 가 마스터국을 거쳐 PLC 메모리 X1020 ~ X 103F 에 저장됩니다.

어찌보면 단순한건데 이해 가시죵 ? 이해 가야합니다.. (아직 삼월달이지만 가야해요 ㅠ)

나중에 설명할 기회가 있을지 모르겠지만

리모트 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 1 국의 X5를 참조하고 싶으면 ??

아까 기준 Remote input(RX)가 X1000 이었죠 ?

그렇다면 리모트 I/O 1 국의 X5 의 내용은 PLC CPU의 메모리 X1005에 들어가있습니다.

이게 결론 부분입니다..

IO 모듈의 입출력 주소를 참조하듯 똑같은 방법으로

할당된 주소(1000 + ?)의 입출력 주소를 참조하면 됩니다.. ㅎ

다음에는 프로그램 방법을 살펴보겠습니다.