Presentation is loading. Please wait.

Presentation is loading. Please wait.

컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.

Similar presentations


Presentation on theme: "컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부."— Presentation transcript:

1 컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부

2 계측제어계의 구성요소

3 1개의 LED의 출력 인터페이스

4 1개의 스위치의 입력인터페이스

5 COMI-SD104 디지털 출력함수 (1) BOOL COMI_DO_PutOne (HANDLE hDevice, int ch, int status) : 하나의 채널에 대하여 디지털 출력을 내보냅니다. -. hDevice : 디바이스 핸들 -. ch : 디지털 출력 채널 번호 -. status : 디지털 출력 Status (0은 OFF, 1은 ON)

6 COMI-SD104 디지털 출력함수 (2) BOOL COMI_DO_PutAll (HANDLE hDevice, DWORD dwStatuses) : 모든 디지털 출력 채널에 대하여 출력을 내보낸다. -. hDevice : 디바이스 핸들 -. ch : 디지털 출력 채널 번호 -. status : 전채널의 출력 상태를 지시하는 32비트값. COMI-SD104는 8개의 디지털출력 채널만 제공되므로 하위 8비트만 사용된다.

7 LED 및 7세그먼트 실험 1

8 실험목적 LED 순차 점등 회로 및 7 세그먼트 출력 회로를 구성하고 구동 프로그램을 작성, 구동시킴으로써 디지털신호의 출력 원리 및 방법을 이해한다.

9 LED 출력 인터페이스

10 LED 구동 프로그램 OnLedStart OnLedEnd

11 프로그램 설명 XXXXDlg.h 헤더파일에 디바이스 핸들 변수 선언 class CASISTDlg : public CDialog
{ public: //user parameter HANDLE m_hDevice; }; XXXXDlg.cpp 소스파일에 Comidas.h 인클루드

12 라이브러리 및 디바이스 로딩

13 라이브러리 및 디바이스 언로딩

14 void CASISTDlg::OnLedStart()
{ SetTimer (0, 10, NULL); // OnTimer 함수를 0.01초 간격으로 실행한다. }

15 void CASISTDlg::OnTimer(UINT nIDEvent)
{ for (int i=0 ; i<8 ; i++) COMI_DO_PutAll (m_hDevice, 0x01<<i); Sleep(200); } CDialog::OnTimer(nIDEvent);

16 void CASISTDlg::OnLedEnd() { KillTimer (0); // OnTimer 함수를 종료한다.
COMI_DO_PutAll (m_hDevice, 0xff); Sleep (200); COMI_DO_PutAll (m_hDevice, 0x00); }

17 7세그멘트 구동 인터페이스

18 74LS48과 7세그먼트와의 인터페이스

19 7세그먼트 구동 프로그램 On7segDisplay On7segReset Int m_7value

20 프로그램 설명 void CASISTDlg::On7segDisplay() { UpdateData (TRUE);
// 화면에서 숫자를 입력 받는다. COMI_DO_PutAll (m_hDevice, m_7value); // 7세그먼트에 숫자를 출력한다. }

21 void CASISTDlg::On7segReset()
{ m_7value = 0; // 멤버변수에 0을 입력한다. COMI_DO_PutAll (m_hDevice, m_7value); // 7세그먼트에 0을 출력한다. UpdateData(FALSE); // 화면에 0을 출력한다. }

22 스테핑 모터 실험 2

23 실험목적 스테핑 모터의 구동회로를 구성하고 구동 프로그램을 작성, 구동시킴으로써 스테핑 모터의 구동 원리와 디지털 신호의 출력 원리 및 방법을 이해한다.

24 스테핑 모터 구동 인터페이스

25 스테핑 모터 구동 프로그램 OnStepmotorStart OnStepmotorEnd OnHighSpeed OnLowSpeed

26 프로그램 설명 void CASISTDlg::OnStepmotorStart() { SetTimer (0, 10, NULL); }
void CASISTDlg::OnStepmotorEnd() KillTimer (0);

27 void CASISTDlg::OnHighSpeed()
{ m_vel = 10; // 전역변수 m_vel } void CASISTDlg::OnLowSpeed() m_vel = 100;

28 void CASISTDlg::OnTimer(UINT nIDEvent)
{ for (int j=0 ; j<4 ; j++) COMI_DO_PutAll (m_hDevice, 0x01<<j); Sleep (m_vel); } CDialog::OnTimer(nIDEvent);

29 전역변수의 지정 class CASISTDlg : public CDialog { ………...
전역변수는 Head File에서 지정한다. (예 : ASISTDLG.H) class CASISTDlg : public CDialog { ………... public: //user parameter HANDLE m_hDevice; int m_vel; };


Download ppt "컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부."

Similar presentations


Ads by Google