다중분기 명령 : MPS, MRD, MPP
명령 | 사용 가능 영역 | 스텝수 | 플래그 | |||||||||||||||
M | X | Y | K | L | F | T | C | S | Z | D | @D | 정수 | 에러 | 제로 | 캐리 | |||
MPS MRD MPP | S | - | - | - | - | - | - | - | - | - | - | - | - | - | 1 | - | - | - |
MPS |
---|
다중 분기에서 최초의 분기점으로 사용됩니다.
MPS명령 전의 연산결과를 Read하여, 그 연산결과로 다음 Step에서 연산을 속행합니다.
MRD |
---|
다중 분기에서 분기의 중계점으로 사용됩니다.
현재 MRD 명령 이전의 기억한 연산 결과를 Read하여, 그 연산 결과로 다음 Step에서 연산을 속행합니다.
MPP |
---|
다중 분기에서 분기의 종료점으로 사용됩니다.
MPP이전 명령에서 기억한 연산결과를 Clear합니다.
프로그램 예
MPS, MRD, MPP를 사용한 프로그램
[List Mode]
| Steps | Instruction | Device |
① | 0 | LD | X0001 |
① | 1 | MPS |
|
① | 2 | AND | X0002 |
① | 3 | OUT | Y0030 |
① | 4 | MPP |
|
① | 5 | OUT | Y0031 |
② | 6 | LD | X0003 |
② | 7 | MPS |
|
② | 8 | AND | X0004 |
② | 9 | MPS |
|
② | 10 | AND | X0005 |
② | 11 | OUT | Y0032 |
② | 12 | MPP |
|
② | 13 | AND | X0006 |
② | 14 | OUT | Y0033 |
② | 15 | MPP |
|
② | 16 | OUT | Y0034 |
③ | 17 | LD | X0007 |
③ | 18 | AND | X0008 |
③ | 19 | MPS |
|
③ | 20 | AND | X0009 |
③ | 21 | OUT | Y0035 |
③ | 22 | MRD |
|
③ | 23 | AND | X000A |
③ | 24 | OUT | Y0036 |
③ | 25 | MRD |
|
③ | 26 | AND | M000B |
③ | 27 | OUT | Y0037 |
③ | 28 | MPP |
|
③ | 29 | OUT | Y0038 |
③ | 30 | END |
|
2. MPS, MPP 명령을 사용한 예
[List Mode]
Steps | Instruction | Device | Steps | Instruction | Device |
0 | LD | X0000 | 23 | OUT | Y0021 |
1 | MPS |
| 24 | MPP |
|
2 | AND | X0001 | 25 | OUT | Y0022 |
3 | MPS |
| 26 | MPP |
|
4 | AND | X0002 | 27 | OUT | Y0023 |
5 | MPS |
| 28 | MPP |
|
6 | AND | X0003 | 29 | OUT | Y0024 |
7 | MPS |
| 30 | MPP |
|
8 | AND | X0004 | 31 | OUT | Y0025 |
9 | MPS |
| 32 | MPP |
|
10 | AND | X0006 | 33 | OUT | Y0026 |
11 | MPS |
| 34 | MPP |
|
12 | AND | X0006 | 35 | OUT | Y0027 |
13 | MPS |
| 36 | MPP |
|
14 | AND | X0007 | 37 | OUT | Y0028 |
15 | MPS |
| 38 | MPP |
|
16 | AND | X0008 | 39 | OUT | Y0029 |
17 | MPS |
| 40 | MPP |
|
20 | AND | X000A | 41 | OUT | Y002A |
21 | OUT | Y0021 | 42 | END |
|
22 | MPP |
|
|
|
|