본문 바로가기 메뉴 바로가기

구스의 엔지니어 세상

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

구스의 엔지니어 세상

검색하기 폼
  • 엔지니어 세상 (451)
    • National Instruments (247)
      • LabVIEW (94)
      • LV OOP (4)
      • DAQmx (30)
      • DIAdem (25)
      • RIO (18)
      • Vision (10)
      • 통신 (14)
      • VeriStand (2)
      • TestStand (6)
      • RF (9)
      • 기타.. (35)
    • NATI 소식 (2)
    • IT 소식 (1)
    • 프로그래밍 팁s (98)
      • C#, .NET (16)
      • Android (1)
      • Excel(Macro, VBA) (19)
      • 프로그래밍 방법론 (12)
      • Database (8)
      • 기타 (25)
      • Swift..(iOS) (1)
      • R (1)
      • Python (15)
    • MAC 팁s (11)
    • Windows팁s (26)
    • Blog 팁s (1)
    • Good Apps (63)
    • Hardwares (2)
  • 방명록

[CVI] LabWindows/CVI란?

NI LabWindows/CVI는 테스트, 측정, 오토메이션 어플리케이션을 위한 ANSI C 기반의 통합 개발 환경(IDE)입니다.NI LabVIEW에 대한 사용을 원치않는 사용자들에게 C기반의 프로그래밍을 가능하게 해줍니다. CVI는 ANSI C IDE로, 에디터, 디버거, 컴파일러, 링커를 포함한 워크 스페이스를 제공하고 있습니다. 또한 LabVIEW에 못지않는 다양한 사용자 인터페이스(UI Control)과 분석 함수 라이브러리도 제공을 하고 있습니다. 이 글에서는 CVI의 간략한 특징을 정리해보고자 합니다. 1. 사용자 인터페이스 및 코드 빌더 LabWinodws/CVI의 사용자 인터페이스는 Drag & Drop을 통해서 UI를 구현할 수 있습니다. 아래의 그림과 같이 사용자 인터페이스에 대한 컨..

National Instruments/기타.. 2014. 11. 12. 16:54
데이터베이스란 무엇인가? (What is database?)

데이터베이스란 무엇인가? (What is database?) 데이터베이스는 자료의 중복을 없애고, 효율적인 데이터를 모으기 위한 기술입니다. 이는 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다. 그럼 데이터와 정보란 무엇일까요? 데이터(Data)는 현실 세계로 부터 측정 및 로깅을 통해서 얻어진 사실이나 값을 의미합니다. 데이터는 가공하기 이전의 자료를 의미하며, 이를 가공한 결과를 우리는 정보(Information)이라 말합니다. 즉 데이터를 컴퓨터와 같은 장비를 통해서 데이터를 처리하게 되면 처리된 데이터를 우리는 정보라고 말합니다. 데이터베이스란? 데이터베이스는 데이터를 효율적으로 활용하기 위해서 자료를 저장하고, 이에 대한 정보를 사용할 수 있게끔 도와주는..

프로그래밍 팁s/Database 2014. 11. 11. 17:39
[DIAdem] 프로그래밍 적으로 DIAdem Report에 있는 Chart Axis 추가 및 설정하기

[DIAdem] 프로그래밍 적으로 DIAdem Report에 있는 Chart Axis 추가 및 설정하기 디아뎀은 수집된 데이터를 후처리하여, 이에 대한 리포트를 생성해주는 역할을 하는 소프트웨어 입니다. 디아뎀에는 Report 탭이 존재하여 후처리된 데이터를 어떻게 가공하여 리포트로 생성할지에 대한 설정이 가능합니다. Report 탭에서는 작성되는 데이터를 위해서 다양한 개체를 넣을 수 있습니다. Report 탭에서 처리할 수 있는 개체들은 아래와 같습니다. 2D Axis System, 3D Axis System2D Table, 3D TablePolar Axis SystemGraphic, Text, Predefined ObjectsCircle, Line, Rectangle, Arrow 본 글에서는 Rep..

