사용자 도구

사이트 도구


products:mpino_studio2:box_functions

문서의 이전 판입니다!


MPINO STUDIO 2 Phase 4 · 박스함수

박스함수의 입력ㆍ수정 방법, 실행 조건과 MPINO Studio 2에서 사용할 수 있는 박스함수를 설명합니다.

박스함수의 입력ㆍ수정 방법, 실행 조건과 MPINO Studio 2에서 사용할 수 있는 박스함수를 설명합니다.

1. 박스함수 편집 화면

박스함수 편집 창은 명령을 찾고 입력값을 완성하는 화면입니다. 번호는 아래 설명과 같은 위치를 가리킵니다.

박스함수 편집 창은 명령을 찾고 입력값을 완성하는 화면입니다. 번호는 아래 설명과 같은 위치를 가리킵니다.

  • 카테고리: 타이머, 카운터, 연산처럼 명령의 종류를 선택합니다.
  • 명령 목록: 선택한 카테고리에서 사용할 명령을 고릅니다.
  • 명령 입력: 명령과 인수를 한 줄로 입력합니다.
  • 설명: 선택한 명령의 동작, 인수, 예제를 확인합니다.
  • 확인ㆍ취소: 입력값을 셀에 저장하거나 변경을 취소합니다.

2. 명령 선택ㆍ입력

카테고리를 선택한 뒤 명령을 누르면 입력칸에 기본 형식이 채워지고 첫 번째 인수가 선택됩니다. 값을 입력하고 Tab을 누르면 다음 인수로 이동합니다. 명령과 인수는 공백으로 구분합니다.

  1. 래더 셀을 선택하고 Ctrl + Enter를 눌러 박스함수를 생성합니다.
  2. 편집 창에서 카테고리와 명령을 선택합니다.
  3. 선택된 인수를 입력하고 Tab으로 다음 인수로 이동합니다.
  4. 입력을 마치면 Enter 또는 확인을 누릅니다.

3. 입력한 명령 수정하기

입력한 박스함수를 수정하려면 셀을 선택한 뒤 Enter를 누르거나 더블클릭합니다. 다른 명령을 선택하면 입력칸 전체가 새 명령의 기본 형식으로 바뀝니다. 확인은 변경값을 저장하고 취소는 편집 전 값으로 돌아갑니다.

4. 접점 조건과 실행 시점

왼쪽 접점에서 전달된 ONㆍOFF 상태가 박스함수의 입력입니다. 연산ㆍ전송ㆍ비트ㆍ변환ㆍSETㆍRSTㆍ자유입력형은 ON일 때 실행됩니다. 타이머와 카운터는 OFF 상태도 받아 현재값과 완료 상태를 명령별 규칙에 따라 처리합니다. 왼쪽에 접점이 없으면 입력은 항상 ON입니다. INC D0처럼 값을 누적하는 명령을 한 번만 실행하려면 상승 엣지 접점을 사용합니다.

왼쪽 접점에서 전달된 ONㆍOFF 상태가 박스함수의 입력입니다. 연산ㆍ전송ㆍ비트ㆍ변환ㆍSETㆍRSTㆍ자유입력형은 ON일 때 실행됩니다. 타이머와 카운터는 OFF 상태도 받아 현재값과 완료 상태를 명령별 규칙에 따라 처리합니다. 왼쪽에 접점이 없으면 입력은 항상 ON입니다. ''INC D0''처럼 값을 누적하는 명령을 한 번만 실행하려면 상승 엣지 접점을 사용합니다.

5. 정형 명령어와 자유입력형

정형 명령어는 팔레트에 등록된 44종이며 명령별 입력 형식과 인수 수가 정해져 있습니다. 자유입력형은 대입식, 계산식, Arduino 함수 호출을 직접 입력합니다.

구분 입력 예 사용 기준
정형 명령어 MOV D0 D1 팔레트에서 명령을 선택하고 표시된 인수에 값을 입력
자유입력형 D0 = readSensor() Arduino 코드에 작성한 함수 호출 또는 지원되는 식을 직접 입력

6. 박스함수 목록

카테고리 명령 기능
타이머 박스함수 TON 입력이 ON인 동안 시간을 누적하고 설정값에 도달하면 완료 상태를 ON으로 바꿉니다.
TOFF 입력이 ON이면 완료 상태가 즉시 ON이 됩니다.
TPL 입력이 ON으로 바뀌는 순간 완료 상태가 ON이 됩니다.
TMON 입력이 한 번 ON이 되면 입력 변화와 재입력을 무시하고 설정 시간 동안 완료 상태를 ON으로 유지합니다.
TMR 입력이 ON인 동안 시간을 누적합니다.
TAON TON과 같은 ON 지연 동작을 100 ms 틱으로 처리합니다.
TAOFF TOFF와 같은 OFF 지연 동작을 100 ms 틱으로 처리합니다.
TAPL TPL과 같은 조건 유지 펄스 동작을 100 ms 틱으로 처리합니다.
TAMON TMON과 같은 단발 펄스 동작을 100 ms 틱으로 처리합니다.
TAMR TMR과 같은 누적 동작을 100 ms 틱으로 처리합니다.
카운터 박스함수 CTU 왼쪽 조건이 OFF에서 ON으로 바뀔 때마다 현재값을 1 증가시킵니다.
CTD 현재값을 설정값으로 준비한 뒤 왼쪽 조건의 상승 엣지마다 1 감소시킵니다.
CTUD 왼쪽 조건이 ON인 동안 증가 입력의 상승 엣지에는 1을 더하고 감소 입력의 상승 엣지에는 1을 뺍니다.
비트ㆍ래치 박스함수 SET 왼쪽 조건이 ON이면 M 비트 또는 출력으로 설정된 P 비트를 ON으로 저장합니다.
RST 왼쪽 조건이 ON이면 M 비트 또는 출력으로 설정된 P 비트를 OFF로 저장합니다.
산술 박스함수 ADD 두 값을 더한 결과를 대상에 저장합니다.
SUB 첫 번째 값에서 두 번째 값을 뺀 결과를 대상에 저장합니다.
MUL 두 값을 곱한 결과를 대상에 저장합니다.
DIV 첫 번째 값을 두 번째 값으로 나눈 몫을 대상에 저장합니다.
MOD 첫 번째 값을 두 번째 값으로 나눈 나머지를 대상에 저장합니다.
INC 대상 값을 1 증가시켜 같은 주소에 저장합니다.
DEC 대상 값을 1 감소시켜 같은 주소에 저장합니다.
SCALE 입력 범위의 정숫값을 출력 범위의 정숫값으로 선형 변환하여 대상에 저장합니다.
FLOOR 소스 값보다 크지 않은 정수 중 가장 큰 값을 대상에 저장합니다.
SQRT 소스 값의 제곱근을 대상에 저장합니다.
전송 박스함수 MOV 소스 값 하나를 대상에 복사합니다.
GMOV DㆍCㆍT WORD의 연속된 소스 영역을 대상 영역에 같은 순서로 복사합니다.
FMOV DㆍCㆍT WORD 주소 하나의 값을 읽어 대상의 연속 WORD 영역을 같은 값으로 채웁니다.
비트연산 박스함수 WAND 두 WORD의 각 비트를 AND 연산하여 대상에 저장합니다.
WOR 두 WORD의 각 비트를 OR 연산하여 대상에 저장합니다.
WXOR 두 WORD의 각 비트를 XOR 연산하여 대상에 저장합니다.
WNOT 소스 WORD의 각 비트를 반전하여 대상에 저장합니다.
SHL WORD를 왼쪽으로 시프트하여 대상에 저장합니다.
SHR D WORD를 오른쪽으로 논리 시프트하여 대상에 저장합니다.
ROL DㆍCㆍT WORD를 왼쪽으로 회전하여 대상에 저장합니다.
ROR DㆍCㆍT WORD를 오른쪽으로 회전하여 대상에 저장합니다.
변환 박스함수 INV 소스 WORD의 각 비트를 반전하여 대상에 저장합니다.
NEG 소스 값의 부호를 반대로 바꾸어 대상에 저장합니다.
H2D 4자리 BCD로 저장된 소스 WORD를 10진 정숫값으로 해석하여 대상에 저장합니다.
D2H 0 ~ 9999의 10진 정숫값을 4자리 BCD로 바꾸어 대상 WORD에 저장합니다.
로직 제어 박스함수 JMP 왼쪽 조건이 ON이면 같은 래더 안의 뒤쪽 라벨로 이동하여 그 사이의 래더 줄을 건너뜁니다.
JMPN 왼쪽 조건이 OFF이면 같은 래더 안의 뒤쪽 라벨로 이동합니다.
MCS 0 ~ 15의 레벨로 마스터 컨트롤 구간을 시작합니다.
MCSCLR 지정한 레벨의 마스터 컨트롤 구간과 그 안쪽 구간을 종료합니다.
자유입력형 박스함수 자유입력형 박스함수 D0 = D0 + 1 · R0 += 1.5 · D0 = readSensor()

7. 빌드 오류 확인

잘못된 명령이나 인수는 빌드할 때 오류로 표시됩니다. 오류 메시지의 래더 이름과 줄 번호를 확인하고 해당 박스함수를 다시 여십시오.

증상 확인할 항목
명령을 찾을 수 없음 명령 이름의 철자와 정형 명령어 목록 확인
인수 개수 오류 명령 상세 페이지의 입력 형식과 공백 확인
주소 또는 자료형 오류 대상 메모리의 종류와 데이터 형식을 Phase 2에서 확인
0으로 나누기 가능 DIV, MOD, SCALE의 분모 또는 입력 범위 확인

관련 문서

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki