학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

슬라이드제어

학습목표

센서와 연동해 슬라이드를 동작 시키고 현장에 응용한다.

학습주제

스라이드의 끝에 리미트 스위치를 부착하고 이와 함께 스라이드 모터가 자동으로 왕복운동을 하도록 하드웨어를 구성하고 프로그램한다.

예습내용

디지털포트 2개를 모터 구동을 위한 출력으로 쓰고, 2개는 리미트스위치 입력을 위한 단자로 쓴다.

출력:SCC-DO01

입력:SCC-DI01W                                                                                                       

실습방법

   

1. 배선의 연결

 

 

2개의 디지털 출력은 SC2345 J9, J10 소켓에 연결하고 입력은 J11, J12 그림과 같이 연결한다.

SENSOR-4 리미트스위치가 닫히면 DIO2(49) High 신호가 들어온다. 시그널을 일정 시간마다 감시하고 있다가 J9 DIO0(52) 출력을 보내 모터를 동작한다. SENSOR54 리미트스위치가 닫히면 DIO3(47) High 신호가 들어오고 같은 방법으로 J10 DIO1(17) 동작한다.

  0.1초마다 타이머를 동작 시켜 입력신호를 감시한다.

그림1. 슬라이드와 리미트스위치 연동

2. 슬라이드 모터 구동 프로그램 만들기

(1)     그림1에서 J9,J10 연결한다.

(2)     Slide라는 이름으로 [Ni Measurment Studio AppWizard] 프로젝트를 만든다.

(3)     SlideDlg.cpp “nidaqex.h” 포함한다. [보기]

(4)     DIG_Line_Config(iDevice, iPort, iLine, iDir) 사용하여 그림1 J9,J10 출력포트로 J11,J12 입력포트로 초기화 한다. [보기]

(5)     아래 그림과 같이 3개의 버튼을 만든다. [보기]

 

버튼을 마우스 왼쪽버튼을 더블 크릭하여 함수를 만든다. [프로그램 보기]

Caption

ID

함수이름

기능

좌로이동

IDC_BUTTON1

OnButton1()

슬라이드를 좌로 이동한다.

J9(2) 포트 - +12V    J10(2) 포트 - 0V

정지

IDC_BUTTON2

OnButton2()

슬라이드를 정지 시킨다.

J9(2) 포트 - 0V    J10(2) 포트 - 0V

우로이동

IDC_BUTTON3

OnButton3()

슬라이드를 우로 이동한다.

J9(2) 포트 - 0V    J10(2) 포트 - +12V

버튼을 동작 시키면 슬라이드가 동작하는 것을 있다.

 

3. 리미트 스위치 입력 프로그램을 만든다.

(1)     그림1에서 J11 J12 연결한다.

(2)     Dialog Box에서 [Button Control (National Instrument)] 선택하여 센서4 센서5 만든다.

(3)     ClassWizard [Add Variable] 선택하고 아래 그림과 같이 m_led1, m_led2 정의한다.

버튼의 기능은 아래와 같다.

Caption

ID

Member

기능

센서4

IDC_CWBOOLEAN1

m_led1

그림1 J11, Sensor-4 리미트 스위치 입력 포트

센서5

IDC_CWBOOLEAN2

m_led2

그림1 J12, Sensor-5 리미트 스위치 입력 포트

(4)     CslideDlg WM_TIMER 마우스로 더블크릭하여 타이머 함수 OnTimer() 만든다.

타이머를 0.5초마다 작동되게 초기화 한다. [보기]

(5)     DIO2, DIO3 포트의 입력값이 1이면 리미트 스위치가 동작한 것이므로 다이어로그 박스의 LED ON시킨다. [보기]

프로그램을 실행하면 슬라이드의 위치에 따라 리미트 스위치와 LED 동작 한다.

 

처음

   

자동 왕복이송 프로그램을 만든다.

자동 스위치를 ON 시키면 자동으로 왕복 운동하는 프로그램을 만든다.

위에서 만들은 프로그램을 그대로 사용한다.

(1)     [Button Control] 선택하여 아래 그림의 [자동왕복] 버튼을 만들면 ID “IDC_CWBOOLEAN3” 버튼이 생긴다. 이를 마우스로 더블크릭하여 OnValueChangedCwboolean3(BOOL Value) 함수를 만들어 버튼이 동작시 실행되는 함수를 만든다. [보기]

(2)     슬라이드가 운동하다 리미트 스위치가 ON 되면 슬라이드의 방향을 바꾸어 주어야 한다. 이를 위해 일정 시간마다 반복적으로 실행되는 타이머 함수에서 리미트 스위치 값을 읽다가 ON(TRUE=1) 되면 슬라이드 구동 프로그램을 실행 한다. [보기]

 

중요함수