차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
fieldio:cfnet:cfheadernewproject:index [2026/02/20 15:34] – external edit 127.0.0.1fieldio:cfnet:cfheadernewproject:index [2026/06/13 13:56] (현재) admin
줄 2: 줄 2:
 [[https://www.comfilewiki.co.kr/ko/doku.php?id=cfnet:cfheaderdevelopmentenvironment:index|개발PC 환경 설정]]을 마쳤다면, [[https://www.comfilewiki.co.kr/ko/doku.php?id=cfnet:cfheaderdevelopmentenvironment:index|개발PC 환경 설정]]을 마쳤다면,
 Visual Studio를 이용하여 프로그램(App)를 만드는 방법과 CFHEADER library(Nuget Packages) 설치 방법을 설명합니다. Visual Studio를 이용하여 프로그램(App)를 만드는 방법과 CFHEADER library(Nuget Packages) 설치 방법을 설명합니다.
-  - [[cfnet:cfheadernewproject:newproject|프로젝트 만들기]] +  - [[:fieldio:cfnet:cfheadernewproject:newproject|프로젝트 만들기]] 
-  - [[cfnet:cfheadernewproject:library|프로젝트에 CFHEADER library 설치 (Nuget Packages) ]]+  - [[:fieldio:cfnet:cfheadernewproject:library|프로젝트에 CFHEADER library 설치 (Nuget Packages) ]]
  
 위 설정을 마쳤다면 아래의 예제 코드로 동작을 확인할 수 있습니다. **( CFHEADER [**//ADDR. 0//**] + CFDO-16N [**//ADDR. 0//**] )** 위 설정을 마쳤다면 아래의 예제 코드로 동작을 확인할 수 있습니다. **( CFHEADER [**//ADDR. 0//**] + CFDO-16N [**//ADDR. 0//**] )**
줄 55: 줄 55:
 </code> </code>
 {{ :fieldio:cfnet:cfheadernewproject:project_8.jpg?nolink |}} {{ :fieldio:cfnet:cfheadernewproject:project_8.jpg?nolink |}}
 +
 +=====예제 프로그램 2=====
 +
 +아래 예는 여러 개의 CFHEADER모듈 사용 프로그램입니다. **[ CFHEADER[0, 1, 2] x CFDO[0, 0, 0] ]**
 +
 +++++[소스 보기]|
 +<code csharp>
 +using ComfileTech.Cfnet.Cfheader;
 + 
 +// Get the CFHEADER instances
 +var cfheader0 = Cfheader.Instances[0];
 +var cfheader1 = Cfheader.Instances[1];
 +var cfheader2 = Cfheader.Instances[2];
 + 
 +// Open USB communication for each CFHEADER instance
 +cfheader0.Open();
 +cfheader1.Open();
 +cfheader2.Open();
 + 
 +// Create a thread for each CFHEADER instance
 +var thread0 = new Thread(() => Demo(cfheader0));
 +var thread1 = new Thread(() => Demo(cfheader1));
 +var thread2 = new Thread(() => Demo(cfheader2));
 + 
 +// Start each thread
 +thread0.Start();
 +thread1.Start();
 +thread2.Start();
 + 
 +// Wait for each thread to finish
 +thread0.Join();
 +thread1.Join();
 +thread2.Join();
 + 
 +void Demo(Cfheader cfheader)
 +{
 +    // Get the digital output module
 +    var cfdo_16n0 = cfheader.DigitalOutputModules[0];
 + 
 +    // Initialize all channels to 0
 +    cfdo_16n0.State = 0x00;
 + 
 +    while (true)
 +    {
 +        foreach (var channel in cfdo_16n0.Channels)
 +        {
 +            // Toggle the channel on
 +            channel.State = !channel.State;
 +            channel.Module.Header.Sync();
 + 
 +            // Delay for 50ms
 +            Thread.Sleep(50);
 + 
 +            // Toggle the channel off
 +            channel.State = !channel.State;
 +            channel.Module.Header.Sync();
 +        }
 +    }
 +}
 +</code>
 +++++
  
 [[..:index|CFHEADER]] [[..:index|CFHEADER]]