명령의 대부분은 명령부와 Device로 나누는 것이 가능하고, 그 용도는 다음과 같이 되어 있습니다.
명령부 : 그 명령의 기능을 표시 하고 있습니다.
Device : 명령에서 사용하는 Data를 표시하고 있습니다.
명령부와 Device의 조합에 의해 명령의 구성을 대별하면 아래와 같이 분류 할 수 있습니다.
a) (명령부) : Device의 상태를 변화시키지 않는 명령으로 주로 Program의 제어를 행하는 명령입니다.
예) END, PEND
b) (명령부) + (Device) : Device의 On/Off제어, Device의 On/Off 상태에 따라 실행조건 제어, Program의 분기를 행합니다.
c) (명령부) + (source의 Device) + (Destination의 Device) : Source의 Data로 연산을 행하고, 연산결과를 Destination에 저장합니다.
d) (명령부) + (source1의 Device) + (source2의 Device) + (Destination의 Device) : Source1의 Data와 Source2의 Data로 연산을 행하고 저장 결과를 Destination에 저장합니다.
...
그 외 기타 ××××××× 위 1) ~ 4) 이외의 조합입니다.
1)Source(s)
Source는 연산에서 사용하는 DATA입니다.
지정한 Device에 의해, 다음과 같이 됩니다.
정수 ××××××× 연산에서 사용하는 수치를 지정합니다. Program 작성시에 설정하기 때문에, Program실행중에 변경할 수 없는 고정 값 입니다.
Bit Device, Word Device ××××××× 연산에서 사용하는 Data가 저장되어 있는 Device를 지정합니다. 따라서, 연산을 실행 하기까지에 지정된 Device에 Data를 저장하여 놓을 필요가 있습니다. Program실행중, 지정된 Device에 저장하는 Data를 변경하는 것에 의해, 그 명령에서 사용하는 Data를 변경하는 것이 가능 합니다.
2)Destination(D)
Destination에는 연산후의 Data가 저장 됩니다. 단, 구성이 (명령부) + (source Device) + (Destination Device) 의 조합명령에서는, 연산 전Destination에 연산에 사용할 Data를 저장하여 놓을 필요가 있습니다.
Destination에는 반드시 Data를 저장하기 위한 Device를 저장합니다.
3)Bit 처리
Bit처리란, Bit Device (X, Y, M, L, S,F)를 지정했을 때의 처리입니다. Sequence명령사용시에는 연산처리의 대상이 되는 Device는 Bit Device의 1Bit(1점)이고 복수의 Bit를 지정하는 것은 불가능합니다.
예)LD X0000, OUT Y0020
4)Word처리
Word처리란, 연산처리의 대상이 되는 Device를 Word 단위로 처리하는 것이고, 처리방법에는 16Bit(1Word)처리 / 32Bit(2Word)처리의 2종류가 있습니다
e) 수치의 취급
16Bit, 32Bit의 최상위 Bit를 정부의 판별로 사용하고 있습니다. 따라서 16Bit, 32Bit로 취급되는 수치는 다음과 같이 됩니다.
16Bit : -32768~32767
32Bit : -2147483648~2147483647
...
기본명령에 있어서 16Bit, 32Bit로 취급되는 수치의 범위를 초과한 경우 (Over – Flow, Under Flow) 에는 다음과 같이 됩니다.
...
Over Flow, Under Flow인 경우에도 Carry Flag, Error Flag는 변화하지 않습니다.'
f) 실수 데이터의 저장순서
PLC-S CPU의 실수데이터는 실수 데이터는 IEEE754 표준 부동소수점 표현방식을 사용합니다. 실수는 4byte로 구성됩니다.
Double Word(4byte) 사용 예)
Base Addr | Low- High (MSB) |
Base Addr + 1 | Low-Low (LSB) |
Base Addr + 2 | High –High (MSB) |
Base Addr + 3 | High – Low (LSB) |
Base Addr | D0000 |
Base Addr + 1 | |
Base Addr + 2 | D0001 |
Base Addr + 3 |
g) 10진 부동소수점 데이터 형태
[Variable Part] x 2[exponent part]
The Bit Configuration
...
(1) Sign for variable part
최상위 비트(b31)는 변수부의 부호는 나타냅니다.
(2) Exponent part
b23에서 b30의 8bit는 지수부를 나타냅니다.
즉, 2n 에서의 n값을 나타냅니다.
b23 to b30 | FFh | FEh | FDh | ….. | 81h | 80h | 7Fh | 7Eh | ….. | 02h | 01h | 00h |
n | Not in Use | 127 | 126 | ….. | 2 | 1 | 0 | -1 |
| -125 | -126 | Not in Use |
...
(3) Variable part
b0에서 b22의 23bit는 변수부를 나타냅니다
즉 1.xxxx 에서의 xxxx (binary)
참고) 0을 표현 할 때는 b0에서 b31까지의 모든 비트가 0로 됩니다.
Tip 부동소수점 표시
실수값을 표시하는 방법의 하나이며, 수치를 {고정 소수점으로 표시되는 부분:가수부}×{실수부}의 형태로 표현하는 방법. 이때 지수부의 결정 방법은 기저에 따라 결정되며 유동적이다. 예를 들면, 10진수라면 밑이 10, 2진수라면 밑이 2가 되며 이것의 몇 제곱이라는 표현 방법을 취한다. 일반적으로 10진수에서는 가수부 E 지수 부라는 형태가 된다. 2진수에서는 가수부 E, 지수부 B라는 표시를 한다. 예를 들면 -638020000을 -6.3802×108 또는 -6.3802, 8과 같이 표시한다. 예에서 -6.3802×108 중 -6.3802를 가수라고 하고, 108의 8에 상당하는 것을 지수라 하고, 각각에 양음(+, -)을 구별하는 부호가 붙는다(+부호는 생략 가능). “10”은 이 경우 기수라 한다.