products:mpino_studio2:box_functions:free_input
문서의 이전 판입니다!
목차
MPINO STUDIO 2 Phase 4-9 · 자유입력형 박스함수
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.1788944070.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

