pro1 07e [읽기 전용]

28
Training Center for 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 연습 …… .............................................................................................................................................. 14 STEP 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-19 File: PRO1_07E.1 SIMATIC S7 Siemens AG 1999. All rights reserved. Information and Training Center Knowledge for Automation 디지털 연산 CMP ==I IN1 IN2 IW0 IW2 M0.0 Q 9.7 T4 S_ODT TV S Q BCD BI R I0.7 I0.5 S5T#35s Q8.5 MW0 QW12

Upload: others

Post on 02-Jun-2022

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PRO1 07E [읽기 전용]

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

Page 2: PRO1 07E [읽기 전용]

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

Page 3: PRO1 07E [읽기 전용]

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

Page 4: PRO1 07E [읽기 전용]

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

Page 5: PRO1 07E [읽기 전용]

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

Page 6: PRO1 07E [읽기 전용]

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

Page 7: PRO1 07E [읽기 전용]

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

Page 8: PRO1 07E [읽기 전용]

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”

Page 9: PRO1 07E [읽기 전용]

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

Page 10: PRO1 07E [읽기 전용]

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

Page 11: PRO1 07E [읽기 전용]

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

Page 12: PRO1 07E [읽기 전용]

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

Page 13: PRO1 07E [읽기 전용]

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

Page 14: PRO1 07E [읽기 전용]

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

연습 위 그림에서 타이머의 함수 다이어그램을 완성하십시오 !

Page 15: PRO1 07E [읽기 전용]

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

Page 16: PRO1 07E [읽기 전용]

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

Page 17: PRO1 07E [읽기 전용]

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

Page 18: PRO1 07E [읽기 전용]

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

Page 19: PRO1 07E [읽기 전용]

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

Page 20: PRO1 07E [읽기 전용]

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

Page 21: PRO1 07E [읽기 전용]

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

Page 22: PRO1 07E [읽기 전용]

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

Page 23: PRO1 07E [읽기 전용]

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

Page 24: PRO1 07E [읽기 전용]

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

Page 25: PRO1 07E [읽기 전용]

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)

Page 26: PRO1 07E [읽기 전용]

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

Page 27: PRO1 07E [읽기 전용]

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

Page 28: PRO1 07E [읽기 전용]

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: