KR100946956B1 - Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법 - Google Patents

Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법 Download PDF

Info

Publication number
KR100946956B1
KR100946956B1 KR1020080029773A KR20080029773A KR100946956B1 KR 100946956 B1 KR100946956 B1 KR 100946956B1 KR 1020080029773 A KR1020080029773 A KR 1020080029773A KR 20080029773 A KR20080029773 A KR 20080029773A KR 100946956 B1 KR100946956 B1 KR 100946956B1
Authority
KR
South Korea
Prior art keywords
plc
motor
data
rotation
origin
Prior art date
Application number
KR1020080029773A
Other languages
English (en)
Other versions
KR20090104374A (ko
Inventor
백승철
Original Assignee
삼성중공업 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성중공업 주식회사 filed Critical 삼성중공업 주식회사
Priority to KR1020080029773A priority Critical patent/KR100946956B1/ko
Publication of KR20090104374A publication Critical patent/KR20090104374A/ko
Application granted granted Critical
Publication of KR100946956B1 publication Critical patent/KR100946956B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 PLC를 이용하여 원점도그와 원점센서가 필요 없는 절대치 엔코더의 원점 인식을 수행하는 원점 인식 장치 및 방법에 관한 것이다. 즉, 본 발명에서는 원점 인식을 위해 원점 도그와 원점센서가 필요 없는 절대치 엔코더로 서보 드라이버와 모터를 구현하고, PLC를 이용하여 절대치 엔코더 값으로 입력되는 모터의 1회전 데이터로부터 각 축상 구동부의 원점 셋업을 위한 오프셋 값을 계산한 후, 오프셋 값과 모터의 다회전 데이터를 이용하여 원점으로부터 각 구동부의 현재 위치를 계산함으로써, 원점도그와 원점센서 없이도 보다 정확한 원점 인식이 가능하도록 한다.
원점, 절대치, 엔코더, 모터, PLC, SCU, 펄스

Description

PLC를 이용한 절대치 엔코더의 원점 인식 장치 및 방법{APPARATUS AND METHOD FOR RECOGNIZING DEFAULT POINT OF ABSOLUTE ENCODER BY USE OF PLE}
공작기계용 수치 제어기의 원점 인식 방법에 관한 것으로, 특히 PLC(Programmable Logic Controller)를 이용하여 원점도그와 원점센서가 필요 없는 절대치 엔코더(absolute encoder)의 원점 인식을 수행하는 원점 인식 장치 및 방법에 관한 것이다.
통상적으로, 원점 인식 방법은 인크리멘털 엔코더(incremental encoder) 서보 시스템을 활용한 원점도그와 센서(sensor) 또는 스위치(switch)를 이용하여 절대좌표점(원점)을 인식하는 방법과, Z상 펄스가 출력되는 서보 시스템을 활용한 원점을 인식하는 방법을 주로 사용하여왔다.
도 1은 종래 원점도그와 센서 또는 스위치를 이용하여 원점 인식을 수행하는 개념을 도시한 것으로, 위 도 1을 참조하여 종래 원점도그와 센서 또는 스위치를 이용한 원점 인식 동작을 살펴보기로 한다.
먼저, 원점복귀 스위치(100)가 온(on)되는 시점(T1)에 모터 드라이브(motor drive)(102)가 원점복귀 스위치 입력에 따라 모터(motor)(104)를 구동하여 목표속도까지 가속하여 테이블(table)(106)에 대한 원점복귀 기동을 수행하게 된다. 이때 모터(104)에 의해 원점(108)으로 복귀하는 테이블(106)이 원점근접 스위치(110)로 도달하여 원점도그(112)가 원점근접 스위치(110)와 접촉되는 시점(T2)에 모터 드라이브(102)로 원점근접 신호가 입력되며, 이에 따라 모터(104)가 테이블(106)의 구동 속도를 기동 속도까지 감속시킨 후, 원점(108)에 도달하게 되는 시점(T3)에 원점 신호가 입력되어 모터(104)가 테이블(106)의 구동을 멈추어 원점복귀를 완료하게 된다.
그러나, 위와 같은 원점도그(112)와 센서 또는 원점 근접 스위치(110)를 이용한 원점 인식 방법의 경우 원점도그(112)와 센서 또는 원점 근접 스위치(110)의 위치변화에 의해 원점(108)을 반복적으로 인식할 경우 동일한 위치를 인식하지 못하는 문제점이 있었다.
도 2는 종래 Z상 펄스를 이용한 원점 인식을 수행하는 개념을 도시한 것으로, 먼저, 원점복귀 스위치(100)가 온(on)되는 시점(T1')에 모터 드라이브(102)가 원점복귀 스위치(100) 입력에 따라 모터(104)를 구동하여 목표속도까지 가속하여 테이블(106)에 대한 원점복귀 기동을 수행하게 된다. 이때 모터(104)에 의해 원점(108)으로 복귀하는 테이블(106)이 원점근접 스위치(110)로 도달하는 시점(T2')에 모터 드라이브(102)로 원점근접 신호가 입력되어 모터(104)가 테이블(106)의 구동 속도를 기동 속도까지 감속시킨 후, 원점에 도달하게 되는 경우 가장 먼저 입력되는 Z상 신호의 발생시점(T3')을 원점입력 신호로 간주되어 모터(104)가 테이 블(106)의 구동을 멈추어 원점복귀를 완료하게 된다.
그러나, 위와 같은 Z상 펄스를 이용한 원점 인식 방법의 경우에는 Z상 펄스가 노이즈(noise) 등으로 Z상을 인식하지 못하는 경우 원점을 정확하게 인식하지 못하게 되는 문제점이 있었다.
따라서 본 발명은 종래 원점도그와 원점센서를 이용한 원점인식에 있어서의 문제점을 해결하고자 안출된 것으로, 원점도그와 원점센서 없이도 보다 정확한 원점 인식이 가능하도록 하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치 및 방법을 제공하고자 한다.
상술한 목적을 달성하기 위한 본 발명은 PLC를 이용한 절대치 엔코더의 원점 인식 장치로서, 소정 제어에 따라 회전하여 각 축에 위치한 구동부를 직선 방향으로 이동시키는 모터와, 상기 모터의 구동을 제어하며, 상기 구동부의 원점 셋업을 위해 상기 모터의 1회전 또는 다회전 데이터를 측정하는 서보 드라이버와, 상기 서보 드라이버로부터 절대치 엔코더 값으로 수신되는 각 축 모터의 1회전 또는 다회전 데이터를 이용하여, 상기 각 축 구동부의 초기 원점을 셋업하고, 현재 위치를 연산하는 PLC부를 포함한다.
또한, 본 발명은 PLC를 이용한 절대치 엔코더의 원점 인식 방법으로서, (a)원점복귀 요청에 따라 절대치 엔코더 서보 드라이버에 연결된 각 축의 모터로 1회전 및 다회전 데이터를 요청하는 단계와, (b)상기 요청에 따른 데이터 수신 시 상기 서보 드라이버와 연결된 PLC에서 상기 모터의 다회전 데이터를 리셋시킨 후, 1회전 데이터를 펄스로 변환하는 단계와, (c)상기 모터의 1회전 펄스수를 이용하여 각 축을 이동하는 구동부의 초기 원점 셋업을 위한 오프셋 값을 구하는 단계와, (d)상기 오프셋 값을 이용하여 상기 각 구동부의 초기 원점 셋업을 수행하는 단계를 포함한다.
본 발명은 PLC를 이용하여 원점도그와 원점센서가 필요 없는 절대치 엔코더의 원점 인식을 수행함에 있어서, 원점 인식을 위해 원점 도그와 원점센서가 필요 없는 절대치 엔코더로 서보 드라이버와 모터를 구현하고, PLC를 이용하여 절대치 엔코더 값으로 입력되는 모터의 1회전 데이터로부터 각 축상 구동부의 원점 셋업을 위한 오프셋 값을 계산한 후, 오프셋 값과 모터의 다회전 데이터를 이용하여 원점으로부터 각 구동부의 현재 위치를 계산함으로써, 원점도그와 원점센서 없이도 보다 정확하게 원점 인식이 가능한 이점이 있다.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 핵심 기술요지를 살펴보면, 원점 인식을 위해 원점 도그와 원점센서가 필요 없는 절대치 엔코더로 서보 드라이버와 모터를 구현하고, PLC를 이용하여 절대치 엔코더 값으로 입력되는 모터의 1회전 데이터로부터 각 축상 구동부의 원점 셋업을 위한 오프셋 값을 계산한 후, 오프셋 값과 모터의 다회전 데이터를 이용하여 원점으로부터 각 구동부의 현재 위치를 계산하는 기술을 통해 본 발명에서 이루고자 하는 바를 쉽게 달성할 수 있다.
도 3은 본 발명의 실시 예에 따른 PLC(Programmable Logic Controller)를 이용한 절대치 엔코더(absolute encoder)의 원점 인식 장치의 구성을 도시한 것으로, 본 발명의 PLC를 이용한 원점 인식 장치는 원점도그와 원점 센서가 필요 없는 절대치 엔코더를 이용하여 절대 좌표점(원점)과 상대 좌표점(현위치)을 절대치 엔코더인 서보 드라이버(servo driver)(308)와 PLC부(300)의 시리얼 데이터 통신으로 보다 빠르고 정확하게 인식할 수 있도록 한다.
이하, 위 도 3을 참조하여 본 발명의 PLC를 이용한 절대치 엔코더의 원점 인식 장치 각 구성요소의 동작을 상세히 살펴보기로 한다.
먼저, PLC부(300)는 모터들(316, 318, 320, 322)의 원점 인식 동작 제어를 위한 CPU(Central Processing Unit)(302)와 서보 드라이버(308, 310, 312, 314)와의 시리얼 통신을 위한 SCU(Serial Communication Unit)(304), 그리고 모터들(316, 318, 320, 322)의 위치를 제어하기 위한 위치 제어 유닛(POSI)(306)로 구성된다.
PLC CPU(302)는 절대치 엔코더의 원점 알고리즘 개발을 위해 OEMAX사의 PLC NX-750C를 사용하며, POSI(306)는 4축 컨트롤러 NX-POSI4를 사용한다.
서보 드라이버(308, 310, 312, 314)와 모터(316, 318, 320, 322)는 시리얼 절대치 엔코더 타입의 CSD3와 CSMT-02BQ를 사용한다. PLC CPU(302)는 서보 드라이버(308, 310, 312, 314)로부터 입력되는 절대치 데이터를 처리할 수 있는 인터페이스 프로그램(interface program)과 PLC의 래더 프로그램(ladder program)에 맞게 시리얼 통신으로 절대치 데이터를 입력하는 입력부와 입력한 데이터를 연산/변환 처리할 수 있는 데이터 처리부를 포함하여 절대치 데이터를 이용하여 모터(316, 318, 320, 322)의 원점을 인식할 수 있도록 한다.
절대치 엔코더인 서보 드라이버(308, 310, 312, 314)와 모터(316, 318, 320, 322)로 사용되는 OEMAX사 CSD3의 종래 PS(+,-)시리얼 데이터 규격에서는, 다회전 데이터는 회전수에 따라 전송되는 데이터의 비트수가 가변되고, 1회전 데이터는 정지위치에 따라 전송되는 데이터의 비트수가 가변되며, 다회전 데이터의 -방향만 표시되어 위치도 회전수에 따라 비트가 가변될 수 있다. 그러나, 이와 같은 종래 PS(+,-) 시리얼 데이터 규격에서는 PLC의 래더 프로그램으로 방향 표시와 비트수가 가변되는 데이터를 처리하기엔 처리루틴이 너무 복잡하게 된다.
이에 따라 본 발명에서는 OEMAX사 CSD3의 PS(+,-)시리얼 데이터 규격을 변경하여 1회전 데이터는 위치에 관계없이 데이터 자릿수가 고정으로 출력되도록 하며, 다회전 데이터는 도 4에서 보여지는 바와 같이 방향에 따라 ± 표시되며 자릿수도 회전수에 관계없이 고정으로 출력되도록 한다.
도 5는 PLC부 SCU(304)와 서보 드라이버(308, 310, 312, 314)간 시리얼 통신으로 송/수신되는 데이터 프레임의 구조를 도시한 것으로, 위 데이터 프레임 구조에서 사용되는 제어문자는 아래의 [표 1]에서와 같이 정의된다.
[표 1]
명칭 문자 ASCII 내용
Packet 시작 STX 0x02 메시지의 선두에 위치하여 Packet의 시작
Packet 종료 ETX 0x03 메시지의 마지막에 위치하여 Packet의 끝
정상 응답 ACK 0x06 메시지의 정상수신
이상 응답 NAK 0x15 메시지의 이상 수신
Parameter Saving Failure GS 0x1d 파라미터를 저장할 수 없음
Range Over RS 0x1e 파라미터 설정값이 범위를 초과
Undefined US 0x1f 정의되지않는경우 또는 해당 서비스가 없음
DATA 구분 & 0x26 DATA와 DATA를 구분하는 문자
이때 위 데이터 프레임 구조내 ID는 16진수로 전송되며, 디폴트 설정값은 1이므로 0x01이 된다.
또한, 위 데이터 프레임 구조의 속성은 아래의 [표 2]에서와 같이 정의되며,
[표 2]
명칭 문자 ASCII 내용
요구 # 0x23 Master에서 Slave에 요구시의 속성
응답 $ 0x24 Slave에서 Master에 응답시의 속성
체크섬(checksum)은 아래 [표 3]에서와 같이 체크섬 범위 내 아스키(ascii) 헥사 코드(hex code)를 가산할 결과 값의 첫 번째 숫자를 아스키 문자로 표시하게 된다.
[표 3]
STX 0x01 # M D M 1 2 2 2 : 3 ETX
0x01 0x23 0x4d 0x44 0x4d 0x31 0x32 0x32 0x32 0x3a
합계 = 0x203
이때, 데이터 처리 속도는 최대 57600bps로 설정되며, CSD3 플러스 펌웨어 버전 2.50부터는 데이터 처리속도를 변경할 수 있다.
상위 제어기인 PLC부(300)와 서보 드라이버(308, 310, 312, 314)간 송/수신되는 모터의 다회전 또는 1회전 데이터의 모니터링을 위한 데이터 포맷은 도 6에서 보여지는 바와 같이 구성되며, 데이터 포맷내 각 변수번호의 의미는 아래의 [표 4]에서와 같이 정의된다.
[표 4]
변수 번호 내용 변수 번호 내용
00 속도 피드백 11 DC Link 전압
01 속도 명령 12 절대치 엔코더 다회전 데이터
02 속도 오차 13 아날로그 속도 명령 전압 오프셋[x0.1mV]
03 토오크 명령 14 아날로그 토오크 명령 전압 오프셋[x0.1mV]
04 위치 피드백 15 I/O 상태
05 위치 명령 17 펌웨어 버전
06 위치 오차 19 아날로그 속도 명령 전압[x0.01V]
07 위치 명령펄스 주파수 20 아날로그 토오크 명령 전압[x0.01V]
08 전기각 21 드라이브 정격 출력
09 기계각 22 절대치 엔코더 1회전 데이터
10 회생 부하율 23 엔코더 피드백
도 7은 본 발명의 실시 예에 따른 PLC를 이용한 절대치 엔코더의 원점 인식 장치에서 원점 복귀를 위한 PLC부(300)와 서보 드라이버(308, 310, 312, 314)간 모터 회전수 검출 및 각 축 구동부(324)의 위치 결정 동작 흐름을 도시한 것이다. 이하 도 3 및 도 7을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다. 한편, 본 발명의 실시 예에서는 설명의 편의상 서보 드라이버1(308)과 모터1(316)의 동작에 대해서 설명하나, 나머지 서보 드라이버(310, 312, 314)와 모터(318, 320, 322)의 동작 제어에 있어서도 동일하게 적용될 수 있음은 당업자에게 자명하다.
먼저, 시스템 전원 온(on) 또는 오프(off)가 입력되거나, 원점 복귀 스위치가 입력되는 경우 또는 긴급상황으로 정지가 수행된 경우 등과 같이 모터를 제어하는 PLC부(300)에 원점 복귀 요청이 입력되는 경우 PLC CPU(302)는 원점복귀 요청을 인식하고, 서보 드라이버1(308)내 모터1(316)의 다회전 및 1회전수를 읽어 들이면서 모터1(316)의 원점을 셋업(set up)시킨 후, 원점 셋업에 따른 모터1(316)에 연결된 축상 구동부(324)의 현 위치를 정확히 계산하게 된다.
즉, PLC CPU(302)는 시스템 전원 온/오프, 원점복귀 스위치 입력 등으로 원점복귀 요청이 판단되는 경우 (S700)단계에서 (S702)단계로 진행해서 서보 드라이버1(308)로 모터1(316)의 다회전 데이터를 요청한다.
이때 PLC CPU(302)에서는 도 8a에서와 같은 데이터 프레임 구조로 서보 드라이버1(308)로 모터1(316)에 대한 다회전 데이터 요청을 수행하게 되는데, 프레임 구조를 살펴보면, #는 요구를 의미하며, ID는 0x01로 모터1(316)을 가리키고, 변수번호는 : 12로 표시되어 다회전 데이터 요구를 나타낸다.
위와 같은 다회전 데이터 요청 프레임은 PLC부(300) 데이터 레지스터(data register) DT20부터 12워드(DT20-DT32)만큼 저장되며, SCU(304)의 공유메모리 어드레스1(CH1 송신버퍼)으로 전송되어 서보 드라이버1(308)로 전송된다. 이때 시리얼 통신을 통해 SCU(304)로부터 서보 드라이버1(308)로 전송되는 아스키 코드값은 도 8a에서와 같이 예를 들어 "STX 0x01 # MDM 12 : F ETX"와 같다.
이에 따라 서보 드라이버1(308)는 요청된 모터1(316)의 다회전수를 확인하여 다회전 데이터를 도 8b에서와 같은 데이터 프레임 구조로 PLC부(300)로 전송하여 다회전 데이터 요청에 대해 응답하게 된다. 이때 서보 드라이버1(308)로부터 응답된 프레임 구조를 살펴보면, $는 응답을 의미하며, ID는 0x01로 모터1을 가리키고, DT53-DT56까지 다회전 데이터 값을 나타낸다. 이때 다회전 데이터는 절대치 엔코더 리셋 시에는 +000000으로 나타나며, 절대치 엔코더 리셋이 아닌 경우 +001342로 나타날 수 있다.
위와 같은 다회전 데이터 응답 프레임은 서보 드라이버1(308)과 시리얼 통신을 수행하는 SCU(304)의 공유메모리 어드레스 251(CH1 수신버퍼)로 저장된 후, 16워드(word) 데이터를 리드(read)하여 PLC CPU의 데이터 레지스터 DT100-DT115로 전송된다. 이때 시리얼 통신으로 서보 드라이버1(308)로부터 SCU(304)로 전송되는 아스키 코드값은 도 8b에서와 같이 예를 들어 "STX 0x01 $ MDM +000000 : F ETX" 또는 "STX 0x01 $ MDM +001342 : F ETX"와 같다.
그러면, PLC CPU(302)는 (S704)단계에서 위와 같이 모터1(316)에 대한 다회전 데이터를 수신한 후, (S706)단계에서 수신된 모터1(316)의 다회전 데이터가 정상적인 데이터인지 여부를 검사한다.
즉, PLC CPU(302)는 데이터 레지스터 DT100으로 전송된 아스키 코드와 16진수 아스키 코드 "H02(STX), H01(01)"를 비교 판단하고, 또한 DT101-DT102로 전송된 아스키 코드와 16진수 아스키 코드 "H24($), H4D(M), H44(D), H4D(M)"를 비교 판단 하여 정상적인 데이터인지를 검사한다.
이때 만일 수신된 다회전 데이터가 정상적인 데이터가 아닌 경우 PLC CPU(302)는 다회전 데이터 요청을 반복하게 되며, 정상적인 데이터인 경우에는 DT106으로 전송된 아스키 코드와 "H30, H3A"를 비교하여 모터1의 절대치 데이터의 리셋 여부를 판단에 따라 초기 절대치 엔코더의 셋업 여부를 결정하며, 또한 DT103으로 전송된 아스키 코드와 "H2D, H30"을 비교하여 모터1의 회전방향을 판별하여 회전수 연산에 반영되도록 한다.
이어, PLC CPU(302)는 (S708)단계에서 서보 드라이버1(308)로 모터1(316)의 1회전 데이터를 요청한다.
이때 PLC CPU(302)에서는 도 8c에서와 같은 데이터 프레임 구조로 서보 드라이버1(308)로 모터1(316)에 대한 1회전 데이터 요청을 수행하게 되는데, 프레임 구조를 살펴보면, #는 요구를 의미하며, ID는 0x01로 모터1을 가리키고, 변수번호는 : 22로 표시되어 1회전 데이터 요구를 나타낸다.
위와 같은 1회전 데이터 요청 프레임은 PLC부(300) 데이터 레지스터 DT20부터 12워드(DT20-DT32)만큼 저장되며, SCU(304)의 공유메모리 어드레스1(CH1 송신버퍼)으로 전송되어 서보 드라이버1(308)로 전송된다. 이때 시리얼 통신을 통해 SCU(304)로부터 서보 드라이버1(308)로 전송되는 아스키 코드값은 도 8c에서와 같이 예를 들어 "STX 0x01 # MDM 22 : 0 ETX"와 같다.
이에 따라 서보 드라이버1(308)는 요청된 모터1(316)의 1회전수를 확인하여 1회전 데이터를 도 8d에서와 같은 데이터 프레임 구조로 PLC부(300)로 전송하여 1 회전 데이터 요청에 대해 응답하게 된다. 이때 서보 드라이버1(308)로부터 응답된 프레임 구조를 살펴보면, $는 응답을 의미하며, ID는 0x01로 모터1(316)을 가리키고, DT53-DT56까지 다회전 데이터 값을 나타낸다.
위와 같은 1회전 데이터 응답 프레임은 서보 드라이버1(308)와 시리얼 통신을 수행하는 SCU(304)의 공유메모리 어드레스 251(CH1 수신버퍼)로 저장된 후, 16워드 데이터를 리드하여 PLC부(300)의 데이터 레지스터 DT110-DT125로 전송된다. 이때 시리얼 통신으로 서보 드라이버1(308)로부터 SCU(304)로 전송되는 아스키 코드값은 도 8d에서와 같이 예를 들어 "STX 0x01 $ MDM +021351 : F ETX"와 같다.
그러면, PLC CPU(302)는 (S710)단계에서 위와 같이 모터1(316)에 대한 1회전 데이터를 수신한 후, (S712)단계에서 수신된 모터1(316)의 1회전 데이터가 정상적인 데이터인지 여부를 검사한다.
즉, PLC CPU(302)는 데이터 레지스터 DT110으로 전송된 아스키 코드와 16진수 아스키 코드를 비교 판단하여 모든 접점이 온되지 않은 경우 수신된 1회전 데이터가 정상적인 데이터가 아니라고 판단하여 1회전 데이터 요청을 반복하게 되며, 정상적인 데이터인 경우에는 (S714)단계에서 모터1(316)의 다회전 데이터가 "0" 인지 여부를 검사한다.
이때 만일, 모터1(316)의 다회전 데이터가 "0"인 경우 PLC CPU(302)는 (S716)단계에서 모터1(316)의 1회전 데이터를 10진수 아스키 코드에서 32비트(bit) 2진(binery) 정수 데이터로 변환한다.
이어 PLC CPU(302)는 (S718)단계에서 모터1(316) 절대치 엔코더의 초기 원점 셋업을 위한 원점 오프셋 연산을 수행한다. 이때, 절대치 엔코더 초기 원점 오프셋 데이터 연산에 있어서는 1회전 펄스(pulse)를 다회전 펄스와 체배수를 맞추기 위해 4로 나눈 후 DT144에 저장한다. 또한 위치 정도와 PLC의 연산 알고리즘을 쉽게 하기 위해 1회전 펄스 데이터를 정수 -> 실수 -> 정수로 데이터 변환하며, 1회전 펄스수 데이터를 사사오입하여 DT146에 저장한다.
그런 후, PLC CPU(302)는 (S720)단계에서 상기 연산된 오프셋 값을 이용하여 모터1(316)의 초기 원점 셋업을 수행한다. 이때 초기 오프셋 데이터는 PLC부(300) 내부 파일 레지스터 FL100에 저장되며, 원점 셋업 데이터를 위치제어 유닛 POSI(306)의 공유메모리 "H10A"로 전송한다.
위와 같은 절차에 따라 모터1(316)의 초기 원점 셋업이 수행되며, 나머지 3개의 모터인 모터2(318), 모터3(320), 모터4(322)에 대해서도 동일한 방법의 프로세스(process)를 적용하면 각 축의 초기 원점을 완료할 수 있게 된다.
그러나, 위 (S714)단계에서, 모터1(316)의 다회전 데이터가 "0"이 아닌 경우 PLC CPU(302)는 (S714)단계에서 (S722)단계로 진행해서 모터1(316)의 다회전/1회전 데이터를 10진수 아스키 코드에서 32비트 2진수로 변환한다.
즉, PLC CPU(302)는 쉬운 연산 알고리즘을 위해 수신한 아스키 코드의 다회전/1회전 데이터를 아래의 예시)와 같이 32비트 2진 정수 데이터로 변환한다.
예시) 다회전 데이터 : H2B303031333432 -> +001342
1회전 데이터 : H2B3231333531 -> +021351
이어, PLC CPU(302)는 (S724)단계에서 모터1(316)의 다회전 데이터와 1회전내의 펄스데이터를 통해 전체 회전량을 계산하여 모터1(316)이 연결된 축상 이동하는 구동부(324)의 절대 위치를 연산하고, 이와 같이 연산된 위치를 PLC부(300)의 위치제어 유닛 POSI(306)에 설정한다.
도 9는 본 발명의 실시 예에 따라 모터1(316)의 원점 복귀 및 위치결정을 연산하기 위한 PLC 래더(ladder) 프로그램 일부를 도시한 것으로, 위 도 9를 참조하여, 상기 (S724)단계에서의 모터1(316)의 다회전에 따른 해당 축 구동부(324)의 절대 위치 연산을 보다 상세히 설명하기로 한다.
먼저, PLC CPU(302)는 모터1(316)의 회전방향에 따라 회전수에 해당하는 전체 펄스를 연산하여 DT132에 저장한다. 이어 다회전 펄스출력과 1회전 펄스출력의 체배방식을 맞추기 위해 1회전 내 펄스수를 4로 나눈후 DT144에 저장하고, 다시 위치 정도와 PLC의 연산 알고리즘을 쉽게 하기 위해 1회전 펄스수를 4로 나누기 전후로 정수->실수->정수로 데이터를 변환하여 1회전 펄스수 데이터를 DT146에 저장한 후, 다시 다회전 펄스수와 1회전 펄스수를 더한 전체 펄스수를 DT150에 저장한다.
이때 전체 펄스수를 구동부(324)의 초기 원점 셋팅 프로세스에서 산출된 절대치 엔코더의 오프셋 값만큼 (-)한 펄스수가 원점으로부터 실제 이동한 구동부(324)의 이동거리가 되는 것이다.
이어, PLC CPU(302)는 내부 파일 레지스터상 DT152부터 2워드(DT152-DT153)에 위와 같은 연산을 통해 기록되는 구동부(324)의 실제 이동거리(펄스수) 데이터를 PLC부(300)의 위치제어 유닛 POSI(306)의 공유메모리 "H10A(모터1 구동부의 현 재위치)"으로 전송하여 POSI(306)에서 모터1(316) 구동부(324)의 현재 위치 정보가 인식되도록 한다.
상술한 바와 같이 나머지 3개의 축 또한 동일한 방법으로 프로세스를 완료하게 되면 각 축의 초기 원점 셋팅 이후 시스템 전원을 온/오프 한 다음에 구동부를 이동시켜 원점을 재인식할 필요 없이 쉽게 원점을 찾을 수 있게 된다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
도 1은 종래 원점 도그를 이용한 원점 인식 장치 및 원점 인식 개념도,
도 2는 종래 Z상 신호를 이용한 원점 인식 개념도,
도 3은 본 발명의 실시 예에 따른 PLC를 이용한 절대치 엔코더의 원점 인식 장치 구성도,
도 4는 본 발명의 실시 예에 따른 절대치 엔코더의 데이터 전송 프레임 구조도,
도 5는 본 발명의 실시 예에 따른 PLC부와 서보 드라이버간 시리얼 통신 전송 프레임 구조도,
도 6은 본 발명의 실시 예에 따른 PLC부와 서보 드라이버간 데이터 인터페이스 개념도,
도 7은 본 발명의 실시 예에 따른 PLC를 이용한 절대치 엔코더의 원점 인식 동작 제어 흐름도,
도 8a 내지 도 8d는 본 발명의 실시 예에 따른 모터1의 다회전/1회전 데이터 요청 및 수신을 위한 데이터 프레임 구조도,
도 9는 본 발명의 실시 예에 따른 절대치 엔코더의 원점 인식 및 위치 결정을 위한 PLC 래더 프로그램 예시도.
<도면의 주요 부호에 대한 간략한 설명>
300 : PLC부 302 : CPU
304 : SCU 306 : POSI
308, 310, 312, 314 : 서보 드라이버
316, 318, 320, 322 : 모터
324 : 구동부

