사용자 도구

사이트 도구


commands:builtin

차이

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

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
commands:builtin [2026/09/01 20:04] – 바깥 편집 127.0.0.1commands:builtin [2026/09/15 11:47] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 ====== ILOGICS 내장 명령어 설명서 ====== ====== ILOGICS 내장 명령어 설명서 ======
  
-ILOGICS 보드에서는 ILOGICS에서 제작한 내장 명령어를 사용할 수 있습니다. 별도의 라이브러리 설치 없이 ILOGICS 보드를 선택하면 사용할 수 있습니다.+ILOGICS 보드를 선택하면 별도 라이브러리를 설치하지 않고도 ILOGICS 내장 명령어를 사용할 수 있습니다.
  
 ===== 내장 명령어를 사용하는 방법 ===== ===== 내장 명령어를 사용하는 방법 =====
  
   - [[https://www.ilogics.net/ko-kr/resources/downloads/software/3|ILOGICS 보드 패키지]]를 설치합니다. (Arduino SDK)   - [[https://www.ilogics.net/ko-kr/resources/downloads/software/3|ILOGICS 보드 패키지]]를 설치합니다. (Arduino SDK)
-  - Arduino IDE에서 **도구 → 보드**에서 사용하는 보드를 선택합니다.+  - Arduino IDE의 **도구 → 보드**에서 사용할 보드를 선택합니다.
   - 내장 명령어를 사용합니다.   - 내장 명령어를 사용합니다.
  
 ===== 내장 명령어 리스트 ===== ===== 내장 명령어 리스트 =====
 +
 +예제에 표시된 입출력 주소는 제품별로 다릅니다. 사용 중인 ILOGICS 제품의 보드 정의를 선택하고, 해당 제품의 핀맵에서 주소를 확인하십시오.
 +
 +**카테고리별 보기**
 +
 +  * [[commands:digital_filter|디지털 입력 필터]] · [[commands:edge_scale|에지 검출·범위 변환]] · [[commands:plc_timer|PLC 타이머]] · [[commands:callback_timer|콜백 타이머]]
 +  * [[commands:counter_buffer|카운터·데이터 버퍼]] · [[commands:high_speed_counter|고속카운터]] · [[commands:analog_input|아날로그 입력]] · [[commands:temperature|온도 입력]]
 +  * [[commands:analog_output_pwm|아날로그 출력·PWM]] · [[commands:pid|PID 제어]] · [[commands:display_rtc|표시장치·RTC]]
 +  * [[commands:debug_watchdog|디버그·Watchdog]] · [[commands:communication|통신]]
  
 ^ 카테고리 ^ 명령어 ^ 설명 ^ ^ 카테고리 ^ 명령어 ^ 설명 ^
-| 디지털 입력 필터 | [[commands:reference:idigitalread|IdigitalRead()]] | 입력을 여러 번 읽어 짧은 노를 줄입니다. |+| 디지털 입력 필터 | [[commands:reference:idigitalread|IdigitalRead()]] | 입력을 여러 번 연속으로 고, 모든 값이 같을 때만 상태를 갱신합니다. HIGH와 LOW가 섞이면 이전 안정 상태를 유지합니다. |
 | ::: | [[commands:ibounce|Ibounce()]] | 입력의 ON·OFF 양방향에 채터링 제거 시간을 적용합니다. | | ::: | [[commands:ibounce|Ibounce()]] | 입력의 ON·OFF 양방향에 채터링 제거 시간을 적용합니다. |
 | ::: | [[commands:reference:ibounceon|IbounceOn()]] | 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다. | | ::: | [[commands:reference:ibounceon|IbounceOn()]] | 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다. |
 | ::: | [[commands:reference:ibounceoff|IbounceOff()]] | 입력이 ON에서 OFF로 바뀔 때만 시간 필터를 적용합니다. | | ::: | [[commands:reference:ibounceoff|IbounceOff()]] | 입력이 ON에서 OFF로 바뀔 때만 시간 필터를 적용합니다. |
-| 디지털 출력 초기화 | [[commands:reference:digitalreset|digitalReset()]] | 코어가 관리하는 디지털 출력 상태를 초기화합니다. | 
 | 에지 검출 | [[commands:reference:iup|Iup()]] | 입력이 OFF에서 ON으로 바뀌는 순간에만 ''true''를 반환합니다. | | 에지 검출 | [[commands:reference:iup|Iup()]] | 입력이 OFF에서 ON으로 바뀌는 순간에만 ''true''를 반환합니다. |
 | ::: | [[commands:reference:idown|Idown()]] | 입력이 ON에서 OFF로 바뀌는 순간에만 ''true''를 반환합니다. | | ::: | [[commands:reference:idown|Idown()]] | 입력이 ON에서 OFF로 바뀌는 순간에만 ''true''를 반환합니다. |
줄 22: 줄 30:
 | 범위 변환 | [[commands:reference:iscale|Iscale()]] | 정수 입력값을 지정한 정수 범위로 변환합니다. | | 범위 변환 | [[commands:reference:iscale|Iscale()]] | 정수 입력값을 지정한 정수 범위로 변환합니다. |
 | ::: | [[commands:reference:iscalef|Iscalef()]] | 실수 입력값을 지정한 실수 범위로 변환합니다. | | ::: | [[commands:reference:iscalef|Iscalef()]] | 실수 입력값을 지정한 실수 범위로 변환합니다. |
-| 타이머 | [[commands:reference:iton|Iton()]] | (On Delay Timer) 조건이 정 시간 동안 ON이 되어야 ''true''를 반환합니다. | +| 타이머 | [[commands:reference:iton|Iton()]] | 입력이 정 시간 동안 ON 상태를 유지하면 ''true''를 반환합니다. | 
-| ::: | [[commands:reference:itof|Itof()]] | (Off Delay Timer) 조건이 OFF된 후 일정 시간이 지나면 ''false''를 반환합니다. | +| ::: | [[commands:reference:itof|Itof()]] | 입력이 OFF로 바뀌고 설정 시간이 지나면 ''false''를 반환합니다. | 
-| ::: | [[commands:reference:itpl|Itpl()]] | (Pulse Timer) 조건이 ON되는 순간부터 설정 시간 동안 ''true''를 반환합니다. | +| ::: | [[commands:reference:itpl|Itpl()]] | 입력이 ON으로 바뀌면 설정 시간 동안 ''true''를 반환합니다. | 
-| ::: | [[commands:reference:itmon|Itmon()]] | (Monostable Timer) 동작 중 재입력되어도 시간이 연장되지 않는 펄스를 출력합니다. | +| ::: | [[commands:reference:itmon|Itmon()]] | 입력이 ON으로 바뀌면 설정 시간 동안 ''true''를 반환하며, 동작 중 재입력도 시간이 연장되지 않니다. | 
-| ::: | [[commands:reference:itmr|Itmr()]] | (Retentive Timer) 조건이 ON인 시간을 누적하고 Reset 입력으로 초기화합니다. |+| ::: | [[commands:reference:itmr|Itmr()]] | 입력이 ON인 시간을 누적하고 ''reset'' 입력으로 누적 시간을 초기화합니다. |
 | 타이머 상태 | [[commands:reference:igettime|IgetTime()]] | 지정한 타이머의 현재 경과시간을 반환합니다. | | 타이머 상태 | [[commands:reference:igettime|IgetTime()]] | 지정한 타이머의 현재 경과시간을 반환합니다. |
 | ::: | [[commands:reference:igetstate|IgetState()]] | 지정한 타이머의 현재 출력 상태를 반환합니다. | | ::: | [[commands:reference:igetstate|IgetState()]] | 지정한 타이머의 현재 출력 상태를 반환합니다. |
줄 40: 줄 48:
 | ::: | [[commands:reference:isetcount|IsetCount()]] | 지정한 카운터의 현재값을 변경합니다. | | ::: | [[commands:reference:isetcount|IsetCount()]] | 지정한 카운터의 현재값을 변경합니다. |
 | ::: | [[commands:reference:ictuddownstate|IctudDownState()]] | Up/Down 카운터의 하한 완료 상태를 반환합니다. | | ::: | [[commands:reference:ictuddownstate|IctudDownState()]] | Up/Down 카운터의 하한 완료 상태를 반환합니다. |
-| 데이터 버퍼 | [[commands:reference:fifo|FIFO()]] | 먼저 저장한 16비트 데이터를 먼저 출력합니다. |+| 데이터 버퍼 | [[commands:reference:fifo|FIFO()]] | 저장한 순서대로 16비트 데이터를 꺼냅니다. |
 | ::: | [[commands:reference:filo|FILO()]] | 나중에 저장한 16비트 데이터를 먼저 출력합니다. | | ::: | [[commands:reference:filo|FILO()]] | 나중에 저장한 16비트 데이터를 먼저 출력합니다. |
 | 아날로그 입력 | [[commands:reference:analogreadinit|analogReadInit()]] | 아날로그 입력 모듈의 샘플링 속도를 설정합니다. | | 아날로그 입력 | [[commands:reference:analogreadinit|analogReadInit()]] | 아날로그 입력 모듈의 샘플링 속도를 설정합니다. |
줄 145: 줄 153:
  
 ^ 명령어 형식 ^ 반환값 ^ 사용 기준 ^ ^ 명령어 형식 ^ 반환값 ^ 사용 기준 ^
-''IdigitalRead(pin, samples)'' | 필터링된 ''HIGH'' 또는 ''LOW''입력을 여러 번 즉시 읽어 짧은 노를 줄임 +[[commands:reference:idigitalread|IdigitalRead(pin, samples)]] | 필터링된 ''HIGH'' 또는 ''LOW''모든 샘플이 같을 때만 상태를 갱신하고,이 섞이면 이전 안정 상태를 유지 
-''Ibounce(pin, ms)'' | 안정화된 입력 상태 | ON과 OFF가 설정 시간 동안 유지될 때 상태 변경 | +[[commands:ibounce|Ibounce(pin, ms)]] | 안정화된 입력 상태 | ON과 OFF가 설정 시간 동안 유지될 때 상태 변경 | 
-''IbounceOn(pin, ms)'' | ON 방향이 지연된 입력 상태 | OFF→ON 방향만 시간 필터 적용 | +[[commands:reference:ibounceon|IbounceOn(pin, ms)]] | ON 방향이 지연된 입력 상태 | OFF→ON 방향만 시간 필터 적용 | 
-''IbounceOff(pin, ms)'' | OFF 방향이 지연된 입력 상태 | ON→OFF 방향만 시간 필터 적용 |+[[commands:reference:ibounceoff|IbounceOff(pin, ms)]] | OFF 방향이 지연된 입력 상태 | ON→OFF 방향만 시간 필터 적용 |
  
 ''IdigitalRead()''는 짧은 시간 동안 반복 샘플링하는 방식이고, ''Ibounce()''는 ''millis()'' 기준으로 입력이 안정된 시간을 확인하는 방식입니다. 기계식 스위치에는 보통 ''Ibounce()''가 알맞습니다. ''IdigitalRead()''는 짧은 시간 동안 반복 샘플링하는 방식이고, ''Ibounce()''는 ''millis()'' 기준으로 입력이 안정된 시간을 확인하는 방식입니다. 기계식 스위치에는 보통 ''Ibounce()''가 알맞습니다.
- 
-===== 디지털 출력 초기화 ===== 
- 
-^ 명령어 형식 ^ 반환값 ^ 설명 ^ 
-| ''digitalReset()'' | 없음 | 코어가 관리하는 디지털 출력 상태 초기화 | 
  
 ===== 에지 검출 ===== ===== 에지 검출 =====
  
 ^ 명령어 형식 ^ 반환값 ^ 설명 ^ ^ 명령어 형식 ^ 반환값 ^ 설명 ^
-''Iup(id, input)'' | 상승 순간에만 ''true'' | OFF에서 ON으로 바뀌는 순간을 한 번 검출 | +[[commands:reference:iup|Iup(id, input)]] | 상승 순간에만 ''true'' | OFF에서 ON으로 바뀌는 순간을 한 번 검출 | 
-''Idown(id, input)'' | 하강 순간에만 ''true'' | ON에서 OFF로 바뀌는 순간을 한 번 검출 |+[[commands:reference:idown|Idown(id, input)]] | 하강 순간에만 ''true'' | ON에서 OFF로 바뀌는 순간을 한 번 검출 |
  
 ''id''는 각 에지 검출 상태를 구분합니다. 서로 다른 입력에 같은 ''id''를 사용하면 상태가 섞일 수 있습니다. ''id''는 각 에지 검출 상태를 구분합니다. 서로 다른 입력에 같은 ''id''를 사용하면 상태가 섞일 수 있습니다.
줄 168: 줄 171:
  
 ^ 명령어 형식 ^ 반환값 ^ 설명 ^ ^ 명령어 형식 ^ 반환값 ^ 설명 ^
-''Ialt(input, state)'' | 없음 | 입력 상승 순간마다 ''state'' 값을 ON/OFF 반전 |+[[commands:reference:ialt|Ialt(input, state)]] | 없음 | 입력 상승 순간마다 ''state'' 값을 ON/OFF 반전 | 
 + 
 +다음 예제는 MPAINO-8A8R(T)의 첫 입력 ''0''과 첫 출력 ''64''를 사용합니다.
  
 <code cpp> <code cpp>
 bool lampState = false; bool lampState = false;
 +
 +void setup() {}
  
 void loop() { void loop() {
줄 183: 줄 190:
  
 ^ 명령어 형식 ^ 반환값 ^ 설명 ^ ^ 명령어 형식 ^ 반환값 ^ 설명 ^
-''Iscale(x, inMin, inMax, outMin, outMax)'' | ''int32_t'' | 정수 입력 범위를 원하는 정수 범위로 변환 | +[[commands:reference:iscale|Iscale(x, inMin, inMax, outMin, outMax)]] | ''int32_t'' | 정수 입력 범위를 원하는 정수 범위로 변환 | 
-''Iscalef(x, inMin, inMax, outMin, outMax)'' | ''float'' | 소수점을 유지하여 실수 범위 변환 |+[[commands:reference:iscalef|Iscalef(x, inMin, inMax, outMin, outMax)]] | ''float'' | 소수점을 유지하여 실수 범위 변환 |
  
 ===== 타이머 ===== ===== 타이머 =====
  
 ^ 명령어 형식 ^ 동작 ^ ^ 명령어 형식 ^ 동작 ^
-''Iton(id, state, ms)'' | 입력이 설정 시간 동안 ON이면 출력 ON | +[[commands:reference:iton|Iton(id, state, ms)]] | 입력이 설정 시간 동안 ON이면 출력 ON | 
-''Itof(id, state, ms)'' | 입력이 OFF된 뒤 설정 시간이 지나면 출력 OFF | +[[commands:reference:itof|Itof(id, state, ms)]] | 입력이 OFF된 뒤 설정 시간이 지나면 출력 OFF | 
-''Itpl(id, state, ms)'' | 입력 상승 순간부터 설정 시간 동안 펄스 출력 | +[[commands:reference:itpl|Itpl(id, state, ms)]] | 입력 상승 순간부터 설정 시간 동안 펄스 출력 | 
-''Itmon(id, state, ms)'' | 실행 중 다시 입력되어도 연장되지 않는 단안정 펄스 | +[[commands:reference:itmon|Itmon(id, state, ms)]] | 실행 중 다시 입력되어도 연장되지 않는 단안정 펄스 | 
-''Itmr(id, state, ms, reset)'' | 입력 ON 시간을 누적하며 ''reset''으로 초기화 |+[[commands:reference:itmr|Itmr(id, state, ms, reset)]] | 입력 ON 시간을 누적하며 ''reset''으로 초기화 |
  
 PLC 스타일 타이머는 ''delay()''처럼 프로그램을 멈추지 않습니다. 대신 ''loop()''가 반복될 때마다 계속 호출해야 합니다. 같은 ''id''를 서로 다른 타이머에 중복 사용하지 마십시오. PLC 스타일 타이머는 ''delay()''처럼 프로그램을 멈추지 않습니다. 대신 ''loop()''가 반복될 때마다 계속 호출해야 합니다. 같은 ''id''를 서로 다른 타이머에 중복 사용하지 마십시오.
 +
 +다음 예제는 MPAINO-8A8R(T)의 첫 입력 ''0''과 첫 출력 ''64''를 사용합니다.
  
 <code cpp> <code cpp>
 +void setup() {}
 +
 void loop() { void loop() {
   bool run = Ibounce(0, 30);   bool run = Ibounce(0, 30);
줄 208: 줄 219:
  
 ^ 명령어 형식 ^ 반환값 ^ 설명 ^ ^ 명령어 형식 ^ 반환값 ^ 설명 ^
-''IgetTime(id)'' | ''unsigned long'' | 지정한 타이머의 현재 경과시간 반환 | +[[commands:reference:igettime|IgetTime(id)]] | ''unsigned long'' | 지정한 타이머의 현재 경과시간 반환 | 
-''IgetState(id)'' | ''bool'' | 지정한 타이머의 현재 출력 상태 반환 |+[[commands:reference:igetstate|IgetState(id)]] | ''bool'' | 지정한 타이머의 현재 출력 상태 반환 |
  
 ===== 콜백 타이머 ===== ===== 콜백 타이머 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''ItimerSet(intervalMs, callback)'' | 기본 타이머의 실행 주기와 콜백 함수 설정 | +[[commands:reference:itimerset|ItimerSet(intervalMs, callback)]] | 기본 타이머의 실행 주기와 콜백 함수 설정 | 
-''ItimerSet(timerNo, intervalMs, callback)'' | 하드웨어 타이머 번호를 지정하여 설정 | +[[commands:reference:itimerset|ItimerSet(timerNo, intervalMs, callback)]] | 하드웨어 타이머 번호를 지정하여 설정 | 
-''ItimerStart()''''ItimerStart(timerNo)'' | 콜백 타이머 시작 | +[[commands:reference:itimerstart|ItimerStart()]][[commands:reference:itimerstart|ItimerStart(timerNo)]] | 콜백 타이머 시작 | 
-''ItimerStop()''''ItimerStop(timerNo)'' | 콜백 타이머 정지 | +[[commands:reference:itimerstop|ItimerStop()]][[commands:reference:itimerstop|ItimerStop(timerNo)]] | 콜백 타이머 정지 | 
-''ItimerStopAll()'' | 콜백 타이머 전체 정지 | +[[commands:reference:itimerstopall|ItimerStopAll()]] | 콜백 타이머 전체 정지 | 
-''ItimerState()''''ItimerState(timerNo)'' | 실행 상태 확인 |+[[commands:reference:itimerstate|ItimerState()]][[commands:reference:itimerstate|ItimerState(timerNo)]] | 실행 상태 확인 |
  
 콜백 함수는 인터럽트 안에서 실행됩니다. 콜백에서는 플래그나 짧은 카운트만 변경하고 ''delay()'', Serial 출력, I²C, SPI와 긴 계산을 사용하지 마십시오. 콜백 함수는 인터럽트 안에서 실행됩니다. 콜백에서는 플래그나 짧은 카운트만 변경하고 ''delay()'', Serial 출력, I²C, SPI와 긴 계산을 사용하지 마십시오.
줄 246: 줄 257:
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''Ictu(id, CU, RESET, PV)'' | ''CU'' 상승 에지를 세어 ''PV''에 도달하면 ON | +[[commands:reference:ictu|Ictu(id, CU, RESET, PV)]] | ''CU'' 상승 에지를 세어 ''PV''에 도달하면 ON | 
-''Ictd(id, CD, LOAD, PV)'' | ''LOAD''로 값을 불러온 뒤 ''CD'' 상승 에지마다 감소 | +[[commands:reference:ictd|Ictd(id, CD, LOAD, PV)]] | ''LOAD''로 값을 불러온 뒤 ''CD'' 상승 에지마다 감소 | 
-''Ictud(id, CU, CD, RESET, LOAD, PV)'' | 증가와 감소를 함께 처리 | +[[commands:reference:ictud|Ictud(id, CU, CD, RESET, LOAD, PV)]] | 증가와 감소를 함께 처리 | 
-''IgetCount(id)''''IsetCount(id, value)'' | 현재 카운트값 조회와 변경 | +[[commands:reference:igetcount|IgetCount(id)]][[commands:reference:isetcount|IsetCount(id, value)]] | 현재 카운트값 조회와 변경 | 
-''IctudDownState(id)'' | Up/Down 카운터의 하한 완료 상태 확인 |+[[commands:reference:ictuddownstate|IctudDownState(id)]] | Up/Down 카운터의 하한 완료 상태 확인 |
  
 카운터 명령어는 ''loop()''에서 계속 호출합니다. ''id''는 다른 카운터와 중복하지 않게 배정합니다. 카운터 명령어는 ''loop()''에서 계속 호출합니다. ''id''는 다른 카운터와 중복하지 않게 배정합니다.
줄 257: 줄 268:
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''FIFO(...)'' 먼저 저장한 16비트 데이터를 먼저 꺼내는 버퍼 | +[[commands:reference:fifo|FIFO(...)]] | 저장한 순서대로 16비트 데이터를 꺼내는 버퍼 | 
-''FILO(...)'' | 나중에 저장한 16비트 데이터를 먼저 꺼내는 버퍼 |+[[commands:reference:filo|FILO(...)]] | 나중에 저장한 16비트 데이터를 먼저 꺼내는 버퍼 |
  
 ===== 아날로그 입력 ===== ===== 아날로그 입력 =====
  
 ^ 명령어 형식 ^ 반환값·용도 ^ ^ 명령어 형식 ^ 반환값·용도 ^
-''analogReadInit(sps)'' | MPAINO ADS1118 아날로그 모듈의 샘플링 속도 설정 | +[[commands:reference:analogreadinit|analogReadInit(sps)]] | MPAINO ADS1118 아날로그 모듈의 샘플링 속도 설정 | 
-''analogRead(ch)'' | 선택 채널의 원시 아날로그 값 읽기 | +[[commands:reference:analogread|analogRead(ch)]] | 선택 채널의 원시 아날로그 값 읽기 | 
-''analogReadAvg(ch, samples)''''analogReadAvgf(ch, samples)'' | 정수 또는 실수 이동평균 입력 |+[[commands:reference:analogreadavg|analogReadAvg(ch, samples)]][[commands:reference:analogreadavgf|analogReadAvgf(ch, samples)]] | 정수 또는 실수 이동평균 입력 |
  
 ===== 아날로그 입력 필터 ===== ===== 아날로그 입력 필터 =====
  
 ^ 명령어 형식 ^ 반환값·용도 ^ ^ 명령어 형식 ^ 반환값·용도 ^
-''IanalogFilter(id, raw, samples)'' | 사용자가 전달한 임의 값을 이동평균 처리 |+[[commands:reference:ianalogfilter|IanalogFilter(id, raw, samples)]] | 사용자가 전달한 임의 값을 이동평균 처리 |
  
 ===== 아날로그 범위 변환 ===== ===== 아날로그 범위 변환 =====
  
 ^ 명령어 형식 ^ 반환값·용도 ^ ^ 명령어 형식 ^ 반환값·용도 ^
-''IanalogRead(ch, min, max)''''IanalogReadf(ch, min, max)'' | 입력을 사용자 정수·실수 범위로 변환 |+[[commands:reference:ianalogread|IanalogRead(ch, min, max)]][[commands:reference:ianalogreadf|IanalogReadf(ch, min, max)]] | 입력을 사용자 정수·실수 범위로 변환 |
  
 ===== 4~20mA 입력 ===== ===== 4~20mA 입력 =====
  
 ^ 명령어 형식 ^ 반환값·용도 ^ ^ 명령어 형식 ^ 반환값·용도 ^
-''analogRead2(ch)'' | 4~20mA 보정 입력값 읽기 | +[[commands:reference:analogread2|analogRead2(ch)]] | 4~20mA 보정 입력값 읽기 | 
-''analogRead2Avg(ch, samples)''''analogRead2Avgf(ch, samples)'' | 4~20mA 입력값의 정수 또는 실수 평균 반환 |+[[commands:reference:analogread2avg|analogRead2Avg(ch, samples)]][[commands:reference:analogread2avgf|analogRead2Avgf(ch, samples)]] | 4~20mA 입력값의 정수 또는 실수 평균 반환 |
  
 ===== 4~20mA 범위 변환 ===== ===== 4~20mA 범위 변환 =====
  
 ^ 명령어 형식 ^ 반환값·용도 ^ ^ 명령어 형식 ^ 반환값·용도 ^
-''IanalogRead2(ch, min, max)''''IanalogRead2f(ch, min, max)'' | 4~20mA 입력을 사용자 범위로 변환 |+[[commands:reference:ianalogread2|IanalogRead2(ch, min, max)]][[commands:reference:ianalogread2f|IanalogRead2f(ch, min, max)]] | 4~20mA 입력을 사용자 범위로 변환 |
  
 MPAINO에서는 장착된 아날로그 입력 모듈과 딥스위치의 전압·전류 범위를 먼저 확인합니다. 샘플링 속도를 높이면 응답은 빨라지지만 노이즈와 측정 특성이 달라질 수 있습니다. MPAINO에서는 장착된 아날로그 입력 모듈과 딥스위치의 전압·전류 범위를 먼저 확인합니다. 샘플링 속도를 높이면 응답은 빨라지지만 노이즈와 측정 특성이 달라질 수 있습니다.
줄 306: 줄 317:
  
 ^ 명령어 형식 ^ 반환값 ^ 대상 ^ ^ 명령어 형식 ^ 반환값 ^ 대상 ^
-''ntcRead(ch)'' | 0.1℃ 단위 정수 | NTC 3950 10kΩ 온도센서 입력 | +[[commands:reference:ntcread|ntcRead(ch)]] | 0.1℃ 단위 정수 | NTC 3950 10kΩ 온도센서 입력 | 
-''ntcReadf(ch)'' | ℃ 단위 ''float'' | NTC 3950 10kΩ 온도센서 입력 | +[[commands:reference:ntcreadf|ntcReadf(ch)]] | ℃ 단위 ''float'' | NTC 3950 10kΩ 온도센서 입력 | 
-''pt100Read(ch)'' | 0.1℃ 단위 정수 | MPAINO PT100 입력 모듈 |+[[commands:reference:pt100read|pt100Read(ch)]] | 0.1℃ 단위 정수 | MPAINO PT100 입력 모듈 |
  
 NTC와 PT100은 센서 종류와 입력 회로가 다릅니다. 서로 바꾸어 사용하지 말고 선택 제품에 해당 입력 기능이 있는지 확인하십시오. NTC와 PT100은 센서 종류와 입력 회로가 다릅니다. 서로 바꾸어 사용하지 말고 선택 제품에 해당 입력 기능이 있는지 확인하십시오.
줄 315: 줄 326:
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''analogWriteInit(ch, top, prescaler)'' | PWM 타이머의 분해능과 분주비 설정 | +[[commands:reference:analogwriteinit|analogWriteInit(ch, top, prescaler)]] | PWM 타이머의 분해능과 분주비 설정 | 
-''analogWriteFreq(ch, hz)''''analogWriteMax(ch)'' | PWM 주파수 설정과 현재 최댓값 확인 | +[[commands:reference:analogwritefreq|analogWriteFreq(ch, hz)]][[commands:reference:analogwritemax|analogWriteMax(ch)]] | PWM 주파수 설정과 현재 최댓값 확인 | 
-''IanalogWriteInit(ch, max, min, mode)'' | MPAINO 아날로그 출력 범위 초기화 | +[[commands:reference:ianalogwriteinit|IanalogWriteInit(ch, max, min, mode)]] | MPAINO 아날로그 출력 범위 초기화 | 
-''IanalogWrite(ch, min, max, value)''''IanalogWritef(...)'' | 정수·실수 사용자값을 아날로그 출력 범위로 변환 |+[[commands:reference:ianalogwrite|IanalogWrite(ch, min, max, value)]][[commands:reference:ianalogwritef|IanalogWritef(...)]] | 정수·실수 사용자값을 아날로그 출력 범위로 변환 |
  
 ===== 4~20mA 출력 ===== ===== 4~20mA 출력 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''analogWrite2(ch, value)'' | 지정한 채널에 4~20mA 변환용 원시값 출력 | +[[commands:reference:analogwrite2|analogWrite2(ch, value)]] | 지정한 채널에 4~20mA 변환용 원시값 출력 | 
-''IanalogWrite2(ch, min, max, value)''''IanalogWrite2f(...)'' | 정수·실수 사용자값을 4~20mA 출력 범위로 변환 |+[[commands:reference:ianalogwrite2|IanalogWrite2(ch, min, max, value)]][[commands:reference:ianalogwrite2f|IanalogWrite2f(...)]] | 정수·실수 사용자값을 4~20mA 출력 범위로 변환 |
  
 ===== PWM 출력 ===== ===== PWM 출력 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''PWM(pin, value, bit16)'' | 8비트 또는 16비트 PWM 출력 | +[[commands:reference:pwm|PWM(pin, value, bit16)]] | 8비트 또는 16비트 PWM 출력 | 
-''FDPWM(pin, hz, duty)'' | 주파수와 Duty 비율을 지정한 PWM 출력 | +[[commands:reference:fdpwm|FDPWM(pin, hz, duty)]] | 주파수와 Duty 비율을 지정한 PWM 출력 | 
-''PWMOFF(pin, off)''''PWM_RESET()'' | 개별 PWM 정지 또는 전체 초기화 |+[[commands:reference:pwmoff|PWMOFF(pin, off)]][[commands:reference:pwm_reset|PWM_RESET()]] | 개별 PWM 정지 또는 전체 초기화 |
  
 ===== 펄스 출력 ===== ===== 펄스 출력 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''NPWM_BEGIN(pin, hz, duty, count)''''NPWM(pin)'' | 지정한 개수만큼 펄스 출력 |+[[commands:reference:npwm_begin|NPWM_BEGIN(pin, hz, duty, count)]][[commands:reference:npwm|NPWM(pin)]] | 지정한 개수만큼 펄스 출력 |
  
 PWM, 고속펄스, ''analogWrite()''와 콜백 타이머는 같은 하드웨어 타이머를 공유할 수 있습니다. 여러 기능을 함께 사용할 때는 해당 제품의 타이머 지원표를 확인하십시오. PWM, 고속펄스, ''analogWrite()''와 콜백 타이머는 같은 하드웨어 타이머를 공유할 수 있습니다. 여러 기능을 함께 사용할 때는 해당 제품의 타이머 지원표를 확인하십시오.
줄 343: 줄 354:
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''IpidSet(id, kp, ki, kd, sampleMs, outMin, outMax)'' | PID 계수, 계산 주기와 출력 범위 설정 | +[[commands:reference:ipidset|IpidSet(id, kp, ki, kd, sampleMs, outMin, outMax)]] | PID 계수, 계산 주기와 출력 범위 설정 | 
-''IpidRun(id, pv, sv)'' | 현재값 ''PV''와 설정값 ''SV''로 출력 계산 | +[[commands:reference:ipidrun|IpidRun(id, pv, sv)]] | 현재값 ''PV''와 설정값 ''SV''로 출력 계산 | 
-''IpidReset(id)'' | 내부 상태 초기화 | +[[commands:reference:ipidreset|IpidReset(id)]] | 내부 상태 초기화 | 
-''IpidReverse(id, reverse)'' | 정동작 또는 역동작 선택 | +[[commands:reference:ipidreverse|IpidReverse(id, reverse)]] | 정동작 또는 역동작 선택 | 
-''IpidItermLimit(id, min, max)'' | 적분항 범위 제한 | +[[commands:reference:ipiditermlimit|IpidItermLimit(id, min, max)]] | 적분항 범위 제한 | 
-''IpidOutput(id)'' | 마지막 출력값 확인 |+[[commands:reference:ipidoutput|IpidOutput(id)]] | 마지막 출력값 확인 |
  
 <code cpp> <code cpp>
줄 367: 줄 378:
  
 ^ 대상 ^ 주요 명령어 ^ 설명 ^ ^ 대상 ^ 주요 명령어 ^ 설명 ^
-| TM1637 4자리 FND | ''IsegBegin()''''IsegBrightness()''''IsegDecimal()''''IsegHex()''''IsegClear()'' | 최대 7개 장치를 ''device'' 번호로 구분 |+| TM1637 4자리 FND | [[commands:reference:isegbegin|IsegBegin()]][[commands:reference:isegbrightness|IsegBrightness()]][[commands:reference:isegdecimal|IsegDecimal()]][[commands:reference:iseghex|IsegHex()]][[commands:reference:isegclear|IsegClear()]] | 최대 7개 장치를 ''device'' 번호로 구분 |
  
 ===== 문자 LCD ===== ===== 문자 LCD =====
  
 ^ 대상 ^ 주요 명령어 ^ 설명 ^ ^ 대상 ^ 주요 명령어 ^ 설명 ^
-| PCF8574 문자 LCD | ''IclcdBegin()''''IclcdSetCursor()''''IclcdPrint()''''IclcdClear()'' | 최대 4개 LCD를 ''device'' 번호로 구분 |+| PCF8574 문자 LCD | [[commands:reference:iclcdbegin|IclcdBegin()]][[commands:reference:iclcdsetcursor|IclcdSetCursor()]][[commands:reference:iclcdprint|IclcdPrint()]][[commands:reference:iclcdclear|IclcdClear()]] | 최대 4개 LCD를 ''device'' 번호로 구분 |
  
 ===== RTC ===== ===== RTC =====
  
 ^ 대상 ^ 주요 명령어 ^ 설명 ^ ^ 대상 ^ 주요 명령어 ^ 설명 ^
-| DS3231 RTC | ''IrtcBegin()''''IrtcRead()''''IrtcSet()''''IrtcGetTemperature()''''IrtcSetAlarm1()'' | 날짜·시간, 온도, 알람과 주파수 출력 사용 |+| DS3231 RTC | [[commands:reference:irtcbegin|IrtcBegin()]][[commands:reference:irtcread|IrtcRead()]][[commands:reference:irtcset|IrtcSet()]][[commands:reference:irtcgettemperature|IrtcGetTemperature()]][[commands:reference:irtcsetalarm1|IrtcSetAlarm1()]] | 날짜·시간, 온도, 알람과 주파수 출력 사용 |
  
 표시 장치와 RTC는 각각의 ''Begin'' 명령어를 먼저 호출합니다. I²C 주소, 연결 핀과 다른 기능의 공유 여부를 확인하십시오. 표시 장치와 RTC는 각각의 ''Begin'' 명령어를 먼저 호출합니다. I²C 주소, 연결 핀과 다른 기능의 공유 여부를 확인하십시오.
줄 384: 줄 395:
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''debugStart()''''debugStart(baud)''''debugStart(serial, baud)'' | Debug 출력 시작과 포트 선택 | +[[commands:reference:debugstart|debugStart()]][[commands:reference:debugstart|debugStart(baud)]][[commands:reference:debugstart|debugStart(serial, baud)]] | Debug 출력 시작과 포트 선택 | 
-''debug()''''debugln()'' | Debug가 활성화된 경우에만 값 출력 | +[[commands:reference:debug|debug()]][[commands:reference:debugln|debugln()]] | Debug가 활성화된 경우에만 값 출력 | 
-''debugStop()''''debugState()'' | Debug 중지와 상태 확인 |+[[commands:reference:debugstop|debugStop()]][[commands:reference:debugstate|debugState()]] | Debug 중지와 상태 확인 |
  
 ===== Watchdog ===== ===== Watchdog =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''WDT_ENABLE(time)'' | Watchdog 제한시간 설정 및 활성화 | +[[commands:reference:wdt_enable|WDT_ENABLE(time)]] | Watchdog 제한시간 설정 및 활성화 | 
-''WDT()''''WDT_DISABLE()'' | Watchdog 리셋과 비활성화 |+[[commands:reference:wdt|WDT()]][[commands:reference:wdt_disable|WDT_DISABLE()]] | Watchdog 리셋과 비활성화 |
  
 Watchdog를 활성화한 뒤 ''WDT()'' 호출이 늦어지면 보드가 재시작됩니다. 통신 대기와 긴 반복문의 최악 실행시간을 먼저 확인하십시오. Watchdog를 활성화한 뒤 ''WDT()'' 호출이 늦어지면 보드가 재시작됩니다. 통신 대기와 긴 반복문의 최악 실행시간을 먼저 확인하십시오.
줄 399: 줄 410:
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-''TCNTSETUP(timerNo, bit32)'' | 타이머 외부 클럭 입력과 32비트 확장 모드 설정 | +[[commands:reference:tcntsetup|TCNTSETUP(timerNo, bit32)]] | 타이머 외부 클럭 입력과 32비트 확장 모드 설정 | 
-''TCNTOUT(timerNo)'' | 32비트 확장 모드에서 누적된 상위 오버플로 횟수 확인 |+[[commands:reference:tcntout|TCNTOUT(timerNo)]] | 32비트 확장 모드에서 누적된 상위 오버플로 횟수 확인 |
  
 현재 타이머 외부 클럭 방식의 전용 고속카운터 지원 제품은 MPINO-8A8R과 MPINO-16A8R8T입니다. 다른 제품은 제품별 인터럽트 입력을 확인해 ''attachInterrupt()'' 방식을 사용합니다. 현재 타이머 외부 클럭 방식의 전용 고속카운터 지원 제품은 MPINO-8A8R과 MPINO-16A8R8T입니다. 다른 제품은 제품별 인터럽트 입력을 확인해 ''attachInterrupt()'' 방식을 사용합니다.
줄 407: 줄 418:
  
 ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^
-''ImodbusRTUMem()''''ImodbusRTUAdr()''''ImodbusRTUInit()'' ''ImodbusRTU()'' |+[[commands:reference:imodbusrtumem|ImodbusRTUMem()]][[commands:reference:imodbusrtuadr|ImodbusRTUAdr()]][[commands:reference:imodbusrtuinit|ImodbusRTUInit()]] | [[commands:reference:imodbusrtu|ImodbusRTU()]] |
  
 <code cpp> <code cpp>
줄 424: 줄 435:
  
 ^ 초기 설정 ^ 실행 명령어 ^ ^ 초기 설정 ^ 실행 명령어 ^
-''ImodbusRTUmasterInit()''''ImodbusRTUmasterAdd()'' ''ImodbusRTUmaster()'' 또는 ''ImodbusRTUmasterRun()'' |+[[commands:reference:imodbusrtumasterinit|ImodbusRTUmasterInit()]][[commands:reference:imodbusrtumasteradd|ImodbusRTUmasterAdd()]] | [[commands:reference:imodbusrtumaster|ImodbusRTUmaster()]] 또는 [[commands:reference:imodbusrtumasterrun|ImodbusRTUmasterRun()]] |
  
 ===== LS산전 Cnet Slave ===== ===== LS산전 Cnet Slave =====
  
 ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^
-''ICnetMem()''''ICnetAdr()''''ICnetInit()'' ''ICnet()'' |+[[commands:reference:icnetmem|ICnetMem()]][[commands:reference:icnetadr|ICnetAdr()]][[commands:reference:icnetinit|ICnetInit()]] | [[commands:reference:icnet|ICnet()]] |
  
 ===== Mitsubishi MC Protocol ===== ===== Mitsubishi MC Protocol =====
  
 ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^
-''IMcMem()''''IMcAdr()''''IMcInit()'' ''IMcProtocol()'' |+[[commands:reference:imcmem|IMcMem()]][[commands:reference:imcadr|IMcAdr()]][[commands:reference:imcinit|IMcInit()]] | [[commands:reference:imcprotocol|IMcProtocol()]] |
  
 제품별 RS-232, RS-485와 UART의 ''Serial'' 번호가 다를 수 있습니다. 통신 전에 포트 역할, 전기 규격, 보레이트, 국번, 종단저항과 딥스위치 설정을 확인하십시오. 제품별 RS-232, RS-485와 UART의 ''Serial'' 번호가 다를 수 있습니다. 통신 전에 포트 역할, 전기 규격, 보레이트, 국번, 종단저항과 딥스위치 설정을 확인하십시오.
줄 446: 줄 457:
 const uint8_t outputChannel = 64; const uint8_t outputChannel = 64;
  
-void setup() { +void setup() {}
-  pinMode(inputChannel, INPUT); +
-  pinMode(outputChannel, OUTPUT); +
-}+
  
 void loop() { void loop() {
줄 479: 줄 487:
  
   * [[products:overview|제품 선택 가이드]]   * [[products:overview|제품 선택 가이드]]
-  * [[products:mpino|MPINO 제품 특징과 사용 흐름]]+  * [[products:mpino_series|MPINO 제품 특징과 사용 흐름]]
   * [[products:mpaino|MPAINO 모듈 구성과 논리 채널]]   * [[products:mpaino|MPAINO 모듈 구성과 논리 채널]]
   * [[guide:getting_started|Arduino IDE로 처음 시작하기]]   * [[guide:getting_started|Arduino IDE로 처음 시작하기]]
-  * [[guide:wiring|입출력 배선 원칙]] +  * [[guide:wiring|첫 결선과 입출력 확인]] 
-  * [[safety|안전 및 설치 주의사항]]+  * [[:safety|안전 및 설치 주의사항]]
  
commands/builtin.1788260661.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki