반응형
반응형

프로그래밍 115

PID(Proportional-Integral-Derivative) 제어

PID(Proportional-Integral-Derivative) 제어는 오늘날 제어 및 자동화 어플리케이션의 90% 이상을 차지하는데, 이는 주로 구현하기에 효과적이고 간단한 솔루션이기 때문입니다. 원래는 선형 시불변 시스템을 위한 것이었지만 PID 알고리즘이 발전하여 엔지니어가 복잡한 동역학을 가진 시스템도 제어할 수 있게 되었습니다. 모든 시스템에는 PID와 같은 고전적인 피드백 제어를 사용할 때 문제가 되는 비선형 구성 요소가 있습니다. 게인 스케줄링 및 캐스케이드 PID와 같은 몇 가지 소프트웨어 기술의 도움으로 이제 동일한 PID 알고리즘을 사용하여 비선형 시스템도 제어할 수 있습니다. 클래식 컨트롤 피드백 제어는 고대부터 기계 시스템 제어에 사용되어 왔습니다. 원래 이러한 시스템은 온도, ..

커브 피팅의 이론 및 랩뷰 커브 피팅 구현방법

테스트 및 측정 과정에서 디지털 측정 장비의 사용이 증가함에 따라 대량의 데이터 수집이 더 쉬워졌습니다. 그러나 수집된 데이터에서 유용한 정보를 처리하고 추출하는 방법은 어려운 과제가 됩니다. 테스트 및 측정 프로세스 중에 관측값과 독립 변수 간의 수학적 관계(예: 온도 측정, 관찰 가능한 값, 측정 오류, 부정확한 측정 장치로 인해 발생하는 독립 변수)를 자주 볼 수 있습니다. 수학적 관계를 찾는 한 가지 방법은 관측값에 맞는 적절한 곡선을 정의하고 곡선 함수를 사용하여 변수 간의 관계를 분석하는 곡선 피팅입니다. 커브 피팅을 사용하여 다음 작업을 수행할 수 있습니다. 노이즈 감소 및 원활한 데이터 변수 간의 수학적 관계 또는 함수를 찾고 해당 함수를 사용하여 오류 보상, 속도 및 가속도 계산 등과 같..

랩뷰 기반 NI-DAQmx 어플리케이션 배포용 설치 프로그램 만들기

LabVIEW 프로젝트를 사용하여 다음의 2가지가 가능합니다. NI-DAQmx 어플리케이션에서 실행 파일을 생성할 수 있고, 배포 가능한 설치 프로그램에 번들로 제공 할 수 있습니다. 이 설치 프로그램은 NI MAX뿐만 아니라 NI-DAQmx 드라이버 또는 NI-DAQmx 런타임 배포와 같이 소프트웨어 항목을 설치 프로그램에 포함시킬 수 있습니다. NI-DAQmx 실행 파일(.exe) 생성 방법 1. LabVIEW 프로젝트를 열고 Build Specifications를 마우스 오른쪽 버튼으로 클릭 한 다음 New»Application (EXE)을 선택합니다. 2. 속성 창에서 애플리케이션의 이름, 대상 디렉터리 및 설명을 작성합니다. 3. 소스 파일 카테고리를 클릭하여 어플리케이션에서 사용할 VI를 선택..

랩뷰 수식 노드 사용

LabVIEW 소프트웨어의 수식 노드 는 C 구문 구조를 사용하여 블록 다이어그램에서 복잡한 수학 연산을 수행하는데 사용할 수있는 편리한 텍스트 기반 노드입니다. 변수가 많거나 복잡한 방정식에 가장 유용합니다. 텍스트 기반 코드는 블록 다이어그램을 단순화하고 가독성을 높입니다. 또한 기존 코드를 그래픽으로 다시 만드는 대신 수식 노드에 직접 복사하여 붙여 넣을 수 있습니다. 수식 노드는 LabVIEW의 모든 개발 버전에서 사용할 수 있으며 추가 툴킷이나 애드온이 필요하지 않습니다. 단계에 따라 입력 값에 따라 다른 수식을 계산하는 간단한 구조를 만듭니다. 그런 다음 수식 노드를 사용하는 블록 다이어그램의 단순성을 그래픽 프로그래밍을 사용하여 해당 노드와 비교하십시오. 수식 노드는 사용하기 쉬운 그래픽 L..

랩뷰 Real-Time 기반 CompactRIO를 이용한 데이터 로깅

LabVIEW에서 새로운 CompactRIO 프로젝트 시작하기 코드와 하드웨어 리소스를 관리할 LabVIEW에서 새 프로젝트를 생성하여 시작하십시오. 파일»새 프로젝트를 선택하여 LabVIEW에서 새 프로젝트를 생성합니다. 트리 상단의 프로젝트 항목을 마우스 오른쪽 버튼으로 클릭하고 New»Targets and Devices…를 선택하여 CompactRIO 시스템을 프로젝트에 추가합니다. 이 대화 상자를 통해 네트워크에서 시스템을 검색하거나 오프라인 시스템을 추가할 수 있습니다. 그림 1. LabVIEW 프로젝트에 새로운 타겟과 디바이스 추가 Real-Time CompactRIO 폴더를 확장하고 시스템을 선택하십시오. 확인을 클릭하여 대화 창을 닫습니다. 노트 시스템이 목록에 없으면 LabVIEW는 네트..

NI PXI와 랩뷰를 이용한 자동화 테스트 시스템 구축

자동화 테스트 엔지니어는 까다로운 시장 출시 일정 및 성능 요구 사항을 충족하기 위해 혁신적인 테스트 시스템을 개발해야 합니다. PXI 와 NI LabVIEW 시스템 설계 소프트웨어의 조합은 거의 모든 시스템을 보다 빠르고 확실하게 구축할 수 있게 지원하는 완전한 자동화 테스트 플랫폼입니다. LabVIEW는 기존 상자형 계측기에서 소프트웨어 정의 PXI 모듈형 계측기에 이르기까지 다양한 계측기와의 통합을 제공하여 거의 모든 측정값을 수집할 수 있도록 하여 까다로운 시스템 요구 사항보다 앞서 나갈 수 있도록 지원합니다. 또한 LabVIEW를 사용하면 멀티코어 프로세서 및 FPGA(Field-Programmable Gate Array)와 같은 기술을 활용하여 고급 테스트 시스템을 더 빠르게 구축할 수 있습니..

랩뷰를 이용한 PLC와 Modbus통신하기

NI LabVIEW 소프트웨어는 다양한 방식으로 PLC (프로그래밍 가능한 로직 컨트롤러)와 통신할 수 있습니다. Modbus는 1979년 Modicon이 PLC와 통신하기 위해 발표한 직렬 통신 프로토콜로 TCP 프로토콜로 확장되었습니다. Modbus는 가용성으로 인해 업계에서 사실상의 표준 통신 프로토콜 중 하나가 되었습니다. 이 튜토리얼에서는 Modbus를 사용하여 네트워크로 연결된 PLC와 LabVIEW간에 통신하는 방법을 알아봅니다. 이 튜토리얼에서는 LabVIEW Datalogging and Supervisory Control(DSC) 모듈이 사용됩니다. 이 모듈에는 네트워크로 연결된 히스토리 데이터베이스에 데이터 로깅, 실시간 및 히스토리 트렌드, 알람 및 이벤트 관리, LabVIEW Rea..

랩뷰에서 사용하는 물리적인 단위

다음 테이블은 LabVIEW에서 사용 가능한 단위를 디스플레이합니다. LabVIEW는 SI 단위와 다른 측정 시스템의 단위 모두를 인지합니다. 기호 *는 LabVIEW가 사용하는 기본 단위를 나타냅니다. SI 기본 단위 LabVIEW의 기본 단위는 SI 기본 단위입니다. 물리량 이름단위약자 길이 미터* m 질량 킬로그램* kg 시간 초* s 전류 암페어* A 열역학적인 온도 켈빈* K 물질의 양 몰* mol 광도 칸델라* cd SI 유도 단위 LabVIEW는 또한 SI 기본 단위에서 나온 다른 단위도 인지합니다. 다음 테이블은 LabVIEW가 인식하는 SI 유도 단위를 나타냅니다. 물리량 이름단위약자 영역 평방 미터 m2 볼륨 입방 미터 m3 질량 그램 g 속도 초당 미터 m/s 가속도 제곱초당 미터 m..

