GPIB 12

C#으로 하는 GPIB 통신 Fin

이제 GPIB로 하는 통신 프로그램 작업은 완료가 되었습니다.2개의 장비를 연결하여 테스트를 하면서 C#으로 하는 GPIB 통신에 대한 포스팅을 마무리 하도록 하겠습니다. 참 혹시나 모르시는 분도 계실듯 해서 GPIB 케이블 연결부연설명을 드리자면 케이블의 생김새는 다음과 같습니다.GPIB 통신을 지원하는 장비에는 GPIB 포트가 있습니다. 대부분 계측기가 다수의 장비를 GPIB 케이블로 연결을 해야해서인지 GPIB 포트에 바로 GPIB-USB 컨버터를 연결하기 어려운 장비가 많이 있습니다.  보통 2개의 장비를 연결한다고 할때 계측기 하나는 위와 같이 연결하고 다른 하나는 아래와 같이 연결하면 두 계측기가 하나의 통신라인으로 연결이 됩니다.  보통 계측기 연결시 별모양과 같이 가운데서 가지처럼 연결하는..

개발 2024.11.18

C#으로 하는 GPIB 통신 -10-

JsonManager.cs       ( v )DeviceInfo.cs           ( v )CommManager.cs    ( v )GpibManager.cs       ( v )ControlManager.cs   ( v )Form1.cs                  (    )드디어 C#으로 하는 GPIB 통신의 마지막 포스팅입니다.여기까지 읽어주신 분들께 감사드립니다. 이제 이 프로그램의 기능은 클래스에서 구현을 모두 하였고 UI와 연결을 하도록 하겠습니다.using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;us..

개발 2024.11.17

C#으로 하는 GPIB 통신 -9-

JsonManager.cs       ( v )DeviceInfo.cs           ( v )CommManager.cs    ( v )GpibManager.cs       ( v )ControlManager.cs   (    )Form1.cs                  (    )안녕하세요~이제 GPIB 통신 프로그램에서 GPIB 통신을 다루는 부분을 마무리 하고 UI과 연계해서 GPIB 통신을 제어하는 ControlManager 클래스를 작성하네요. UI의 기능을 많이 정의하지 않다 보니 ControlManager 부분에 많은 메서드가 많이 사용되지는 않겠네요.현재 작성하고 있는 프로그램의 기능이 단순하다 보니 그러한데GPIB 통신 프로그램으로 기본적인 기능은 있으니 내용을 보시고 참고하셔서 ..

개발 2024.11.16

C#으로 하는 GPIB 통신 -8-