Claims (14)

  1. PLC를 이용한 절대치 엔코더의 원점 인식 장치로서,
    소정 제어에 따라 회전하여 각 축에 위치한 구동부를 직선 방향으로 이동시키는 모터와,
    상기 모터의 구동을 제어하며, 상기 구동부의 원점 셋업을 위해 상기 모터의 1회전 또는 다회전 데이터를 측정하는 서보 드라이버와,
    상기 서보 드라이버로부터 절대치 엔코더 값으로 수신되는 각 축 모터의 1회전 또는 다회전 데이터를 이용하여, 상기 각 축 구동부의 초기 원점을 셋업하고, 현재 위치를 연산하는 PLC부
    를 포함하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치.
  2. 제 1 항에 있어서,
    상기 PLC부는,
    상기 서보 드라이버와 시리얼 통신을 통해 상기 모터의 다회전 또는 1회전 데이터를 요청 및 수신하는 SCU(Serial Communication Unit)와,
    상기 SCU를 통해 상기 서보 드라이버로부터 전송된 모터의 다회전 또는 1회전 데이터를 수신하여 상기 각 축 구동부의 초기 원점을 셋업하고, 현재 위치를 연산하는 PLC CPU와,
    상기 PLC CPU로부터 연산된 상기 각 축 구동부의 위치 정보를 이용하여 상기 모터 회전에 따른 각 축 구동부의 위치 제어를 수행하는 위치제어유닛
    을 포함하는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치.
  3. 제 2 항에 있어서,
    상기 PLC CPU는,
    상기 서보 드라이버로부터 절대치 엔코더 값으로 상기 각 축 모터의 1회전 또는 다회전 데이터를 입력받은 후, 상기 1회전 데이터의 펄스수 변환을 통해 각 축 구동부의 초기 원점 셋업을 위한 오프셋 값을 연산하여 원점 셋업을 수행하며, 상기 다회전 데이터와 1회전 데이터를 통해 상기 모터의 회전량을 계산하여 전체펄스수를 구한 후, 상기 오프셋 값에 대응되는 펄스수를 감산하여 각 축 구동부의 원점으로부터 실제 이동 거리를 계산하는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치.
  4. 제 3 항에 있어서,
    상기 PLC CPU는,
    상기 초기 원점 셋업시, 상기 모터의 1회전 데이터를 10진수 아스키 코드값 에서 32비트 2진 정수로 변환시키는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치.
  5. 제 2 항에 있어서,
    상기 PLC부는,
    상기 PLC CPU와 SCU간 데이터 전송을 위한 공유메모리를 구비하여, 상기 PLC CPU와 서보 드라이버간 상기 각 축 구동부의 원점 셋업 및 현재 위치 연산을 위해 필요한 상기 모터의 회전수 데이터에 대한 요청 및 수신이 가능하도록 하는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치.
  6. 제 2 항에 있어서,
    상기 SCU와 서보 드라이버간 시리얼 데이터 통신은, RS-485인 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 장치.
  7. PLC를 이용한 절대치 엔코더의 원점 인식 방법으로서,
    (a)원점복귀 요청에 따라 절대치 엔코더 서보 드라이버에 연결된 각 축의 모터로 1회전 및 다회전 데이터를 요청하는 단계와,
    (b)상기 요청에 따른 데이터 수신 시 상기 서보 드라이버와 연결된 PLC에서 상기 모터의 다회전 데이터를 리셋시킨 후, 1회전 데이터를 펄스로 변환하는 단계와,
    (c)상기 모터의 1회전 펄스수를 이용하여 각 축을 이동하는 구동부의 초기 원점 셋업을 위한 오프셋 값을 구하는 단계와,
    (d)상기 오프셋 값을 이용하여 상기 각 구동부의 초기 원점 셋업을 수행하는 단계
    를 포함하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  8. 제 7 항에 있어서,
    상기 (d)단계이후, (f)상기 모터의 다회전 데이터 리셋을 해제시킨 후, 상기 오프셋 값과 상기 모터의 다회전 데이터를 이용하여 각 축 구동부의 현재 위치를 구하는 단계
    를 더 포함하는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  9. 제 8 항에 있어서,
    상기 (f)단계는,
    (f1)상기 모터의 다회전 데이터와 1회전 데이터를 펄스수 변환하여 모터의 전체 회전량에 따른 전체 펄스수를 계산하는 단계와,
    (f2)상기 전체 펄스수에서 상기 초기 원점 셋업을 위한 오프셋 값의 해당 펄스수를 감산하여 각 축 구동부의 원점으로부터 실제 이동거리를 구하는 단계
    를 포함하는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  10. 제 7 항에 있어서,
    상기 (b)단계에서, 상기 모터의 다회전 또는 1회전 데이터는, 상기 서보 드라이버를 통해 절대치 엔코더 값으로 수신되는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  11. 제 7 항에 있어서,
    상기 (b)단계에서, 상기 모터의 1회전 데이터의 펄스 변환시, 상기 모터의 1회전 데이터를 10진수 아스키 코드값에서 32비트 2진 정수로 변환시키는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  12. 제 7 항에 있어서,
    상기 PLC와 서보 드라이버간 데이터 송/수신은, 상기 서보 드라이버와 시리얼 통신이 설정된 SCU를 통해 수행되는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  13. 제 12 항에 있어서,
    상기 PLC와 서보 드라이버간 상기 모터의 회전수 데이터에 대한 요청 및 수신은 상기 PLC와 SCU간 데이터 전송을 위해 구비되는 공유메모리를 통해 수행되는 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
  14. 제 13 항에 있어서,
    상기 SCU와 서보 드라이버간 시리얼 데이터 통신은, RS-485인 것을 특징으로 하는 PLC를 이용한 절대치 엔코더의 원점 인식 방법.