랩뷰 블록다이어그램

개요 이 블록다이어그램 소개에서는 이 도구의 개념과 블록다이어그램과 프런트패널의 관계를 살펴봅니다. 또한, 블록다이어그램을 여는 방법, 함수 팔레트에서 객체를 찾아서 블록다이어그램에 놓는 방법, 다른 도구 모음 아이콘을 사용하는 방법도 살펴봅니다. 이에 더해, NI LabVIEW 소프트웨어를 통한 그래픽 코드 생성이라는 중요한 개념을 보여주는 간단한 블록다이어그램을 만드는 방법에 대해서도 배웁니다. 이 블록다이어그램에는 LabVIEW 프로그램의 그래픽 소스 코드가 들어 있습니다. 블록다이어그램의 개념은 논리적이고 간단한 방식으로 그래픽 소스 코드를 사용자 인터페이스에서 분리하는 것입니다. 프런트패널 객체는 블록다이어그램에서 터미널로 나타납니다. 블록다이어그램의 터미널은 해당 프런트패널 객체에 대한 변경 ..

NI OPC를 이용하여 랩뷰와 PLC 통신 구현

NI LabVIEW 소프트웨어는 다양한 방식으로 프로그램 가능한 로직 컨트롤러 (PLC)와 통신할 수 있습니다. OLE for Process Control (OPC)은 제어 장치와 HMI (Human Machine Interface)간에 실시간 플랜트 데이터를 통신하기위한 표준을 정의합니다. OPC 서버는 거의 모든 PLC 및 프로그래밍 가능한 자동화 컨트롤러 (PAC)에서 사용할 수 있습니다. 이 튜토리얼에서는 LabVIEW를 사용하여 OPC를 사용하여 네트워크로 연결된 PLC와 통신하는 방법을 알아봅니다. 이 튜토리얼에서는 LabVIEW 데이터 로깅 및 감독 제어 (DSC) 모듈이 사용됩니다. 이 모듈에는 네트워크로 연결된 히스토리 데이터베이스에 데이터 로깅, 실시간 및 히스토리 트렌드, 알람 및 이..

측정 시스템 개요―하드웨어와 NI-DAQmx

다음 그림은 측정 시스템 개요를 설명하며, 실제 세계의 물리적 현상에서 사용자 측정 어플리케이션까지의 과정을 보여줍니다. 센서는 물리적 현상을 감지합니다. 신호 컨디셔닝 요소는 물리적 현상을 조절하여 측정 디바이스가 데이터를 받을 수 있도록 합니다. 컴퓨터는 측정 디바이스를 통해 데이터를 받습니다. 소프트웨어는 측정 시스템을 컨트롤하여 측정 디바이스가 언제, 어느 채널에서 데이터를 수집하거나 생성할지 지시합니다. 또한 소프트웨어는 원시 데이터를 취하여 분석한 후 그래프, 차트, 리포트를 위한 파일과 같이 사용자가 이해할 수 있는 형태로 제시합니다. NI 측정 디바이스와 어플리케이션 소프트웨어는 NI-DAQmx 드라이버 소프트웨어와 함께 들어있어 설정, 수집, NI 측정 디바이스에서 데이터 생성 및 데이터..

랩뷰에서의 멀티프로세싱과 하이퍼스레딩

하이퍼스레드를 지원하는 컴퓨터는 단일 프로세서를 가지지만 멀티프로세서를 가진 컴퓨터와 같이 동작합니다. (Windows) 하이퍼스레딩은 일부 Intel Pentium 4 및 이후 버전에서 지원하는 기능입니다. 하이퍼스레드를 지원하는 컴퓨터에서 Windows 작업 관리자를 실행하고 성능 탭을 클릭하면, Windows 작업 관리자는 두 개의 CPU의 사용 히스토리를 디스플레이합니다. (macOS) Activity Monitor를 시작하여 성능을 점검합니다. 하이퍼스레드를 지원하는 프로세서는 같은 마이크로칩에 내장된 여러 프로세서처럼 동작합니다. 레지스터 세트와 같은 칩의 일부 리소스는 복사됩니다. 실행 유닛 및 캐시와 같은 다른 리소스는 공유됩니다. 작은 작업을 저장하는 버퍼와 같은 일부 리소스는 여러 부분..

랩뷰를 이용한 여러 CPU 병렬 실행

ㄹ여러 CPU를 가진 시스템(멀티코어, 멀티프로세서 또는 SMP 시스템으로도 불림)의 주요 장점은 멀티 스레드가 병렬로 실행될 수 있다는 점입니다. 그러므로 어플리케이션이 주로 단일 연속 프로세스로 구성되어 있는 경우, 여러 프로세서 시스템을 활용하기 어렵습니다. 그러나 파이프라인 구조를 구현하면 여러 CPU를 활용하여 단일 연속 프로세스의 작업량을 향상시킬 수 있습니다. 파이프라인은 연속적인 데이터 흐름을 보존하면서 여러 CPU에서 병렬 실행을 활용합니다. 노트 어플리케이션에서 파이프라인을 이용하려면 CPU 사이에서 데이터 전송이 이루어져야 합니다. 이는 단순히 하나의 CPU에서 다음 작업에 데이터를 전달하는 것보다 시간이 오래 걸립니다. 그러므로 파이프라인을 구현할 경우, 병렬 프로세스로 절약되는 시..

랩뷰 VI 실행 속도 향상방법

LabVIEW가 VI를 컴파일하고 일반적으로 매우 빠르게 실행하는 코드를 생성한다고 해도, 사용자는 시간에 결정적인 VI를 다룰 때 가능한 최상의 성능을 얻고자 할 것입니다. 이 섹션은 실행 속도에 영향을 주는 요소를 다루고 가능한 최상의 성능을 얻도록 도움을 주는 몇몇 프로그래밍 기술을 제안합니다. 다음 아이템을 조사하여 느린 성능의 원인을 결정합니다: 입력/출력(파일, GPIB, 데이터 수집, 네트워크) 화면 디스플레이(큰 컨트롤, 컨트롤 오버랩핑, 너무 많은 디스플레이) 메모리 관리(배열과 문자열의 불충분한 사용, 불충분한 데이터 구조) 컴파일러 최적화(편집기 응답이 VI 실행 속도와 균형을 맞추도록 컴파일러 조절) 실행 오버헤드와 SubVI 호출 오버헤드와 같은 다른 요소는 일반적으로 실행 속도에..

랩뷰 VI 메모리 활용

LabVIEW는 텍스트 기반 프로그래밍 언어에서 다루어야만 하는 많은 세부사항을 처리해 줍니다. 텍스트 기반의 언어의 주요한 어려운 점 중 하나가 메모리 사용입니다. 텍스트를 기반으로한 언어에서는 프로그래머가 메모리를 사용하기 전에 할당하고 그리고 끝마치면 할당을 해제하는 것을 관리해야 합니다. 또한 처음에 할당한 메모리의 한계를 넘어서 쓰지 않도록 주의을 기울여야 합니다. 메모리를 할당하지 못하거나 충분한 메모리를 할당하지 못하는 것이 프로그래머가 텍스트 기반의 언어에서 저지르는 가장 큰 실수 중의 하나입니다. 또한 부적절한 메모리 할당은 디버그하기 어려운 문제입니다. LabVIEW의 데이터 흐름 패러다임은 메모리 관리의 어려움을 상당 부분 제거합니다. LabVIEW에서는 변수를 할당하지도 않고, 변수..

반응형
반응형