사용자 도구

사이트 도구


products:mpino_studio2:box_functions:arithmetic

차이

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

차이 보기로 링크

양쪽 이전 판이전 판
products:mpino_studio2:box_functions:arithmetic [2026/09/09 23:20] – 바깥 편집 127.0.0.1products:mpino_studio2:box_functions:arithmetic [2026/09/10 01:05] (현재) – 바깥 편집 127.0.0.1
줄 5: 줄 5:
 {{ :products:mpino_studio2:arithmetic-flow.svg?1000 |두 값의 계산, 증감, 범위 변환과 실수 연산 결과를 저장하는 명령어를 설명합니다. }} {{ :products:mpino_studio2:arithmetic-flow.svg?1000 |두 값의 계산, 증감, 범위 변환과 실수 연산 결과를 저장하는 명령어를 설명합니다. }}
  
-ADD로 두 WORD 값을 더하는 실제 래더 화면입니다. +===== 공통 규칙 =====
- +
-{{ :products:mpino_studio2:ladder-add-2x.png?1000 |ADD로 두 WORD 값을 더하는 실제 래더 화면입니다. }} +
- +
-{{ :products:mpino_studio2:arithmetic-examples.svg?1000 |박스함수 입력값과 실행 결과 예시 }} +
- +
-===== 1. 공통 규칙 =====+
  
 첫 번째와 두 번째 값은 계산에 사용할 소스이고 마지막 주소는 결과를 저장할 대상입니다. ''INC''와 ''DEC''는 대상 자체를 1씩 바꿉니다. 값의 데이터 형식과 범위는 Phase 2의 메모리 설명을 따릅니다. 첫 번째와 두 번째 값은 계산에 사용할 소스이고 마지막 주소는 결과를 저장할 대상입니다. ''INC''와 ''DEC''는 대상 자체를 1씩 바꿉니다. 값의 데이터 형식과 범위는 Phase 2의 메모리 설명을 따릅니다.
  
-===== 2. ADDㆍSUBㆍMULㆍDIVㆍMOD ===== +===== 수 목록 =====
- +
-==== ADD ==== +
- +
-**덧셈 (Add)** +
- +
-두 값을 더한 결과를 대상에 저장합니다. 계산식은 D = S1 + S2입니다. +
- +
-**입력 형식:** ''ADD D0 D1 D2'' +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=12, D1=5 | ''ADD D0 D1 D2'' | D2=17 | +
- +
-==== SUB ==== +
- +
-**뺄셈 (Subtract)** +
- +
-첫 번째 값에서 두 번째 값을 뺀 결과를 대상에 저장합니다. 계산식은 D = S1 - S2입니다. +
- +
-**입력 형식:** ''SUB D0 D1 D2'' +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=12, D1=5 | ''SUB D0 D1 D2'' | D2=7 | +
- +
-==== MUL ==== +
- +
-**곱셈 (Multiply)** +
- +
-두 값을 곱한 결과를 대상에 저장합니다. 계산식은 D = S1 × S2입니다. +
- +
-**입력 형식:** ''MUL D0 D1 D2'' +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=12, D1=5 | ''MUL D0 D1 D2'' | D2=60 | +
- +
-==== DIV ==== +
- +
-**나눗셈 (Divide)** +
- +
-첫 번째 값을 두 번째 값으로 나눈 몫을 대상에 저장합니다. 정수끼리 계산하면 소수점 이하는 저장되지 않습니다. +
- +
-**입력 형식:** ''DIV D0 D1 D2'' +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=12, D1=5 | ''DIV D0 D1 D2'' | D2=2 | +
- +
-==== MOD ==== +
- +
-**나머지 (Modulo)** +
- +
-첫 번째 값을 두 번째 값으로 나눈 나머지를 대상에 저장합니다. +
- +
-**입력 형식:** ''MOD D0 D1 D2'' +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=12, D1=5 | ''MOD D0 D1 D2'' | D2=2 | +
- +
-===== 3. INCㆍDEC ===== +
- +
-==== INC ==== +
- +
-**1 증가 (Increment)** +
- +
-대상 값을 1 증가시켜 같은 주소에 저장합니다. +
- +
-**입력 형식:** ''INC D0'' +
- +
-**인수** +
- +
-  * 1번째 = D: 증가 대상 주소(이전 값에 +1 후 같은 주소에 저장) +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=7 | ''INC D0'' | D0=8 | +
- +
-==== DEC ==== +
- +
-**1 감소 (Decrement)** +
- +
-대상 값을 1 감소시켜 같은 주소에 저장합니다. +
- +
-**입력 형식:** ''DEC D0'' +
- +
-**인수** +
- +
-  * 1번째 = D: 감소 대상 주소(이전 값에 −1 후 같은 주소에 저장) +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=7 | ''DEC D0'' | D0=6 | +
- +
-===== 4. SCALE ===== +
- +
-**스케일 (Scale, 선형 보간)** +
- +
-입력 범위의 정숫값을 출력 범위의 정숫값으로 선형 변환하여 대상에 저장합니다. 입력 범위를 벗어난 값은 가까운 경계값으로 제한되며, IN_MIN과 IN_MAX가 같으면 OUT_MIN을 저장합니다. +
- +
-**입력 형식:** ''SCALE D0 0 1023 R0 0 100'' +
- +
-**인수** +
- +
-  * 1번째 = 입력값: 변환할 주소 또는 상수 +
-  * 2번째 = 입력 최솟값 +
-  * 3번째 = 입력 최댓값 +
-  * 4번째 = 대상: 출력값을 저장할 주소 +
-  * 5번째 = 출력 최솟값 +
-  * 6번째 = 출력 최댓값 +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=1023 | ''SCALE D0 0 1023 R0 0 100'' | R0=100.0 | +
- +
-===== 5. FLOORㆍSQRT ===== +
- +
-==== FLOOR ==== +
- +
-**내림 (Floor)** +
- +
-소스 값보다 크지 않은 정수 중 가장 큰 값을 대상에 저장합니다. 예를 들어 12.8은 12, -1.2는 -2가 됩니다. +
- +
-**입력 형식:** ''FLOOR R0 R1'' +
- +
-**인수** +
- +
-  * 1번째 = 소스: 내림할 주소 또는 상수 +
-  * 2번째 = 대상: 결과를 저장할 주소 +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | R0=12.8 | ''FLOOR R0 R1'' | R1=12.0 | +
- +
-==== SQRT ==== +
- +
-**제곱근 (Square Root)** +
- +
-소스 값의 제곱근을 대상에 저장합니다. 실수 결과를 보관하려면 R 메모리를 대상으로 사용합니다. +
- +
-**입력 형식:** ''SQRT D0 R0'' +
- +
-**인수** +
- +
-  * 1번째 = 소: 제곱근을 구할 0 이상의 주소 또는 상 +
-  * 2번째 = 대상: 결과를 저장할 주소 +
- +
-^ 실행 조건 ^ 실행 전 ^ 입력한 명령어 ^ 예상 결과 ^ +
-| 왼쪽 조건 ON | D0=81 | ''SQRT D0 R0'' | R0=9.0 | +
- +
-===== 6. 문제해결방법 =====+
  
-증상 확인할 항목 +명령어 의미 
-DIV 또는 MOD 결과가 나오지 않습니다. | 두 번째 소스 이 0인지 확인합니다. | +[[products:mpino_studio2:box_functions:arithmetic:add|ADD]] | 두 값을 더한 결과를 대상에 저장합니다. | 
-SCALE 결과가 한쪽 경계값에 머니다. | 입력값과 IN_MINㆍIN_MAX의 순서 및 범위를 확인합니다. |+| [[products:mpino_studio2:box_functions:arithmetic:sub|SUB]] | 첫 번째 값에서 두 번째 값을 뺀 결과를 대상에 저장합니다. | 
 +[[products:mpino_studio2:box_functions:arithmetic:mul|MUL]] | 두 값을 곱한 결과를 대상에 저장합니다. | 
 +| [[products:mpino_studio2:box_functions:arithmetic:div|DIV]] | 첫 번째 을 두 번째 값으로 나눈 몫을 대상에 저장합니다. | 
 +| [[products:mpino_studio2:box_functions:arithmetic:mod|MOD]] | 첫 번째 값을 두 번째 값으로 나눈 나지를 대상에 저장합니다. 
 +| [[products:mpino_studio2:box_functions:arithmetic:inc|INC]] | 대상 값을 1 증가시켜 같은 주소에 저장합니다. | 
 +| [[products:mpino_studio2:box_functions:arithmetic:dec|DEC]] | 대상 값을 1 감소시켜 같은 주소에 저장합니다. | 
 +| [[products:mpino_studio2:box_functions:arithmetic:scale|SCALE]] | 입력 범위의 정숫값을 출력 범위의 정숫값으로 선형 변환하여 대상에 저장합니다. | 
 +| [[products:mpino_studio2:box_functions:arithmetic:floor|FLOOR]] | 소스 값보다 크지 않은 정수 중 가장 큰 값을 대상에 저장합니다. | 
 +| [[products:mpino_studio2:box_functions:arithmetic:sqrt|SQRT]] | 소스 값의 제곱근을 대상에 저장합니다. |
  
 ===== 관련 문서 ===== ===== 관련 문서 =====
  
   * [[products:mpino_studio2:box_functions|Phase 4 · 박스함수]]   * [[products:mpino_studio2:box_functions|Phase 4 · 박스함수]]
-  * [[products:mpino_studio2:box_functions:bit_latch|비트ㆍ래치 박스함수]] 
-  * [[products:mpino_studio2:box_functions:transfer|전송 박스함수]] 
   * [[products:mpino_studio2|MPINO STUDIO 2 사용설명서]]   * [[products:mpino_studio2|MPINO STUDIO 2 사용설명서]]
  
products/mpino_studio2/box_functions/arithmetic.1788963606.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki