93. Networking via MPI
PLC link via MPI
S7-300 or S7- 400
PG connection via MPI
OP connection via MPI
CPU 1 CPU 2
P G 7 2 0
S7-300 or S7- 400
0
1
2
n Default MPI address
110. Comments
Symbols
Blocks:
• Logic blocks
(OB,FC,FB)
• Data blocks
(DB)
Flash EPROM
Memory Card in PG
(subsequently
inserted in CPU)
Blocks:
• Logic blocks
(OB,FC,FB)
• Data blocks
(DB)
Additional info.
System memory:
• PII, PIQ
• M, T, C
• Retentive
M, T, C
• Retent. data blocks
Retentive memory:
With Power
OFF without
battery
backup
n. reten. reten.
with Power
ON without
battery
backup
RAM
Blocks:
• Logic blocks
(OB,FC,FB)
• Data blocks
(DB)
Additional info.
Load memory:
Flash-
EPROM
Work memory:
• OB,FC,FB
• DB
n. reten. reten.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121. User Programm in the CPU
FC2
FM 350-1
Control Interface
Feedback Interface
Program
DBx
129. Elementary
data types
(up to 32 bits)
Complex
data types
(longer than 32 bits)
User-defined data types
(longer than 32 bits)
130. Elementary
data types
(up to 32 bits)
Complex
data types
(longer than 32 bits)
User-defined data types
(longer than 32 bits)
• Bit data types (BOOL, BYTE, WORD, DWORD, CHAR)
• Mathematical data types (INT, DINT, REAL)
• Time types (S5TIME, TIME, DATE, TIME_OF_DAY)
• Time (DATE_AND_TIME)
• Array (ARRAY)
• Structure (STRUCT)
• Character chain (STRING)
Data type UDT (User Defined Type)
131.
132. BOOL 1 1 or 0
BYTE 8 B#16#A9
WORD 16 W#16#12AF
DWORD 32 DW#16#ADAC1EF5
CHAR 8 ' w '
S5TIME 16 S5T#5s_200ms
INT 16 123
DINT 32 65539
REAL 32 1.2 or 34.5E-12
TIME 32 T#2D_1H_3M_45S_12MS
DATE 16 D#1993-01-20
TIME_OF_DAY 32 TOD#12:23:45.12
Keyword Length (in bits) Example of a constant of this type
133. Keyword Length (in bits) Example
DATE_AND_TIME 64 DT#97-09-24-12:14:55.0
STRING 8 * (number of ´This is a string´
(character string with characters +2) ´SIEMENS´
max. 254 characters)
ARRAY user-defined Measured values: ARRAY[1..20]
(Group of elements INT
of the same data type)
STRUCT user-defined Motor: STRUCT
(Group of elements Speed : INT
of different data types) Current: REAL
END_STRUCT
UDT UDT as block UDT as array element
(User Defined Data Type = user-defined
“Template consisting of STRUCT Drive: ARRAY[1..4]
elementary or complex Speed : INT UDT1
data types Current: REAL
END_STRUCT
134. Global DB (Example)UDT block as Template
Flour
Milk
Eggs
Yeast
Sugar
Recipe
2
Flour
Milk
Eggs
Yeast
Sugar
Recipe
3
Flour
Milk
Eggs
Yeast
Sugar
Flour
Milk
Eggs
Yeast
Sugar
DB created according to UDT
Recipe
1
Flour
Milk
Eggs
Yeast
Sugar
Array with
3 elements
of type UDT
135.
136.
137. High Word – High Byte High Word – Low Byte Low Word – High Byte Low Word – Low Byte
7……………….015………….823………….1631………….24
بیشترCPUهایS7شبیهS5دارای2با .که هستند آکوتمولوتورACCU1وACCU2تمیشوند شناخته
دارای برخی4بر علوه یعنی تمیباشند آکوتمولوتور2فوق تموردهACCU3وACCU4.دارند نیز را
در تمیشوند بار حافظه به که تمقادیریACCU1تمحتوی تمیشود باعث دیگر جدید تمیگیرند.تمقادیر قرار
ACCU1بهACCU2تمیشود تمنتقل
وارد تمیشود بار بایت یک وقتیACCU1-L-L)تمیشود8(بیت
وارد تمیشود بار کلمه یک وقتیACCU1-L)تمیگردد16(بیت
وارد تمیشود بار کلمه دابل یک وقتیACCU1)تمیگردد32(بیت
142. Elementary
data types
(up to 32 bits)
Complex
data types
(longer than 32 bits)
User-defined data types
(longer than 32 bits)
• Bit data types (BOOL, BYTE, WORD, DWORD, CHAR)
• Mathematical data types (INT, DINT, REAL)
• Time types (S5TIME, TIME, DATE, TIME_OF_DAY)
• Time (DATE_AND_TIME)
• Array (ARRAY)
• Structure (STRUCT)
• Character chain (STRING)
Data type UDT (User Defined Type)
Overview of Data Types in STEP 7
143. BOOL 1 1 or 0
BYTE 8 B#16#A9
WORD 16 W#16#12AF
DWORD 32 DW#16#ADAC1EF5
CHAR 8 ' w '
S5TIME 16 S5T#5s_200ms
INT 16 123
DINT 32 65539
REAL 32 1.2 or 34.5E-12
TIME 32 T#2D_1H_3M_45S_12MS
DATE 16 D#1993-01-20
TIME_OF_DAY 32 TOD#12:23:45.12
Keyword Length (in bits) Example of a constant of this type
Elementary Data Types in STEP 7
144. Keyword Length (in bits) Example
DATE_AND_TIME 64 DT#97-09-24-12:14:55.0
STRING 8 * (number of ´This is a string´
(character string with characters +2) ´SIEMENS´
max. 254 characters)
ARRAY user-defined Measured values: ARRAY[1..20]
(Group of elements INT
of the same data type)
STRUCT user-defined Motor: STRUCT
(Group of elements Speed : INT
of different data types) Current: REAL
END_STRUCT
UDT UDT as block UDT as array element
(User Defined Data Type = user-defined
“Template consisting of STRUCT Drive: ARRAY[1..4]
elementary or complex Speed : INT UDT1
data types Current: REAL
END_STRUCT
Complex Data Types
145. Global DB (Example)UDT block as Template
Flour
Milk
Eggs
Yeast
Sugar
Recipe
2
Flour
Milk
Eggs
Yeast
Sugar
Recipe
3
Flour
Milk
Eggs
Yeast
Sugar
Flour
Milk
Eggs
Yeast
Sugar
DB created according to UDT
Recipe
1
Flour
Milk
Eggs
Yeast
Sugar
Array with
3 elements
of type UDT
User-Defined Data Type (UDT)
146.
147. •A And
•AN And Not
•O Or
•ON OrNot
•X Exclusive Or
•XN Exclusive Or
•O And before Or
•A( And with Nesting Open
•AN( And Not with Nesting Open
148. L1
(Q 8.0)
S1 (I 0.0)
S2 (I 0.1)
L2
(Q 8.1)
Circuit Diag.
I0.0 I0.1 Q 8.0
Q 8.1
LAD
=
Q 8.0
I 0.0
I 0.1
=
Q 8.1
FBD
A I0.0
A I0.1
= Q 8.0
= Q 8.1
STL
AND
Writes
149. I 0.2
I 0.3
=1
=
Q 8.2 O I0.2
O I0.3
= Q 8.2
I0.2
I0.3
Q 8.2
L3 (Q 8.2)
S3
(I 0.2)
S4
(I 0.3)
OR
FBD STLLADCircite Dag
Writes
150. X I0.4
X I0.5
= Q8.0
I 0.4
I 0.5
XOR
=
Q 8.0
I0.4 I0.5
I0.4 I0.5
Q 8.0
LAD
=1
=
Q 8.0
I 0.4
I 0.5
I 0.4
I 0.5
FBD STL
A I0.4
AN I0.5
O
AN I0.4
A I0.5
= Q8.0
152. (S)
Q 8.1
I 1.2 I 1.3
I 1.2
S
Q 8.1
I 1.3
A I 1.2
A I 1.3
S Q 8.1
Set
(R)
Q 8.1I 1.4
I 1.4
=1
R
Q 8.1
I 1.5
O I 1.4
O I 1.5
R Q 8.1Reset I 1.5
( )
Q 8.0
I 1.0 I 1.1
I 1.0
=
Q 8.0
I 1.1
A I 1.0
A I 1.1
= Q 8.0Assignment
LAD FBD STL
153.
154. SR
R Q
SI1.2
I1.3
M0.0
=
Q9.3
Dominant
Reset
SR
S Q
R
I1.2
I1.3
M0.0
Q 9.3 A I 1.2
S M 0.0
A I 1.3
R M 0.0
A M 0.0
= Q 9.3
RS
S Q
RI1.3
I1.2
M0.0
=
Q9.3
Dominant
Set
RS
R Q
S
I1.3
I1.2
M0.0
Q 9.3 A I 1.3
R M 0.0
A I 1.2
S M 0.0
A M 0.0
= Q 9.3
LAD FBD STL
Setting / Resetting a Flip Flop
155.
156. LAD
I 1.0 I 1.1
( )
M0.0 I 2.0 I 2.1
( )
M 1.1
NOT ( )
Q 4.0
A I 1.0
A I 1.1
= M 0.0
A M 0.0
A I 2.0
A I 2.1
NOT
= M 1.1
A M 1.1
= Q 4.0
STL
I 1.0
I 1.1
I 2.0
I 2.1
M0.0
M1.1 Q 4.0
=
FBD
Connector
157.
158. LAD FBD STL
A I0.0
A I0.1
NOT
= Q8.0
=
Q8.0
I0.0
I0.1( )
Q8.0
NOT
I0.0 I0.1
NOT
Status word
15 8 1
BR RLO
not available not availableCLR CLR
not available not availableSET SET
I1.6
( SAVE ) SAVEI1.6SAVE
A I1.6
SAVE
=
Q8.1
BR
BR
( )
Q8.1
BR
A BR
= Q 8.1
Instructions, that Affect the RLO
159.
160. MCRA0.0
MCRA
SA0.4
Q16.0
MCR
=
M5.5 M69.0
I4.7
MCRD
=A0.7
Q8.5
M0.6
=
FBD
MCRA // Activated
A I0.0 // Enable MCR
MCR( // Open MCR
A I0.7 // NO Contact
= Q8.5 // Output Coil
= M0.6 // Output Coil
A I0.4 // NO Contact
S Q16.0 // Set Output
)MCR // Close MCR
AN M5.5 // Emerg.Contact
AN I4.7 // Emerg.Contact
= M69.0 // Output Coil
MCRD // Deactivate
STLLAD
( MCRA )
I0.7
( )
Q8.5
( )
M0.6
I0.4
( S )
Q16.0
( )
M69.0I4.7M5.5
( MCR )
( MCRD )
( MCR )
I0.0
Master Control Relay Function
161.
162. ( JMP )
NEW1
Network 1
Network 2
:
:
:
:
Network x
NEW1
( )
M69.0I4.7M5.5
LAD
NEW1
JMP....
NEW1
M5.5
I 4.7 =
M69.0
Network 1
Network 2
:
:
:
:
Network x
FBD
Network 1
JU NEW1
Network 2
:
:
:
:
Network x
NEW1: AN M5.5
AN I4.7
= M69.0
STL
Unconditional Jump (Independent of RLO)
163.
164. A I0.0
A I0.1
JC NEW1
NEW1I 0.0 I 0.1 I0.0
I0.1 JMP
NEW1
(JMP)
Jump if
RLO=1
A I0.2
A I0.3
JCN NEW2JMPN
I0.2
I0.3
NEW2NEW2I 0.2 I 0.3Jump if
RLO=0
(JMPN)
LAD FBD STL
Conditional Jump (Dependent on RLO)
165.
166. P
I1.0 I1.1 M1.0 M8.0
N
I1.0 I1.1 M1.1 M8.1
LAD
I1.0
I1.1 P =
M1.0 M8.0
I1.0
I1.1 N =
M1.1 M8.1
FBD
A I1.0
A I1.1
FP M1.0
= M8.0
A I 1.0
A I 1.1
FN M1.1
= M8.1
STL
I1.0
I1.1
RLO
M1.0
M8.0
M8.1
M1.1
OB1-Cycle
Example
RLO - Edge Detection
169. میگیرد صورت آکومولوتور دو محتویات بین واقع در مقایسه عملیات
مساوی == ACCU1 is equal to ACCU2
مخالف ACCU1 is not equal to ACCU2
بزرگتر ACCU1 is greater to ACCU2
کوچکتر ACCU1 is less than to ACCU2
بزرگترمساوی = ACCU1 is greater than or equal to ACCU2
کوچکترمساوی = ACCU1 is less than or equal to ACCU2
170.
171. STL
A M0.0
A (
L IW0
L IW2
==I
)
= Q9.7
LAD
CMP ==I
IN1
IN2
IW0
IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2
=
Q9.7
CMP ==I
Comparison Operationsمساوی
172. STL
A M0.0
A (
L IW0
L IW2
I
)
= Q9.7
LAD
CMP I
IN1
IN2
IW0
IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2
=
Q9.7
CMP I
Comparison Operationsیواسمانامساوی
173. STL
A M0.0
A (
L IW0
L IW2
I
)
= Q9.7
LAD
CMP I
IN1
IN2
IW0
IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2
=
Q9.7
CMP I
Comparison Operationsبزرگتر
174. STL
A M0.0
A (
L IW0
L IW2
=I
)
= Q9.7
LAD
CMP =I
IN1
IN2
IW0
IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2
=
Q9.7
CMP=I
Comparison Operationsبزرگترمساوی
175. STL
A M0.0
A (
L IW0
L IW2
I
)
= Q9.7
LAD
CMP I
IN1
IN2
IW0
IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2
=
Q9.7
CMP I
Comparison Operationsکوچکتر
176. STL
A M0.0
A (
L IW0
L IW2
=I
)
= Q9.7
LAD
CMP =I
IN1
IN2
IW0
IW2
M0.0 Q 9.7
FBD
IN1
IN2
M0.0
IW0
IW2
=
Q9.7
CMP =I
Comparison Operationsمساوی کوچکتر
184. Data Type MemoryParameter پارامتر شرح
No.
CU
S
PV
R
CV
CV_BCD
Q
COUNTER
BOOL
BOOL
BOOL
BOOL
WORD
WORD
WORD
C
I Q M D L
I Q M D L
I Q M D L
I Q M D L
I Q M D L T C
I Q M D L or const
I Q M D L T C
یواسمانتراک یواسماندهرشما
یواسمانتراک افزایش کننده فعال ورودی
اولیه مقدار کردن ست برای ورودی
بصورت اولیه مقدارBCD
یواسمانتراک کننده ست ری ورودی
)باینری بصورت یواسمانتراک ای لحظه مقدارHex(
)باینری بصورت یواسمانتراک ای لحظه مقدارBCD(
یواسمانتراک وضعیت یواسمانمایش خروجی
186. Data Type MemoryParameter پارامتر شرح
No.
CD
S
PV
R
CV
CV_BCD
Q
COUNTER
BOOL
BOOL
BOOL
BOOL
WORD
WORD
WORD
C
I Q M D L
I Q M D L
I Q M D L
I Q M D L
I Q M D L T C
I Q M D L or const
I Q M D L T C
یواسمانتراک یواسماندهرشما
یواسمانتراک کاهشی کننده فعال ورودی
اولیه مقدار کردن ست برای ورودی
بصورت اولیه مقدارBCD
یواسمانتراک کننده ست ری ورودی
)باینری بصورت یواسمانتراک ای لحظه مقدارHex(
)باینری بصورت یواسمانتراک ای لحظه مقدارBCD(
یواسمانتراک وضعیت یواسمانمایش خروجی
188. Data Type MemoryParameter پارامتر شرح
No.
CU
S
PV
R
CV
CV_BCD
Q
COUNTER
BOOL
BOOL
BOOL
BOOL
WORD
WORD
WORD
C
I Q M D L
I Q M D L
I Q M D L
I Q M D L
I Q M D L T C
I Q M D L or const
I Q M D L T C
یواسمانتراک یواسماندهرشما
یواسمانتراک افزایش کننده فعال ورودی
اولیه مقدار کردن ست برای ورودی
بصورت اولیه مقدارBCD
یواسمانتراک کننده ست ری ورودی
)باینری بصورت یواسمانتراک ای لحظه مقدارHex(
)باینری بصورت یواسمانتراک ای لحظه مقدارBCD(
یواسمانتراک وضعیت یواسمانمایش خروجی
CD BOOL I Q M D L یواسمانتراک کاهشی کننده فعال ورودی
191. STL
A I0.4
CU C5
A I0.5
CD C5
A I0.3
L C#20
S C5
A I0.7
R C5
L C5
T MW4
LC C5
T QW12
A C5
= Q8.3
LAD FBD
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_BC
D
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
192. STL
A I0.0
L C#20
S C5
A I0.1
CU C5
A I0.2
CD C5
A C5
= Q 4.0
LAD
I0.0 C5
SC
C#2
0
Network 1:
C5
Network 2:
I0.1
C
U
Network 3:
I0.2 C5
C
D
Network 4:
C5 Q 4.0
FBD
SC
C5
I0.0
C#2
0
CV
C
U
C5
I0.1
C
D
C5
I0.2
=
Q 4.0
C5
193.
194.
195. Examples
of Load
L +5 // 16-bit constant
(Integer)
L L#523123 // 32-bit constant
(Double
Integer)
L B#16#EF // byte in hexadecimal
form.
L 2#0010 0110 1110 0011 // 16-bit binary value
L 3.14 // 32-bit constant (Real)
MOVE
EN
IN
OUT
ENO
MB5
5
FBD
L +5
T MB5
STL
MOVE
EN
OUT
ENO
MB5
LAD
IN5
Loading and Transferring Data
196. 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
Content of
ACCU2
Content of
ACCU1
Programm
Y Y Y Y Y Y Y YX X X X X X X X
0 0 0 0 C A F E
197. 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
Load
L MB 0
Program
T QD 4
QD 4
QW 4
QB 4
Transfer
Contents of ACCU1
L MW 0
L MD 0
T QW 4
T QB 4
207. STL
A I0.7
L
S5T#35s
SF T4
A I0.5
R T4
L T4
T MW0
LC T4
T QW12
A T4
= Q8.5
LAD
T4
S_OFFDT
TV
S Q
BCD
BI
R
I0.7
I0.5
S5T#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
208. RLO at S
RLO at R
Timer
operation
Q
I 0.7
I 0.5
Q8.0
T4
S_OFFDT
S
TV
R
BI
BCD
Q
I 0.7
S5T#5s
I 0.5 Q 8.0
213. STL
A I0.7
L S5T#35s
SS T4
A I0.5
R T4
L T4
T MW0
LC T4
T QW12
A T4
= Q8.5
LAD
T4
S_ODTS
TV
S Q
BCD
BI
R
I0.7
I0.5
S5T#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
214. RLO at S
RLO at R
Timer
operation
Q
T4
S_ODTS
S
TV
R
BI
BCD
Q
I 0.7
S5T#5s
I 0.5 Q 8.0
I 0.7
I 0.5
Q8.0
217. 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.0
L S5T#5s
SD T4
A T4
= Q 8.0
A I0.1
R T4
STL
218. Timers: Time Formats for S5 Timers in
STEP 7
Format for time specifications
Timer cell in system data memory
ACCU contents after “LC T...”
ACCU contents after “L T...”
Time base
102
101
100
Time value (BCD code)
Time base Time value (Binary number)
Time base
102
101
100
Time value (BCD code)
Time value (Binary number)
X X X X
X X
X X X XX X
X X
219. • Bit Logic Instructions
• Comparison Instructions
• Conversion Instructions
• Counter Instructions
• Data Bolok Instructions
• Logic Control Instructions
• Integer Math Instructions
• Floating-Point Math Instructions
• Load and Transfer Instructions
• Program Control Instructions
• Shift and Rotate Instructions
• Timer Instructions
• Word Logic Instructions
• Accumulator Instructions