ABB IRB 6700 I/O settings / by Minjae Ko

1. DeviceNet Device 에 DSQC 652 I/O Module의 등록

 I/O 사용을 위해서는  DSQC 625 보드(I/O Module)가 필요함.

 I/O 사용을 위해서는  DSQC 625 보드(I/O Module)가 필요함.

Flex Pendant 에서 EIO 파일 가져오기 또는 업로드

Flex Pendant 에서 EIO 파일 가져오기 또는 업로드

보드의 존재를 확인 후, Flex pendant  에서 Control Panel - Configuration - I/O - File - Save EIO에서  파일을 저장하고, 컴퓨터상에서 수정하여 업로드하는 방식으로 등록하였다. EIO.cfg 파일은 RobotStudio에서 열 수 있다.

 같은 방식으로 수정된 EIO.cfg파일은 USB를 통하여 직접 로드 시켜줄 수 있다. I/O관련 정보를 업데이트 하면, 컨트롤러가 재부팅된다.   

 처음 저장했을 때 EIO 파일 내용(RobotStudio 화면)

 처음 저장했을 때 EIO 파일 내용(RobotStudio 화면)

DeviceNet Device는 아무것도 잡혀있지 않다. ABB에서 제공받은 레퍼런스를 참조하여 DSQC 652의 등록정보를 EIO 파일에 직접 타이핑 하였다. 여기에서 중요하게 가장 먼저 읽히는 정보는 Address 인 것 같다. 컨트롤러는 Address를 읽고, 해당 디바이스(보드)의 Product Code를 대조하는 것으로 보인다.

미리 작성한 Product code가 부정확하면 해당 Address가 할당된 Device의 제대로된 코드를 알려주기까지 한다. 그러나 이마저도 Address가 다르면 전혀 다른 Device의 코드를 알려줄 수도 있기 때문에, 가장 먼저 Address를 정확히 파악하고 입력해주는게 중요하다.

ABB 레퍼런스에 Copy Paste 한 DeviceNet Device 등록 스크립트( 필요한 항목에 대한 입력값을 타이핑한 텍스트 파일이다) 

ABB 레퍼런스에 Copy Paste 한 DeviceNet Device 등록 스크립트( 필요한 항목에 대한 입력값을 타이핑한 텍스트 파일이다) 

 ABB 엔지니어로부터 레퍼런스로 제공받은 EIO.cfg 파일에는 DSQC652 보드의 Address가 10으로 되어 있었다. 대부분 ABB 포럼에는 "일반적으로  DSQC652의 어드레스는 10이나 11이나 12일거야..". 라는 식의 글들이 많이 있는데, 실제로 할당된 Address를 눈으로 확인 할 수 있는 방법,  Address가 할당되는 방법은 아래와 같다. 

Address 설정 방법 = 읽는 방법

Address 설정 방법 = 읽는 방법

DSQC 652 Address (각각 1,2,8 에 해당하므로 우리가 보유하고 있는 DSQC652보드의 Address는 11이다.)

DSQC 652 Address (각각 1,2,8 에 해당하므로 우리가 보유하고 있는 DSQC652보드의 Address는 11이다.)

 DSQC652 보드의 X5 포트에  실제로 꽂혀있는 회색 커넥터를 확인해야한다. X5의 6-12포트에 길게 꽂혀 있는 커넥터(Address key & pins)는 그 조합에 의하여 해당 보드의 Address를 할당한다. 왼쪽 그림을 보면  0V라고 적힌 핀을 제외하고, NA0~ NA5 에 들어가는 6개의 핀은 1, 2, 4, 8, 16, 32 라는 숫자가 할당돼있고, 잘려있는 핀에 해당하는 숫자를 더하면 Address가 되는 것을 알 수 있다.

그에 따라 우리가 가지고 있는 컨트롤러에서 할당된 DSQC 652 I/O Module의 어드레스는 11이었다. 

DSQC 378 CClink Address

DSQC 378 CClink Address

CC link 보드 DSQC 378B 에도 같은 X5 커넥터 포트가 있는데, 이것도 같은 방법으로 확인해보면, 이 보드의 Address는 10이었다. 각각의 Address정보에 따라 EIO파일을 수정해 볼 수 있다. DEVICENET_DEVICE 란에 각 보드의 어드레스만 제대로 넣으면 ProductCode는 팬던트에서 검색되어 알려준다. 나머지 정보 중 특히 OutoutSize, InputSize 등은 잘못 입력하면 에러가 뜨는데, 이부분에 대한 정보는 엔지니어로부터 얻었다. 

(DSQC 652 / ProductCode = 26 / DeviceType = 7 / InputSize = 2 / OutputSize =2)

(DSQC378B / ProductCode = 17 / DeviceType = 7 / InputSize = -1 / OutputSize =-1) 

나머지 다양한 Name이나 Label 등은 사용자가 식별할 수 있는 수준에서 자유롭게 넣으면 된다. 

 수정된 EIO

 수정된 EIO

이와같은 과정으로 DEVICENET_DEVICE의 정보를 입력하고 나서 EIO.cfg 파일을 로봇 컨트롤러에서 덮어쓰면 컨트롤러와 Flex Pendant 상에서 DSQC652 보드를 이용하여  I/O Signal을 만들 수 있게  된다. 혹은 EIO 수정시에 함께 넣을 수도 있다. (이미지 참고)

2. Signal 등록

Signal을 만들려면 크게 Name - SignalType - Device - DeviceMap 의 네가지 입력값이 들어가는데 Name과 SignalType은 자유롭게 지정하고, Device 에는 앞서 등록한 DSQC 652 I/O Module을 입력, DeviceMap은 모듈의  Digital Output(포트X1과 X2)의 1~16핀 또는 Digital Input(포트 X3과X4)의 1~16핀에 해당하는 것으로 0~15 사이의 값을 입력한다. 

테스트로 만든 Digital Output과 Digital Input (각각 X1 과 X3의 1번 핀에 해당한다. )

테스트로 만든 Digital Output과 Digital Input (각각 X1 과 X3의 1번 핀에 해당한다. )

3. Signal 확인

 DSQC 652 의 DigitalOutput시그널이 나오려면 X1의 9번(0V) 10번(24V) 또는 X2의 19번(0V) 20번(24V) 핀에 외부전원 24V가 공급되어야 한다. 외부전원 24V는 I/O Module 옆 XT 31이라고 되어있는 포트에서 공급할 수 있다.  XT31의 1번과 5번은 각각 24V와 0V 에 해당되므로 각각을 DSQC 652 의 X1의 10번 핀과 9번핀에 연결해준다. 

KakaoTalk_20171219_114051760.png

Flex Pendant 에 USB를 통해  EIO.cfg 파일을 다시 로드시키고, 재부팅이 끝난 뒤 에러가 뜨지 않았다면,  Control Panel - I.O 에서 생성된 신호들을 체크하고,  메인메뉴의  Inputs and Outputs 로 들어가서 신호들의 Value를 바꿔볼 수 있다. 테스트로 Digital Output으로 만든 DO_01만 실험해 본다.

KakaoTalk_20171220_162755757.jpg
KakaoTalk_20171220_162816766.jpg

 신호가 나오면 해당 핀의 상단에 LED가 들어온다. 

 EIO.cfg  파일