사용자 도구

사이트 도구


products:mpino_studio2:box_functions:free_input

MPINO STUDIO 2 Phase 4-9 · 자유입력형 박스함수

계산식을 포함한 대입식과 Arduino 함수 호출을 박스함수에 직접 입력하는 방법을 설명합니다.

계산식을 포함한 대입식과 Arduino 함수 호출을 박스함수에 직접 입력하는 방법을 설명합니다.

Arduino 코드의 함수를 호출하는 자유입력형 박스함수의 실제 래더 화면입니다.

Arduino 코드의 함수를 호출하는 자유입력형 박스함수의 실제 래더 화면입니다.

자유입력형 박스함수의 입력값과 실행 결과 예시

1. 자유입력형 입력 규칙

명령어 팔레트에서 자유를 선택한 뒤 지원되는 식을 한 줄로 입력합니다. 왼쪽 조건이 ON일 때 식이 실행되며, 접점이 없으면 매 스캔 실행됩니다.

형식 입력 값 의미
대입 D0 = (D1 + 10) * 2 계산 결과를 쓰기 가능한 주소에 저장
함수 결과 대입 D0 = readSensor() Arduino 함수의 반환값 저장
독립 함수 호출 doWork() 반환값을 저장하지 않고 함수 실행

2. 대입식

D0 = D0 + 1은 실행할 때마다 D0를 1 증가시킵니다. R0 += 1.5처럼 복합 대입식도 사용할 수 있습니다.

연산자 의미
= 오른쪽 계산 결과를 대상에 저장
+= -= *= /= %= 대상과 오른쪽 값을 계산해 같은 대상에 저장
&= |= ^= «= »= 비트연산 또는 시프트 결과를 같은 대상에 저장

3. Arduino 함수 호출

Arduino 코드에 작성한 함수를 호출할 수 있습니다. 반환값이 있으면 D0 = readSensor()처럼 메모리에 저장합니다.

int readSensor() {
  // Arduino 기본 함수로 A0의 값을 읽어 반환합니다.
  return analogRead(A0);
}

박스함수에는 D0 = readSensor()를 입력합니다. 왼쪽 조건이 ON이면 함수가 호출되고 반환값이 D0에 저장됩니다.

4. 캐스트

REAL, DW, WD, UD, UW로 계산값의 데이터 형식을 명시할 수 있습니다. 캐스트 뒤 괄호 안에 변환할 값을 입력합니다.

명령어 의미
REAL(D0) 32비트 실수로 변환. 정수 나눗셈을 실수 계산으로 바꿀 때 사용
DW(D0) 부호 있는 32비트 정수로 변환
WD(DD0) 부호 있는 16비트 정수로 변환. 상위 비트가 잘릴 수 있음
UD(D0) 부호 없는 32비트 정수로 변환
UW(DD0) 부호 없는 16비트 정수로 변환. 상위 비트가 잘릴 수 있음

캐스트 이름은 대문자로 입력하고, 괄호 안에는 값을 하나만 넣습니다. 캐스트는 오른쪽 계산식 안에서 사용하며 대입문의 왼쪽에는 사용할 수 없습니다.

5. 문제해결방법

증상 확인할 항목
함수를 찾을 수 없습니다. Arduino 코드에 함수가 선언되어 있고 이름과 대소문자가 같은지 확인합니다.
값이 너무 빠르게 증가합니다. 접점이 없으면 매 스캔 실행됩니다. 한 번만 실행하려면 상승 엣지 접점을 사용합니다.

관련 문서

products/mpino_studio2/box_functions/free_input.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki