차이

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

차이 보기로 링크

다음 판
이전 판
fieldio:cfnet:cfheaderoperation:index [2026/02/14 01:39] – created - external edit 127.0.0.1fieldio:cfnet:cfheaderoperation:index [2026/06/11 16:58] (현재) – [메모리 전송 : Cfheader.Sync()] admin
줄 1: 줄 1:
 ===== CFHEADER 통신 동작원리 ====== ===== CFHEADER 통신 동작원리 ======
-PC프로그램 상에서 PC + CFHEADER + CFNET IO 시스템의 프로그램 동작 방식 과 모듈간의 메모리 통신 방식을 설명합니다.+PC프로그램 상에서 PC + CFHEADER + CFNET IO 시스템의 \\ 프로그램 동작 방식 과 모듈간의 메모리 통신 방식을 설명합니다.
 CFHEADER와 CFNET IO 모듈은 I²C를 통해 통신합니다. CFHEADER와 CFNET IO 모듈은 I²C를 통해 통신합니다.
  
-{{ :cfnet:cfheaderoperation:cfnet_cfheader_io_modules_comm.png?nolink |}}+{{ :fieldio:cfnet:cfheaderoperation:cfnet_cfheader_io_modules_comm.png?nolink |}}
  
  
줄 22: 줄 22:
   * 읽기 : 입력 모듈의 상태를 읽을 경우"[[https://api.comfiletech.com/csharp/api/ComfileTech.Cfnet.Cfheader.DigitalInputModule.Channel.html|DigitalInputModule.Channel.State]]" 속성값을 읽으면 됩니다. 이때, 속성값(Properties)을 읽기 전에 Cfheader.Sync()명령으로 CFHEADER 메모리를 업데이트해야 합니다.   * 읽기 : 입력 모듈의 상태를 읽을 경우"[[https://api.comfiletech.com/csharp/api/ComfileTech.Cfnet.Cfheader.DigitalInputModule.Channel.html|DigitalInputModule.Channel.State]]" 속성값을 읽으면 됩니다. 이때, 속성값(Properties)을 읽기 전에 Cfheader.Sync()명령으로 CFHEADER 메모리를 업데이트해야 합니다.
 ===== 메모리 전송 : Cfheader.Sync() ===== ===== 메모리 전송 : Cfheader.Sync() =====
-[[https://api.comfiletech.com/csharp/api/ComfileTech.Cfnet.Cfheader.Cfheader.Sync.html#ComfileTech_Cfnet_Cfheader_Cfheader_Sync|Cfheader.Sync() ]]는  +[[https://api.comfiletech.com/csharp/api/ComfileTech.Cfnet.Cfheader.Cfheader.Sync.html#ComfileTech_Cfnet_Cfheader_Cfheader_Sync|Cfheader.Sync()]] 는 PC 속성메모리를 CFHEADER에 USB 통신으로 송신하고, CFHEADER 메모리를 수신하여 PC 속성메모리를 업데이트하는 함수입니다. 이때 송수신은 동시에 이루어집니다. 
-PC 속성메모리를 CFHEADER에 USB 통신으로 송신하고, CFHEADER 메모리를 수신하여 PC 속성메모리를 업데이트하는 함수입니다. \\ +
-이때 송수신은 동시에 이루어집니다.+
     - CFHEADER 모듈의 Open() 메서드를 호출하여 통신을 초기화해야 합니다.     - CFHEADER 모듈의 Open() 메서드를 호출하여 통신을 초기화해야 합니다.
     - 업데이트 된 PC 속성메모리을 USB를 통해 CFHEADER 메모리로 전송합니다.     - 업데이트 된 PC 속성메모리을 USB를 통해 CFHEADER 메모리로 전송합니다.
줄 98: 줄 97:
  등의 이벤트처리 대신[[https://api.comfiletech.com/csharp/api/ComfileTech.Cfnet.Cfheader.BackgroundSync.html|BackgroundSync]]에서 I/O 모듈, 채널의 이벤트를 처리할 수 있습니다.  등의 이벤트처리 대신[[https://api.comfiletech.com/csharp/api/ComfileTech.Cfnet.Cfheader.BackgroundSync.html|BackgroundSync]]에서 I/O 모듈, 채널의 이벤트를 처리할 수 있습니다.
 BackgroundSync에서 발생하는 이벤트는 백그라운드 스레드의 컨텍스트에서 실행되므로, UI를 업데이트하려면 BeginInvoke나 InvokeAsync와 같은 기술을 사용하여 메인 UI 스레드에서 처리해 주어야 할 수 있습니다. BackgroundSync에서 발생하는 이벤트는 백그라운드 스레드의 컨텍스트에서 실행되므로, UI를 업데이트하려면 BeginInvoke나 InvokeAsync와 같은 기술을 사용하여 메인 UI 스레드에서 처리해 주어야 할 수 있습니다.
 +
 +[[..:index|CFHEADER]]