안녕하세요. 구스입니다. 이 글에서는 NI OPC Server를 사용하기 위한 PLC 설정 방법에 대해서 알아볼텐데요. 이 글에서 사용하는 PLC는 미쯔비시 PLC Q 시리즈입니다. PLC를 통해서 호스트에 있는 OPC 서버에 접근하기 위해서는 USB와 TCP/IP(이더넷) 방식을 이용할 수 있습니다. 이 글에서는 이더넷 방식을 이용하여 PLC와 호스트를 연결하는 방법을 알아볼까 합니다. 먼저 프로젝트를 생성합니다. 자신의 PLC 제품에 맞게 설정을 하고 OK버튼을 누릅니다. 그리고 네트워크 파라미터(Network Param)을 더블클릭하고 네트워크 세팅창을 엽니다. 네트워크 세팅창은 아래와 같이 구성이 되어 있습니다.Module1 부분에 Network 타입과 Network Number등을 지정을 합니다..
안녕하세요. 구스입니다. 오늘은 Visual Studio에서 NI의 Measurement Studio를 활용하여 CWButton, CWGraph, CWGraph3D을 사용하기 위한 설정 방법에 대해서 알아보도록 하겠습니다. 기본적으로 Visual Studio 설치뒤 Measurement Studio를 설치하게 되면, .NET Framework 환경에서는 Measurement Studio의 기본 컨트롤과 인디케이터를 Toolbox에서 사용할 수 있습니다. 아래의 그림을 보면 확인이 가능하겠지만, C#으로 프로젝트를 생성하면 자동적으로 Toolbox에 관련 컨트롤들이 뜨게 됩니다. 이를 Drag and Drop을 통해서 Form에 대한 디자인 구현이 가능하게 되죠. 하지만 ActiveX 기반의 CW로 시작하..
안녕하세요. 구스입니다. 오늘은 NI사의 Measurement Studio의 Legacy로 구분이 되는 CW3DGraph를 사용하는 방법에 대해서 알아보도록 하겠습니다. Measurement Studio는 2009버전 이후 부터 C++, ActiveX과 관련된 라이브러리는 공식적으로 지원하지 않습니다. 따라서 Legacy라는 인스톨러를 NI 본사에 요청을 해야하는데요. Legacy를 설치하면 C++, ActiveX등에 대한 함수 및 그래프들을 사용할 수는 있습니다. 아래의 예제 CIntensityGraph.zip는 C#에서 ActiveX 기반의 CW3DGraph를 사용하는 예제인데요. 자신의 PC가 64비트이면 컴파일시 아래와 같은 에러를 확인할 수 있습니다. 본 에러코드를 확인해보면 ActiveX 기반..
안녕하세요. 구스입니다. 오늘은 RMS에 대해서 알아볼텐데요. RMS는 Root Mean Square의 약자입니다. 말 그대로 특정한 출력값의 평균을 내어 출력 값이 항상 균일하게 출력되는 크기를 표시한 것이 바로 RMS입니다. 이는 AC전압을 DC전압으로 표시할 때 사용이 되기도 하는데요. 사인파형의 AC전압을 DC전압으로 나타낼 때, DC 전압은 사인전압에 대한 피크전압(Vo)의 1/√2가 됩니다. 이를 Vrms라고 부르며, RMS 혹은 RMS전압이라고 칭하기도 합니다. 한글로는 실효값이라고도 합니다. RMS를 사용하는 가장 큰 이유는 평균 전력의 양이 파형 모양에 따라 달라지므로, 이를 비교하기 위해서 실효값(RMS)를 사용하게 됩니다. 파형의 특성을 파악할 때는 Peak의 값보다 RMS 계산을 통..
안녕하세요. 구스입니다. 이 글에서는 NI 드라이버에서 제공하는 C API를 통해서 Wrapper Class를 만들어보는 방법에 대해서 알아보도록 하겠습니다. NI 제품군 드라이버는 매번 업데이트가 될 때마다, C API가 추가적으로 업데이트 되어 지원이 됩니다. 이러한 C API를 .NET 환경에서 사용하기 위해서는 Wrapper Class가 필요하게 되지요. Wrapper Class는 .NET의 Invoke 함수(P/Invoke)를 이용하여 Unmanaged 코드를 .NET 어플리케이션에서 사용할 수 있게 도와주는 역할을 합니다. 아래의 글은 P/Invoke 함수를 통해서 Wrapper Class를 어떻게 생성하고 실질적으로 코드에서 어떻게 사용되는지 여부를 보여줍니다. 본 예제는 NI SCOPE 드..