JsonManager.cs       ( v )DeviceInfo.cs           ( v )CommManager.cs    ( v )GpibManager.cs       (    )ControlManager.cs   (    )Form1.cs                  (    )앞서 CommManager까지 작성을 완료하였습니다이제 GPIB를 관장하는 클래스를 작성하도록 하겠습니다. using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Ivi.Visa;namespace GPIB_Demo{ public class GpibManager ..

개발 2024.11.16

C#으로 하는 GPIB 통신 -7-

JsonManager.cs       ( v )DeviceInfo.cs           ( v )CommManager.cs    (    )GpibManager.cs       (    )ControlManager.cs   (    )Form1.cs                  (    )지난번까지 DeviceInfo 클래스까지 작성을 하였습니다.이제 통신에 관한 클래스를 만들어 보겠습니다. 통신부는 VISA를 이용해서 작성을 하면 됩니다.검색하시면 관련 자료 많이 찾으실 수 있을꺼예요.다만 라이브러리에 맞는 예제를 찾으셔야 시간 낭비를 줄일 수 있습니다.제조사 라이브러리가 주는 장점도 있는데 특정기능을 VISA로 구현하려면 어려운 경우가 있는데 이것을 쉽게 할 수 있는 메서드가 있습니다. 그리고 계..

개발 2024.11.15

C#으로 하는 GPIB 통신 -6-

이제 현재 UI 작업하였고 클래스도 만들어 구조를 정하였습니다.각각 클래스에 코드 작업을 하도록 하겠습니다. JsonManager.cs (v)DeviceInfo.csCommManager.csGpibManager.csControlManager.csForm1.cs위의 클래스를 코딩작업을 해야 합니다.앞서 JsonManager.cs 클래스는 완료하였고 이제 DeviceInfo.cs를 작업하겠습니다.구조를 정하고 각 기능 클래스들을 하나씩 작성하고 마지막으로 UI에 붙여주도록 하겠습니다. DeviceInfo.cs 파일은 검색된 장비들에 대한 데이타를 보관할 클래스가 필요하다고 생각하여서 만들었습니다.단일 장비일경우 활용도가 약할텐데 다수의 같은 구조의 데이타를 가진 장비의 정보를 가진 객체를 활용할려면 장비 정..

개발 2024.11.15

C#으로 하는 GPIB 통신 - 5 -

이제 본격적으로 제가 하는 방식으로 코드를 작성해 보겠습니다.앞서 윈폼에서 바로 작성하는 방식으로 작업을 하였는데 C#의 로직부분만 최대한 드러내기 편한 구조로 작성을 할려고 하는 편입니다. 일단 기존에 작성한 솔루션을 로딩하겠습니다~일단 수정할 부분과 어떤 기능들이 추가로 들어갈지 생각을 해보도록 하겠습니다. 수정 사항 및 추가 사항1. UI에 있는 로직들을 옮긴다.2. UI에 탐지장비와 테스트 통신할 수 있는 부분 추가3. Set 버튼을 누를때 해당 정보를 파일에 저장4. 검색된 장비들 테스트 송수신 가능5. 프로그램 로딩시 파일을 읽어와서 통신 여부 확인  위의 내용으로 대략적인 클래스 구조를 그려봤습니다. 윈폼 UI와 ControlManager와 서로 연결되어 있고 그 하위에 GPIB를 관장하는 ..

개발 2024.11.14

C#으로 하는 GPIB 통신 -4-

앞서 많은 작업에 필요한 사전 작업을 다 한것 같습니다.중간 중간에 여러 필요한 정보들이 있을때 또 말씀을 드리겠습니다. 일단 앞으로 작업을 정리하자면1. 윈폼으로 코드 작성 장비 검색, 장비 등록2. 제작한 윈폼으로 GPIB 통신 연결, 케이블 연결 방법, 장비 검색, 장비 등록, 1:1 통신으로 명령어 전송 및 쿼리,3. 제작한 윈폼으로 장비 2대 연결하여 계측기 자동화 해보기 위와 같이 될 듯 합니다.중간 중간에 여러 필요한 정보들이 있을때 또 말씀을 드리겠습니다. 이제 작업을 시작할것인데각자의 스타일이 있듯이 제가 코드 작성하는 스타일이 있으니 참고만 부탁드려요.처음 보시는 분은 그저 따라만 하시다가 익숙해지시면 본인이 원하는 스타일로 작성하시면 됩니다.  자~! 일단 디자인한 부분을 확인해보겠습..

개발 2024.11.13

윈폼에서 디자이너 로드 오류 해결방법

윈폼을 작업하다 보면 깜빡하고 UI 도구 이름을 설정안하고 이벤트를 만들다보니 코드에서 삭제할 때 다시 윈폼 디자이너로 가면 접근 오류가 나타납니다.   윈폼을 잘 안해보시다가 할 경우 갑작스런 현상에 당황을 하실텐데 위의 경우는 윈폼 디자이너부분과 코드 부분이 Partial Class이기 때문입니다. 윈폼의 경우 기본 제공 또는 구매한 도구(사용자 정의 도구도 있습니다.)를 이용해서 윈폼에 쉽게 배치하고 이후 동작에 대한 코드를 기록하는 방법을 사용합니다.웹이나 다른 언어의 경우 코드로만 컴포넌트들을 배치하는 경우도 있는데 윈폼이 이 경우보다 초기 디자인 작업이 많이 쉬운것 같습니다. 물론 정형화되어 있기에 보다 미려한 UI를 만들고자 하면 한계가 있습니다.물론 실력이 된다면 Form의 디자인을 코드 ..

개발 2024.11.12

C#으로 하는 GPIB 통신 -3-

앞서 GPIB-USB 컨버터를 통해 C#으로 통신을 하였습니다.하지만 이것은 코드에서 되는지 확인만 진행하였고 제대로 된 프로그램이라고 볼 수 없습니다.이번에는 앞선 작업을 기준으로 장비에 대한 검색과 연결을 하는 부분을 프로그램 하겠습니다.  대략적으로 어떤 기능이 필요할 지 생각을 해보면 좋을듯 합니다. 연결 장비를 확인하고 장비에 대한 정보를 받아와야 할 듯 합니다.이후 장비에 대한 등록을 진행하면 장비 검색 및 등록에 대한 절차를 마칠 수 있습니다. Visual Studio를 실행하시고 윈폼 프로젝트를 생성하여 생각한 UI를 만들도록 합니다.몇개의 장비가 연결될지 미정이므로 장비에 대한 검색은 일단 Datagridview로 하도록 하겠습니다.그리고 동작은 검색 및 등록이 있을 듯 합니다.그리고 로..

개발 2024.11.11
반응형