pro1 07e [읽기 전용]
TRANSCRIPT
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 1
목차 페이지
수 형식(16 비트) ...........… … … … … ..................................................................................................... 2수 형식(32 비트) ...........… … … … … .................................................................................................... 3데이터 로드 및 전송 (1) … … … … … .… … ............................................................................................ 4데이터 로드 및 전송 (2) … … … … … .… … ............................................................................................ 5데이터 로드 및 전송 (3) … … … … … .… … ............................................................................................ 6타이머: STEP 7에서 S5 타이머를 위한 타임 형식................................................................................. 7타이머: ON 딜레이 (SD) … … … … ....................................................................................................... 8타이머: 저장된 ON 딜레이 (SS) … … … … … … … ................................................................................ 9타이머: OFF 딜레이 (SF) … … … … ..................................................................................................... 10타이머: 펄스 (SP) ................................................................................................................................ 11타이머: 확장된 펄스 (SE) … ................................................................................................................ 12타이머: 비트 명령 ..… ..................................................................… … … ............................................. 13연습 … … .............................................................................................................................................. 14STEP 7에서의 S5 카운터...................................................................................................................... 15카운터: 비트 명령 ................................................................… … … … ................................................. 16카운터: 함수 다이어그램 ........................................................… … ................................................... 17연습: Bottling 플랜트를 위한 프로그램(채우는 주기 및 병 카운트) .… .....… … … … .............................. 18변환 연산 BCD <-> Integer … ............................................................................................................ 19변환 연산 I -> DI -> REAL … … ........................................................................................................... 20비교 연산 ................................................................… … … … … … … .................................................. 21디지털 논리 연산 .................................................................… … … … ................................................ 22기본 수리 함수............… … … … … … … … … ......................................................................................... 23연습: Bottling 플랜트를 위한 프로그램(생산 데이터) … … .......… … … ................................................. 24연습: Bottling 플랜트를 위한 프로그램(포장 단위의 수) … … … … … … … … … … … ............................. 25시프트 연산(워드/더블워드)… … … … … ..… ........................................................................................... 26부호 있는 오른쪽 정수를 시프트… … … … … … … … … ........................................................................... 27더블 워드 순환 연산 … … … … … ......................................................................................................... 28
Date: 2002-02-19File: PRO1_07E.1
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
디지털 연산
CMP ==I
IN1IN2
IW0IW2
M0.0 Q 9.7
T4S_ODT
TV
S Q
BCD
BI
R
I0.7
I0.5S5T#35s
Q8.5
MW0
QW12
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 2
BCD 코드 십진수의 각 자리수는 4개의 비트 위치로 부호화됩니다. 각 자리에 가장 높은십진수 9가 바이너리 코드에서 최소 4개 비트 위치(1001)를 필요로 하기 때문에4비트가 사용됩니다. 십진수 0-9는 이진수 0-9와 같은 방식으로 BDC 코드에 표시됩니다.
정수 데이터 유형 INT는 정수입니다(16 비트). 부호(비트 15)는 숫자가 양인지 음인지를 나타냅니다(“0”= 양, “1”= 음). 16 비트 정수는 -32 768과 +32 767 사이에 있습니다. 바이너리 형식에서 정수의 음수형은 양의 정수의 2의 보수로 나타납니다(2의보수는 비트 패턴을 반대로 바꾸고 1을 더하여 만들어 짐). 음수의 비트 패턴 값을 구할 때는 영(0)의 위치를 계산하고 그 결과에 1을 더한 후앞에 마이너스 부호를 붙입니다.
Date: 2002-02-19File: PRO1_07E.2
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
수 형식(16 비트)
BCD
정수
BCD
28
= 256 +
0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
25
= 32 +
23
= 8 = 296
0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
2 9 6부호 (+)
1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1
4 1 3부호 (-)W#16#F413
27
= 128 +
1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
23
= 8+
22
= 4 = 412
28
= 256+
24
= 16+
- (412 + 1) = - 413
음수
정수
양수
W#16#296
+296
-413
PG CPU
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 3
DINT 부호가 있는 32비트 정수는 “double integers”또는 “long integers”라고도 합니다.
이 정수의 범위는 L# -2147483648와 L#+2147483647 사이입니다.
REAL 실수(부동 소수점 수로도 알려짐)는 -1.175495•10-38에서 3,402823•1038 범위에있는 양수 또는 음수입니다.
예제: +10.339 또는 +1.0339E1-234567 또는 -2.34567E5.
지수 표시에서 지수는 10의 거듭제곱으로 지정됩니다.실수는 메모리로 2 워드를 차지하고 가장 중요한 비트는 부호를 나타냅니다. 다른 비트는 가수와 기수 2의 지수를 나타냅니다.
참고: STEP 7에서 실수의 표시는 IEEE 표준에 따릅니다.
Date: 2002-02-19File: PRO1_07E.3
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
수 형식(32 비트)
실수 = +1,5 * 2 126-127= 0,75
DW#16#296
+296
+0.75또는
+7.5 E-1
0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
28
= 256 +
25
= 32 +
23
= 8 = 296정수(32 비트) =
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 0 1 0 0 0 0 0
실수의부호
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
e = 지수 (8 비트) f = 가수 (23 비트)
실수의 일반 형식 = (부호) • (1.f) • (2e-127)
2021222324252627 2-232-1 2-2 2-4 .....2-3
0 0 0 0
0 0 0부호 (+)
00 0 0 0 0 1 0 1 0 0 1 0 1 1 0
2 9 60
0 0 00 0 00 0 0 0 0 0
BCD
DINT
REAL
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 4
MOVE (LAD/FBD) EN 입력이 활성화되면 입력 “IN”의 값이 출력 “OUT”의 어드레스로 복사됩니다.
“ENO”는 “EN”와 같은 시그널 상태를 갖습니다.
L 및 T (STL) RLO와 관계없이 로드 및 전송 명령이 실행되며, 데이터는 누산기를 통해교환됩니다.
로드 명령은 오른쪽으로 정렬된 소스 어드레스에서 값을 누산기 1에 쓰고 나머지비트는 “0”으로 채웁니다(전체 32비트). 전송 명령은 누산기에 있는 일부 또는 전체 내용을 지정된 대상으로복사합니다(다음 페이지 참고).
Date: 2002-02-19File: PRO1_07E.4
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
로드의예제
데이터 로드 및 전송 (1)
L +5 // 16 비트 상수(정수)
L L#523123 // 32 비트 상수(더블 정수)
L B#16#EF // 16 진수 형식의 바이트
L 2#0010 0110 1110 0011 // 16 비트 바이너리 값
L 3.14 // 32 비트 상수(실수)
MOVE
EN
IN
OUT
ENO
MB5
5
FBD
L +5
T MB5
STL
MOVE
EN
OUT
ENO
MB5
LAD
IN5
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 5
ACCU1 ACCU 1은 CPU의 중앙 레지스터입니다. 로드 명령을 실행하면 로드된 값이ACCU 1에 쓰여지고 전송 명령의 경우에는 전송된 값을 ACCU 1에서 읽습니다. 이동 및 순환 연산 등의 수리 함수의 결과도 ACCU 1에 입력됩니다.
ACCU2 로드 명령을 실행하면 ACCU 1의 이전 내용은 우선 ACCU 2로 이동하고 ACCU 1은 새로운 값이 쓰여지기 전에 지워집니다(“0”으로 리셋).
ACCU 2는 또한 비교 연산, 디지털 논리 연산, 수리 및 시프트 연산에사용됩니다. 이러한 연산은 나중에 자세히 설명하겠습니다.
Date: 2002-02-19File: PRO1_07E.5
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
데이터 로드 및 전송 (2)
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
::L W#16#CAFE
L W#16#AFFE:::
X X X X X X X XC A F E
A F F E
ACCU2의내용
ACCU1의내용프로그램
Y Y Y Y Y Y Y YX X X X X X X X
0 0 0 0 C A F E
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 6
일반 누산기는 다양한 어드레스 간에 데이터 교환과 비교 및 수리 연산을 위해 CPU에있는 보조 메모리입니다. S7-300은 각각 32 비트인 2개의 누산기가 있으며 S7-400은 각각 32비트인4개의 누산기가 있습니다.
로드 로드 명령은 지정된 바이트, 워드 또는 더블 워드의 내용을 ACCU 1에로드합니다.
전송 전송 명령을 실행하면 ACCU 1의 내용이 유지됩니다. 따라서 같은 정보를 다른대상에 전송할 수 있습니다. 한 바이트만 전송할 경우 오른쪽으로 가장 먼 8개비트를 사용합니다(다이어그램 참고).
RLO LAD 및 FBD에서는 RLO에 따라 로드 및 전송 연산을 작성하기 위해 MOVE 상자의 Enable 입력(EN)을 사용할 수 있습니다. STL에서 로드 및 전송 연산은 RLO에 관계없이 언제나 실행되지만 로드/전송명령을 건너뛰기 위해 조건 점프를 사용하면 RLO에 따른 로드 및 전송을 구현할수 있습니다.
Date: 2002-02-19File: PRO1_07E.6
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
데이터 로드 및 전송 (3)
31 23 15 7 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0
31 23 15 7 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB1MB0
31 23 15 7 0
MB3MB2MB0 MB1
로드
L MB 0
프로그램
T QD 4
QD 4
QW 4
QB 4
전송
ACCU1의 내용
L MW 0
L MD 0
T QW 4
T QB 4
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 7
타임 사양 1. 타임 상수로 지정된 고정 타임 값(예: S5T#100ms, S5T#35s, S5T#5m2s200ms, S5T#2h2m2s50ms).
2. 푸시휠 버튼을 사용하여 기계 오퍼레이터가 변경하는 타임 값.3. 메모리 워드 또는 데이터 워드에서 프로세스 또는 방법에 따른 타임 값.
타이머 셀 CPU에서 메모리의 특별 영역이 타이머를 위해 예약됩니다. 이 영역은 각 타이머어드레스마다 16 비트 워드를 포함합니다. 타이머 워드 0-9 비트에는 바이너리 코드로된 타임 값이 있습니다. 타이머가 업데이트되면 타임 값은 타임 기수에 의해 지정된 간격으로 한 단위씩줄어듭니다.
타임 기수 타이머 워드의 12와 13 비트에는 바이너리 코드로 된 타임 기수가 있습니다.0 = 10 ms1 = 100 ms2 = 1 s3 = 10 s.
타임 기수는 타임 값이 한 단위씩 줄어드는 간격을 정의합니다. 타임이 상수로 지정되면(S5T#...) 타임 기수는 시스템에 의해 자동으로 할당됩니다. 타임이 푸시휠 버튼을 사용하거나 데이터 인터페이스를 통해 지정되면 사용자는반드시 타임 기수를 정해야 합니다.
L / BI ”BI”출력의 어드레스에는 10자리 바이너리 수 형식의 타임 값이 있습니다(타임기수 없이!).
LC / BCD ”BCD” 출력의 어드레스에는 3자리 BCD 수(12 비트)로서의 타임 값과 타임형식(12와 13 비트)이 모두 들어 있습니다.
참고 IEC 호환 타이머도 STEP7에서 구현할 수 있습니다. IEC 타이머 구현을 위한 시스템 기능 블록의 사용에 대해서는 고급 프로그래밍과정에서 다룹니다.
Date: 2002-02-19File: PRO1_07E.7
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: STEP 7에서 S5 타이머를 위한 타임 형식
타임 사양을 위한 형식
시스템 데이터 메모리의 타이머 셀
“LC T...” 후의 ACCU 내용
“L T...” 후의 ACCU 내용
타임 기수
102 101 100
타임 값 (BCD 코드)
타임 기수 타임 값 (이진수)
타임 기수
102 101 100
타임 값 (BCD 코드)
타임 값 (이진 수)
X X X X
X X
X X X XX X
X X
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 8
시작 타이머는 “S“입력에 있는 RLO가 “0”에서 “1”로 변경될 때 시작됩니다. 이때타이머는 입력 S의 시그널 상태가 1인 동안 TV 입력에 지정된 타임 값으로시작하여 실행됩니다.
리셋 리셋 입력 “R“의 RLO가 “1”이면 현재 타임 값 및 타임 기수는 삭제되고 출력 Q가리셋됩니다.
디지털 출력 현재 타임 값은 BI 출력에서는 이진 수로 BCD 출력에서는 BCD 수로 읽을 수있습니다.
현재 타임 값은 타이머가 시작된 이후 경과된 타임에 대한 값을 뺀 최초 TV의값입니다.
바이너리 출력 타이머가 에러 없이 끝나고 입력 “S”가 시그널 상태 “1”을 가질 때 “Q”출력의시그널은 “1”로 변경됩니다.타이머가 끝나기 전에 “S”입력의 시그널 상태가 “1”에서 “0”으로 변경되면타이머가 중단됩니다. 이 경우 출력 “Q”는 시그널 상태 “0”을 갖습니다.
Date: 2002-02-19File: PRO1_07E.8
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: ON 딜레이(SD)LAD
T4S_ODT
TV
S Q
BCD
BI
R
I0.7
I0.5S5T#35s
Q8.5
MW0
QW12
FBD
S_ODT
TV
Q
BI
R
I0.7
I0.5
S5T#35s
MW0
QW12
T4
BCD
=Q8.5
S
STL
A I0.7L S5T#35sSD T4A I0.5R T4L T4T MW0LC T4T QW12A T4= Q8.5
예제
S의 RLO
R의 RLO
타이머연산
Q
타임 값: 0 . . . 999
0,01s <--0,1s <--
1s <--10s <--
0 00 11 01 1
데이터 유형“S5TIME”
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 9
시작 타이머는 ”S” 입력의 RLO가 “0”에서 “1”로 변경될 때 시작됩니다. 이때 타이머는입력 TV에 지정된 타임 값으로 작동을 시작하며 이 시간 동안 입력 “S”의시그널이 “0”으로 변경되더라도 실행을 계속합니다.타이머가 여전히 실행되는 동안 Start 입력의 시그널이 “0”에서 “1”로 다시변경되면 타이머는 처음부터 다시 시작합니다.
리셋 리셋 입력 “R“의 RLO가 “1”이면 현재 타임 값과 현재 타임 기수가 삭제되고 출력Q는 리셋됩니다.
바이너리 출력 출력 Q의 시그널 상태는 입력 “S”의 시그널 상태가 아직 “1”인지 여부에 관계없이타이머가 에러 없이 끝나면 “1”로 변경됩니다.
Date: 2002-02-19File: PRO1_07E.9
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: 저장된 ON 딜레이(SS)
STL
A I0.7L S5T#35sSS T4A I0.5R T4L T4T MW0LC T4T QW12A T4= Q8.5
LAD
T4S_ODTS
TV
S Q
BCD
BI
R
I0.7
I0.5S5T#35s
Q8.5
MW0
QW12
FBD
S_ODTS
TV
Q
BI
R
I0.7
I0.5
S5T#35s
MW0
QW12
T4
BCD
=Q8.5
S
예제
S의 RLO
R의 RLO
타이머연산
Q
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 10
시작 타이머는 ”S” 입력의 RLO가 “1”에서 “0”으로 변경될 때 시작됩니다. 타이머가끝나면 출력 Q의 시그널 상태가 “0”으로 변경됩니다. 타이머가 실행되는 동안 “S“입력의 시그널 상태가 “0”에서 “1”로 변경되면타이머가 중단되고 다음에 시그널 상태가 “1”에서 “0”으로 변경되면 처음부터다시 시작합니다.
리셋 리셋 입력 “R”이 “1”일 때 현재 타임 값 및 타임 기수가 삭제되고 출력 Q가리셋됩니다.
두 입력(S 및 R)이 모두 시그널 상태 “1”을 가지면 출력 “Q“는 주요 리셋이비활성화될 때까지 설정되지 않습니다.
바이너리 출력 입력 “S“의 RLO가 “0”에서 “1”로 변경되면 출력 “Q“가 활성화되며, 입력 “S“가비활성화되면 프로그램된 시간이 끝날 때까지 출력 “Q“는 계속 시그널 상태“1”을 갖습니다.
Date: 2002-02-19File: PRO1_07E.10
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: OFF 딜레이(SF)
STL
A I0.7L S5T#35sSF T4A I0.5R T4L T4T MW0LC T4T QW12A T4= Q8.5
LAD
T4S_OFFDT
TV
S Q
BCD
BI
R
I0.7
I0.5S5T#35s
Q8.5
MW0
QW12
FBD
S_OFFDT
TV
Q
BI
R
I0.7
I0.5
S5T#35s
MW0
QW12
T4
BCD
=Q8.5
S
예제
S의 RLO
R의 RLO
타이머연산
Q
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 11
시작 타이머는 “S“입력의 RLO가 “0”에서 “1”로 변경될 때 시작됩니다. 출력 “Q“도“1”로 설정됩니다.
리셋 출력 “Q”는 다음과 같은 경우에 리셋됩니다. • 타이머가 끝난 경우• Start 시그널이 “1”에서 “0”으로 변경된 경우• Reset 입력 “R”이 시그널 상태 “1”을 갖는 경우
Date: 2002-02-19File: PRO1_07E.11
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: 펄스(SP)
FBD
S_PULSE
TV
Q
BI
R
I0.7
I0.5
S5T#35s
MW0
QW12
T4
BCD
=Q8.5
S
S의 RLO
R의 RLO
타이머연산
Q
예제
STL
A I0.7L S5T#35sSP T4A I0.5R T4L T4T MW0LC T4T QW12A T4= Q8.5
MW0
LAD
T4S_PULSE
TV
S Q
BCD
BI
R
I0.7
I0.5S5T#35s
Q8.5
QW12
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 12
시작 타이머는 “S”입력의 RLO가 “0”에서 “1”로 변경될 때 시작됩니다. 출력 “Q”도“1”로 설정됩니다. ”S” 입력의 시그널이 “0”으로 변경되더라도 출력 “Q”의 시그널 상태는 “1”로남아있습니다.
타이머가 실행되는 동안 Start 입력의 시그널이 “0”에서 “1”로 변경되면 타이머가다시 시작됩니다.
리셋 출력 “Q”는 다음과 같은 경우에 리셋됩니다. • 타이머가 끝난 경우• Reset 입력 "R“이 시그널 상태 "1"을 갖는 경우
Date: 2002-02-19File: PRO1_07E.12
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: 확장된 펄스(SE)
LAD
T4S_PEXT
TV
S Q
BCD
BI
R
I0.7
I0.5S5T#35s
Q8.5
MW0
QW12
FBD
S_PEXT
TV
Q
BI
R
I0.7
I0.5
S5T#35s
MW0
QW12
T4
BCD
=A8.5
S
S의 RLO
R의 RLO
타이머연산
Q
예제
STL
A I0.7L S5T#35sSE T4A I0.5R T4L T4T MW0LC T4T QW12A T4= Q8.5
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 13
비트 명령 모든 타이머 함수는 간단한 비트 명령으로도 시작할 수 있습니다. 지금까지설명한 타이머 함수와 이 방법 사이의 유사점과 차이점은 다음과 같습니다.• 유사점:
- "S" 입력에서의 시작 조건
- 타임 값의 사양
- “R” 입력에서의 리셋 조건
- 출력 “Q”에서의 시그널 응답
• 차이점 (LAD 및 FBD에서):- 현재 타임 값을 검사할 수 없습니다(BI 및 BCD 출력이 없음).
Date: 2002-02-19File: PRO1_07E.13
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
타이머: 비트 명령
I0.0 T4
SD
S5T#5s
T4 Q 8.0
I0.1 T4
R
Network 1:
Network 2:
Network 3:
LAD
& SD
T4
I0.0
S5T#5s
& =
Q 8.0
T4
&I0.1
TV
R
T4
FBD
A I0.0L S5T#5sSD T4
A T4= Q 8.0
A I0.1R T4
STL
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 14
Date: 2002-02-19File: PRO1_07E.14
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
연습
T4S_PEXT
STVR
BIBCD
Q
I 0.7S5T#5s
I 0.5 Q 8.0
I 0.7
I 0.5
Q8.0
T4S_PULSE
STVR
BIBCD
Q
I 0.7S5T#5s
I 0.5 Q 8.0
I 0.7
I 0.5
Q8.05s
T4S_ODT
STVR
BIBCD
Q
I 0.7S5T#5s
I 0.5 Q 8.0
I 0.7
I 0.5
Q8.0
T4S_ODTS
STVR
BIBCD
Q
I 0.7S5T#5s
I 0.5 Q 8.0
I 0.7
I 0.5
Q8.0
I 0.7
I 0.5
Q8.0
T4S_OFFDT
STVR
BIBCD
Q
I 0.7S5T#5s
I 0.5 Q 8.0
연습 위 그림에서 타이머의 함수 다이어그램을 완성하십시오 !
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 15
카운터 값 시스템 데이터 메모리에서는 각 카운터에 16 비트 워드가 예약되는데, 이 워드는바이너리 코드에서 카운터를 위한 카운터 값(0… 999)을 저장하는 데 사용됩니다.
카운트 업 ”CU” 입력의 RLO가 “0”에서 “1”로 변경되면 현재 카운터 읽기가 1씩증가합니다(상한 = 999).
카운트 다운 ”CD” 입력의 RLO가 “0”에서 “1”로 변경되면 현재 카운터 읽기가 1씩감소합니다(하한 = 0).
카운터 설정 “S“입력의 RLO가 “0”에서 “1”로 변경되면 카운터는 “CV“입력의 값으로설정됩니다.
카운터 리셋 RLO = 1일 때 카운터는 영(0)으로 설정됩니다. 리셋 조건이 실행되면 카운터를설정할 수 없고 카운팅을 할 수 없습니다.
PV 현재 값(0...999)은 “PV“입력의 BCD에서 다음과 같이 지정됩니다.• 상수(C#...)• 데이터 인터페이스를 통한 BCD 형식
CV / CV_BCD 카운터 값은 누산기에 이진수 또는 BCD 수로 로드되고 여기서 다른 어드레스로전송될 수 있습니다.
Q 카운터의 시그널 상태는 출력 “Q”에서 검사할 수 있습니다.• Count = 0 -> Q = 0
• Count >< 0 -> Q = 1
카운터 유형 • S_CU = Up 카운터 (카운트 업 전용)• S_CD = Down 카운터 (카운트 다운 전용)
• S_CUD = Up/Down 카운터.
Date: 2002-02-19File: PRO1_07E.15
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
STEP 7에서의 S5 카운터
STL
A I0.4CU C5A I0.5CD C5A I0.3L C#20S C5A I0.7R C5L C5T MW4LC C5T QW12A C5= Q8.3
LAD FBD
QI 0.4
I 0.5
CU
I 0.7
C#20
S_CUD
CD
SI 0.3
PV
R
Q 8.3
CV
CV_BCD
MW 4
QW 12
C5
Q
Q
I 0.4
I 0.5
CU
I 0.7
C#20
S_CUD
CD
SI 0.3
PV
R
Q 8.3
CV
CV_BCD
MW 4
QW 12
C5
=Q
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 16
비트 명령 모든 카운터 함수는 간단한 비트 명령어로도 작동할 수 있습니다. 이 방법과지금까지 설명한 카운트 함수 간의 유사점과 차이점은 다음과 같습니다.• 유사점:
- "SC" 입력에서의 설정 조건
- 카운터 값의 사양
- "CU" 입력에서의 RLO 변경
- "CD" 입력에서의 RLO 변경
• 차이점:- 현재 카운터 값을 검사할 수 없습니다(BI 및 BCD 출력이 없음). - 그래픽 표현에 바이너리 출력 Q가 없습니다.
참고 IEC 호환 카운터도 STEP 7에서 구현할 수 있습니다. IEC 카운터 구현을 위한 시스템 기능 블록의 사용은 고급 프로그래밍 과정에서다루겠습니다.
Date: 2002-02-19File: PRO1_07E.16
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
카운터: 비트 명령
STL
A I0.0L C#20S C5
A I0.1CU C5
A I0.2CD C5
A C5= Q 4.0
LAD
I0.0 C5
SC
C#20
Network 1:
C5
Network 2:
I0.1
CU
Network 3:
I0.2 C5
CD
Network 4:
C5 Q 4.0
FBD
SC
C5
I0.0
C#20 CV
CU
C5
I0.1
CD
C5
I0.2
=
Q 4.0
C5
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 17
참고 카운트 업 동안 값이 999가 되거나 카운트 다운 동안 값이 0이 되면 카운팅펄스가 더 있어도 이 카운트는 변경되지 않습니다.
업 카운팅 및 다운 카운팅이 동시에 정렬되면 카운트는 같아 집니다.
Date: 2002-02-19File: PRO1_07E.17
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
카운터: 함수 다이어그램
CU
CD
S
R
Q
카운트
5
4
3
2
1
0
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 18
목적 bottling 플랜트 프로그램에 새로운 함수를 추가하기 위함. 이미 프로그램된 수동모드(FC15)에 자동 모드를 위한 프로그램이 추가로 작성됩니다.
자동 모드에서 자동 모드에서 컨베이어 벨트 모터(Q 20.5 / Q 8.5)를 켜면 이것은 STOP 스위치(I컨베이어 제어 0.1)로 끄거나 센서(I 16.6 / I 8.6)가 병을 탐지할 때까지 켜진 상태를 유지합니다.
병이 채워지면 컨베이어가 다시 자동으로 움직이기 시작해서 다른 병이탐지되거나 STOP 스위치가 작동할 때까지 계속되어야 합니다.
병 채우기 채우기 깔때기(I 16.6 / I 8.6 = 1) 아래에 병이 탐지되면 채우기가 시작됩니다. 3초동안 채우기가 시뮬레이션되고 출력 Q 9.0(Q 5.0)을 가리킵니다.
병 카운트 다른 두개의 센서가 채운 병과 빈 병을 등록하기 위해 제공됩니다. 병 센서 I 16.5(I 8.5)는 빈 병을 등록하고 병 센서 I 16.7(I 8.7)은 채운 병을 등록합니다.플랜트를 가동한 시간부터 빈 병과 채운 병을 모두 세고(빈 병은 C 1, 채운 병은 C 2) 채운 병의 수는 디지털 디스플레이 QW 12(QW 6)에 표시됩니다.
과정 1. 블록 FC 16에 프로그램을 작성하고 OB 1에서 FC 16으로 호출을프로그래밍합니다(“My Project“프로젝트, “FILL“프로그램). “Jog Conveyor Forwards”프로그램을 포함하는 FC 15의 네트워크로 수정해야합니다.
2. 트레이닝 장치에서 솔루션을 테스트합니다.
결과 제대로 작동되어야 합니다.
Date: 2002-02-19File: PRO1_07E.18
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
메인컨테이너
Q 9.0 (Q 5.0)채우기 깔때기병 센서
I 16.6 (I 8.6)병 센서I 16.5 (I 8.5)
병 센서I 16.7 (I 8.7)
예제: Bottling 플랜트를 위한 프로그램(채우는 주기 및 병 카운트)
Q 20.5 (Q 8.5) 정방향 컨베이어Q 20.6 (Q 8.6) 역방향 컨베이어
I 0.0 = Start (NO 접점, 순간 접촉 스위치)I 0.1 = Stop (NC 접점)
플랜트 ON/OFF:
I 0.4 = 수동 / 자동
I 0.5 = 모드 선택
수동/자동 모드:
I 0.2 = 정방향
I 0.3 = 역방향
M
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 19
예제 사용자 프로그램은 푸시휠 버튼으로 입력된 값을 사용하여 수리 함수를실행하고 결과는 디지털 디스플레이에 나타납니다. 수리 함수는 BCD 형식에서는 실행할 수 없기 때문에 이 형식은 변경되어야 합니다.
변환 명령어 S7-300/400의 명령어 집합은 여러 개의 변환 장치를 지원합니다. 모든 명령어는같은 형식을 갖습니다.
EN, ENO Enable 입력 EN에서 RLO = 1이면 변환이 실행됩니다. Enable 출력 ENO는언제나 EN과 같은 시그널 상태를 갖습니다. 그렇지 않을 경우 해당 명령으로분명히 표시됩니다.
IN EN=1일 때 IN의 값을 변환 명령으로 해석합니다.
OUT 변환의 결과는 OUT 출력의 어드레스에 저장됩니다.
BCD_I / BTI (BCD를 정수로 변환)은 IN 파라미터의 내용을 세자리 BCD 번호(+/- 999)로해석하고 이것을 정수 값(16 비트)으로 변환합니다.
I_BCD / ITB (정수를 BCD로 변환)은 IN 파라미터의 내용을 정수 값(16 비트)으로해석하고 이 값을 세자리 BCD 수(+/- 999)로 변환합니다. 오버플로우가 발생하면ENO = 0입니다.
BCD_DI / BTD BCD 수(+/- 9999999)를 더블 정수(32 비트)로 변환합니다.
DI_BCD / DTB 더블 정수를 7 자리 BCD 수(+/- 9999999)로 변환합니다. 오버플로우가 발생하면ENO = 0입니다.
Date: 2002-02-19File: PRO1_07E.19
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
변환 연산 BCD <-> Integer
IN
BCD_IEN
ENO
OUT
INIW4
MW20
IN
I_BCDEN
ENO
OUT
INMW10
QW12
FBD
L IW4BTIT MW20
L MW10ITBT QW12
STL
0 8 1 5BCD에입력된 수
BCD에표시된수
변환BCD->Integer
작업
변환BCD<-Integer
정수 수리 연산이있는 사용자프로그램
0 2 4 8
IN
BCD_IEN ENO
OUTINIW4 MW20
I_BCD
IN
EN ENO
OUTMW10 QW12
LAD
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 20
예제 정수로 작업하는 사용자 프로그램의 경우 나눗셈을 실행해야 할 때가 있는데, 이경우 1보다 작은 값이 나올 수도 있습니다. 그러나 이러한 값은 실수로만 표시할수 있기 때문에 실수로 변환해야 합니다. 변환을 하려면 이 정수를 우선 더블정수로 변환해야 합니다.
I_DI / ITD 정수를 더블 정수로 변환합니다.
DI_R / DTR 더블 정수를 실수로 변환합니다.
참고 다른 변환 명령은 다음과 같습니다. • INV_I / INVI• NEG_I / NEGI• TRUNC / TRUNC• ROUND / RND• CEIL / RND+• FLOOR / RND-• INV_DI / INVD• NEG_DI / NEGD• NEG_R / NEGR• CAW, CAD위와 같은 명령은 고급 프로그래밍 과정에서 설명합니다.
Date: 2002-02-19File: PRO1_07E.20
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
변환 연산 I -> DI -> REAL
AWL
L MW12ITDDTRT MD26
IN
I_DIEN
ENO
OUT
INMW12
MD14
IN
DI_REN
ENO
OUT
INMD14
MD26
FBD
실수를사용한수리프로그램
더블 정수에서실수로전환
정수에서더블 정수로변환
작업
정수형 데이터(16 비트)
LAD
IN
DI_REN ENO
OUTMD14 MD26ININ
I_DIEN ENO
OUTMW12 MD14IN
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 21
CMP 다음 숫자 값 쌍을 비교하기 위해 비교 명령을 사용할 수 있습니다.
I 정수 비교(16 비트 고정 소수점 수 기준)D 정수 비교(32 비트 고정 소수점 수 기준)R 부동 소수점 수 비교(32 비트 실수 기준 =
IEEE 부동 소수점 수).비교의 결과가 “참”이면 연산의 RLO가 “1”이고 그렇지 않으면 “0”입니다.
입력 IN1 및 IN2의 값은 지정된 조건과의 일치를 위해 비교됩니다. == IN1는 IN2와 같습니다.<> IN1는 IN2와 같지 않습니다.> IN1는 IN2보다 큽니다.< IN1는 IN2보다 작습니다.>= IN1는 IN2와 같거나 큽니다.
<= IN1는 IN2와 같거나 작습니다.
Date: 2002-02-19File: PRO1_07E.21
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
비교 연산
STL
A M0.0A (L IW0L IW2==I)= Q9.7
LAD
CMP ==I
IN1IN2
IW0IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2&
=Q9.7
CMP ==I
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 22
WAND_W ”AND 워드”연산은 AND 참 테이블에 따라 비트 별로 입력 IN1 및 IN2의 두디지털 값을 게이트합니다. AND 연산의 결과는 출력 OUT의 어드레스에저장됩니다. EN = 1일 때 명령어가 실행됩니다.
예제: 푸시휠 버튼의 4번째 십단위를 마스킹함.IW4= = 0100 0100 1100 0100W#16#0FFF = 0000 1111 1111 1111MW30 = 0000 0100 1100 0100
WOR_W ”OR 워드”연산은 OR 참 테이블에 따라 비트 별로 입력 IN1 및 IN2의 두 디지털값을 게이트합니다. OR 연산의 결과는 출력 OUT의 어드레스에 저장됩니다.EN = 1일 때 명령어가 실행됩니다.
예제: MW32에 비트 0 설정
MW32 = 0100 0010 0110 1010W#16#0001 = 0000 0000 0000 0001MW32 = 0100 0010 0110 1011
WXOR_W ”배타적 OR 워드”연산은 XOR 참 테이블에 따라 비트 별로 입력 IN1 및 IN2의 두디지털 값을 게이트합니다. XOR 연산의 결과는 출력 OUT의 어드레스에저장됩니다. EN=1일 때 명령어가 실행됩니다. 예제: IW0의 시그널 변경 탐지
IW0 = 0100 0100 1100 1010MW28 = 0110 0010 1011 1001
MW24 = 0010 0110 0111 0011
Date: 2002-02-19File: PRO1_07E.22
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
디지털 논리 연산
L IW 0
L W#16#5F2A
AW / OW / XOW
T MW10
015
IW0 =
W#16#5F2A =
WAND_W
WXOR_W
WOR_W
EN ENO
IN2 OUTW#16#5F2A MW10
IN1IW0
0 1 1 1 10 0 0 0 0 0 0 0 0 0 0
0 1 1 1 10 0 0 0 0011 1 1 1
XOR
“XOW” 다음 MW10 1 1 1 1 1 1 1 0 00000000
OR
“OW” 다음 MW10 0 1 1 10 0 0 0 01 1 1 1 1 1 1
AND
“AW” 다음 MW10 0 1 1 10 0 0 0 0 0 0 0 0 0 00
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 23
일반 S7-300/400의 명령어 집합은 수 많은 수리 집합을 지원하며 모든 명령어는 같은형식을 갖습니다.
EN Enable 입력 EN에서 RLO = 1이면 명령어가 실행됩니다.ENO 결과가 데이터 유형과 관련된 허용 범위 밖에 있으면 오버플로우 비트
OV=“Overflow“및 OS=„“Stored Overflow“가 설정되고 Enable 출력ENO=0입니다. 이것은 ENO에 따른 후속 연산이 실행되지 않도록 합니다.
IN1,IN2 IN1의 값이 첫 번째 어드레스로 입력되고 IN2의 값이 두 번째 어드레스로입력됩니다.
OUT 수리 연산의 결과는 출력 OUT의 어드레스에 저장됩니다.
명령어 더하기: ADD_I 정수 더하기ADD_DI 더블 정수 더하기ADD_R 실수 더하기
빼기: SUB_I 정수 빼기SUB_DI 더블 정수 빼기SUB_R 실수 빼기
곱하기: MUL_I 정수 곱하기MUL_DI 더블 정수 곱하기MUL_R 실수 곱하기
나누기: DIV_I 정수 나누기DIV_DI 더블 정수 나누기DIV_R 실수 나누기
참고 고급 수리 함수(ABS, SQR, SQRT, LN, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN)는 고급 프로그래밍 과정에서 설명합니다.
Date: 2002-02-19File: PRO1_07E.23
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
LAD FBD STL
기본 수리 함수
빼기
곱하기
나누기
더하기L MW4L MW10+ IT MW6MW10
ADD_I
IN2
EN ENO
OUTIN1MW4
MW6 MW10
ADD_I
IN2
EN
ENO
OUTIN1MW4
MW6
SUB_I
IN2
EN ENOIN1MW5
MW11 MW7OUT MW11
SUB_I
IN2
EN
ENO
OUTIN1MW5
MW7L MW5L MW11- IT MW7
MD6
MD12
MUL_REN ENOIN1
MD66IN2 MD12
MUL_R
IN2
EN
ENO
OUT
IN1MD6
MD66L MD6L MD12* RT MD66
MD40
MD4
EN ENOIN1IN2 MD32OUT
DIV_R
MD4
DIV_R
IN2
EN
ENO
OUTIN1MD40
MD32 L MD40L MD4/ RT MD32
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 24
목적 병 카운트 프로그램의 함수를 확장하기 위함.카운터로 셀 수 있는 최대 숫자는 999입니다. 더 큰 수를 세려면 많은 카운터를직렬로 연결해야 합니다. 따라서 카운팅을 위해 여기에 수리 함수를 사용해야합니다. 다이어그램에 있는 생산 데이터는 관리를 위해 필요합니다.
과정 1. FC 16의 “병 카운팅”함수를 위한 네트워크를 삭제합니다(FILL 프로그램).
2. 카운팅 함수를 위한 FC 18을 작성합니다. 플랜트를 켜면 MW 100/102/104의값이 삭제됩니다.
I 16.5(I 8.5) 또는 I 16.7(I 8.7)에서 에지를 탐지하면 1을 더하여 병 카운트가증가합니다.
채운 병의 수와 빈 병의 수의 차는 MW 104에 저장됩니다.
3. OB1에서 FC18로의 호출을 프로그래밍합니다.4. S7 프로그램 FILL의 모든 블록을 CPU로 다운로드하고 프로그램을
테스트합니다.
Date: 2002-02-19File: PRO1_07E.24
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
연습: Bottling 플랜트를 위한 프로그램(생산 데이터)
채운 병
빈 병
"깨진" 병
MW 100
MW 102
MW 104
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 25
목적 bottling 플랜트의 생산 데이터를 위해 프로그램에 다음과 같은 것을 추가하기위함.• 채운 병을 6개 단위로 포장합니다. 필요한 포장의 수를 계산하여
QW12(QW6)에 표시합니다.
• 이 작업을 위한 프로그램은 FC19에 작성됩니다.
과정 1. 채운 병의 수를 정수 6으로 나누기 위해 FC 19 에 프로그램을작성합니다(S7-Program FILL).
2. 결과를 BCD로 변환합니다.3. BCD 값을 디지털 디스플레이로 전송합니다(QW12 / QW6).4. FC 18에서 전체 병을 표시하기 위한 네트워크를 삭제합니다.5. OB 1의 FC 19로의 호출도 프로그래밍합니다.6. 프로그램을 저장한 후 다운로드하여 테스트합니다.
결과 디지털 디스플레이의 숫자(필요한 포장의 수)는 6의 배수가 될 때 마다 1씩(병의수) 증가합니다.
Date: 2002-02-19File: PRO1_07E.25
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
예제 : Bottling 플랜트를 위한 프로그램(포장 단위의 수)
STL에 입력된 프로그램
STL로 전환된 프로그램
LAD에 입력된 프로그램
(QW 6)
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 26
Shift 이 명령어는 Enable 입력 EN에서 RLO = 1일 때 실행됩니다.
SHL_W / SLW SHL_W 연산은 ACCU 1의 비트 0-15를 입력 “N”에 지정된 위치의 수에 의해 비트별로 왼쪽으로 이동합니다. 오른쪽 비트는 영(0)으로 채워집니다.
SHR_W / SRW SHR_W 연산은 ACCU 1의 비트 0-15를 입력 “N”에 지정된 위치의 수에 의해 비트별로 오른쪽으로 이동합니다. 왼쪽 비트는 영(0)으로 채워집니다.
ACCU1-H 비트 16 – 31은 영향을 받지 않습니다.
OUT 시프트 연산의 결과는 출력 OUT의 어드레스에 저장됩니다.
N N에 대한 허용 범위=0...15. N>=16이면 OUT=0.
ENO 명령이 실행되면(EN = 1) ENO는 이동된 마지막 비트의 시그널 상태를 가리킵니다. 이것은 ENO에 따른 다른 명령(캐스케이딩)은 이동된 마지막 비트의 시그널 상태가“0”인 경우 실행되지 않는다는 것을 의미합니다.
SHL_DW / SLD SHL_W 연산 또는 SHR_DW 연산의 절차는 지정된 비트의 수에 따라 ACCU1(비트 0-SHR_DW / SRD 31)의 전체 내용이 왼쪽 또는 오른쪽으로 이동하는 것을 제외하면 SHL_W 또는
SHR_DW 연산과 같습니다.
Date: 2002-02-19File: PRO1_07E.26
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
시프트 연산(워드 / 더블 워드)
L MW8L MW4SLW T MW12
SHL_W
EN
N OUT
ENO
MW12
INMW4
MW8= +2
L MW4SLW 2T MW12
또는
0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1
OUT
IN
왼쪽 워드 시프트 :
0 0
OUT
1 1 1 0 0 0 0 0 0 0 0 0 0 0
11 1 0 0 0 0 0 0 0 0 0 0 0 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IN
오른쪽 워드 시프트:
EN0 =1 EN0 = 0
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 27
SHR_I / SSI Shift Right Signed Integer 연산은 ACCU1-L만을 (비트 0-15) 비트 단위로오른쪽으로 이동합니다. 비워진 비트는 부호 비트(비트 15)의 내용으로채워집니다. 비트 16-31은 영향을 받지 않습니다. 입력 N은 수가 이동하는 비트 위치 개수를지정합니다. N이 16보다 크면 N=16으로 가정합니다.
EN/ENO 명령어를 실행하면(EN = 1) ENO는 마지막으로 이동된 비트의 시그널 상태를가리킵니다(이 비트는 상태 워드에 있는 CC1 및 RLO 비트에 해당함 ). 이것은마지막으로 시프트된 비트의 시그널 상태가 “0”이면 ENO에의존적인(캐스케이딩) 다른 명령이 실행되지 않는다는 것을 의미합니다.
SHR_DI / SSD Shift Right Signed Double Integer 연산은 ACCU 1(비트 0-31)의 전체 내용을비트의 지정된 수 만큼 오른쪽으로 이동합니다. 가능한 N 값의 범위는 0 – 32입니다.
참고 시프트 연산은 고급 프로그래밍 과정에서 더 자세히 설명합니다.
Date: 2002-02-19File: PRO1_07E.27
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
부호 있는 오른쪽 정수를 시프트
SHR_I
EN
N OUT
EN0
MW12
INMW4
MW8= +3
L MW8L MW4SSI T MW12
L MW4SSI 3T MW12
or:
부호 있는 정수를 오른쪽으로 시프트:
1 1 1
1
1 0 1 0 0 0 0 0 0 0 0 0 1
01 1 0 0 0 0 0 0 0 0 0 1 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OUT
INEN0 = 0
0 0 0
1
0 1 1 0 0 0 0 0 0 0 0 0 1
10 1 0 0 0 0 0 0 0 0 0 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OUT
INEN0 = 1
Training Centerfor Automation and Drives
ST-7PRO1디지털 연산페이지 28
ROL_DW / RLD Rotate Left Doubleword 연산은 ACCU 1의 전체 내용을 왼쪽으로 순환합니다. 빈비트는 밀려난 비트의 시그널 상태로 채워집니다. 순환된 마지막 비트는 상태 워드의 조건 코드 비트 1에 로드되고 출력 ENO에저장됩니다. 이것은 순환된 마지막 비트의 시그널 상태가 “0”이면 ENO에의존적인(캐스케이딩) 다른 명령어가 실행되지 않는다는 것을 의미합니다.
ROR_DW / RRD 오른쪽 더블워드를 순환합니다.
참고 순환 연산은 고급 프로그래밍 과정에서 자세히 설명합니다.
Date: 2002-02-19File: PRO1_07E.28
SIMATIC S7Siemens AG 1999. All rights reserved.
Information and Training CenterKnowledge for Automation
더블 워드 순환 연산
OUT
ROL_DW
EN
N OUT
ENO
MD12
INMD2
MW6= +4
L MW6L MD2RLD T MD12
L MD2RLD 4T MD12
or:
4개 지점을왼쪽으로 순환 :
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IN:
1 0 1 10 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0OUT: