16
QT 개발자를 위한 ATS for Linux 프레임워크 Version 1.0.0.0 2019. 2. 20

NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

Version 1.0.0.0

2019. 2. 20

Page 2: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

2

목 차

1. ATS for Linux 프레임워크 개요 ................................................................................................................................... 4

1.1. ATS for Linux 프레임워크 버전 ............................................................................................................... 4

1.1.1. ATS for Linux 프레임워크 버전 정보 .......................................................................................... 4

1.2. ATS for Linux 프레임워크의 설치 .......................................................................................................... 5

1.2.1. 프레임워크 사용 ................................................................................................................................... 6

1.2.2. Sample 프로그램 위치 ...................................................................................................................... 6

2. 라이브러리 함수 ................................................................................................................................................................. 7

2.1. IoControl 관련 함수 ..................................................................................................................................... 7

2.1.1. IoControl::GetDI .................................................................................................................................... 7

2.1.2. IoControl::GetDO .................................................................................................................................. 7

2.1.3. IoControl::SetDO ................................................................................................................................... 8

2.1.4. IoControl::GetAI ..................................................................................................................................... 8

2.1.5. IoControl::SetAO ................................................................................................................................... 9

2.2. MainBoard 관련 함수 ............................................................................................................................... 10

2.2.1. MainBoard::LCDPowerOnOff ........................................................................................................ 10

2.2.2. MainBoard::SetBacklightBrightness ........................................................................................... 10

2.3. NetworkInfo 관련 함수 ............................................................................................................................ 11

2.3.1. NetworkInfo::Get ................................................................................................................................ 11

2.3.2. NetworkInfo::Set ................................................................................................................................ 11

2.3.3. NetworkInfo::GetDNS ...................................................................................................................... 12

2.3.4. NetworkInfo::SetDNS ....................................................................................................................... 12

Page 3: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

3

2.3.5. NetworkInfo::GetMacAddress ...................................................................................................... 12

2.3.6. NetworkInfo::SetMacAddress ....................................................................................................... 13

2.3.7. NetworkInfo::IsValidAddress ......................................................................................................... 13

2.4. FitScreen 관련 함수 ................................................................................................................................... 14

2.4.1. FitScreen::CenterWindow ............................................................................................................... 14

2.4.2. FitScreen:: FullScreen ....................................................................................................................... 14

2.4.3. FitScreen:: ModifyPos ...................................................................................................................... 14

2.4.4. FitScreen:: ModifyFontSize ............................................................................................................ 15

2.4.5. FitScreen:: SetScaledImage ........................................................................................................... 15

2.5. MessageBox 관련 함수 ............................................................................................................................ 16

2.5.1. MessageBox:: Show .......................................................................................................................... 16

2.5.2. MessageBox:: Ask .............................................................................................................................. 16

Page 4: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

4

1. ATS for Linux 프레임워크 개요

ATS FOR LINUX 프레임워크는 Autobase Touch Smart for Linux 장치에서 운영할 소프트웨어를 QT

Creator에서 C++ 언어로 개발할 때 ATS 장치에 접근할 수 있는 클래스와 개발 시 유용한 컴포넌

트를 모아 놓은 라이브러리를 말합니다.

1.1. ATS for Linux 프레임워크 버전

1.1.1. ATS for Linux 프레임워크 버전 정보

버전 출시일 내용

1.0.0 2019-02-20 최초 출시

Page 5: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

5

1.2. ATS for Linux 프레임워크의 설치

ATS for Linux 프레임워크는 http://file.autobase.biz/Autobase/ATS_linux/frameworks.tar.gz 에서

다운받아 사용할 수 있습니다.

ATS for Linux 프레임워크를 사용하기 전에 ATS for Linux 개발자 매뉴얼

(http://file.autobase.biz/Autobase/ATS_linux/DeveloperManual.pdf)을 보고 개발환경을 꾸민 후

사용하시기 바랍니다.

다운받은 frameworks.tar.gz 는 되도록 /home/사용자명/QT 폴더에 풀어 사용하시기 바랍니다.

다음 화면은 압축을 푼 모양입니다.

AutobaseLib 과 Samples 가 frameworks.tar.gz 파일을 압축 풀어 생긴 폴더이며 Projects 폴더는

해당 폴더에 프로젝트를 생성하기 위해 만든(ATS for Linux 개발자 매뉴얼 참조) 폴더 입니다.

Page 6: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

6

1.2.1. 프레임워크 사용

QT Creator를 실행하여 프로젝트를 만들고 프로젝트.pro 파일을 열어

INCLUDEPATH += ../../AutobaseLib/Include

unix:CONFIG(release, debug|release): LIBS += -L../../AutobaseLib/ATS -lAutobaseLib

unix:CONFIG(debug, debug|release): LIBS += -L../../AutobaseLib/Ubuntu -lAutobaseLib

를 추가하면 프레임워크 사용이 가능하게 됩니다.

1.2.2. Sample 프로그램 위치

ATS for Linux 프레임워크가 설치된 폴더(/linux/사용자명/QT)에 Samples 폴더가 존재합니다.

각 폴더에 들어가면 Sample 프로젝트들이 존재하며, Sample 프로젝트를 이용하여 지원되는

라이브러리의 기능을 확인하고 개발하는 것을 권장합니다.

Page 7: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

7

2. 라이브러리 함수

이 장은 ATS for Linux 라이브러리의 함수 사용법에 대하여 설명합니다.

2.1. IoControl 관련 함수

Extension I/O 보드를 제어하기 위한 기능들이 모여 있습니다.

IoControl 관련 함수를 사용하기 위해서는 아래와 같이 iocontrol.h를 선언해 주어야 합니다.

#include “iocontrol.h

2.1.1. IoControl::GetDI

이름 IoControl::GetDI 메소드(Method)

설명 Extension I/O 보드의 디지털 입력 값을 얻습니다.

형식 static bool GetDI(int nPoint, bool &retnVal);

인자 nPoint : 포인트 번호 0~7

retnVal : DI 입력 값을 받을 변수

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 unsigned int value;

IoControl::GetDI(1, value);

DI 1번 포인트의 값을 읽어옵니다.

2.1.2. IoControl::GetDO

이름 IoControl::GetDO 메소드(Method)

설명 Extension I/O 보드의 디지털 출력 값을 얻습니다.

형식 static bool GetDO(int nPoint, bool &retnVal);

인자 nPoint : 포인트 번호 0~7

retnVal : DO 출력 값을 받을 변수

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 unsigned int value;

Page 8: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

8

IoControl::GetDO(7, value);

DO 7번 포인트의 값을 읽어옵니다.

2.1.3. IoControl::SetDO

이름 IoControl::SetDO 메소드(Method)

설명 Extension I/O 보드의 디지털 출력값을 변경합니다.

형식 static bool SetDO(int nPoint, bool writeVal);

인자 nPoint : 포인트 번호 0 ~ 7

writeVal : 출력할 값 (0 또는 1)

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 IoControl::SetDio(0, 1);

IoControl::SetDio(1, 1);

DO 0번/1번 포인트의 값을 ON 합니다.

2.1.4. IoControl::GetAI

이름 IoControl::GetAI 메소드(Method)

설명 Extension I/O 보드의 아날로그 입력의 값을 얻습니다.

형식 static bool GetAI(int nPoint, unsigned int &retnVal);

인자 nPoint : 포인트 번호 0~3

retnVal : 읽은 AI의 값을 받을 변수. (0 ~ 4095)

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 unsigned int retnVal[4];

for (int i = 0; i < 4; i++)

{

IoControl::GetAi(i, retnVal[i]);

}

AI 0~3채널의 값을 읽어서 retnVal[]에 저장합니다.

Page 9: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

9

2.1.5. IoControl::SetAO

이름 IoControl::SetDO 메소드(Method)

설명 Extension I/O 보드의 디지털 출력값을 변경합니다.

형식 static bool SetDO(int nPoint, bool writeVal);

인자 nPoint : 포인트 번호 0 ~ 7

writeVal : 출력할 값 (0 또는 1)

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 IoControl::SetDio(0, 1);

IoControl::SetDio(1, 1);

DO 0번/1번 포인트의 값을 ON 합니다.

Page 10: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

10

2.2. MainBoard 관련 함수

메인보드 관련 기능을 제어하고 상태를 읽기 위한 기능들이 모여 있습니다.

선언 : #include “mainboard.h

2.2.1. MainBoard::LCDPowerOnOff

이름 MainBoard::LCPPowerOnOff 메소드(Method)

설명 LCD 를 ON/OFF합니다.

형식 void MainBoard::LCPPowerOnOff(int writeVal)

인자 writeVal : 0=OFF, 1=ON

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 MainBoard::LCDPowerOnOff(0);

Sleep(2000);

MainBoard::LCDPowerOnOff(1);

2.2.2. MainBoard::SetBacklightBrightness

이름 MainBoard::SetBacklightBrightness 메소드(Method)

설명 백라이트의 밝기를 조절합니다..

형식 void MainBoard::SetBacklightBrightness(int value)

인자 value : 1~100 까지의 값을 사용

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 for(int i = 100; i >= 1; i--) {

MainBoard::SetBacklightBrightness(i);// 1 ~ 100

Sleep(20);

}

MainBoard::SetBacklightBrightness(100); // Restore to default

// 100에서1까지 순차적으로 어둡게 합니다. 마지막에 최고 밝기로 변경합니다.

Page 11: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

11

2.3. NetworkInfo 관련 함수

화면을 조작하는 기능들이 모여 있습니다.

선언 : #include “networkinfo.h

2.3.1. NetworkInfo::Get

이름 NetworkInfo::Get 메소드(Method)

설명 네트워크 정보를 얻습니다.

형식 static bool Get(bool &bDhcp, QString &strIP, QString &strSubnet, QString

&strGateway);

인자 bDhcp : DHCP 설정 여부를 받을 변수

strIP : IP 주소를 받을 변수

strSubnet : Subnet Mask를 받을 변수

strGateway : Gateway를 받을 변수

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

Bool bDhcp;

QString strIP;

QString strSubnet;

QString strGateway;

NetworkInfo::Get(bDhcp, strIP, strSubnet, strGateway);

2.3.2. NetworkInfo::Set

이름 NetworkInfo::Set 메소드(Method)

설명 네트워크 정보를 설정합니다.

형식 static bool Set(bool bDhcp, QString strIP, QString strSubnet, QString strGateway);

인자 bDhcp : 설정할 DHCP

strIP : 설정할 IP 주소

strSubnet : 설정할 Subnet Mask

strGateway : 설정할 Gateway

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

Page 12: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

12

NetworkInfo::Set(true, “”, “”, “”);

NetworkInfo::Set(false, “192.168.1.100”, “255.255.255.0”, “192.168.1.1”);

2.3.3. NetworkInfo::GetDNS

이름 NetworkInfo::Get 메소드(Method)

설명 DNS 정보를 얻습니다.

형식 static QList<QString> GetDNS();

인자 없음

반환값 DNS list를 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

QList<QString> listDNS = NetworkInfo::GetDNS();

2.3.4. NetworkInfo::SetDNS

이름 NetworkInfo::SetDNS 메소드(Method)

설명 DNS 정보를 설정합니다.

형식 static bool SetDNS(QList<QString> listDNS);

인자

listDNS : 설정할 DNS List

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

QList<QString> listDNS;

listDNS.append(“168.126.63.1”);

listDNS.append(“168.126.63.2”);

NetworkInfo::SetDNS(listDNS);

2.3.5. NetworkInfo::GetMacAddress

이름 NetworkInfo::GetMacAddress 메소드(Method)

설명 MAC 주소를 얻습니다.

Page 13: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

13

형식 static QString GetMacAddress();

인자 없음

반환값 MAC 주소를 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

QString strMacAddress = NetworkInfo::GetMacAddress();

2.3.6. NetworkInfo::SetMacAddress

이름 NetworkInfo::SetMacAddress 메소드(Method)

설명 MAC 주소를 설정합니다.

형식 static bool SetMacAddress(QString strMacAddress);

인자

strMacAddress : 설정할 MAC 주소

반환값 성공하면 1이 반환되고 실패하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

NetworkInfo::SetMacAddress(“09:01:2e:37:f9:d1”);

2.3.7. NetworkInfo::IsValidAddress

이름 NetworkInfo::IsValidAddress 메소드(Method)

설명 IP 주소 형태에 맞게 입력되었는지 검사합니다.

형식 static bool IsValidIpAddress(QString ipAddress);

인자 ipAddress : 체크할 주소.

반환값 IP 주소 형태일 경우 1 아닐경우 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

bool bStatus = NetworkInfo::IsValidIpAddress(“192.168.1.100”);

Page 14: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

14

2.4. FitScreen 관련 함수

화면을 조작하는 기능들이 모여 있습니다.

선언 : #include “fitscreen.h

2.4.1. FitScreen::CenterWindow

이름 FitScreen::CenterWindow 메소드(Method)

설명 Window를 화면의 중앙에 맞춥니다.

형식 static void CenterWindow(QWidget *pWindow);

인자 pWindow : Window의 포인트

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

FitScreen::CenterWindow(this)

2.4.2. FitScreen:: FullScreen

이름 FitScreen:: FullScreen 메소드(Method)

설명 화면 크기를 해상도에 맞추어 최대 화면에 맞추어 변경합니다.

형식 static void FullScreen(QWidget *pWindow);

인자 pWindow : Window의 포인트

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

FitScreen:: FullScreen (this);

2.4.3. FitScreen:: ModifyPos

이름 FitScreen:: ModifyPos 메소드(Method)

설명 객체 크기를 해상도에 맞추어 키우거나 줄입니다.

FullScreen을 이용하여 Window를 해상도에 맞추어 변경하고, 각각의 객체의 크

기를 ModifyPos를 이용하여 해상도에 맞추어 주어, 해상도에 맞추어 화면이 표

시되도록 구성할 때 사용합니다.

Page 15: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

15

형식 static void ModifyPos(QWidget *pControl, int nWidth = 0, int nHeight = 0);

인자 pControl : 객체 포인트

nWidth : 가로 화면 크기, 0일 경우 화면 해상도 크기로 동작합니다.

nHeight : 세로 화면 크기, 0일 경우 화면 해상도 크기로 동작합니다.

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

FitScreen:: ModifyPos (ui->setting_btn);

2.4.4. FitScreen:: ModifyFontSize

이름 FitScreen:: ModifyFontSize 메소드(Method)

설명 객체의 폰트 크기를 해상도에 맞추어 키우거나 줄입니다.

FullScreen을 이용하여 Window를 해상도에 맞추어 변경하고, 각각의 QLabel 객

체의 글자 크기를 ModifyFontSize를 이용하여 해상도에 맞추어 주어, 해상도에

맞추어 화면이 표시되도록 구성할 때 사용합니다.

형식 static void ModifyFontSize(QLabel *pControl);

인자 pControl : 객체 포인트

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 FitScreen:: ModifyFontSize (ui->setting_label);

2.4.5. FitScreen:: SetScaledImage

이름 FitScreen:: SetScaledImage 메소드(Method)

설명 객체의 이미지 크기를 해상도에 맞추어 키우거나 줄일 수 있도록 이미지를

QLabel 객체에 설정합니다.

FullScreen을 이용하여 Window를 해상도에 맞추어 변경하고, 각각의 QLabel 객

체의 이미지 크기를 SetScaledImage를 이용하여 해상도에 맞추어 주어, 해상도에

맞추어 화면이 표시되도록 구성할 때 사용합니다.

형식 static void SetScaledImage(QLabel *pControl, QString strFile);

인자 pControl : 객체 포인트

strFile : 이미지 파일명

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제 FitScreen:: SetScaledImage (ui->logo_label);

Page 16: NET 개발자를 위한 ATS 라이브러리file.autobase.biz/Autobase/ATS_linux/Framework.pdf형식 static bool SetDO(int nPoint, bool writeVal); 인자 nPoint : 포인트 번호 0

QT 개발자를 위한 ATS for Linux 프레임워크

16

2.5. MessageBox 관련 함수

메시지 표시 대화상자 관련 기능들이 모여 있습니다.

선언 : #include “messagebox.h

2.5.1. MessageBox:: Show

이름 MessageBox::Show 메소드(Method)

설명 메지지 박스를 화면에 표시합니다.

형식 static void Show(QString strMessage);

인자 strMessage : 표시할 메시지

반환값 없음

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

FitScreen:: Show (“Please Input name.”);

2.5.2. MessageBox:: Ask

이름 MessageBox::Ask 메소드(Method)

설명 질문 박스를 화면에 표시합니다.

형식 static bool Ask(QString strMessage);

인자 strMessage : 표시할 메시지

반환값 bool : Yes를 선택하면 1을, No를 선택하면 0을 반환합니다.

버전정보 Ats for Linux 프레임워크 1.0.0.0 부터 지원

예제

If(FitScreen:: Ask (“Do you want to exit the program?”)==true)

This->close();