SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 1
Contents Page
Objectives 2
Acquisition, Processingand Ouputting Data 3
Integer (INT, 16-Bit Integer)DataType 4
Double Integer (DINT, 32-Bit Integer)DataType 5
REAL (Floating-pointNumber, 32 Bit)Data Type 6
TheBCD Code for InputtingandOutputting Integers 7
"Monitor /ModifyVariables": Display Formats 8
Loadingand TransferringData(1)… 9
Loadingand Transferring Data(2)… 10
Loadingand TransferringData(3)… 11
S5Countersin STEP 7 12
Counters: FunctionDiagram 13
Counters: BitInstructions 14
Exercise: Counting the Transported Parts (FC 18, C 18) 15
Timers: ONDelay(SD)……… 16
Timers: Time Formats forS5 Timers in STEP 7 17
Timers: StoredONDelay(SS)……………… 18
Timers: Pulse (SP) 19
Timers: ExtendedPulse (SE) 20
Timers: OFFDelay(SF)……… 21
Timers: Bit Instructions 22
Exercise:Monitoringof TransportFunctions(FC 17) ……… 23
Conversion OperationsBCD <-> Integer 24
Comparison Operations 25
BasicMathematical Functions……… 26
Exercise:Counting the TransportedParts (FC 18, MW 20) 27
Conversion OperationsI -> DI -> REAL 28
DigitalLogic Operations 29
Date:25.07.2008
File:PRO1_08E.1
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Digital Operations
CMP ==I
IN1
IN2
IW0
IW2
M0.0
Q 9.7
T4
S_ODT
TV
S
Q
BCD
BI
R
I 0.7
I 0.5
S5T#35s
Q8.5
MW0
QW12
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 2
Date:25.07.2008
File:PRO1_08E.2
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Objectives
Sau khi hoàn thành chương này người học sẽ:
quen với kiểu dữ liệu INT, DINT, REALvàhiển thị BCDdisplay
cóthể áp dụng các định dạng hiển thị dữ liệu (display formats)vào
công cụ kiểm tra"Monitor /ModifyVariable"
hiểu được lệnh "Load" và"Transfer"
cóthể áp dụng vàlập trình chức năng đếm S5 (S5 counter function)
để giải quyết vấn đề
cóthể áp dụng vàlập trình chức năng định thời S5 (S5 timer function)
để giải quyết vấn đề
cóthể áp dụng vàlập trình phép toán chuyển đổi dữ liệu INT <-> BCD
để giải quyết vấn đề
cóthể áp dụng vàlập trình phép so sánh để giải quyết vấn đề
cóthể áp dụng vàlập trình những chức năng toán học cơ bản để giải
quyết vấn đề
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 3
Binary/Digital Cóthể nhận biết những hệ thống điều khiển logic bằng việc chúng chỉ xử lý dữ
Processing liệu nhị phân.
Ngày nay các máy tính với hiệu năng mạnh đã giúp cải thiện cho việc xử lý dữ
liệu số của PLC.
Các biến dữ liệu digital cótrong tất cả lĩnh vực của điều khiển vòng hở, vídụ
như các thiết bị được kết nối cho việc vận hành vàgiám sát hoặc trong điều
khiển các thiết bị trường.
Operating and Mục tiêu của việc giám sát quátrình làcung cấp cho người vận hành những
Monitoring thông tin mới, được cập nhật từng phút về máy móc hoặc hệ thống một cách
nhanh chóng, ngắn gọn súc tích vàrõ ràng cũng như cơ hội để can thiệp, điều
khiển vàtác động đến quátrình.
Trong quákhứ, các đầu vào/ra hầu như rất đơn giản, "ngớ ngẩn" (dumb) như
hiển thị led 7 đoạn và thumbwheel buttons đượcdùng để hiển thị vànhập các
giátrị digital. Ngày nay các thiết bị vận hành vàgiám sát "thông minh" thường
được kết nối với PLC.
Field Devices Ngày này các thiết bị trường (field device) thu thập dữ liệu quátrình hoặc điều
khiển quátrình được cung cấp các biến dữ liệu digital nhờ các hệ thống bus
trường (field bus system). Việc kết nối các thiết bị trường, chẳng hạn trong các
hệ thống lái hoặc cân định lượng (drives or weighing systems), sử dụng các
module đầu vào và đầu ra tương tự đang dần trở thành chuyện của quákhứ.
Formats Tùy thuộc loại thiết bị kết nối màcónhiều định dạng mã hóa dữ liệu khác nhau
được dùng để truyền dữ liệu giữa các thiết bị vàPLC, cũng như để lưu trữ và
xử lý dữ liệu trong PLC.
Date:25.07.2008
File:PRO1_08E.3
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Operator Panel
Acquisition, Processingand Outputting Data
Thumbwheel
buttons,
Potentiometer,
7-segment
displays
DI/
DO
0815
0
24
8
V
AI/
AO
suchasPROFIBUS
Process
operating
&monitoring
Control
unit
Process
controller
suchasMPI
Processing
the values
Field devices
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 4
Date:25.07.2008
File:PRO1_08E.4
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
DEC: + 662
BIN.: 2# 0 0 0 0 1 0 1 0 0 1 0 1 1 000
0123456789101112131415
DEC: - 662
Integer (INT, 16-Bit Integer)DataType
ValueRange -32768 to +32767
(without sign: 0 to 65535)
Display Formats:
+2
1
+2
2
+2
4 6 x 16
0
=6
9 x 16
1
=144
2 x 16
2
=512
662
2
7
+2
9
+2
5
+2
6
+2
8
Arithmetic
Operations: suchas + I, * I, <I, ==I
+2
10
+2
11
+2
12
+2
13
+2
14
-2
15
- 662
Sign
positive
numbers
Sign
negative
numbers
Representation as
twos complement
+2
3
+2
1
+ 662
10 x 16
0
=16
6 x 16
1
=96
13 x 16
2
=3328
64874
15 x 16
3
=61440
BIN.: 2# 1 1 1 1 0 1 0 1 1 0 1 0 1 011
0123456789101112131415
HEX: W#169620
HEX: W#166ADF
without
sign
without
sign
IntegerDataType Một giátrị dữ liệu Integer (số nguyên) làmột giátrị chỉ gồm các con số mà
(16-Bit Integer)không códấu thập phân.
SIMATIC
®
S7 lưu trữ các giátrị dữ liệu Integer códấu bằng một số16 bit.
Phạm vi biểu diễn được thể hiện trên hình. SIMATIC
®
S7 cũng cung cấp các
phép toán để xử lý các giátrị số Integer.
Decimal STEP7 sử dụng dạng biểu diễn Decimal (không phảiBCD!) để chỉ (specify)
những hằng số của kiểu dữ liệu Integer. Nghĩa làsốcódấu vàkhông cần các
mô tả rõ ràng về định dạng số. Về nguyên tắc cóthể sử dụng các giátrị hằng
số Integer trong dạng biểu diễn Binary (nhị phân) và Hexadecimal (thập lục
phân). Nhưng vìkhông rõ ràng, không dễ đọc nên việc này không thích hợp.
Vìlý do này màcúpháp của STEP7 chỉ cung cấp các thông số chi tiết của giá
trị Integer ở dạng biểu diễn thập phân.
Binary Trong một hệ thống máy vi tính số, tất cả các giátrị được lưu trữởdạng mã
hóa nhị phân. Trong hệ nhị phân chỉ cócác số 0 và1. Vìvậy hệ này dùng cơ
số 2. Giátrị của mỗi vị trícủa một con số nhị phân phụ thuộc vào lũy thừa của
cơ số 2. Số nhị phân cũng được biểu diễn ở dạng 2# .
Số âm được biểu diễn bằng số nhị phân bù2: Bit cótrọng số lớn nhất (bit số
15 trong kiểu dữ liệu Integer ) cógiátrị -2
15
. Vìgiátrị này lớn hơn tổng tất cả
các giátrị còn lại nên bit này cũng mang thông tin về dấu. Nếu bit này = 0, thì
giátrị là dương; bit này = 1, giátrị làâm. Sự chuyển đổi từ số nhị phân sang
số thập phân được thực hiện bằng cách cộng các giátrị của những vị trícósố
1 (xem hình).
Việc chỉ định các hằng số trong dạng biểu diễn nhị phân không chỉ được dùng
để chỉ các giátrị Integer mà còn để chỉ các kiểu bit (bit pattern) (vídụ như
trong các phép toán logic digital). Ở đóta không cần quan tâm đến việc giátrị
integer được biểu diễn bởi kiểu bit như thế nào. Số lượng các bit cóthể chỉ
định làmột con số nằm trong khoảng 1 đến 32. Các bit thiếu được điền số 0.
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 5
Double Integer SIMATIC
®
S7 lưu trữ giátrị dữ liệu DoubleInteger (số nguyên kép hoặc số
(32-Bit Integer)nguyên dài) códấu bằng một số 32 bit. Phạm vi biểu diễn được thể hiện trên
hình. SIMATIC
®
S7 cũng cung cấp các phép toán để xử lý các giátrị số DINT.
Decimal STEP7 sử dụng dạng biểu diễn Decimal (không phải BCD!) để chỉ (specify)
những hằng số của kiểu dữ liệu Double Integer. Nghĩa làsốcódấu vàcódạng
L# , với L là"long" (dài, làmột double word, 32 bit).
Khi chỉ một giátrị nhỏ hơn -32768hoặc lớn hơn 32767thìsẽtự động dùng
định dạng L# . Đối với những số âm nhỏ hơn -32768, người sử dụng phải chỉ
định dạng biểu diễn L# -(vídụ:L# -32769). Việc này cótính bắt buộc để sau
đógiátrị được xử lý số học như một số DINT. Nếu không thìbạn sẽ làm việc
với các giátrị sai (giátrị + dấu!)!
Hexadecimal Hệ thập lục phân (hexadecimal) cung cấp 16 con số khác nhau (0 đến 9 và A
đến F). Vìvậy hệ này dùng cơ số 16. Giátrị của mỗi vị trícủa một con số thập
lục phân phụ thuộc vào lũy thừa của cơ số 16.
Số thập lục phân được chỉ định ở dạng biểu diễn W# (W = word = 16 bit) hoặc
DW# (DW = doubleword= 32 bit) để chỉ độ dài và ở dạng 16# để chỉ cơ số.
Số lượng các bit cóthể chỉ định làmột con số nằm trong khoảng 1 đến 8. Các
bit thiếu được điền số 0.
Các con số từ A đến F tương ứng với giátrị thập phân từ 10 đến 15. Giátrị 15
làgiátrị cuối cùng cóthể biểu diễn được bằng mã nhị phân không dấu 4 bit.
Vìthế việc chuyển đổi từ số nhị phân sang số thập lục phân và ngược lại rất
đơn giản. 4 bit nhị phân làm thành 1 con số thập lục phân.
Các hằng sốởdạng thập lục phân không dùng để chỉ các giátrị số nguyên
integer. Chúng được dùng thay cho các số nhị phân để chỉ các kiểu bit màta
không cần quan tâm đến việc giátrị integer được biểu diễn bởi kiểu bit như
thế nào.
Date:25.07.2008
File:PRO1_08E.5
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
DEC: L# +540809
Sign
positive
numbers
Double Integer (DINT, 32-Bit Integer)DataType
ValueRange L# -2147483648 to L#+2147483647
(without sign: 0 to 4294967295)
Display Formats:
Arithmetic
Operations: suchas + D, * D, <D, ==D
Representation as
twos complement
(without sign)
0 0 0 8 4 0 8 9HEX: DW#16#
(without sign)
F F F 7 B F 7 7HEX: DW#16#
1 1 1 1 1 1 0 1 1 1 0 1 1 1011110111111111111BIN.: 2#
012345678910111213141516171819202122232425262728293031
0 0 0 0 0 0 1 0 0 0 1 0 0 1100001000000000000BIN.: 2#
012345678910111213141516171819202122232425262728293031
DEC: L# -540809
Sign
negative
numbers
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 6
Date:25.07.2008
File:PRO1_08E.6
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
REAL (Floating-pointNumber, 32 Bit)DataType
Real No. = +1.5 * 2
126-127
= 0.75
0 0 0 0 0 0 0 0 000000000
0
0
11111
1
010 0000
Signof
Real No.
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 2120 19 18 17 16
e = Exponent (8 Bit)
f = Mantissa(23 Bit)
General Format of a RealNumber = (Sign) •(1.f) •(2
e-127
)
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
-23
2
-1
2
-2
2-
4
2
-3
ValueRange -1.175495•10
-38
to 3.402823•10
+38
Arithmetic
Operations: suchas + R, * R, <R, ==R
sin, acos, ln, exp, SQR
Example: 7.50000e-001(7.5 * 10
-1
= 0.75)
Real Kiểu dữ liệu INTvàDINT mô tảở trên được dùng để lưu trữ các giátrị số
nguyên códấu. Chỉ những phép toán hỗ trợ kết quả số nguyên thìmới cóthể
thực hiện đối với những kiểu dữ liệu này.
Trong trường hợp phải xử lý các giátrị analog như điện áp, dòng điện vànhiệt
độ thìta cần dùng giátrị Real (thực) (các số thực, "số thập phân"). Để cóthể
biểu diễn các giátrị như vậy thìcác con số nhị phân phải được định nghĩa để
biểu diễn được các giátrị nhỏ hơn 1 (lũy thừa cơ số 2 với số mũ âm).
Real Format Để cóphạm vi biểu diễn rộng nhất cóthể với độ dài bit đã định (đối với
SIMATIC
®
S7: double word, 32 bit) (xem hình), bạn phải chọn vị trícủa dấu
phẩy thập phân. Trước đó, IEEE đã định nghĩa kiểu số dấu phẩy động. Kiểu
định dạng này được đưa vào trong tập lệnh IEC61131 vàtrong STEP7. Định
dạng này giúp cho việc xử lý vị trị dấu phẩy động của biến trở nên dễ dàng.
Trong các số dấu phẩy động mã hóa nhị phân, một phần các số nhị phân chứa
phần định trị vàphần còn lại chứa số mũ vàdấu của số dấu phẩy động này.
Khi bạn biểu diễn một giátrị thực, bạn chỉ giátrị màkhông cần chỉ rõ định
dạng. Sau khi bạn nhập một hằng số thực (vídụ: 0.75), trình biên tập tự động
chuyển đổi (vídụ: 7.5000e-001).
Application Các số dấu phẩy động được dùng cho việc "xử lý các giátrị analog" vànhiều
ứng dụng khác.
Một ưu điểm của số dấu phẩy động làcónhiều phép toán hỗ trợ. Bên cạnh
các phép toán chuẩn như +, -, * , / còn cócác lệnh như sin, cos, exp, ln, .v.v ,
được dùng chủ yếu trong các thuật toán điều khiển vòng kín.
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 7
Date:25.07.2008
File:PRO1_08E.7
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
TheBCD Code for InputtingandOutputting Integers
6920
ValueRange 16 Bit:-999 to + 999
32 Bit:-9999999 to + 9999999
Conversion
Operations: BTI, BTD, ITB, DTB
(no arithmetic!)
0 0 0 0 1 0 1 0 0 1 0 1 1 000000000000000xxx0BIN.: 2#
BIN.: 2# 0 0 0 0 1 0 1 0 0 1 0 1 1 000
Sign(+) 92
16 Bit:
32 Bit:
Sign(+)
6
6920000
DEC: + 662
HEX:W#16#
29
6
0
DEC: + 662
HEX:DW#16#
0000296
Origin Trong quákhứ, việc hiển thị các số nguyên được thực hiện bởi các nút ấn cơ
khídạng thumbwheel vàcác thiết bị hiển thị digital. Những nút ấn vàthiết bị
hiển thị này được nối vào các module đầu vào và đầu ra digital của PLC bằng
cách nối dây song song. Cấu trúc cóthể được phân tầng (cascaded) mà
không cần thay đổi mã hóa cơ khícủa con số (mechanical coding of a digit).
BCD Code Mỗi con số của hệ thập phân được mã hóa bởi 4 bit vìsốlớn nhất trong hệ nhị
phân là9.
Decimal No.BCD CodeDecimal No.BCD Code
0000060110
1000170111
20010 81000
30011 91001
40100 10 15not allowed
50101
NegativeNumbers Để các số âm cũng được chỉ thị bằng nút ấn thumbwheel BCD,STEP 7 mã
hóa phần dấu bằng bit cótrọng số lớn nhất của số cótrọng số lớn nhất (xem
hình). Bit dấu = 0 chỉ ra đólàsố dương vàbit dấu = 1 chỉ ra đólàsốâm.
STEP 7 nhận diện được số BCD mã hóa 16 bit(dấu +3số)và32 bit(dấu +7
số).
DataFormats Trong STEP 7 không có định dạng dữ liệu dành cho các giátrị mã hóa. Tuy
nhiên bạn cóthể chỉ định số thập phân màmã BCD của nó đã cho sẵn thành
một số HEX. Mã nhị phân của số HEX vàcủa số thập phân mã hóa BCD là
giống nhau
Như bạn thấy ở trong hình, định dạng dữ liệu thập phân (DEC) không phùhợp
để chỉ những số mã hóa BCD!
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 8
Display Formats Bạn cóthể chọn các định dạng hiển thị khác nhau trong công cụ kiểm tra
"Monitor / Modify Variables"và"Monitor (Block)" khi hiển thị các biến hoặc nội
dung của thanh ghi register trong STL.
Mỗi biến cóthể được giám sát với nhiều tùy chọn dạng hiển thị khác nhau.
Tùy vào kiểu dữ liệu của biến màbạn chọn kiểu hiển thị tương ứng đễ giám
sát rõ ràng, trực quan hơn.
BOOL: Hiển thị chỉ một bit
(chỉ dùng được cho biến thuộc kiểu dữ liệu BOOL)
BIN:Hiển thị từng bit của một biến
(hiển thị rõ ràng, trực quan đối với các biến thuộc các kiểu dữ
liệu BYTE, WORD, DWORD)
HEX:Hiển thị nội dung của một biến ở dạng số thập lục phân (BCD)
(hiển thị rõ ràng, trực quan đối với các biến thuộc các kiểu dữ
liệu BYTE, WORD, DWORD)
DEC:Hiển thị nội dung của một biến ở dạng số thập phân (không phải
BCD!)códấu (hiển thị rõ ràng, trực quan đối với các biến thuộc
các kiểu dữ liệuINT, DINT)
FLOATING_ Hiển thị nội dung của một biến ở dạng số dấu phẩy động
POINT (hiển thị rõ ràng, trực quan đối với các biến thuộc các kiểu dữ
liệu số thực REAL)
Addressing Bộ nhớ của bộ điều khiển S7 được chia theo byte (byte-oriented).Kết quả là
từ nhớ MW20chứa các byte nhớ MB20 (byte cao)vàMB 21 (byte thấp). Từ
kép MD 22 chứa các byte nhớ MB22, 23, 24 và25 (xem vídụtrong hình).
Khi cómột sự truy cập đến các biến (vídụ"L MW 20"), bạn phải chắc chắn
rằng kích thước của lệnh truy cập (MB , MW hoặcMD ) cũng như địa chỉ
(luôn luôn là địa chỉ byte cao)là đúng.Nếu bạn truy cập màkhông cóchủ định
rõ ràng về 2 yếu tố này thìbạn sẽ thu được giátrị không hợp lệ.
Vídụtrong hình trên khi đọc MW 21 thìmột phần của biến "MW_Parts" (MW
20) vàmột phần của biến "Mean" (MD 22) được đọc ra. Các lỗi như vậy cóthể
tránh được bằng cách định địa chỉ theo ký hiệu tượng trưng cho các biến.
Date:25.07.2008
File:PRO1_08E.8
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
"Monitor / ModifyVariables": Display Formats
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 9
MOVE (LAD/FBD) Nếu đầu vào EN (enable -cho phép) được kích hoạt thìgiátrị của đầu vào
"IN" được copy đến địa chỉở đầu ra "OUT".
"ENO" cótrạng thái tín hiệu giống như của "EN".
LandT (STL) Lệnh Load và transfer được thực hiện bất chấp kết quả của RLO. Dữ liệu
được trao đổi thông qua accumulator.
Lệnh load ghi giátrị từ địa chỉ nguồn bên phải vào accumulator 1 vàghi giátrị
"0" vào các bit còn lại (tất cả 32 bit).
Lệnh transfer copy một phần hoặc toàn bộ nội dung của accumulator 1 đến địa
chỉ định trước (xem trang kế tiếp).
Date:25.07.2008
File:PRO1_08E.9
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Examples
of Load
Loadingand Transferring Data(1)
L +5//16-bitconstant(Integer)
L L#523123//32-bitconstant(Double
Integer)
L B#16#EF//bytein hexadecimalform
L 2#0010 0110 1110 0011//16-bitbinaryvalue
L 3.14//32-bit constant(Real)
MOVE
EN
IN
OUT
ENO
MB5
5
FBD
L+5
TMB5
STL
MOVE
EN
OUT
ENO
MB5
LAD
IN5
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 10
ACCU1 ACCU 1 làthanh ghi quan trọng nhất của CPU. Khi một lệnh load được thực
hiện, giátrị nạp (load) được ghi vào ACCU 1. Khi một lệnh transfer được thực
hiện giátrị cần truyền (transfer) được đọc từ ACCU 1. Kết quả của các hàm
toán học, vídụ như phép dịch chuyển (shift) vàphép quay (rotate), cũng được
đưa vào trong ACCU 1.
ACCU2 Khi một lệnh load được thực hiện,trước tiên nội dung cũ của ACCU 1 được
chuyển sang ACCU 2 vàACCU 1 bị xóa (reset về "0") trước khi giátrị mới
được ghi vào ACCU 1.
ACCU 2 cũng được dùng trong các phép so sánh, phép toán logic digital, phép
toán học vàcác lệnh dịch chuyển. Những phép toán này sẽ được đề cập chi
tiết ở phần sau.
Date:25.07.2008
File:PRO1_08E.10
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Loadingand Transferring Data(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
Contentof
ACCU2
Contentof
ACCU1
Program
Y Y Y Y Y Y Y YX X X X X X X X
0 0 0 0 C A F E
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 11
General Accumulatorlàbộnhớ phụ trong CPU để trao đổi dữ liệu giữa các địa chỉ
khác nhau, được dùng trong các phép so sánh, toán học.
S7-300™có2 accumulator, mỗi bộ 32 bit vàS7-400™có4 accumulator, mỗi
bộ 32 bit.
Load Lệnh load nạp nội dung của byte, word hoặc double word vào trong ACCU 1.
Transfer Khi một lệnh transfer được thực hiện, nội dung của ACCU 1 vẫn giữ nguyên.
Vìthế các thông tin giống nhau cóthể truyền đi đến các địa chỉ khác nhau.
Nếy chỉ một byte được truyền đi thì8 bit thấp nhất bên phải được sử dụng
(xem hình).
RLO Trong lập trình LAD vàFBD, bạn cóthể dùng đầu vào Enable (EN) của lệnh
MOVE để tạo ra các lệnh load vàtransfer phụ thuộc vào RLO.
Trong STL, lệnh load và transfer luôn được thực hiện bất chấp trạng thái của
RLO. Bạn cóthể thực hiện lệnh load vàtransfer phụ thuộc vào RLO bằng cách
dùng các lệnh nhảy có điều kiện.
Date:25.07.2008
File:PRO1_08E.11
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Loadingand Transferring Data(3)
31231570
000000000000000000000000MB0
31231570
0000000000000000 MB1MB0
31231570
MB3MB2MB0 MB1
Load
L MB 0
Program
T QD 4
QD 4
QW 4
QB 4
Transfer
Contentsof ACCU1
L MW 0
L MD 0
T QW 4
T QB 4
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 12
Counter Value Mỗi bộ đếm chiếm một word 16-bit trong vùng nhớ dữ liệu của hệ thống, dùng
để lưu giátrị đếm (0 đến 999) bằng mã nhị phân.
Count Up Đếm lên: Khi RLOtại đầu vào "CU" thay đổi từ "0" đến "1", giátrị đếm hiện tại
sẽ được tăng lên 1 đơn vị (tối đa = 999).
CountDown Đếm xuống: Khi RLOtại đầu vào "CD" thay đổi từ "1" đến "0", giátrị đếm hiện
tại sẽ được giảm xuống 1 đơn vị (tối thiểu = 0).
Set Counter Khi RLOtại đầu vào "S" thay đổi từ "0" đến "1", bộ đếm sẽ được set với giátrị
tại đầu vào "PV".
Reset Counter Khi RLOtại đầu vào Reset thay đổi từ "0" đến "1", giátrị đếm sẽ được reset về
0. Nếu điều kiện reset được thỏa mãn (vẫn giữởmức cao) thìbộ đếm không
thể set vàcũng không thể đếm lên hay đếm xuống.
PV Giátrị đặt trước (0 đến 999) được xác định tại đầu vào "PV"bằng dạng BCD:
•làmột hằng số (C# )
•làmột dạng số BCDthông qua giao tiếp dữ liệu.
CV / CV_BCD Giátrị đếm cóthể được nạp vào ACCU 1 như một số nhị phân (CV) hoặc số
BCD (CV_BCD) và được truyền đến các địa chỉ khác.
Q Trạng thái tín hiệu của counter cóthể được kiểm tra tại đầu ra "Q":
•Giátrị đếm= 0 -> đầu raQ = 0
•Giátrị đếm ><0 -> đầu ra Q= 1
Types of Counters •S_CU= Up counter(Bộ đếm chỉ đếm lên)
•S_CD= Down counter(Bộ đếm chỉ đếm xuốngcounts down only)
•S_CUD= Up/Down counter (Bộ đếm lên/đếm xuống).
Date:25.07.2008
File:PRO1_08E.12
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
S5 Counters in STEP 7
STL
AI0.4
CUC5
AI0.5
CDC5
AI0.3
LC#20
SC5
AI0.7
RC5
LC5
TMW4
LCC5
TQW12
AC5
=Q8.3
LAD
FBD
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
Q
I 0.4
I 0.5
CU
I 0.7
C#20
S_CUD
CD
S
I 0.3
PV
R
Q 8.3
CV
CV_BCD
MW 4
QW 12
C5
Q
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 13
Notes Khi bộ đếm đạt đến giátrị cực đại (999) thìsẽ không đếm nữa dùtiếp tục có
tín hiệu đếm. Cũng tương tự như vậy, Khi bộ đếm đạt đến giátrị cực tiểu (0)
thìsẽ không đếm nữa dùtiếp tục cótín hiệu đếm. Bộ đếm không đếm được
giátrị lớn hơn 999 hoặc thấp hơn 0.
Nếu một tín hiệu đếm lên vàmột tín hiệu đếm xuống xuất hiện cùng lúc thìgiá
trị đếm không thay đổi.
Date:25.07.2008
File:PRO1_08E.13
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Counters: FunctionDiagram
CU
CD
S
R
Q
Count
5
4
3
2
1
0
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 14
Bit Instructions Tất cả các chức năng của counter cóthể hoạt động với những lệnh bit đơn
giản. Sự giống nhau vàkhác nhau giữa phương pháp này vàchức năng đếm
được trình bày cụ thể như sau:
•Giống nhau:
- Điều kiện Set ở đầu vào "SC" (setting condition)
- Đặc điểm của giátrị đếm
-RLO thay đổi tại đầu vào "CU"
-RLO thay đổi tại đầu vào "CD"
•Khác nhau:
-Không cókhả năng kiểm tra giátrị đếm hiện hành vìkhông có đầu ra
nhị phân (CV) hoặc BCD (CV_BCD).
-Ngõ ra nhị phân Q không thể hiện được bằng biểu đồ.
Note Các counter theo chuẩn IECcũng cótrong STEP7.
Việc dùng những khối chức năng hệ thống (system function block) để thực
hiện các counter theo chuẩn IEC được đề cập trong giáo trình nâng cao.
Date:25.07.2008
File:PRO1_08E.14
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Counters: Bit Instructions
STL
AI 0.0
LC#20
SC5
AI 0.1
CUC5
AI 0.2
CDC5
AC5
= Q 4.0
LAD
I 0.0C5
SC
C#20
Network 1:
C5
Network 2:
I 0.1
CU
Network 3:
I 0.2C5
CD
Network 4:
C5Q 4.0
FBD
SC
C5
I 0.0
C#20 CV
CU
C5
I 0.1
CD
C5
I 0.2
=
Q 4.0
C5
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 15
FunctionUp TillNow Trong chế độ AUTO,các sản phẩm vận chuyển từ Bay 1 hoặc Bay 2 đến cuối
băng tải (Conveyor‘sEnd) đi ngang qua “light barrier“.Chức năng vận chuyển
được khởi động ngay khi cómột sản phẩm đặt tại Bay 1 hoặc 2 vànút ấn
tương ứng tại Bay 1 hoặc Bay 2 được nhấn. Chức năng vận chuyển sẽ dừng
khi sản phẩm đi ngang qua “light barrier“.
Task: Bài tập
•Sản phẩm vận chuyển trong chế độ AUTO được đếm khi nó đi ngang qua
"LB" light barrier ("LB" 0->1).
•Số lượng các sản phẩm đã vận chuyển được hiển thị trên màn hình hiển
thị sốởdạng BCD.
•Counter bị reset khi tắt hệ thống (Q 8.1 / 4.1 = ´0 ´).
What To Do:Những việc cần làm
•Lập trình đếm các sản phẩm được vận chuyển trong FC 18.Dùng counter
S5 (C 18) trong FC 18 để thực hiện.
•Lập trình gọi FC 18 trong OB1
Date:25.07.2008
File:PRO1_08E.15
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Exercise: Counting the TransportedParts (FC 18, C 18)
V
0 8 1 5
AI1AI2 AO1AO2
AI2
AI1
-15V +15V-15V +15V
AI1
AI2
AO1
AO2
V
DI
I 0.0
I 0.1
I 0.2
I 0.3
I 0.4
I 0.5
I 0.6
I 0.7
DO
.0
.1
.2
.3
.4
.5
.6
.7
S_M/A_ModeSelect
T_System_ON
T_M/A_Accept
L_SYSTEM
L_MAN
L_AUTO
T_System_OFF
Q 8
Q 4
T_Jog_RT
T_Jog_LT
QW 12 / QW 6
ACTUALnumberofparts
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 16
Start Timer đóng chậm khởi động khi RLO ở đầu vào Start "S" thay đổi từ "0" đến
"1". Timer bắt đầu hoạt động với giátrị thời gian định trước tại Time Value
"TV" nếu trạng thái tín hiệu đầu vào vẫn giữ "S" =1.
Reset Khi RLO tại đầu vào Reset "R" thay đổi từ "0" đến "1", giátrị thời gian hiện
hành và độ phân giải (time base) bị xóa, đầu ra "Q" bị reset.
Digital Outputs Giátrị thời gian hiện hành cóthể đọc như một số nhị phân ở đầu ra "BI" và
như một số BCD ở đầu ra "BCD".
Giátrị thời gian hiện hành làgiátrị của thời gian ban đầu của "TV" trừ đi giátrị
thời gian đã trôi qua kể từ khi timer hoạt động.
Binary Output Tín hiệu ở đầu ra "Q" thay đổi thành "1" khi timer đã chạy hết màkhông cólỗi
và đầu vào "S" vẫn cótrạng thái "1".
Nếu tín hiệu đầu vàp "S" thay đổi từ "1" đến "0" trước khi timer chạy hết thì
timer sẽ ngưng hoạt động và đầu ra "Q" cótrạng thái tín hiệu là"0".
Note Trong STEP 7, bạn cóthể sử dụng các timer theo chuẩn IEC bằng cách sử
dụng các SFB.
Việc sử dụng system function block (SFB) được đề cập trong giáo trình nâng
cao.
Date:25.07.2008
File:PRO1_08E.16
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: ON Delay(SD)
LAD
T4
S_ODT
TV
S
Q
BCD
BI
R
I 0.7
I 0.5
S5T#35s
Q8.5
MW0
QW12
FBD
S_ODT
TV
Q
BI
R
I 0.7
I 0.5
S5T#35s
MW0
QW12
T4
BCD
=
Q8.5
S
STL
AI 0.7
LS5T#35s
SDT4
AI 0.5
RT4
LT4
TMW0
LCT4
TQW12
AT4
=Q8.5
Example
RLO at S
RLO at R
Timer
operation
Q
Unitsof time: 0 to 999 (BCD-coded)
0.01s <
0.1s <
1s <
10s <
0 0
0 1
1 0
1 1
Datatype
“S5TIME”
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 17
TimeSpecification Giátrị thời gian được đặt cố định bằng những hằng số thời gian. Khoảng thời
gian cho phép thay đổi từ S5T#10ms đến S5T#2h46m30s0ms.
Thời gian thay đổi cóthể được chỉ thị bằng các biến (vídụ như các word nhớ
hoặc word dữ liệu) chứa kiểu dữ liệu S5TIME. Người sử dụng phải đảm bảo
chắc chắn rằng độ phân giải thời gian vàcon số đơn vị của thời gian tương
ứng được lưu trong các biến trong chương trình.
Time Base Độ phân giải xác định khoảng thời gian màsau khi timer chạy hết khoảng thời
gian đóthìcon số đơn vị thời gian giảm đi 1. Bit 12 và13 của biến phải chứa
độ phân giải thời gian ở dạng số mã hóa nhị phân:
Độ phân giải 0 (bit 13 = 0, bit 12 = 0)=10 ms
Độ phân giải 1 (bit 13= 0, bit12 = 1)=100ms
Độ phân giải2 (bit13 = 1, bit12 = 0)=1s
Độ phân giải3 (bit13 = 1, bit12 = 1)=10s
Unitsof Time Con số đơn vị thời gian phải được biểu diễn bằng số mã hóa BCD. Lấy con số
đơn vị thời gian nhân với độ phân giải sẽ cho kết quả làgiátrị thời gian mong
muốn. Con số đơn vị thời gian thay đổi trong khoảng 1 đến 999. Khi cómột sự
chỉ định thời gian bằng cách dùng hằng số (S5T# ), hệ thống sẽ tự động sử
dụng độ phân giải thấp nhất cóthể vàcon số đơn vị thời gian tương ứng với
độ phân giải đó.
L / BI Ở đầu ra "BI" hoặc với lệnh "L T " , giátrị thời gian còn dư (residual time
value) (hay con số đơn vị thời gian -number ofunitsof time) của timer được
đọc ra làmột số integervàkhông có độ phân giải.
LC / BCD Ở đầu ra "BCD"hoặc với lệnh "LC T " ,giátrị thời gian còn dư (con số đơn
vị thời gian) của timer được đọc ra làmột số mã hóa BCD với độ phân giải
nằm ở bit 12và13.
Date:25.07.2008
File:PRO1_08E.17
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: Time Formats forS5-Timers in STEP 7
Timespecificationsper variable
Accu1 cont.after“LC T ”exec.
Accu1 contents after“L T ”exec.
Timespecifications as constants
S5T#35s200ms
(Timebase: 01 (100ms), Numberofunitsof time: 352)
Timebase
3 5
Unitsof time (BCD-coded)
X X 0 1 0 0 11 0 1 10 0 0 1 0
2
01
Timebase
3 5
Residualunitsof time (BCD-coded)
X X 0 1 0 0 11 0 1 10 0 0 1 0
2
01
Residualunitsof time (Integer)
X X X XX X
2
0
2
1
2
9
2
2
2
3
2
4
2
5
2
6
2
7
2
8
1 01 1 0 0 0 000
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 18
Start Timer đóng chậm cónhớ (stored-on-delay timer) khởi động khi RLO ở đầu
vào "S" thay đổi từ "0" đến "1". Timer bắt đầu hoạt động với giátrị thời gian
định trước tại đầu vào "TV" vàtiếp tục chạy ngay cả khi tín hiệu tại đầu vào S
trở về "0" trong suốt thời gian định trước đó.
Nếu tín hiệu tại đầu vào "S" lại thay đổi từ "0" đến "1" trong lúc timer vẫn hoạt
động thìtimer khởi động lại từ đầu.
Reset Khi RLO tại đầu vào reset "R" thay đổi từ "0" đến "1", giátrị thời gian hiện
hành và độ phân giải bị xóa và đầu vào "Q" bị reset.
Binary Output Trạng thái tín hiệu tại đầu ra "Q" thay đổi thành "1" khi timer đã chạy hết mà
không cólỗi, bất chấp trạng thái tín hiệu đầu vào "S" là"1" hay "0".
Date:25.07.2008
File:PRO1_08E.18
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: StoredON Delay(SS)
STL
AI 0.7
LS5T#35s
SST4
AI 0.5
RT4
LT4
TMW0
LCT4
TQW12
AT4
=Q8.5
LAD
T4
S_ODTS
TV
S
Q
BCD
BI
R
I 0.7
I 0.5
S5T#35s
Q8.5
MW0
QW12
FBD
S_ODTS
TV
Q
BI
R
I 0.7
I 0.5
S5T#35s
MW0
QW12
T4
BCD
=
Q8.5
S
Example
RLO at S
RLO at R
Timer
operation
Q
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 19
Start Timer xung khởi động khi RLO ở đầu vào "S" thay đổi từ "0" đến"1". Đầu ra
"Q"cũng được setthành"1".
Reset Đầu ra "Q"bịreset khi:
•timerchạy hết, hoặc
•tín hiệu start "S"thay đổi từ "1" đến"0", hoặc
• đầu vào reset "R"cótrạng thái tín hiệu "1".
Date:25.07.2008
File:PRO1_08E.19
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: Pulse (SP)
FBD
S_PULSE
TV
Q
BI
R
I 0.7
I 0.5
S5T#35s
MW0
QW12
T4
BCD
=
Q8.5
S
RLO at S
RLO at R
Timer
operation
Q
Example
STL
AI 0.7
LS5T#35s
SPT4
AI 0.5
RT4
LT4
TMW0
LCT4
TQW12
AT4
=Q8.5
MW0
LAD
T4
S_PULSE
TV
S
Q
BCD
BI
R
I 0.7
I 0.5
S5T#35s
Q8.5
QW12
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 20
Start Timer giữ độ rộng xung (extended pulse timer) khởi động khi RLO ở đầu vào
"S" thay đổi từ "0" đến "1". Đầu ra "Q" cũng được set thành "1".
Trạng thái tín hiệu của đầu ra "Q" vẫn giữở"1" dùtín hiệu ở đầu vào "S" trở
về "0".
Nếu tín hiệu ở đầu vào "S" lại thay đổi từ "0" đến "1" trong lúc timer vẫn hoạt
động thìtimer khởi động lại từ đầu.
Reset Đầu ra "Q"bịreset khi:
•timer chạy hết, hoặc
• đầu vào reset "R"cótrạng thái tín hiệu "1".
Date:25.07.2008
File:PRO1_08E.20
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: ExtendedPulse (SE)
LAD
T4
S_PEXT
TV
S
Q
BCD
BI
R
I 0.7
I 0.5
S5T#35s
Q8.5
MW0
QW12
FBD
S_PEXT
TV
Q
BI
R
I 0.7
I 0.5
S5T#35s
MW0
QW12
T4
BCD
=
A8.5
S
RLO at S
RLO at R
Timer
Operation
Q
Example
STL
AI 0.7
LS5T#35s
SET4
AI 0.5
RT4
LT4
TMW0
LCT4
TQW12
AT4
=Q8.5
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 21
Start Timer mở chậm (off-delay timer) khởi động khi RLO ở đầu vào "S" thay đổi từ
"1" đến "0". Khi timer chạy hết thìtrạng thái tín hiệu ở đầu ra "Q" thay đổi về
"0".
Nếu tín hiệu tại đầu vào "S" lại thay đổi từ "0" đến "1" trong lúc timer vẫn hoạt
động thìtimer dừng lại. Ở lần kế tiếp khi tín hiệu tại đầu vào "S" thay đổi từ "1"
đến "0", nósẽbắt đầu lại từ đầu.
Reset Khi RLO ở đầu vào Reset "R" là"1", giátrị thời gian hiện hành và độ phân giải
bị xóa, đồng thời đầu ra "Q" bị is reset.
Nếu cả hai đầu vào (S vàR) cócùng trạng thái tín hiệu "1" thì đầu ra "Q"
không được set cho đến khi đầu vào reset (là đầu vào cóquyền ưu tiên) trở về
”0".
BinaryOutput Đầu ra "Q" được kích hoạt khi RLO tại đầu vào "S" thay đổi từ "0" đến "1". Nếu
đầu vào "S" bị ngắt kích hoạt (quay về trạng thái "0”) thì đầu ra "Q" vẫn tiếp tục
giữ trạng thái tín hiệu "1" cho đến khi timer chạy hết thời gian đã lập trình cho
nó.
Date:25.07.2008
File:PRO1_08E.21
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: OFF Delay(SF)
STL
AI 0.7
LS5T#35s
SFT4
AI 0.5
RT4
LT4
TMW0
LCT4
TQW12
AT4
=Q8.5
LAD
T4
S_OFFDT
TV
S
Q
BCD
BI
R
I 0.7
I 0.5
S5T#35s
Q8.5
MW0
QW12
FBD
S_OFFDT
TV
Q
BI
R
I 0.7
I 0.5
S5T#35s
MW0
QW12
T4
BCD
=
Q8.5
S
Example
RLO at S
RLO at R
Timer
operation
Q
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 22
Bit Instructions Tất cả các chức năng của timercóthể được khởi động với những lệnh bit đơn
giản. Sự giống nhau vàkhác nhau giữa phương pháp này vàchức năng timer
được trình bày cụ thể như sau:
•Giống nhau:
- Điều kiện khởi động ở đầu vào "S"
- Đặc điểm của giátrị thời gian
- Điều kiện Reset tại đầu vào "R"
- Đáp ứng tín hiệu tại đầu ra "Q"
•Khác nhau (đối với LAD vàFBD):
-Không cókhả năng kiểm tra giátrị thời gian hiện hành (không có đầu ra
"BI" và"BCD".
Date:25.07.2008
File:PRO1_08E.22
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Timers: Bit Instructions
I 0.0T4
SD
S5T#5s
T4Q 8.0
I 0.1T4
R
Network 1:
Network 2:
Network 3:
LAD
&
SD
T4
I 0.0
S5T#5s
&=
Q 8.0
T4
&
I 0.1
TV
R
T4
FBD
AI 0.0
LS5T#5s
SDT4
AT4
= Q 8.0
AI 0.1
RT4
STL
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 23
FC 16 Up TillNow: Trong chế độ AUTO,các sản phẩm được vận chuyển từ Bay 1 hoặc Bay 2
đến Conveyor‘s End (cuối băng tải).Chức năng vận chuyển được khởi động
khởi động ngay khi cómột sản phẩm đặt tại Bay 1 hoặc Bay 2 vànút ấn
tương ứng tại Bay 1 hoặc Bay 2 được nhấn. Chức năng vận chuyển sẽ dừng
khi sản phẩm đi ngang qua “light barrier“.
Task: Bạn phải tạo một chương trình giám sát điều kiện lỗi trong chế độ AUTO và
dừng băng tải khi lỗi xảy ra. Chức năng giám sát như sau:
•Nếu 1 sản phẩm không đi ngang qua "light barrier" trong vòng 6 giây kể từ
khi nóchạy thìphát ra một tín hiệu lỗi vàdừng băng tải lại(chú ý : động cơ
băng tải được điều khiển trong FC 16)
•Lỗi được hiển thị bằng đèn nháy với tần số 2 Hz (bit số 3 của byte nhớ
xung đồng hồ CPU MB 10) tại đèn LEDQ 8.0 / Q 4.0 của bộ mô phỏng
•Lỗi phải được xác nhận nhờ nút ấn thoáng qua "T_Fault_Rst" I 1.0
•Băng tải chỉ cóthể khởi động như đã nói ở trên sau khi lỗi đã được xác
nhận (khóa liên động trong FC 16)
What To Do:Những việc cần làm:
•Lập trình chức năng giám sát như mô tảởtrên trong FC 17
-Dùng timer S5 T 17 làm timer đóng trễ ON delay (SD) để giám sát
-Set bit nhớ M 17.0khi lỗi xuất hiện để bạn cóthể xử lý trong FC 16.
•Lập trình gọi FC 17 trong OB 1
•Sửa đổi FC 16 để kèm thêm phần khóa liên động cần thiết để dừng động
cơ băng tải khi lỗi xuất hiện
Date:25.07.2008
File:PRO1_08E.23
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
Exercise: MonitoringoftheTransportFunctions(FC 17)
V
0 8 1 5
AI1AI2 AO1AO2
AI2
AI1
-15V +15V-15V +15V
AI1
AI2
AO1
AO2
V
DI
I 0.0
I 0.1
I 0.2
I 0.3
I 0.4
I 0.5
I 0.6
I 0.7
DO
.0
.1
.2
.3
.4
.5
.6
.7
S_M/A_ModeSelect
T_System_ON
T_M/A_Accept
L_System
L_MAN
L_AUTO
T_System_OFF
Q 8
Q 4
T_Jog_RT
T_Jog_LT
QW 12 / QW 6
ACTUAL number of parts
T_Fault_Rst
Flt
Weight
I 1.0
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 24
Example Vídụ: Một chương trình dùng để thực hiện các chức năng toán học với các
giátrị được nhập vào bằng nút nhấn vàhiển thị kết quả trên màn hình hiển thị
số. Các chức năng toán học không thể thực hiện được ở dạng BCD, vìvậy
cần phải chuyển đổi định dạng số.
Conversion Tập lệnh của S7-300™/400™hỗtrợ nhiều phép chuyển đổi. Tất cả các lệnh
Instructions đều cócùng một định dạng.
EN, ENO Nếu RLO =1 tại đầu ra cho phép (Enable input)EN,thìsựchuyển đổi được
thực hiện. Đầu ra cho phép (Enable output) ENO luôn cótrạng thái tín hiệu
giống như đầu vào EN. Nếu không phải như vậy thìnó được chỉ báo rõ ràng
bằng các lệnh tương ứng.
IN Khi EN=1, giátrị tại IN được đọc vào lệnh chuyển đổi.
OUT Kết quả của phép chuyển đổi được lưu tại địa chỉ của đầu ra OUT.
BCD_I / BTI (Chuyển đổi BCD thành integer) đọc nội dung của thông sốở đầu vào IN như
làsốBCDcó3 chữ số (+/-999) vàchuyển đổi nóthành giátrị integer (16 bit).
I_BCD / ITB (Chuyển đổi integerthành BCD) đọc nội dung của thông sốở đầu vào IN như
làmột số integer (16bit)vàchuyển đổi nóthành một số BCD có3 chữ số (+/-
999). Nếu kết quả bị tràn, vượt quágiới hạn này thìENO= 0.
BCD_DI / BTD Chuyển đổi một số BCD(+/-9999999) thành số nguyên kép -doubleinteger
(32 bit).
DI_BCD / DTB Chuyển đổi một số nguyên kép 32 bit thành một số BCDcó7 chữ số
(+/-9999999). Nếu kết quả bị tràn, vượt quágiới hạn này thìENO = 0.
Date:25.07.2008
File:PRO1_08E.24
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
ConversionOperationsBCD <-> Integer
IN
BCD_I
EN
ENO
OUT
IN
I W4
MW20
IN
I_BCD
EN
ENO
OUT
IN
MW10
QW12
FBD
LI W4
BTI
TMW20
LMW10
ITB
TQW12
STL
0 8 1 5
Number
enteredin BCD
Number
displayed
in BCD
Conversion
BCD->Integer
Task
Conversion
BCD<-Integer
User program with
integer math
operations
0
24
8
IN
BCD_I
EN
ENO
OUT
IN
I W4
MW20
I_BCD
IN
ENENO
OUT
MW10
QW12
LAD
SITRAIN Training for
Automation and Drives
ST-7PRO1
Digital Operations
Page 25
CMP Bạn cóthể dùng các lệnh so sánh để so sánh các cặp giátrị số sau:
I So sánh những số nguyên -integer (dựa trên cơ sở số 16 bit)
D So sánh những số nguyên kép -double integer(dựa trên cơ sở số 32
bit)
R So sánh những số thực -real (dựa trên cơ sở số thực 32bittheo chuẩn
IEEE về các số dấu phẩy động).
Nếu kết quả của phép so sánh là"true", thìRLOcủa phép toán là "1", ngược
lại là"0".
Những giátrị tại các đầu vào IN1vàIN2 được so sánh theo đúng với các điều
kiện sau:
== IN1 =IN2
<> IN1 không bằngIN2
> IN1 lớn hơnIN2
< IN1 nhỏ hơn IN2
>= IN1 lớn hơn hoặc bằngIN2
<= IN1 nhỏ hơn hoặc bằngIN2.
Date:25.07.2008
File:PRO1_08E.25
SIMATIC
®
S7
Siemens AG 2003. All rights reserved.
SITRAIN Training for
Automation and Drives
ComparisonOperations
STL
AM3.4
A (
LI W0
LI W2
==I
)
=Q9.7
LAD
CMP ==I
IN1
IN2
I W0
I W2
M3.4
Q 9.7
FBD
IN1
IN2
M3.4
I W0
I W2
&
=
Q9.7
CMP ==I