KR1020080029773A 2008-03-31 2008-03-31 Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법 KR100946956B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080029773A KR100946956B1 (ko) 2008-03-31 2008-03-31 Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080029773A KR100946956B1 (ko) 2008-03-31 2008-03-31 Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090104374A KR20090104374A (ko) 2009-10-06
KR100946956B1 true KR100946956B1 (ko) 2010-03-15

Family

ID=41534179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080029773A KR100946956B1 (ko) 2008-03-31 2008-03-31 Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100946956B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639669B1 (ko) 2011-12-09 2016-07-14 한화테크윈 주식회사 모터 제어 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030011333A1 (en) 2001-07-13 2003-01-16 Matsushita Electric Industrial Co., Ltd. Motor controller and method of driving DC motor
JP2004048839A (ja) 2002-07-09 2004-02-12 Meidensha Corp 電動機の制御装置
US20040036436A1 (en) 2002-08-20 2004-02-26 Tieu Triet Minh Rotor position determination for a multi-phase motor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030011333A1 (en) 2001-07-13 2003-01-16 Matsushita Electric Industrial Co., Ltd. Motor controller and method of driving DC motor
JP2004048839A (ja) 2002-07-09 2004-02-12 Meidensha Corp 電動機の制御装置
US20040036436A1 (en) 2002-08-20 2004-02-26 Tieu Triet Minh Rotor position determination for a multi-phase motor

Also Published As

Publication number Publication date
KR20090104374A (ko) 2009-10-06

Similar Documents

Publication Publication Date Title
CN109459955B (zh) 基于fpga的多轴伺服电机位置读取、解码系统及方法
TWI554022B (zh) 智慧馬達的識別碼設定方法及應用其之多軸控制裝置
CN103176450B (zh) 伺服驱动装置及伺服控制系统
CN105058388B (zh) 用于获取机器人关节位置反馈信息的传感器数据融合方法
CN112824059B (zh) 一种编码器数据转换方法、装置及设备
CN104852637A (zh) 双芯片无刷直流电机驱动控制系统及控制方法
CN105471573B (zh) 通过双向数据传输信道进行串行数据传输的方法和设备
CN205175428U (zh) 一种具有双通道旋转变压器的位置检测及解码电路
CN112033451A (zh) 一种编码器的测量装置、方法和编码器
US9869547B2 (en) Position-measuring device and method for testing a clock signal
KR100946956B1 (ko) Plc를 이용한 절대치 엔코더의 원점 인식 장치 및 방법
US20030223374A1 (en) Sensor apparatus and monitoring method of control system using detected data from sensor apparatus
CN207994965U (zh) 一种双pg控制的旋转定位装置
CN202453704U (zh) 针织定位控制装置
WO2024046178A1 (zh) 运动控制系统、位置检测组件及机器人
CN106610595A (zh) 一种智能舵机及机器人手臂控制系统
CN106953578A (zh) 旋变位置信息结合霍尔位置传感器的转位控制系统
US11181881B2 (en) Motor control system, control method, and motor control apparatus
CN201325768Y (zh) 一种叉式升降机的精确定位装置
JP2017099130A (ja) 電力変換装置
US20230042139A1 (en) System and Method for Monitoring a Failsafe Function of Sensors in a Motor
CN105683851A (zh) 伺服系统以及编码器
CN113432634A (zh) 编码器与电机的匹配测试设备及其方法
JP4280051B2 (ja) 位置決めシステムにおける原点復帰方法及び制御プログラム
CN211786793U (zh) 一种普通电机的位置闭环处理系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 6