Motion Control 제어 및 전력 전자 센터 PMAC ( Programmable Multi-Axis Controller) 창원대학교 전기공학과 제어 및 전력전자연구실.

Slides:



Advertisements
Similar presentations
1 Prof. Young Jin Nam, Daegu University 컴퓨터 구조 (Computer Architecture) 명령어 세트 : 특성과 기능 남영진
Advertisements

ROBOTC 활용하기 ROBOTC 활용하기 EASYTECH R & D. - Index - - Index - 제 1장 NXT 및 ROBOTC 소개 제 2장 ROBOTC 기초 프로그래밍 제 3장 범퍼로봇(Bumper Robot) 제 4장 라인로봇(Line Robot) 제.
ZX Smart Sensor 매뉴얼 韓國OMRON(株) 기술영업부 ZX-LDA11 (앰프) ZX-LD40 (헤더)
Master Thesis Progress
SoC 로봇워 참가자 교육.
스핀코터: ACE-200 초정밀 그래픽 스핀코터 실시간 스텝별 데이터를 그래픽으로 확인 코팅 데이터 구축에 최적
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
ISA 심화 및 start.S code 분석 SIOR 15th 최재훈.
Encoder factor Main Panel/Setup/Configurator EFAC : 한 카운터가 나타내는 단위 Example. Rotary motor & rotary encoder feedback resolution : 2000 lines/rotation Internal.
Sources of the Magnetic Field
Chapter 7 ARP and RARP.
세종대학교 항공우주공학과 유도항법제어연구실
1파일열기와 저장하기 폴더 지정방법 2 처음 파일을 만들려면 3 음자리표 입력하기 4 조표 입력 5 박자 입력 방법
Technical Trends of Servo Drive and Performance
PLC : Programmable Logic Controller
원전에서의 제어시스템 지능제어연구실 이창구.
사용자 메뉴얼 차량용 4CH 블랙박스 매뉴얼 버전 : Version 1.1 Hardware Version : 1.0
정 의 학습의 일반적 정의 기계학습(Machine Learning)의 정의
기본 컴퓨터 프로그래밍 Lecture #6.
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
제주지역대학 제주 새별오름 들불축제 지역 식생(植生) 변화 조사 연구
Operating Systems Overview
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
Chapter 32 Analyzing Web Traffic
< 생산자동화 기능사 실기수준 >
 midi LOGGER GL220   신제품 소개 Dec, 2011.
3장 MPU 내부구조 Slide 1 (of 28).
TEL: (Rep) 東 亞 貿 易 DONG AH TRADE CORP TEL: (Rep)
MECHA 3차 세미나 2015년 4월 9일 목요일 김지원.
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
AFC-1500 FASTENING SYSTEM.
컴퓨터 구조.
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
PLC를 이용한 제어로직에 관한 연구 김 재 은.
Embedded System Porting (2)
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
시퀀스제어와 PLC응용 제1장 시퀀스 제어의 개요.
Computer Architecture
Realistic Projectile Motion
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
컴퓨터 시스템의 개요.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
PLC.
운영체제 (Operating Systems)
자동제어 영남대학교 기계공학부 정 병 묵.
Computer System Architecture
Programmable Logic Device
Medical Instrumentation
Chapter 4 The Von Neumann Model.
adopted from KNK C Programming : A Modern Approach
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
강의 소개, 자료구조의 개념, SW 개발과 자료구조
WS-400 6NPP-Lite Laurell Tech. Corp.
Introduction to Programming Language
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Signature, Strong Typing
Signature, Strong Typing
Internet Computing KUT Youn-Hee Han
Signature, Strong Typing
PLC : Programmable Logic Controller
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
자동제어공학 4. 과도 응답 정 우 용.
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
ARENA Basic Process Techniques
Lecture 7 7-Segment LED controller using u-controller
Chapter 4. Energy and Potential
ADLAD System MANUAL [ ] SEM. Digital Appliance ADLAD System ?
Presentation transcript:

Motion Control 제어 및 전력 전자 센터 PMAC ( Programmable Multi-Axis Controller) 창원대학교 전기공학과 제어 및 전력전자연구실

FPD Inspection / Manipulation 로보트 (robotics) 공작기계 (machine tools) 인쇄기 (printing) 종이 및 목재 가공기 (paper and lumber processing) 팩킹기 (packaging) 조립라인 (assembly lines) material handling 카메라 제어 (camera control) 실리콘 웨이퍼 가공기 (silicon wafer processing) 자동 용접기 (automatic welding) 레이저 가공기 (laser cutting) 적용분야 제어 및 전력 전자 센터

실습장비 ( 시스템 ) ○ 시스템 구성 PMAC 모듈 AC 서보모터 + Amp 4 조 PC 제어 및 전력 전자 센터

실습장비 (PMAC) ○ CEM 104 PLUS(PMAC 모듈 ) 고속 고정밀 모션 콘트롤러 8 축 아날로그 (+/-10V) 출력 서보 ( 토크 및 속도모드 ) 제어 및 스텝핑 모터 제어가능 제어 및 전력 전자 센터

PMAC 기능 모션 프로그램 실행 한번에 한 개의 이송 (move), 이송 이전에 모든 계산 수행 PMAC 은 항상 다음 이송명령을 선독 (Looking ahead) 하여 혼합이송 (Blending Move) 을 한다. PLC 프로그램 실행 빠른 속도의 연속 스캔 모션에 비동기인 모든 작업에 유익 제어 및 전력 전자 센터

PMAC 기능 ( 계속 ) 서보 루프 갱신 (Servo Loop Update) 사용자에게 보이지 않는 자동작업 모션 발생기에 의해 발생된 방정식에 의해 지령 위치를 증감하고, 지 령 Command 를 발생하기 위해 서보 루프를 close 하는 동작으로 구성 된다. Commutation Update 자동 수행 ( 통상 약 9KHz) 회전자의 자기장 방향을 측정 하 ( 거나 ) 고 산정하여 모터상간의 명령 을 분배한다. 제어 및 전력 전자 센터

PMAC Executive Program : Pewin Pro Suite (Windows version) 제어 및 전력 전자 센터 ○ PMAC 의 셋업 (setup), 디버그 (debug) 및 진단 (diagnose) 을 위한 필수적인 프로그램 ○ The Executive program 을 통해 PMAC 이 가진 필요한 모든 내용 을 억세스한다. PMAC 에 온라인 명령사용 위치 (positions), 속도 (velocities), 및 추종에러 (following errors) 표시 모터, 좌표계 및 모든 상태정보를 표시 모든 PMAC 변수의 표시, 변경 및 조회 가능 모든 PMAC 정보의 백업 (backup) 및 환원 (restore) 등등.

Pewin Pro Suite : 실행 화면 제어 및 전력 전자 센터

Pewin Pro Suite : 실행 ( 계속 ) 제어 및 전력 전자 센터 ○ Setting ① CFG-file Download :File - download files ② 사용하지 않는 축 제거 :Configure - Coordinate System ( 모든 축을 제거한다.) ○ 모션 프로그램 실행 ① 다운로드 ② >>Bx ( 버퍼지정 ) ③ >>R ( 실행 )

좌표계 (COORDINATE SYSTEMS ) 제어 및 전력 전자 센터 · 모든 모션프로그램은 좌표계에서 실행된다. · 서로 연관성이 있는 모터들을 같은 좌표계에 설정. · 각각의 좌표계에 모션 프로그램을 실행 시킬 수 있다. 예제 ) &1; Coordinate system 1 #1->100X; 1 unit of X is 100 counts of motor 1 #3->100Z

PMAC 명령어 (COMMAND SET) 1. 온라인 명령어 (On-line Commands) ( 명령지령 즉시 실행되며, 저장 않됨 ) - 적용되는 범위에 따라.. A. 전체 좌표계 (Global) B. 좌표계 (Coordinate System Specific (&n …)) C. 모터 (Motor Specific (#n…)) 모드설정 (Mode setting), 이송명령 (move commands), 조회 (queries), 변수 설정 (variable setting), 버퍼제어 (buffer control) 제어 및 전력 전자 센터

PMAC 명령어 (COMMAND SET) 2. 버퍼 명령어 (Buffer command ) ( 명령에 의해 실행될 수 있도록 버퍼에 저장 ) A. 모션 프로그램 (Motion Program) 이송 (Moves), 모드 (modes), 산술 (math), 로직 (logic), commands, 메시지 (messages) B. PLC Program 산술 (Math), 논리 (logic), commands, 메시지 (messages) * 버퍼형식 명령어는 “OPEN” 으로부터 실행된다. 제어 및 전력 전자 센터

13 Global Status Commands ???- Report status bits (in hex ASCII) # - Report addressed motor & - Report addressed coordinate system SIZE - Report available buffer space - Report all motor status words - Report all coordinate system status words - Report all data gathering address contents (in binary) - Report all motor following errors - Report global status word - Report all motor positions - Report all motor velocities 제어 및 전력 전자 센터

14 Status Commands Motor Status Commands P- Report position (in counts V- Report velocity (in counts/servo cycle) F - Report following error (in counts) ? - Report status bits (in hex ASCII) Coordinate System Status Commands %- Report feedrate override value ??- Report status bits (in hex ASCII) PC- Report program counter PR - Report program remaining in rotary buffer #n- >- Report axis definition of motor n 제어 및 전력 전자 센터

15 PMAC Stop Commands J/-“Jog Stop”: Bring motor to closed-loop, zero velocity from moving, open-loop, or killed. Decelerates according to Ix19-Ix21 A-“Abort”: Bring all motors in coordinate system to closed- loop zero velocity from moving, open-loop, or killed. Stops execution of motion program. Motors decelerate according to Ix15. ( for all C.S.) Q-“Quit”: Stop calculating motion program; finish already calculated moves ( for all C.S.) /-Stop program at end of executing move (I13>0 mode only) 제어 및 전력 전자 센터

16 PMAC Stop Commands (continued) H-“Hold”: Feedhold for coordinate system. Equivalent to “%0” but uses Ix95 for deceleration, and starts again with R. ( for all C.S.) \-Feedhold that permits jogging in hold mode (I13>0 mode only) K-“Kill”: Open loop, zero command, disable amp for motor ( for all motors) 제어 및 전력 전자 센터

PMAC 변수 (Variables)  초기화 및 셋업용 변수 (Initialization and setup variables)  정해진 의미를 가짐  변수용도 ( 번호 ) 에 따라 카드전체, 특정 모터, 좌표계 및  엔코더에 영향을 미친다. 1. I-Variables (1024 / 8192), 시스템 변수  일반적인 사용자 사용 변수 (General purpose user variables)  48-bit floating point format  전체 영역 억세스 (Global (whole card) access) 2. P-Variables (1024 / 8192) 제어 및 전력 전자 센터

PMAC 변수 (Variables) ( 계속 )  일반적인 사용자 사용 변수 (General purpose user variables)  48-bit floating point format  좌표계에 따라 결정 (Specific to a coordinate system) 3. Q-Variables (1024 / 8192) 4. M-Variables (1024 / 8192)  카드의 메모리 및 I/O 를 억세스  사용자 정의 (address, offset, and bit width)  형식 : Unsigned, 2’s compliment, BCD, floating point formats 사용가능 제어 및 전력 전자 센터

조그 운전 (JOGGING MOTORS) ○ 조깅은 가장 간단한 형태의 Closed Loop 제어 ○ 조깅 운전는 On-Line 명령에 의해 제어 ○ 조깅은 간단한 위치제어나 스핀들과 같이 일정한 속도로 계속 움직이 는 운동에 사용될 수 있다. ○ What to learn: 조그운전 방법 (How to Jog Motors) 조그속도 변경방법 (How to change the jog speed) 조그 가속도 변경방법 ( How to change the jog acceleration) 제어 및 전력 전자 센터

온라인 조그 명령어 (On-line Jog commands) J+ - “+” 방향으로 연속적인 조그운전 (Jog positive indefinitely) J- - “-” 방향으로 연속적인 조그운전 (Jog negative indefinitely) J/ - 조그이송 정지 또는 Closed Loop (Jog stop (or close loop) J= - 이전 프로그램 위치로 복귀지령 (Jog back to prejog (last programmed) position) J={constant} - 지정된 위치로 조그이송 ( 단위 : counts) (Jog to specified position (in counts)) J^{constant} - 현재의 실제 위치로 부터 지정된 거리이송 (Jog to specified distance from present actual position) J:{constant} - 현재 지령 위치로부터 지정된 거리 이송 (Jog specified distance from present commanded position) 제어 및 전력 전자 센터

온라인 조그명령 예제 (On-line Jog Commands Examples) #1J+ - 모터 1 “+” 방향으로 조깅 (Jog Motor #1 in positive direction) #1J=1000 #2j+ - 모터 1 을 1000 카운트 위치로 이동, 모터 2 를 “+” 방향 회전 동시 지령 ( Jog Motor #1 to position 1000 and jog motor #2 in a positive direction ) I122=30 - 모터 1 의 조그 속도를 30counts/msec 로 설정 ( Set motor #1 jog speed to 30 counts/msec ) I220=50 - 모터 2 의 조그 가속시간을 50 msec 로 설정 ( Set motor #2 jog acceleration time at 50 msec ) Note: 모터가 정의된 좌표계에서 모션 프로그램을 중일때는 조그 운전을 할수 없다. (Motor cannot be JOGGED when it is defined in a coordinate system that is running a motion program.) 제어 및 전력 전자 센터

원점 복귀 (HOMING MOTORS) 온라인 명령에 의한 원점복귀 방법 원점이송 속도 및 방향 변경방법 원점복귀 조건 설정방법 ( How to set the home trigger.) 원점 이송은 모션 프로그램 또는 온라인 명령으로 실행 원점복귀 방법 ( 트리거 조건 ) 은 유저가 선택 전원 공급시 또는 리셋한 경우에는 기계의 원점설정을 위해 원점복귀가 필요 What to Learn: 제어 및 전력 전자 센터

온라인 원점이송 명령어 (On-line Homing Commands) HM - 원점이송 명령 (Do home search move) HMZ - 현재 지령된 위치를 원점으로 설정한다 (Present command position is set to home) 온라인 명령 예제 (On-line Examples): #1HM - 모터 1 원점 이송 (Do a home search move for motor #1) #1HM #2HM #3HM - 모터 1/2/3 동시 원점복귀 (Start moves at the same time) note: 모터가 정의된 좌표계에서 모션 프로그램을 실행중 일때는 원점 복귀 온라인 명령어는 사용할 수 없다. 제어 및 전력 전자 센터

24 모션 프로그램은 위치결정 및 윤곽이송을 위해 모터를 제어하고 조정하는 역할을 한다 모션 프로그램은 PMAC 적용에서 가장 중요한 내용임. (Motion programs are the heart of most PMAC applications) What to Learn: 모션 프로그램 ? 모션 프로그램 작성방법 모션 프로그램 실행방법 모션 프로그램 (MOTION PROGRAMS) 제어 및 전력 전자 센터

25 PMAC 프로그램은  한번에 한 블럭실행, 모든 계산은 이송이전에 수행된다.  좌표계에서 실행됨.  한 프로그램은 복수개의 좌표계에서 동시에 실행될 수 있다.  한 개의 좌표계에서는 한 개의 프로그램만이 실행가능. 제어 및 전력 전자 센터 모션 프로그램 ( 계속 )

26 프로그램 실행 절차 :  온라인 명령어를 통해 원하는 좌표계를 선택한다 : &n  온라인 명령어를 통해 실행하려는 프로그램을 좌표계에 인식 시킨다 : Bn  실행 명령을 입력한다 : R or 프로그램 정지 :  온라인 명령어를 통해 원하는 좌표계를 선택한다 : &n  정지명령을 입력한다 : Q, S, A, or,,, 제어 및 전력 전자 센터 모션 프로그램 ( 계속 )

27 n 논리 제어 문장 (Logic Control Statements) N, O, GOTO, GOSUB, CALL, RETURN G, M, T, D (special CALL statements) IF, ELSE, ENDIF, WHILE, ENDWHILE n 기타 문장 (Miscellaneous Statements) COMMAND, SEND, DISPLAY ENABLE PLC, DISABLE PLC PMAC 모션프로그램 문장 (Statements) 제어 및 전력 전자 센터

28 n Logic Operators &(bit by bit AND) |(bit by bit OR) ^(bit by bit Exclusive OR) n Comparators = (equal to) !=(not equal to) >(greater than) !>(not greater than; less than or equal to) <(less than) Functions SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, SQRT, LN, EXP, ABS, INT UMAC Logic Operators used in Motion Programs and PLCs 제어 및 전력 전자 센터

29 ********************* Set-up and Definitions ********************* CLOSE END GAT DEL GAT; Erase any defined gather buffer &1; Coordinate System 1 #1->1000X; Assign motor 1 to the X-axis - 1 program unit ; of X is 1 encoder count of motor #1 #2->1000Y; Assign motor 2 to the Y-axis - 1 program unit ; of Y is 1 encoder count of motor #2 CLOSE; Make sure all buffers are closed ********************* Motion Program Text ************************* OPEN PROG 1; Open buffer for program entry, Program #2 CLEAR; Erase existing contents of buffer LINEAR; Blended linear interpolation move mode ABS(X,Y); Absolute mode - moves specified by position INC(R) TA500; Set 1/2 sec (500 msec) acceleration time TS0; Set no S-curve acceleration time F1500; Set feedrate (speed) of 5000 units(cts)/sec X250; Move X-axis to position Y200; Move Y-axis to position DWELL500; Stay in position for 1/2 sec (500 msec) CIRCLE2; Circular Interpolation f1000 X 15 Y 10 I -10; to X,Y. CCW. With radius of 10 CLOSE; Close buffer - end of program Example : A Simple Move

30 Example : A Simple Move To run this program: &1 B1 R; Coord. System 1, point to Beginning ;of Program 1, Run

참고

32 This example shows how to program a simple move on the program specifies how to do the move, then commands the move. ********************* Set-up and Definitions ********************* DEL GAT; Erase any defined gather buffer &1; Coordinate System 1 CLOSE; Make sure all buffers are closed #1->X; Assign motor 1 to the X-axis - 1 program unit ; of X is 1 encoder count of motor #1 ********************* Motion Program Text ************************* OPEN PROG 1; Open buffer for program entry, Program #1 CLEAR; Erase existing contents of buffer LINEAR; Blended linear interpolation move mode ABS; Absolute mode - moves specified by position TA500; Set 1/2 sec (500 msec) acceleration time TS0; Set no S-curve acceleration time F5000; Set feedrate (speed) of 5000 units(cts)/sec X10000; Move X-axis to position DWELL500; Stay in position for 1/2 sec (500 msec) X0; Move X-axis to position 0 CLOSE; Close buffer - end of program To run this program: &1 B1 R; Coord. System 1, point to Beginning of Program 1, Run Example 1: A Simple Move

33 Example 1: A Simple Move

34 “Data Gathering” 이라고 불리는 내장된 데이타 수집 기능 보유 What to Learn: 수집할 수 있는 데이타 데이타 Gathering 방법 데이타 Gathering 하는 경우 데이타 수집 (DATA GATHERING)

35 This example shows how to program a simple move on the program specifies how to do the move, then commands the move. ********************* Set-up and Definitions ********************* DEL GAT; Erase any defined gather buffer &1; Coordinate System 1 CLOSE; Make sure all buffers are closed #1->X; Assign motor 1 to the X-axis - 1 program unit ; of X is 1 encoder count of motor #1 ********************* Motion Program Text ************************* OPEN PROG 1; Open buffer for program entry, Program #1 CLEAR; Erase existing contents of buffer LINEAR; Blended linear interpolation move mode ABS; Absolute mode - moves specified by position TA500; Set 1/2 sec (500 msec) acceleration time TS0; Set no S-curve acceleration time F5000; Set feedrate (speed) of 5000 units(cts)/sec X10000; Move X-axis to position DWELL500; Stay in position for 1/2 sec (500 msec) X0; Move X-axis to position 0 DWELL0; Stop program lookahead CMD"ENDG"; Send On-line command to stop data gathering CLOSE; Close buffer - end of program To run this program and gather data: DEF GAT GAT &1 B1 R; GATHER, CS. 1, point to Beginning of Program 1, Run Example 2: A Simple Move with Data Gathering

36 Example 2: A Simple Move with Data Gathering

37 드웰 과 디레이 (DWELL vs. DELAY) DWELL u 항상 일정한 시간 단위를 이용한다 (I10) u 앞서는 감속시간을 포함하지 않는다 u 다음 이송명령의 계산은 DWELL 시간이 끝나기 전까지 수행되지 않음 (add I11 time)

38 DELAY  가변 시간단위를 이용한다 (% value)  전 감속시간을 포함한다  최소시간은 현재의 TA 시간이다  다음 이송시간은 DELAY 시작때 부터 계산된다 드웰 과 디레이 (DWELL vs. DELAY)

39 Example 3: A More Complex Move This example introduces incremental and time-specification of moves, looping logic, using variables, scaling of axes, and simple arithmetic. Note that logical and mathematical operations do not delay moves. ;******************** Set-up and Definitions ******************** &2; Coordinate system 2 CLOSE; Make sure all buffers are closed #5->1000X; 1 unit (cm) of X is 1000 counts of motor 5 ;******************** Motion Program Text *********************** OPEN PROG 2; Open buffer for entry, Program #2 CLEAR; Erase existing contents of buffer LINEAR; Blended linear interpolation move mode INC; Incremental mode - moves specified by distance TA500; 1/2 sec (500 msec) acceleration time TS250; 1/4 sec in each half of S-curve TM2000; 2 sec move time (to start of decel) P1=0; Initialize a loop counter variable WHILE (P1<10); Loop until condition is false (10 times) X10; Move X-axis 10 cm (=10,000 cts) positive DWELL500; Hold position for 1/2 sec X-10; Move X-axis back 10 cm negative DWELL500; Hold position for 1/2 sec P1=P1+1; Increment loop counter ENDWHILE; End of loop CLOSE; Close buffer - end of program To run this program: &2 B2 R; Coordinate System 2, point to Beginning of Program 2, Run

40 Example 3: A More Complex Move

41 POS Time Commanded Position POS 1/2 to 1/4 motor rev 1/2 to 1/4 motor rev Time POS 1/2 to 1/4 motor rev Time Position Offset Cause: Friction or Constant Force Fix: Increase K (Ix33) Overshoot and Oscillation Cause: too little Damping or too much proportional gain Fix: Increase K (Ix31) Decrease K (Ix30) P d i Step Move 제어 및 전력 전자 센터