National Instruments/DIAdem 2014. 11. 10. 15:12
랩뷰를 이용한 고속 푸리에 변환에 대해서(FFT, Fast Fourier Transform)

랩뷰를 이용한 고속 푸리에 변환에 대해서(FFT, Fast Fourier Transform) 고속 푸리에 변환은 이산 푸리에 변환(Discrete Fourier Transform)을 계산할 때 연산에 대한 횟수를 줄이기 위해서 고안된 알고리즘으로, 이 알고리즘은 반복되는 계산되는 과정을 제거함으로써 빠른 연산이 가능합니다. 이 알고리즘은 1960년대 콜리와 튜키에 의해 일반적으로 알려지게 되었는데, 1940년 전쯤부터 몇몇 사람들에 의해 독립적으로 사용되어져 왔습니다. 이 알고리즘은 분할 정복 알고리즘을 사용하여 재귀적으로 n크기의 DFT(Discrete Fourier Transform)을 n = n1 n2가 성립하는 n1, n2 크기의 두 DFT로 나눈 뒤 그 결과를 O(n) 시간에 합치는 방법을 사용..

National Instruments/기타.. 2014. 11. 10. 13:04
[LabVIEW] 랩뷰와 PLC와 연동하기 (OPC Server, DSC 모듈)

[LabVIEW] 랩뷰와 PLC와 연동하기 (OPC Server, DSC 모듈) NI LabVIEW 소프트웨어는 다양한 방식으로 다른 프로그래밍 로직 컨트롤러 (PLC)와 통신할 수 있습니다. OPC (OLE for Process Control)은 컨트롤 디바이스와 휴먼 머신 인터페이스 (HMI)간 리얼타임 플랜트 데이터 통신을 위한 표준을 정의합니다. OPC Server는 거의 모든 PLC와 프로그래밍 가능한 자동화 컨트롤러 (PAC)에서 사용이 가능합니다. 이 글에서는 OPC를 사용하여 PLC와 연동하는 방법에 대해서 알아보도록 하겠습니다. PLC와 통신을 위해서는 NI 소프트웨어 입장에서 아래의 소프트웨어들이 필요합니다. NI LabVIEWNI DSC Module(Data Logging and Su..

National Instruments/LabVIEW 2014. 11. 9. 16:43
[프로그래밍 방법론] 동시성(여러개의 쓰레드)에 대한 코드 - Clean Code

[프로그래밍 방법론] 동시성(여러개의 쓰레드)에 대한 코드 - Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 동시성과 깔끔한 코드는 양립하기 어렵습니다. 쓰레드를 하나만 실행하는 코드를 짜기는 쉽습니다. 문제가 있는 다중 스레드 코드도 짜기 쉽습니다. 이 글에서는 여러 스레드를 동시에 돌리는 이유에 대해서 이야기하겠습니다. 동시성이 필요한 이유는? 동시성은 결합을 없애는 전략입니다. 무엇(What)과 언제(When)을 분리하는 전략입니다. 쓰레드가 하나인 프로그램은 무엇과 언제가 서로 밀접합니다. 이는 호출스택을 통해서 바로 확인이 가능한데 단일 스레드 프로그램을 디버깅하는 프로그래머는 일련의 정지점을 정한 후 어느 정지점에 걸렸는지 살펴보면서 시스템 상태를 파악하게 됩니..

프로그래밍 팁s/프로그래밍 방법론 2014. 11. 9. 16:02
[프로그래밍 언어론] 켄트벡(Kent beck)이 제시한 단순한 소프트웨어 설계 규칙

[프로그래밍 언어론] 켄트벡(Kent beck)이 제시한 단순한 소프트웨어 설계 규칙 이 글은 Clean Code 책의 내용을 정리한 것입니다. 착실하게 따르기만 한다면 우수한 설계가 나오는 간단한 규칙 4가지가 있다면? 이 규칙을 통해서 코드 구조와 설계가 파악하기 쉬워지고, SRP, DIP와 같은 원칙 적용이 쉬워진다면 어떻게 하시겠습니까? 켄트 벡(Kent Beck)은 다음 규칙을 따르면 설계는 '단순해진다'라고 말하고 있습니다. 그럼 이러한 규칙은 무엇이 있을까요? 켄트벡이 제시한 규칙은 아래와 같습니다. 1) 모든 테스트를 실행한다.2) 중복을 없앤다.3) 프로그래머의 의도를 표현한다.4) 클래스와 메소드 수를 최소로 줄인다. 위의 목록은 중요도 순이며, 이에 대한 상세내역을 살펴볼 까 합니다...

프로그래밍 팁s/프로그래밍 방법론 2014. 11. 7. 18:00
윈도우에서 .NET Framework 설치 오류 및 에러 해결 방안

윈도우에서 .NET Framework 설치 오류 및 에러 해결 방안 윈도우에서 닷넷 프레임워크(.NET Framework)를 설치할 때 에러가 나는 경우가 있습니다. 1) 제어판에서 .NET Framework 제거를 시도합니다. 1. 시작 --> 제어판 --> 프로그램 추가/제거 제어판을 실행합니다.2. Microsoft .NET Framework 이라는 이름으로 시작되는 모든 항목을 제거합니다. 2) Cleanup Tool을 통한 삭제 (1번 실패시) 첫번째 방법이 실패를 하면, Cleanup Tool을 통해서 삭제를 하셔야합니다. Cleanup Tool은 아래의 파일을 통해 다운로드 받을 수 있습니다. Cleanup Tool을 실행하고 나서 , YES를 클릭한뒤 All Version과 윈도우 OS 버..

프로그래밍 팁s/기타 2014. 11. 7. 14:05
[LabVIEW] 랩뷰 VI에 대한 메모리 사용에 대한 글

[LabVIEW] 랩뷰 VI에 대한 메모리 사용에 대한 글 LabVIEW로 프로그래밍을 할 때 데이터를 많이 쓰고 받거나, 큰 파일을 처리할 때 메모리에 대한 문제가 많이 발생을 합니다. 이럴때는 메모리에 대한 최적화가 필요합니다. 이 글에서는 메모리 최적화에 가장 기본이 되는 VI에서 메모리를 어떻게 사용하는지에 대해서 알아보도록 하겠습니다. MemoryTest.vi라는 이름을 가진 For문으로 랜덤 데이터를 생성하여 Waveform Graph에 저장하는 코드를 만들었습니다. For문으로 100000회를 돌리고 이에 대한 결과를 WafveForm Graph라는 이름을 가진 그래프에 데이터를 넣습니다. UI는 아래와 같습니다. Waveform Graph 하나만 Front Panel에 있습니다. 이 vi ..

National Instruments/LabVIEW 2014. 11. 6. 18:16
[프로그래밍 방법론] 효율적 클래스 설계 방법 - Clean Code

[프로그래밍 방법론] 효율적 클래스 설계 방법 - Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 코드의 표현력과 코드로 이루어진 함수에 아무리 신경을 쓸지라도 좀 더 차원 높은 단계까지 신경 쓰지 않으면 깨끗한 코드를 얻기는 어렵습니다. 이 글에서는 깨끗한 클래스에 대해서 정리하겠습니다. 1. 클래스 체계와 캡슐화 표준 자바 관례에 따르면 변수 목록, 함수 목록순으로 나옵니다. 변수는 정적 공개 상수, 정적 비공개 상수, 비공개 인스턴스가 나오고 공개변수가 필요한 경우는 거의 없습니다. 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없습니다. 하지만 비공개 상태를 유지할 온갖 방법을 강구해야 하며, 캡슐화를 풀어주는 결정은 언제나 최..

프로그래밍 팁s/프로그래밍 방법론 2014. 11. 6. 17:09
이전 1 ··· 31 32 33 34 35 36 37 ··· 46 다음
이전 다음

Blog is powered by Tistory / Designed by Tistory

티스토리툴바