Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
faduino:modularfaduino:scanprogramming:index [2026/02/14 18:56] – [알림] adminfaduino:modularfaduino:scanprogramming:index [2026/03/25 04:52] (current) admin
Line 3: Line 3:
 대부분의 자동화 기기에서 모든 입력(스위치, 센서류)는 항상 감시되고 있어야 하며, 해당 입력이 들어왔을때 상응하는 출력이 즉각적으로 나와주어야만 합니다. 대부분의 자동화 기기에서 모든 입력(스위치, 센서류)는 항상 감시되고 있어야 하며, 해당 입력이 들어왔을때 상응하는 출력이 즉각적으로 나와주어야만 합니다.
  
-이 경우, 기존 C언어 유저들은 외부 인터럽트등을 사용해서 충분히 코딩할 수 있을 것이라고 생각하겠지만, 그보다 훨씬 효율적인 방법이 있습니다. +이 경우, 기존 C언어 유저들은 외부 인터럽트등을 사용해서 충분히 코딩할 수 있을 것이라고 생각하겠지만, 그보다 훨씬 효율적인 방법이 있습니다. PLC 라고 불리우는 자동화용 컨트롤러에서 사용하는 방법인데, 모든 I/O를 스캔하면서 빠른 속도로 무한 루핑을 하는 구조입니다.
- +
-PLC 라고 불리우는 자동화용 컨트롤러에서 사용하는 방법인데, 모든 I/O를 스캔하면서 빠른 속도로 무한 루핑을 하는 구조입니다.+
  
 {{ :faduino:modularfaduino:scanprogramming:scandiagramk.png?nolink |}} {{ :faduino:modularfaduino:scanprogramming:scandiagramk.png?nolink |}}
  
 ====== 스캔 루프 실행방식으로 코딩하기 ======= ====== 스캔 루프 실행방식으로 코딩하기 =======
- 
  
 스캔 루프 실행방식은 모든 포트를 읽고나서, 로직처리를 한뒤, 출력포트에 한꺼번에 전부 반영합니다. 그리고 이 과정을 반복합니다.  스캔 루프 실행방식은 모든 포트를 읽고나서, 로직처리를 한뒤, 출력포트에 한꺼번에 전부 반영합니다. 그리고 이 과정을 반복합니다. 
Line 16: Line 13:
 {{ :faduio:modularfaduino:scanprogramming:example.png?nolink |}} {{ :faduio:modularfaduino:scanprogramming:example.png?nolink |}}
  
-C언어는 매우 다재다능한 언어이므로, 충분히 PLC에서 사용하는 스캔 루프 실행방식으로 코딩할 수 있습니다. +C언어는 매우 다재다능한 언어이므로, 충분히 PLC에서 사용하는 스캔 루프 실행방식으로 코딩할 수 있습니다. 모든 입력을 받아서 입력 배열 버퍼 (X[0] ~ X[127])에 저장하고, X배열과 Y배열을 대상으로 로직연산/처리를 한뒤, 출력 배열버퍼 (Y[0]~Y[127])에 있는 내용을 출력모듈에 반영하도록 하면 됩니다. 아래 그림처럼 입력8개, 출력8개가 모두 연결된 상황을 가정하고 아래 소스를 만들었습니다. 
- +
-모든 입력을 받아서 입력 배열 버퍼 (X[0] ~ X[127])에 저장하고, X배열과 Y배열을 대상으로 로직연산/처리를 한뒤, 출력 배열버퍼 (Y[0]~Y[127])에 있는 내용을 출력모듈에 반영하도록 하면 됩니다. +
- +
-아래 그림처럼 입력8개, 출력8개가 모두 연결된 상황을 가정하고 아래 소스를 만들었습니다. +
  
 이렇게 전부 연결하지 않아도 본 소스는 동작됩니다. 연결하지 않은 I/O모듈에 할당된 배열은 무시하셔도 좋습니다. 이렇게 전부 연결하지 않아도 본 소스는 동작됩니다. 연결하지 않은 I/O모듈에 할당된 배열은 무시하셔도 좋습니다.
Line 106: Line 99:
 본 소스에 대한 기술문의는 받고 있지 않습니다. 이점 양해바랍니다. 본 소스에 대한 기술문의는 받고 있지 않습니다. 이점 양해바랍니다.
  
-[[:..:index|Modular FADUINO]]+[[..index|Modular FADUINO]]