168
http://hassanheha.forumn.net/ Siemens S7 1 ن الرحيم الرحم بسمجؿس ؽر سس لحذ١طمحش جكحو جس ف١ر٠ز ضى وSiemens S7 ى جػىجو ج: كحشش ج قطسجؽ ذح ذس ػ١ف١ وح ف١رىأ فؼ ف ١ جSimatic s7 غ طؼحؾ ج١ ٢ح ج٠ى ى٠ ؽ أحر ج٠ح ذط لع ذؼى أف ج PLC وىطر ف ؽ جحر ج١ فف أى٠ ح ح٠ى ه عغ ج عشج ج ؿؼ ح عش يشحء أس ئ١ف١ ورىأ ف ٢ج S7-300 - ى ػىو٠ ذطكىم أInputs/Outputs ح ذ٠ى جظح جع أفط ى٠طكىح ذحػ حطهى ف ط ج40 ون- Input - ػىو 20 ؼ ن- Outputs - ض٢س وححش جىى ج٠ ذطكىم ف ه يحء ػ ذ: * ج ؽذى و ؾظى Siemens - 5A * قىز CPU S7-314 * ػىو3 ي ون٠و 16 ف ؽDigital input module 16 input 24 VDC * ػىو2 ؼي ن٠و 16 ف ؽDigital output module 16 output 24VDC/0.5A * جن Rail ١حش ػىص ج١طػر

ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

1

بسم هللا الرحمن الرحيم

Siemens S7وز ضى٠ر١س ف جكحوحش جطم١س لحذس رؿس ؽج

ق جشكحش: جػىجو جى

Simatic s7ج١ ف رىأ فؼ١ح ف و١ف١س ػ ذحؽ ذجطس

ه ى٠ح ح ٠ى أ ف ف١ جرحؽ ج ف ىطرو PLC جفع ذؼى أ لح ذط٠ جرحؽ أ ٠ى ى٠ح ج٢ ١ؾ جطؼح غ

S7-300ج٢ رىأ ف و١ف١س ئشحء أي شع ح ؿؼ ج جشع غ جع

20ػىو - Input -ون 40جط ف طهىح ػح ذحطكى٠ى فطع أ جظح ج ى٠ح ذ Inputs/Outputsأال م ذطكى٠ى ػىو -

Outputs -نؼ

:ذحء ػ يه ف م ذطكى٠ى جىحش جالس وح٢ض -

Siemens - 5Aظى ؾى وذ ؽج *

CPU S7-314قىز *

Digital input module 16 input 24 VDCؽف 16و٠ي ون 3ػىو *

Digital output module 16 output 24VDC/0.5Aؽف 16و٠ي نؼ 2ػىو *

طػر١ص جىحش ػ١ Railجن *

Page 2: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

2

file --> new projectم ذفطف جرحؽ هطح لحتس

Page 3: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

3

example1ىن ج جشع جؿى٠ى ١ى

٠فطف حفز شع ضى ؾ١غ ذ١ححض نح١س example1ف ٠م جرحؽ ذفطف شع ؾى٠ى ذحال

Page 4: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

4

s7-300 plcغ جنط stationجنط insert لحتس

Page 5: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

5

PLC S7-300ف ٠ظ ضكص ج جشع ط آن ٠ػ ظس

Page 6: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

6

حش ىحش جظح جط ج ف طؼ إلونحي ذ١ح Hardware configurationجػغؾ ػ١ ض١ ف ٠ظ ف جحفز جؿحز

جنطحح لر

Page 7: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

7

ف ٠فطف حفز ؾى٠ىز ذح ىح إلونحي جىحش Hardware configuationجػغؾ ػ

Page 8: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

8

insertأي شة لحتس

ىح 11ذح Railف ٠فطف حفز ضػ Railهطح

ف insertمف ػ١ ذ جح ج١١ ضظ لحتس هطح Power supplyكؿ ظى جؿى 1- لذؼى يه ىن جىحش جىح

٠فطف لحتس النط١ح ذح و أجع ظحو جؿى جى جطؼحح جطحؼ ١

Page 9: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

9

جى CPUلحتس جنط١ح ضش و أجع ضفطف insertؼغؾ ح ١٠ هطح CPU جكؿ قىز 2مف ػ جىح ل

-6ES7 314حن ألح و٠الش نحطس ذ١ ضظ غ و قىز ح ػال CPU 314غ أ CPU S7-300جطؼحح هطح ح

1AE04-0AA0 6ف و ج٢ ػ جأللح جػالغس ػ ١٠ES7 ف ٠ػ 3فايج وح جل جثحش 314حS7-300 ئيج وح ل

ف ٠ػ و٠ي ل وني أ 2ئيج وح ل جؼشجش CPUف ٠ػ 1وح ٠ػ ظى ؾى ئيج وح ل جؼشجش 0جؼشجش طف

س وني أ نؼ أح ل ج٢قحو ف نحص ذى ع أح جأللح جه Analogف ٠ػ و٠ي ضحظ 3نؼ ئيج وح ل جؼشجش

جطح١س فح ػاللس ذل جإلطىج ؾى جطشغ١ ججطفحش جف١س جألن ؿء ط ذح ج٢

Page 10: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

10

نح١س ق١ع أح كؿز قىجش جطط١ ذ١ أوػ جن ػى جكحؾس ئ يه 3طن جهحس ل 2ف جهحس ل CPUذؼى أ أونح ل

غ Digital input module ٠ش ؾ١غ قىجش جإلونحي جإلنجؼ ح هطح SM300هطح insertح ١٠ غ 4رىأ ل

Digital input module sm321 16/24VDCهطح جو٠ي جطخ

Page 11: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

11

Page 12: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

12

وه ٠ؿد القظس Copy/pastحي غ ى ذف جط٠مس ئ أ ط ؾ١غ جىحش غ القظس أ ف جألؾجء جطحغس ٠ى جطؼ

م ذطؿ١ Addressؾو حفز أف جشحشس ٠ظ ف١ح ف جىحش جط هطحح غ ؾو ضفحط١ ػ١ح ط ح ج٢ ذهحس

Addresses جط ضظ ى جىحش

Page 13: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

13

جرحؽ ذؼى جالطحء غك جحفز ىج ى لى أونح جىحش ئ

Page 14: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

14

4-الدرس رقم Block types

Blocksالذى أ ؼف أ و ح ٠ى ضف١ ذجؽ أ ضؼ١حش أ ذ١ححش ضىطد وجن ح ٠

:وح٢ض Simatic S7ح أجع ػى٠ىز ف

Organization blocks OB

Function blocks FB

Functions FC

Data blocks DB

System function SFC

System function blocks SFB

ف طؼع ف ج جى ذشـ و ع ػ قى

OB-Organization block

جرن جألح OB جرحؽ ال ٠ط ضف١ أ ضؼ١حش أ ذحؽ ح ضى طؼس ذشى ح ف أ CPU ذى ذحؽس ٠ػ ج١ؾ ذ١

٠ش ح ٠ط ضف١ و وز وجش ضف١ جرحؽ ق١ع ٠ط ضف١ جرحؽ ذشى ط أال ذأي غ ٠ؼحو OB1ج ٠ش جرحؽ

one cycle timeجطف١ ذؼى يه لص ضف١ وز وحس رحؽ ٠طك ػ١

٠ى ػىوح ذكد ع OBأ٠ؼح فظ١س Real time interruptsحن ذوحش نحطس ذحمطغ جفحؾة ط ذشى و

CPU جطؼسOB31 قطOB40

ئيج جو قؿ جرحؽ وػش جؼاللحش ٠ط جطهىج أجع أن ؽرمح القط١حؾحش ػ ٠OB1ى ئيج وح جرحؽ ذ١ؾ أ ٠ىطد و وجن

ذأ شى OB1أ ٠ط ضؼ١ح ف

Page 15: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

15

:ف جى جحذك Hardware configفمؾ ذؼى أ أشأح جىحش OB1ذشى ذ١ؾ ئشحء أي ذحؽ ذحطؼحي ج٢ رىأ

:٠ظ ؼح جشى جطح blocksز جقىز قط ظ ئ + ج ض جشحؤ غ ىن ذحؼغؾ ػ Projectأال فطف

OB1فطفطف شحشس جىطحذس وجن OKؼغؾ OB1س ضر١ ذ١ححش ضظ جشحشس جطح١ OB1ػى جؼغؾ ض١ ػ

Page 16: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

16

5 -جى ل

ج٢ ف رىأ ذحطؼع ىحش جرحؽ و١ف١س ػ جرحؽ:

:أال أجع جطغ١جش

ح جؼ١حش فػال جؼ١حش جكحذ١س جر١طس ػى جطؼح غ أ ع أجع جرؿس الذى أ ؼغ ف قحذح أجع جر١ححش جط ؿ ػ١

٠س حن جأللح جط ؿ ػ١ح ػ١حش جؿغ جطـ جؼخ جمس ج ؾد ػ١ح أ ر١ أ أجع جأللح قم١م١س طك١كس و

وه ضه١١س ىج قط ٠ى ؽف جؼحوس طح١٠ ضحح ف جى جط١١

فالذى أ ضى جؼ١حش ػ ع جقى جر١ححش حن أجع ػى٠ىز جر١ححش ػػح ج١ PLCجطؼح غ ذحؽ وه فؼى

نحس 32أ وس وؾس wordنحس 16أ وس Byteنححش 8 أ Bitأي ضم١ طؼع ػىو نححش جطغ١ ئح نحس جقىز

double word ح ق١ع ع جر١ححشأ

جػحت: جع جألي Binary type

:فمؾ ػى جطؼح غ ج جع ٠ط وطحذس يه ػ جك ج٢ض ON - OFFفمؾ أ وذ١ح 1أ 0 ٠أن جم١س

b#1001 0110 0011 0001: نحس 16ضػ١ ل ى

b جفحط ذ١ جل جط١ أح ؿػس جأللح ف ل١س جل# ح ؼحح أ جل غحت ػالس

جأللح جظك١كس: جع جػح Integer numbers

ل غحت 32ل أ 16 ألح ػش٠س طك١كس ئح ولس

120نحس ضىطد وح ضىطد ف جظح جؼش جؼحو و ػالس ػش٠س ػال 16جأللح يجش جىلس

signed integersف قحس جأللح يجش جإلشحز + 32767ئ -32768 ضطجـ حذ١

unsigned integersف قحس جأللح جؾرس جظك١كس + 65535 0ضطجـ ذ١

:فؼى وطحذطح ىطرح ذحشى ج٢ض double integersنحس جظك١كس 32أح جأللح يجش جىلس

L#150

Page 17: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

17

جأللح جؼش٠س: ػحع جع ج Real ( floating point ) numbers

:ضىطد ػ جظ١غس ج٢ض١س

x.ye+/-z

جؿء جظك١ف جل جؼش هحس جقىز xق١ع

y جؿء جى ف جل جؼش

e 10ضؼ أ جل

ئشحز جأل -+/

z ضػ جأل

2.3e+4: ػال ضىطد وح٢ض 23000ذؼ

3.54e-2: ضىطد 0.0354

-ئيج وح جل وى ؾد ال ضىطد أح ئشحز ئيج وح حرح ضىطد أح ئشحز

ع طغ١ طح٠: جع ججذغ Timer type

s5t#100ms: ٠ىطد وح٢ض

غح١س 100ج جل ؼح ضح٠ ل١ط

ػ جطح٠م طغ١ ٠ىي: جع جهح date

2008أذ٠ 8وطح٠م d#2008-04-08: ٠ىطد وح٢ض

طغ١ لص قم١مtime of day

tod#23:30:24.500ػال tod#hh:mm:ss.ms: ٠ىطد وح٢ض

طغ١ لص طكtime

t#Od_10h_50m_28s_880msػال t#Od_0h_0m_0s_0ms:٠ىطد وح٢ض

ض طغ١ لص ضح٠م ٠ىطد وح٢:

DT#2008-04-08-20:25:30.850

Page 18: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

18

وه حن ؼىجوجش ضىطد ػ جشى' xyz'ضىطد ذ١ ػالحش ضظ١ض Stringحن طغ١جش قف١س

c#897

رس ه قط ال جطخ ف ج جىح جطأوى ع جر١ححش جطخ ئؾجء جؼ١حش ػ١ح ف جرحؽ ذحطح جطهىج جؼ١حش جح

٠كىظ نطأ ف جرحؽ

جؼ١حش جػحت١س جطم١س 6 -جى لBit logic operations

ذحطح ف ئح ضك١ ل١س نحس أ ضطر١ك أ ؼح ػ١ح غ bitجؼ١حش جطم١س جػحت١س جط ضط ػ ط طغ١ ي نحس جقىز

bitذى ذحؽس ف و ح جؼ١حش ججط ضط ػ ط جهحس ججقىز 1أ ػغ ل١طح 0طح أن ظ١ضح أ ػغ ل١

: Addressingلر ضػ١ جؼ١حش الذى أ طؼع ؼس جؼحالش

جىنالش جل١سDigital inputs :

أ 127جطؼس ٠ى أ ٠ى CPUقط جكى جأللظ ي 0 ضطجـ Byteل x أ وني Iق١ع Ix.y: ضأن جشى

7 ٠0طجـ ذ١ Byteوجن جىس bitف ل جهحس yأح 255

I0.2 - I10.7 - I127.5: ػال

جهؾحش جل١سDigital outputs :

Q1.3 - Q7.6 - Q47.3: ػال Iذىال Q ػ جىنالش ضحح غ١ أ ج

ججوز جإلطسMemory flags :

M100.0 - M4.5 - M0.7: ػال Mضأن ج

جؼىجوجشCounters:

C1 - C10 - C126: ػال CPUطرػح ذل جؼىجو ؽرمح ع Cضأن ج

جإلطحشTimers :

T2 - T10 - T70: ػال CPUطرػح ذل جطح٠ ؽرمح ع Tضأن ج

Page 19: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

19

Data block لجد جر١ححش:

DByDBXz.u: ضأن جشى ج٢ض

bitل جهحس Data byte uل جىس z ل ذن جر١ححش yق١ع

DB10.DBX1.2 - DB100.DBX10.7 - DB120.DBX34.6: ػال

جؼ١حش جػحت١س جطم١س 6 -جى ل : ػعBit logic operations

A And

1 ػ ػ١س جطط١ ػ جطج وذ١ح ضط ذ١ ؼح١ ى ٠ى حن ط١ؿس الذى أ ٠ى جالغح

:قد جؿىي ج٢ض ػال

z=A And B

A B z

----------------

0 0 0

1 0 0

0 1 0

1 1 1

1ؼح ح ل١س A , Bئال وح 1ح ل١س Z ج جؿىي ال ٠ى

١Ladder diagram LAD جؼ١س ذشى ج ضػ

--------I0.0---------I0.1-------------Q1.2

|-------) (--------------| |----------| |------|

Statement list STLضػ١ جؼ١س ذظح جىو

A I0.0

A I0.1

Q1.2 =

Page 20: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

20

Data type ضطرك ػ جألجع ج٢ض١س

I-Inputs , Q-Outputs, M-Memory flag, L-Local variable, D-Data block bit, T-Timer, C-Counter

AN And Not

NC ػ ػ١س جطط١ ػ جطج وذ١ح ضط ذ١ ؼح١ أقىح ػؼس جطر١ؼ غك

:قد جؿىي ج٢ض ػال

z=A And Not B

A B B' z

------------------

0 0 1 0

1 0 1 1

0 1 0 0

1 1 0 0

Ladder diagram LADضػ١ جؼ١س ذشى ج

--------I0.0---------I0.1-------------Q1.2

|-------) (--------------|/|----------| |------|

Statement list STLضػ١ جؼ١س ذظح جىو

A I0.0

AN I0.1

Q1.2 =

Data typeض١س ضطرك ػ جألجع ج٢

I,Q,M,L,D,T,C

Page 21: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

21

Or O

1 ػ ػ١س جطط١ ػ جطج وذ١ح ضط ذ١ ؼح١ ى ٠ى حن ط١ؿس الذى أ ٠ى جقى فمؾ

:قد جؿىي ج٢ض ػال

z=A Or B

A B z

----------------

0 0 0

1 0 1

0 1 1

1 1 1

Statement list STLضػ١ جؼ١س ذظح جىو

O I0.0

O I0.1

Q1.2 =

Data type ضطرك ػ جألجع ج٢ض١س

I,Q,M,L,D,C,T

Page 22: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

22

ON Or Not

NC ػ ػ١س جطط١ ػ جطج وذ١ح ضط ذ١ ؼح١ أقىح أ والح

:قد جؿىي ج٢ض ػال

z=A Or Not B

A B B' z

----------------

0 0 1 1

1 0 1 1

0 1 0 0

1 1 0 1

Statement list STLضػ١ جؼ١س ذظح جىو

O I0.0

ON I0.1

Q1.2 =

Data type ضطرك ػ جألجع ج٢ض١س

I,Q,M,L,D,C,T

X Exclusive Or

ج ق١ع ال ٠ى حن ط١ؿس ئال ئيج وح جالغح ػ ػ١س جطط١ جطىجن ق١ع ٠ى حن فػح ضج ؼح و فع ذ جغح ض

هطفح

:قد جؿىي ج٢ض ػال

Page 23: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

23

z=A XOr B

A B z

----------------

0 0 0

1 0 1

0 1 1

1 1 0

Statement list STLضػ١ جؼ١س ذظح جىو

X I0.0

X I0.1

Q1.2 =

Data type ضطرك ػ جألجع ج٢ض١س

I,Q,M,L,D,C,T

XN Exclusive Or Not

ػ ػ١س جطط١ جطىجن ق١ع ٠ى حن فػح ضج ؼح و فع ذ جغح ضج ق١ع ال ٠ى حن ط١ؿس ئال ئيج وح جالغح

ططحذمح

:قد جؿىي ج٢ض ػال

Page 24: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

24

z=A XN Or B

A B z

----------------

0 0 1

1 0 0

0 1 0

1 1 1

Statement list STL جىوضػ١ جؼ١س ذظح

XN I0.0

XN I0.1

Q1.2 =

Data type ضطرك ػ جألجع ج٢ض١س

I,Q,M,L,D,C,T

Assign =

٠طرك ػ جألجع= أ ٠ؿ ط١ؿس جؼ١س جط ضص ف جؼج ج ٠ ػالس

I, Q, M, L, D

ف جألػس جحذمس وح رك جطهىح

R Reset

ف جؼج ج ١٠ 0 ٠م ذطه٠

R Q0.1 - R M20.7 - R DB100.DBX2.1: ػ

S Set

ف جؼج ج ١٠ 1 ٠م ذطه٠

S M10.2 - S Q3.1 - S DB10.DBX14.6: ػ

Page 25: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

25

NOT Negate RLO

0ئ 1أ 1ئ 0 ٠م ذؼى ط١ؿس آن ػ١س ضص

٠NOTىطد وح

SET Set RLO --> 1

Result of Logic Operation RLOف ىح ط١ؿس جؼ١حش جطم١س 1 ٠م ذطه٠

Setيه إلىح جطهىج يه ف ػ١حش

:ػال

SET

=Q10.3

CLR Clear RLO --> 0

RLOف 0 ٠م ذطه٠

طحش جإل 7-جى لTimers

جؼىجوجش ٠Timersظ جرؼغ أ ذؿو أ ػف جؼ١حش جطم١س جط يوحح ف جى جحذك غ ؼفس جطؼحالش جإلطحش

counters حء ئػحفس ئ ػ١حش جط١١ ذ١ جىنالش جهؾحش أ ىج لص أطرف رؿح ى فمؾ جرىج٠س ضه فمؾ ٠ى جالطغ

قظ ح ذح ػ ذؼغ وجت جطكى جر١طس ى جإلىح١حش جحتس رؿحش جطم١س ضىح ػ ػ١حش ال قظ ح ضف١ ضطر١محش ال

ىػ١ ذى ذحؽس أ شة ٠ى ط١حغط ذشى ٠حػ ٠ى ضف١ ػ ؽ٠ك جؼ١حش جكحذ١س جر١طس ح ح كحي فؼ ضؼ ج

جألح١حش جط ػى ذطح ؼح ضىح ذال رحغس ذحء ١ ذ أجحش

Page 26: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

26

ج٢ د ئ ػع ج١ جطح٠Timers

:أجع جطح٠ جؾوز ف ١ جط ٠ى جطهىجح وجن جرحؽ وح٢ض

On-Delay Timer : SDضح٠ ضشغ١ إن -

٠Off-Delay Timer : SF فظ إن ضح -

Pulse Timer : SPضح٠ رؼ -

Extended Pulse Timer : SEضح٠ رؼ طى -

Retentive (Stored) On-Delay Timer : SSضح٠ ضشغ١ إن ؿ -

:ج٢ طؼع جفق جظ١ف ذ١ جألجع جهس

لص جؼرؾ ONجؾد ضجف طشغ١ جطح٠ جهؼ جطح٠ جكحس جط ٠ى ف١ح جطح٠ فطع أ ئشحز جطشغ١ جشؽ ج

: tطح٠

ئيج وحص ئشحز جطشغ١ ؾوز ضؿح لص ؾوح 1ئ 0ضطم قحس جهؼ On-Delay Timer ضشغ١ إن فف جع جألي

غ ئشحز جطشغ١ 0ئ 1ي ض t لص ذىج٠طح ج

ئ 1غ ئشحز جطشغ١ ػى جطمحي ئشحز جطشغ١ 1ئ ٠0طم قحس جهؼ Off-Delay Timerضح٠فظ إن ف جع جػح

tف جهؼ ذ لى 0ئ 1ضطأن قحس جالطمحي 0

فا tجطجح لص أور ػرؾ جطح٠ 1ئ 0ى ؾو ئشحز جطشغ١ أ جطمحح ضح٠ رؼ ف ج جع ػ جع جػحع

فا tأ ػ شى رؼس ى ئيج وح ؾو ئشحز جطشغ١ أل tذؼى لى 0ئ 1غ ٠ؼو 1ئي 0نؼ جطح٠ ٠طم

طشغ١غ ئشحز ج 0ئ 1نؼ جطح٠ ٠طم

ذغغ جظ ػ لص ؾو ئشحز جطشغ١ غ القظس أ و t ضح٠ رؼ طى ف ج جع ضهؼ رؼس جطح٠ لى جع ججذغ

فا نؼ ٠tؼط ذىج٠س ؾى٠ىز رؼس جهؼ أ أ ئيج وحص ئشحز جطشغ١ رؼحش طىز ذ أل 1ئ 0جطمحي إلشحز جطشغ١

ذحطج 1جطح٠ ف ٠ظ

0 جطمحي ئشحز جطشغ١ tذؼى لى 1ئ 0 ضح٠ ضشغ١ إن ه ف ج جع ضطم قحس نؼ جطح٠ جع جهح

tى ذؼى SETال ٠شطؽ ح جطج ئشحز جشغ١ ػ أ 1ئ

Page 27: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

27

CPUنحس ف يجوز 16ى ضح٠ ىس one wordؼ أ ٠ط قؿ

,Hexadecimal Hف شى Accumulator-1م١س جلص ف شى غحت ٠ى م جم١س ئ 9-0أ ٠ط ضهظ١ض جهححش

BCD يه طؼح ؼح ف جرحؽ ػى جالقط١حؼ ه

:ى جظ١غ جطح١س وه ٠ى ضك١ ل١س أ١س طح٠ ذاق

W#16#txyz

نحس 16ضؼ ل ى W#16ق١ع

t غح١س 10, غح١س 1, غح١س 100, غح١س 10 - 11, 10, 01, 00 -ؽ٠مس قحخ جلص

xyz ل١س جلص ؼرج ػح ذشىBCD

S5t#aH_bM_cS_dMS: أ ٠ى جطؼر١ ػ جلص ذحشى

ض١١ جلص H,M,S,MS غح١س d, جػج c, جىلحتك b, س جحػحش ل١ aق١ع أ

:ج٢ طؼع جألج جطؼ غ جطح٠

FR Enable Timer

:فمؾ ضى ذحشى ج٢ض STLجظز جؼحس طشغ١ ج جأل ضى ف

FR <Timer> where Timer --> T1,T2,...,T256

:ػال

A I0.1

FR T2

L Load Current Timer Value into ACCU 1 as Integer

:جظز جؼحس طشغ١ ج جأل

L <Timer> where Timer : T1,T2,...,T256

Integerف شى ل طك١ف ٠Accumulator-1طؼ طك١ ل١س جطح٠ ف

Page 28: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

28

:ػال

L T1

LC Load Current Timer Value into ACCU 1 as BCD

:جظز جؼحس طشغ١ ج جأل

LC <Timer> where Timer : T1,T2,...,T256

BCDف شى ٠Accumulator-1طؼ طك١ ل١س جطح٠ ف

:ػال

LC T1

R Reset Timer

:جظز جؼحس طشغ١ ج جأل

R <Timer> where Timer : T1,T2,...,T256

ؼ إل٠محف جطح٠ ئػحوز ػغ جطح٠ ئ جػغ جأل٠ط

:ػال

A I2.3

R T25

SP Pulse Timer

:جظز جؼحس طشغ١ ج جأل

SP <Timer> where Timer : T1,T2,...,T256

٠طؼ طشغ١ ضح٠ رؼ

:ػحي

A I 2.0

FR T1 //Enable timer T1.

A I 2.1

L S5T#10s //Preset 10 seconds into ACCU 1.

SP T1 //Start timer T1 as a pulse timer.

A I 2.2

R T1 //Reset timer T1.

Page 29: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

29

A T1 //Check signal state of timer T1.

=Q 4.0

SE Extended Pulse Timer

:جظز جؼحس طشغ١ ج جأل

SE <Timer> where Timer : T1,T2,...,T256

طشغ١ ضح٠ رؼ طى٠طؼ

:ػحي

A I 2.0

FR T1 //Enable timer T1.

A I 2.1

L S5T#10s //Preset 10 seconds into ACCU 1.

SE T1 //Start timer T1 as an extended pulse timer.

A I 2.2

R T1 //Reset timer T1.

A T1 //Check signal state of timer T1.

=Q 4.0

L T1 //Load current timer value of timer T1 as binary.

T MW10

LC T1 //Load current timer value of timer T1 as BCD.

T MW12

SD On-Delay Timer

:جظز جؼحس طشغ١ ج جأل

SD <Timer> where Timer : T1,T2,...,T256

٠طؼ طشغ١ ضح٠ ضشغ١ إن

:ػحي

A I 2.0

Page 30: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

30

FR T1 //Enable timer T1.

A I 2.1

L S5T#10s //Preset 10 seconds into ACCU 1.

SD T1 //Start timer T1 as an on-delay timer.

A I 2.2

R T1 //Reset timer T1.

A T1 //Check signal state of timer T1.

=Q 4.0

L T1 //Load current timer value of timer T1 as binary.

T MW10

LC T1 //Load current timer value of timer T1 as BCD.

T MW12

SS Retentive On-Delay Timer

:جظز جؼحس طشغ١ ج جأل

SS <Timer> where Timer : T1,T2,...,T256

٠طؼ طشغ١ ضح٠ ضشغ١ إن ه

:ػحي

A I 2.0

FR T1 //Enable timer T1.

A I 2.1

L S5T#10s //Preset 10 seconds into ACCU 1.

SS T1 //Start timer T1 as a retentive on-delay timer.

A I 2.2

R T1 //Reset timer T1.

A T1 //Check signal state of timer T1.

=Q 4.0

L T1 //Load current time value of timer T1 as binary.

T MW10

Page 31: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

31

LC T1 //Load current time value of timer T1 as BCD.

T MW12

SF Off-Delay Timer

: جظز جؼحس طشغ١ ج جأل

SF <Timer> where Timer : T1,T2,...,T256

٠طؼ طشغ١ ضح٠ فظ إن

:ػحي

A I 2.0

FR T1 //Enable timer T1.

A I 2.1

L S5T#10s //Preset 10 seconds into ACCU 1.

SF T1 //Start timer T1 as an off-delay timer.

A I 2.2

R T1 //Reset timer T1.

A T1 //Check signal state of timer T1.

=Q 4.0

L T1 //Load current timer value of timer T1 as binary.

T MW10

LC T1 //Load current timer value of timer T1 as BCD.

T MW12

Page 32: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

32

ػ١حش جطك١ جطه٠ : 8جى لLoad and Transfer Operations

١س م جر١ححش قىجش جإلونحي ئ قىجش جإلنجؼ ج ذجوز قىز جؼحؿس جو٠س وه ضطهى ؼ أ جطؼ١حش

جؼ١حش جطم١س ذحطح ف١ط RLOم جر١ححش وجن ججوز فح أ٠ؼح ف ضف ػ أح ضؼ١حش غ١ شؽس ف ال ضؼطى ػ ط١ؿس

ال ٠ى ضفحو٠ح ئال ذطؾ١ جطف١ ئ ىح آن ف طؼع ف ق١ ػى ػع ضؼ١حش جطكى ف جرحؽضف١ح أال ذأي

Load L

L <Address<

ACCU1ئ Address ٠م ذطك١ جر١ححش جؾوز ف

أ ٠كىظ ػ١س ضق١ ACCU1ر١ححش جؿى٠ىز ف ضك١ ج ACCU2ئ ACCU1ضح فا ٠ط م كط٠حش Loadئيج وح حن أ

Double Wordأ Wordأ Byteػ أ أقؿح جر١ححش جء وحص ٠Loadطرك جأل

أ Memoryذف جط٠مس أ Digital outputأ ٠ى ٠Digital input(Byte/Word/DWord )ى أ ٠ى Addressوه فا

Analogue input أData block أ طغ١ وجنL

:أػس

L IB20

L MW200

L QD10

L PIW224

L DB50.DBD20

أطفح 32 - 9ضى جهححش ACCU1جهحطس خ 8ئ 1فا ٠ط ضك١ح ف جهححش ٠Byteؿد أ القع أ ئيج ض ضك١

- 17ضى جهححش ACCU1ف 16ئ 1ح ف جهححش ٠ط ضك١ Wordئيج ض ضك١ 00000000-00000000-00000000

32-1ف جهححش ACCU1ف١ط ضك١ جل ذحىح ف Double wordئيج ض ضك١ 00000000-00000000وح أطفح 32

Page 33: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

33

Load status word into Accumulator-1 L STWجأل

ذؼى ئضح آن ػ١س ػى جغرس ف ػ جنطرح ه CPUجط ضؼر ػ قحس Status wordذطك١ وح جػف ج جأل ف ٠م

أح ذم١س جهححش فطى أطفح 8قط ٠1ط ضك١ح ف جهححش

Load Address register-1 Or 2 From Accumulator-1 LAR1 , LAR2جأل

ACCU1 ,ACCU2غ ػ كط٠حش ج جأل ٠طهى وه ال ٠إ

(ذؿس طمىس ) ٠طهى ج جأل ف جؼ١حش جهحطس جط ٠مظى ذح جطؼح غ ؾء كىو ججوز

> Transfer T <Addressجأل

:ج ٠ى أ ٠ى Addressئ جىح جشح ئ١ خ ٠ACCU1م ج جأل ذم كط٠حش

QB/QW/QD/PQW/MB/MW/MD/L/DBB/DBW/DBD

:أػس

T QB10

T MW32

T DB20.DBD48

T PQW446

Transfer contents of Accumulator-1 into Status word T STWجأل

ػى جغرس ف ػؼح ف قحس ؼ١س و جظ ئ جطحتؽ جألن Status word ٠م ذم جهححش جطؼس جألي ئ

ح أوػ جألج جطهىجح نالي ػ١حش جرؿس L,Tج جأل

Page 34: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

34

9-جى ل :Word Logic Instructions

٠Commentsؼطر ضؼ١ك ػ جط أ شـ حػىز جطهى ف ف جأل // ف ؾ١غ جألػس جىال ذؼى : كظس

ذك١ع ضط Accumulator-1ضه جط١ؿس ىح جمى٠س ف Accumulator-1 Accumulator-2 جؼ١حش ضط وح ذ١ كط٠حش

ذح ٠حغح ؽرمح ؼ١س جطذس bitمحس و نحس

AW AND Word : 16-Bit

:٠أن جأل جظز

AW

AW Constant

١ACCU2س ضك١ جىس جػح ACCU1ق١ع ٠ط لر جأل ضك١ جىس جأل ف

:ػحي

L IW20 //Load contents of IW20 into ACCU 1-L.

L IW22 //Load contents of ACCU 1 into ACCU 2. Load contents of IW22 into ACCU 1-L.

AW //Combine bits from ACCU 1-L with ACCU 2-L bits by AND; store result in ACCU

1-L.

T MW 8 //Transfer result to MW8

Page 35: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

35

رحشز غ جل ٠ى جحضؽ ف ٠ANDط ػ ٠ACCU1ط ذطك١ جىس جأل ف Constantغ غحذص ANDف قحس ػ

ACCU1 ػ ج٢ض:

L IW20 //Load contents of IW20 into ACCU 1-L.

AW W#16#0FFF //Combine bits of ACCU 1-L with bit pattern of 16-bit constant

(0000_1111_1111_1111 )by AND; store result in ACCU 1-L.

JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)

OW OR Word :16-Bit

:٠أن جأل جظز

OW

OW Constant

١ACCU2 جىس جػح١س ضك ACCU1ق١ع ٠ط لر جأل ضك١ جىس جأل ف

:ػحي

L IW20 //Load contents of IW20 into ACCU 1-L.

L IW22 //Load contents of ACCU 1 into ACCU 2. Load contents of IW22 into ACCU

1-L.

OW //Combine bits from ACCU 1-L with ACCU 2-L by OR, store result in ACCU

1-L.

T MW8 //Transfer result to MW8

Page 36: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

36

ACCU1رحشز غ جل ٠ى جحضؽ ف ٠ORط ػ ٠ACCU1ط ذطك١ جىس جأل ف Constantغ غحذص ORف قحس ػ

:ػ ج٢ض

L IW20 //Load contents of IW 20 into ACCU 1-L.

OW W#16#0FFF //Combine bits of ACCU 1-L with bit pattern of 16-bit constant

(0000_1111_1111_1111 )by OR; store result in ACCU 1-L.

JP NEXT //Jump to NEXT jump label if result is unequal to zero (CC 1 = 1)

XOW Exclusive OR Word : 16-Bit

:٠أن جأل جظز

XOW

XOW Constant

ACCU2ضك١ جىس جػح١س ACCU1 ف ق١ع ٠ط لر جأل ضك١ جىس جأل

:ػحي

L IW20 //Load contents of IW20 into ACCU 1-L.

L IW22 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into ACCU 1-L.

XOW //Combine bits of ACCU 1-L with ACCU 2-L bits by XOR, store result in ACCU

1-L.

T MW8 //Transfer result to MW8

Page 37: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

37

رحشز غ جل ٠ى جحضؽ ف ٠XORط ػ ٠ACCU1ط ذطك١ جىس جأل ف Constantغ غحذص XORف قحس ػ

ACCU1 ػ ج٢ض:

L IW20 //Load contents of IW20 into ACCU 1-L.

XOW 16#0FFF //Combine bits of ACCU 1-L with bit pattern of 16-bit constant

(0000_1111_1111_1111 )by XOR, store result in ACCU 1-L.

JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)

AD AND Double Word : 32-Bit

ACCU1, ACCU2نحس أ و كط٠حش 32ى ػ ط AW ٠م ذؼ

:٠أن جأل جظز

AD

AD Constant

ACCU2ضك١ جىس جػح١س ACCU1ق١ع ٠ط لر جأل ضك١ جىس جأل ف

:ػحي

L ID20 //Load contents of ID20 into ACCU 1.

L ID24 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into ACCU

1.

AD //Combine bits from ACCU 1 with ACCU 2 by AND, store result in ACCU

1.

T MD8 //Transfer result to MD8

Page 38: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

38

ACCU1رحشز غ جل ٠ى جحضؽ ف ٠ADط ػ ٠ACCU1ط ذطك١ جىس جأل ف Constantغ غحذص ADف قحس ػ

:ػ ج٢ض

L ID 20 //Load contents of ID20 into ACCU 1.

AD DW#16#0FFF_EF21 //Combine bits of ACCU 1 with bit pattern of 32-bit constant

(0000_1111_1111_1111_1110_1111_0010_0001 )by AND; store result in

ACCU 1.

JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1)

OD OR Double Word : 32-Bit

:٠أن جأل جظز

OD

OD Constant

ACCU2ضك١ جىس جػح١س ACCU1ق١ع ٠ط لر جأل ضك١ جىس جأل ف

:ػحي

L ID20 //Load contents of ID20 into ACCU 1.

L ID24 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into

ACCU 1.

OD //Combine bits from ACCU 1 with ACCU 2 bits by OR; store result in

ACCU 1.

T MD8 //Transfer result to MD8

Page 39: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

39

ACCU1رحشز غ جل ٠ى جحضؽ ف ٠ODط ػ ٠ACCU1ط ذطك١ جىس جأل ف Constantغ غحذص ODف قحس ػ

:ػ ج٢ض

L ID20 //Load contents of ID20 into ACCU 1.

OD DW#16#0FFF_EF21 //Combine bits of ACCU 1 with bit pattern of 32-bit constant

(0000_1111_1111_1111_1110_1111_0010_0001 )by OR, store result in

ACCU 1.

JP NEXT //Jump to NEXT jump label if result is not equal to zero, (CC 1 =

1)

XOD Exclusive OR Double Word : 32-Bit

:٠أن جأل جظز

XOD

XOD Constant

ACCU2ضك١ جىس جػح١س ACCU1ق١ع ٠ط لر جأل ضك١ جىس جأل ف

:ػحي

L ID20 //Load contents of ID20 into ACCU 1.

L ID24 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into

ACCU 1.

XOD //Combine bits from ACCU 1 with ACCU 2 by XOR; store result in ACCU

1.

T MD8 //Transfer result to MD8

Page 40: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

40

رحشز غ جل ٠ى جحضؽ ف ٠XODط ػ ٠ACCU1ط ذطك١ جىس جأل ف Constantغ غحذص XODف قحس ػ

ACCU1 ػ ج٢ض:

L ID20 //Load contents of ID20 into ACCU 1.

XOD DW#16#0FFF_EF21 //Combine bits from ACCU 1 with bit pattern of 32-bit constant

(0000_1111_1111_1111_1111_1110_0010_0001 )by XOR, store result in

ACCU 1.

JP NEXT //Jump to NEXT jump label if result is unequal to zero, (CC 1 = 1

10-ى ل ج Conversion Instructions

: جؼ١حش ضىح ضك٠ جأللح ط١غس ئ أن جظ١غ جأل جط ضم ػ١ح و أجع جكحذحش

Integer numbers 16 bitsجأللح جظك١كس -

Double integers 32 bitsجأللح جظك١كس جؼحػفس جىلس -

Real numbersؼش٠س جأللح ج -

Binary coded decimal BCDجأللح جؼر ػح ذىو -

BTI BCD to Integer

:ئ ل طك١ف ػال 999, 000ألح ضطجـ ذ١ 3ى BCD ط١غس Accumulator-1ج جأل ٠م ذطك٠ كط٠حش

0000 - 0110 - 1000 - 1001: غ نححش و ل ٠ػ ذأذ ٠BCDى وح٢ض ف ظح 689جل

0000 - 0010 - 1011 - 0001: ٠ى وح٢ض Integerػى جطك٠ ئ جظ١غس

:ػحي

L MW10 //Load the BCD number into ACCU 1-L.

BTI //Convert from BCD to integer; store result in ACCU 1-L.

T MW20 //Transfer result (integer number) to MW20

Page 41: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

41

ITB Integer (16-Bit) to BCD

BCDج جأل ٠م ذحؼ١س جؼى١س ق١ع ٠كي جل جظز جظك١كس ئ جظز

:ػحي

L MW10 //Load the integer number into ACCU 1-L.

ITB //Convert from integer to BCD (16-bit); store result in ACCU 1-L.

T MW20 //Transfer result (BCD number) to MW20

BTD BCD to Integer-32 bits

Double integerئ جظ١غس BCDنحس ط١غس 32ج جأل ٠م ذطك٠ ل

:ؾرس أ حرس وح٢ض BCD :9,999,999ضى جم١س جمظ ل

1111-0000-0010-0011-0101-0110-0100-1000: ٠ى -235648جل

1000-0000-0000-0011-1001-1000-1000-0000: ػى ضك٠ ئ طك١ف

:ػحي

L MD10 //Load the BCD number into ACCU 1.

BTD //Convert from BCD to integer; store result in ACCU 1.

T MD20 //Transfer result (double integer number) to MD20

Page 42: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

42

ITD Integer - 16 Bit to Double Integer - 32-Bit

ئ 0000000000000000نحس يه ذاػحفس أطفح 32نحس ئ 16 طز جظك١ف Accumulator-1 ٠م ذطك٠ كط٠حش

Accumulator-1ف 31قط 16جهححش

32ئ جهحس 16م نحس جإلشحز جهحس

:ػحي

L MW12 //Load the integer number into ACCU 1.

ITD //Convert from integer (16-bit) to double integer (32-bit); store result in

ACCU 1.

T MD20 //Transfer result (double integer) to MD20

DTB Double Integer (32-Bit) to BCD

BCDنحس ئ جظز 32يجش ولس ؼحػفس ٠م ذطك٠ جأللح طك١كس

:ػحي

L MD10 //Load the 32-bit integer into ACCU 1.

DTB //Convert from integer (32-bit) to BCD, store result in ACCU 1.

T MD20 //Transfer result (BCD number) to MD20

Page 43: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

43

DTR Double Integer - 32-Bit to Floating-Point - 32-Bit

IEEE-FP

: جظ١غس جظك١كس ولس ؼحػفس ئ جظز جؼش٠س ذحشى ج٢ض Accumulator-1 ٠م ذطك٠ كط٠حش

x.ye+/-z/+-

جل أ zجػح١س ئشحز جأل -+/جؿء جؼش yف جؿء جظك١ف جل x جإلشحز جؼحس ل أح xلر -+/ق١ع

:ذؼى جنطظح جل ػال 10

-1.02455e+4: ضػ وح٢ض -10245.5

:ػحي

L MD10 //Load the 32-bit integer into ACCU 1.

DTR //Convert from double integer to floating point (32-bit IEEE FP); store result

in ACCU 1.

T MD20 //Transfer result (BCD number) to MD20

INVI Ones Complement Integer -16-Bit

Accumulator-1ئ جؼى جألقحو كط٠حش ضه٠ جط١ؿس ف Accumulator-1ج جأل ٠م ذطك٠ كط٠حش

:ػال 0ئ 1و 1ئ 0جؼى جألقحو ذى ذحؽس لد و

0100-1100-0011-1010: جل

1011-0011-1100-0101: ٠ى

:ػحي

L IW8 //Load value into ACCU 1-L.

INVI //Form ones complement 16-bit.

T MW10 //Transfer result to MW10

Page 44: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

44

INVD Ones Complement Double Integer -32-Bit

Double integerنحس 32 ػ جأل جحذك ضحح ى ػ ط

:ػحي

L ID8 //Load value into ACCU 1.

INVD //Form ones complement (32-bit.)

T MD10 //Transfer result to MD10

NEGI Twos Complement Integer -16-Bit

Accumulator-1ئ جؼى جػحت ل ضه٠ جكط٠حش ف Accumulator-1 ٠م ذطك٠ كط٠حش

1+ ذحؽس جؼى جألقحو جؼى جػحت ذى

1010-0001-1001-1011: ػال جل

0101-1110-0110-0100: جألقحو

0101-1110-0110-0101: جػحت

:ػحي

L IW8 //Load value into ACCU 1-L.

NEGI //Form twos complement 16-bit.

T MW10 //Transfer result to MW10

Page 45: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

45

NEGD Twos Complement Double Integer -32-Bit

نحس ل طك١ف ولس ؼحػفس 32 ف جأل جحذك ى ػ ط

NEGR Negate Floating-Point Number -32-Bit, IEEE-FP

جؼى -ضى + ئيج وحص ( ي جؼالس جؼش٠س ) ف ج جأل ٠م ذؼى ئشحز جل جؼش

:ػحي

L ID8 //Load value into ACCU 1 example: ID 8 = 1.5E+02

NEGR //Negate floating-point number (32-bit, IEEE-FP); stores the result in ACCU

1.

T MD10 //Transfer result to MD10 example: result = -1.5E+02

جطىحي 11-جى لConversion Instructions

CAW Change Byte Sequence in ACCU 1-L 16-Bit

) ٠طى ػىو وط١ ػ١ح ف Accumulator-1جىس جأل ق١ع أ Accumulator-1ج جأل ٠م ذطرى٠ ػغ ضض١د نححش

High and Low ) و وس ذح ؿػط١Bytes ػ١ح ف ئيج ظح ئAccumulator-1 4ذج جف ف ٠طى Bytes

:٠ى ضض١رح وح٢ض

ACCU1-H-H , ACCU1-H-L , ACCU1-L-H , ACCU1-L-L

bitsنححش 8و ؿػس ضطى

:وح ػال ACCU1-H-H , ACCU1-H-Lغ جإلذمحء ػ ACCU1-L-H , ACCU1-L-Lج جأل ٠م ذطرى٠

:ضى CAWذؼى جظطؼحي 1101-0010-0000-1010

1101-0010-1010-0000

Page 46: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

46

:ػحي

L MW10 //Load the value of MW10 into ACCU 1.

CAW //Reverse the sequence of bytes in ACCU 1-L.

T MW20 //Transfer the result to MW20

CAD Change Byte Sequence in ACCU 1 32-Bit

:وح٢ض Words , Bytesػ ط Accumulator-1ج جأل ٠م ٠طرى٠ ضض١د

:ئيج وح جطض١د جألط

ACCU1-H-H , ACCU1-H-L , ACCU1-L-H , ACCU1-L-L ٠ى جطض١د ذؼىCAD

ACCU1-L-L , ACCU1-L-H , ACCU1-H-L , ACCU1-H-H

: Accumulator-1ػال ئيج وحص كط٠حش

:وح٢ض CADضى ذؼى جطؼحي 0010-1111-1011-0001

0001-1011-1111-0010

:ػحي

L MD10 //Load the value of MD10 into ACCU 1.

CAD //Reverse the sequence of bytes in ACCU 1.

T MD20 //Transfer the results to MD20

RND Round

ى ف ظف جحفس ذ١ ل ػش ٠م ذطك٠ كط٠حض ئ ألخ ل طك١ف ئيج وح ج Accumulator-1ج جأل ٠ؼطر كط٠حش

ل١ فو ؾ فا جطم٠د ٠ى ل جؾ

-٠100ط ضم٠ر ئ -100.5جل ٠100ط ضم٠ر ئ 100.5: ػال جل

Page 47: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

47

:ػحي

L MD10 //Load the floating-point number into ACCU 1-L.

RND //Convert the floating-point number (32-bit, IEEE-FP) into an integer (32-bit)

and round off the result.

T MD20 //Transfer result (double integer number) to MD20

TRUNC Truncate

٠ظرف 100.7نحس يه ذكف جى ضحح ػال جل 32نحس ئ ل طك١ف ولس ؼحػفس 32ج جأل ٠م ذطك٠ جأللح جؼش٠س ولس

-٠150ظرف -150.9جل 100

:ػحي

L MD10 //Load the floating-point number into ACCU 1-L.

TRUNC

//Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit)

and round result. Store the result in ACCU 1.

T MD20 //Transfer result (double integer number) to MD20

RND+ Round to Upper Double Integer

ل ػش ٠م ذطم٠د جكط٠حش ئ أطغ ل طك١ف أور أ ٠ح جل جؼش Accumulator-1ج جأل ٠ؼطر كط٠حش

Accumulator-1ضه٠ ضه جكط٠حش ف

-٠141ى -141.7جل ٠141ى 140.5جل : ػال

Page 48: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

48

:ػحي

L MD10 //Load the floating-point number (32-bit, IEEE-FP) into ACCU 1-L.

RND+ //Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit)

and round result. Store output in ACCU 1.

T MD20 //Transfer result (double integer number) to MD20

RND- Round to Lower Double Integer

ل ػش ٠م ذطك٠ح ئ أور ل طك١ف أطغ أ ٠ح جل جؼش Accumulator-1ج جأل أ٠ؼح ٠ؼطر كط٠حش

Accumulator-1ضه٠ جحضؽ ف

-٠141ى -140.3جل ٠120ى 120.4ػال جل

:ػحي

L MD10 //Load the floating-point number into ACCU 1-L.

RND- //Convert the floating-point number (32-bit, IEEE-FP) to an integer (32-bit)

and round result. Store result in ACCU 1.

T MD20 //Transfer result (double integer number) to MD20

Page 49: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

49

12جى ل – Comparison instructions

Comparison instructionsجمحس

:ذح ٠طحد غ جط١ؿس وح ٠ ف جشـ جطح RLOضغ١١ ACCU1 , ACCU2 جألج وح ضمح كط٠حش

:٠ط جطؼحي جؼالحش ج٢ض١س محس وح٢ض

Comparison signsػالحش جمحس

==ACCU1 is equal to ACCU2

<>ACCU1 is not equal to ACCU2

<ACCU1 is greater than ACCU2

>ACCU1 is less than ACCU2

< =ACCU1 is greater than or equal to ACCU2

> =ACCU1 is less than or equal to ACCU2

:وح٢ض I , D , R ػ ؽ٠ك قف ٠ىطد ذؼى ػالس جمحس وه ٠ط ضكى٠ى ع جمحس ق١ع ولس جل

I Compare Integer 16-Bit

D Compare Double Integer 32-Bit

R Compare Floating-Point Number 32-Bit

Page 50: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

50

نحس 16محس جأللح جظك١كس يجش جىلس

Compare Integer 16-Bit - ? I

Format

==I, <>I, >I, <I, >=I, <=I

ؽرمح ط١ؿس RLOنحس ضغ١١ 16ف طز ل طك١ف ACCU1 , ACCU2ح ضط محس كط٠حش

:ػحي

L MW10 //Load contents of MW10 (16-bit integer.)

L IW24 //Load contents of IW24 (16-bit integer.)

<I //Compare if ACCU 2-L (MW10) is greater (>) than ACCU 1- L (IW24.)

=M 2.0 //RLO = 1 if MW10 > IW24

:ضطغ١ وح٢ض RLOغ القظس أ كط٠حش

RLO - 1ئيج ضكمك جشؽ جطخ ضى كط٠حش

RLO - 0ئيج ٠طكمك جشؽ ضى كط٠حش

أ٠ح وحص جؼاللس جشؽ

Page 51: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

51

نحس 32ؼحػفس محس جأللح جظك١كس يجش جىلس ج

Compare Double Integer 32-Bit

Format

==D, <>D, >D, <D, >=D, <=D

ؽرمح ط١ؿس RLOنحس ضغ١١ 32ف طز ل طك١ف ي ولس ؼحػفس ACCU1 , ACCU2ح ضط محس كط٠حش

:ػحي

L MD10 //Load contents of MD10 (double integer, 32 bits.)

L ID24 //Load contents of ID24 (double integer, 32 bits.)

<D //Compare if ACCU 2 (MD10) is greater (>) than ACCU 1 (ID24.)

=M 2.0 //RLO = 1 if MD10 > ID24

نحس 32محس جأللح جؼش٠س يجش جىلس

Compare Floating-Point Number 32-Bit

Format

==R, <>R, >R, <R, >=R, <=R

ؽرمح ط١ؿس RLOنحس ضغ١١ 32ف طز ل ػش ي ولس ACCU1 , ACCU2ح ضط محس كط٠حش

Page 52: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

52

:ػحي

L MD10 //Load contents of MD10 (floating-point number.)

L 1.359E+02 //Load the constant 1.359E+02.

<R //Compare if ACCU 2 (MD10) is greater (>) than ACCU 1 (1.359-E+02.)

=M 2.0 //RLO = 1 if MD10 > 1.359E+02

( 6-جطىحي جى ل ) 13-جى لBit logic operations

جط أشح ئ١ح أقى جالء لطح 6-ج٢ لى آ جألج طى ح وح لى ضوح ػ١حش طم١س ف جى ل

Nested operationsجؼ١حش جطىجنس :أال

ن ف١ص و جؼ١حش ضط١ ضج طك أ ضط١ ضج طك ئح ف ؼظ جألق١ح حن ضىجن ذ١ جؼ١حش ٠طىػ جهؾ ذ١ ج يج

:ػ جػحي جطح

جؼ١حش أح١ط١ رىأ ذو ORذ١ ػ١ط ANDفف جػحي جحذك حن ػ١س

O And before Or

O: جظ١غس جؼحس ح

:حذمس ٠طؼف ج جػح جطح ANDingػ طحتؽ ػ١حش ORingف ٠ط ػ

Page 53: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

53

A( And with Nesting Open

)A: جظ١غس جؼحس ح

:ي جطح حذمس ػ جػح ORingطحتؽ ػ١حش ANDingج جأل ٠م ذؼ

AN( And Not with Nesting Open

ضحح ػ ح ٠) Aج جأل ف جطفظ١الش جهحطس خ

O( Or with Nesting Open

ON( Or Not with Nesting Open

X( Exclusive Or with Nesting Open

XN( Exclusive Or Not with Nesting Open

:ضىجن ف١ ل فطـ ػ أ غس ذؿس ذغك ج جم ذحأل جطح ٠ط ف جح٠س غك أ

)Nesting Closed

ئال فف ٠ؼط جرحؽ ) ح٠ح ؼىو جش جغك ( الذى أ ٠ى ػىو جش جفطك ٠7ؿد القظس أ ألظ ػىو ضىجن جأللج

نطأ ف جطف١

:حفس ئشحز ف جأل ظ أال ئ جظز ؼف ح جمظو ذكحفس جإلشحز ج٢ ئ أج جوطشحف ق

Page 54: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

54

ض 0ئ 1أ جكحفس جؾرس جػح١س ػى جالطمحي Positive edgeض 1ئ 0فح ػىح جكحفس جأل ػى جالطمحي

Negative egde ج جطغ١ وح٢ض جكحفس جحرس حن أ الوطشحف:

FN Edge Negative

: الوطشحف جكحفس جحرس ى ف جألوجء جظ١ف غ جطف١ جػحي جطح ػ و١ف١س جطف١

١ أ قد ؽي وز ضف Impulse القظس ج جػحي فا جهؼ ٠ى ؾو ىز ضف١ رحؽ فمؾ ذج ٠ى ضم٠رح ف شى

جرحؽ

FP Edge Positive

: الوطشحف جكحفس جؾرس ى ف جألوجء جظ١ف غ جطف١ جػحي جطح ػ و١ف١س جطف١

ضؼ١حش جؼىجوجش : 14جى لCounter instructions

جط ضط ػ جؼىجوش ئح جؼى ألػ أ جؼى أ جؼىجوجش ذظز ٠ؼس فا جؼ١حش Countersج٢ طؼف ؼح و١ف طؼح غ

أ ػرؾ ل١س جؼىجو ػ ل١س ؼ١س أ ضظف١ جؼىجو ف Binaryأ BCDألف أ ضك١ جم١س جط ط ئ١ح جؼىجو ئح ف شى

:طؼع يه ذحطفظ١ ف جألط جم١س جطح١س

FR Enable Counter

ضشغ١ جؼىجو ػى ضكمك جشؽ ج ٠رم ١ جمظو ح ذىء جؼى ئح ٠ى جؼىجو ؾح أل جؼ١حش جط ٠ؼ جرىء ف

ضط ػ١

:ػحي

A I 2.0 //Check signal state at input I 2.0

FR C3 //Enable counter C3 when RLO transitions from 0 to 1

L Load Current Counter Value into ACCU 1

ACCU2ذحىح ئ ACCU1ذؼى أ ٠ط م كط٠حش ACCU1-Lأ ضك١ كط٠حش جؼىجو جكح١س وجن

:ػحي

L C3 //Load ACCU 1-L with the count value of counter C3 in binary format

Page 55: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

55

ACCU1جشى جطح ٠ػف و١ف١س م جر١ححش جؼىجو ئ

LC Load Current Counter Value into ACCU 1 as BCD

BCDف شى ACCU1 ٠م ذف ػ جأل جحذك ى ٠م جر١ححش جؼىجو جشح ئ١ ئ

:ػحي

LC C3 //Load ACCU 1-L with the count value of counter C3 in binary coded decimal

format

Page 56: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

56

BCDف شى ACCU1ئ C3 ٠ػف و١ف١س م جر١ححش جؼىجو جشى جطح

R Reset Counter

وجن جؼىجو جشح ئ١ ػى ضكمك جشؽ جطخ" 0" ٠م ذطك١

:ػحي

A I 2.3 //Check signal state at input I 2.3

R C3 //Reset counter C3 to a value of 0 if RLO transitions from 0 to 1

Page 57: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

57

S Set Counter Preset Value

ػى ضكمك جشؽ جطخ BCDذك١ع ضى ف طز ٠ACCU1-Lم ذطك١ جؼىجو ذم١س ؼى

A I 2.3 //Check signal state at input I 2.3

L C#3 //Load count value 3 into ACCU 1-L

S C1 //Set counter C1 to count value if RLO transitions from 0 to 1

CU Counter Up

ف جؼىجو ال ٠ؾى أ " 999" ػى جطي ئ جل " 999" ػى ضكمك جشؽ ؽحح أ ل١س جؼىجو أل " 1" أ ٠حوز ل١س جؼىجو

Statusػ نححش جلرس طحتؽ جؼ١حش OV - Overflowػ نحس " 1" ضأغ١ ج جإلؾجء ٠طلف جؼىجو ػ جؼى ألػ غ نؼ

bit register

:ػحي

A I 2.1 //If there is a positive edge change at input I 2.1

CU C3 //Counter C3 is incremented by 1 when RL0 transitions from 0 to 1

CD Counter Down

فايج طص ل١س جؼىجو ئ جظف " 0" ك جشؽ جطخ ؽحح ل١س جؼىجو أور ػى ضكم" 1" ٠م ذامحص كط٠حش جؼىجو

فا جؼىجو ٠طلف ػ جمظح ال ٠ؼى أذىج ل١ حرس

:ػحي

L C#14 //Counter preset value

A I 0.1 //Preset counter after detection of rising edge of I 0.1

S C1 //Load counter 1 preset if enabled

A I 0.0 //One count down per rising edge of I 0.0

CD C1 //Decrement counter C1 by 1 when RL0 transitions from 0 to 1 depending on input

I 0.0

AN C1 //Zero detection using the C1 bit

Q 0.0 //Q 0.0 = 1 if counter 1 value is zero

Page 58: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

58

ضؼ١حش جطكى جطم : 15 جى لLogic Control Instructions

وح جضفمح حذمح فا ضض١د ضف١ جرحؽ ٠ى ذحططحذغ ؽرمح ىطحذس أ ذحطض١د ح ٠ى حن ضؾ١ شؽ رحؽ

ط١ؿس شؽ ؼ١ ١ط ضؾ١ ١ف شة ؼ١ ح طكىظ ػ ح ق١ع ٠كىظ لطغ ط جطر١ؼ رحؽ ذحء ػ

جطف١ ئ ىح آن ٠ط ضكى٠ى ػ ؽ٠ك ػج ج جىح جؿى٠ى ج ٠د ئ١

ى Labelف جكط١ ٠ط جطهىج جؼج ج ٠ط جحخ ئ١ ػ ؽ٠ك Jump Loopح ى٠ح ػ١طح ح

أ ضرىأ ذكف ٠ؼطى جألج ػ ط١ؿس جؼ١س جطم١س جحذمس ؿػس جكف جأللح ػىوح أذؼس ػ

ف١ح ٠ جطفحط١ RLOطف١

JU Jump Unconditional

Format

JU jump label

jump label : Symbolic name of jump destination

و جظ ئ ط١ؿس أ ػ١س طم١س labelئ ىح ف جؼ١س ٠ط لطغ جط جطر١ؼ طف١ جرحؽ جالطمحي

blockف ف JU labelغ القظس ػز ؾو جأل

:ػحي

A I 1.0

A I 1.2

JC DELE //Jump if RLO=1 to jump label DELEL MB10

INC 1

T MB10

JU FORW //Jump unconditionally to jump label FORW

DELE: L 0

T MB10

Page 59: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

59

FORW: A I 2.1 //Program scan resumes here after jump to jump label FORW

JL Jump to Labels

Format

JL jump label

jump label Symbolic name of jump destination.

ط١ؿس ػ١س ج ٠كىو 256 0ق١ع ٠ط ضكى٠ى ل١س ل ذ١ multiple jump ح ٠طك ػ١ جغد جطؼىو

٠ط ضكى٠ى ؾس جغد ػى وطحذس ج جأل فا ٠ط وطحذط ػ ACCU1-L-L Byteجغد ق١ع أ ذحء ػ كط٠حش

طرػح JUىح ج ٠ط جالطمحي ئ١ ٠ى جط جطح labelطرػح ذ JLػىز ط جط جألي ٠ى

طرػح ذ جىح ج ٠جو JUذظف جػحع ACCU1-L-Lئ١ ف قحس كط٠حش ذ جىح ج ٠ط جالطمحي

1ىج قط ٠ى جط جألن١ أل جكى جأللظ كط٠حش جالفطجػ١س خ 1جالطمحي ئ١ ئيج وحص جؿط٠حش

:ف ٠ػف جػحي جطح أوػ

L MB0 //Load jump destination number into ACCU 1-L-L

JL LSTX //Jump destination if ACCU 1-L-L > 3

JU SEG0 //Jump destination if ACCU 1-L-L = 0

JU SEG1 //Jump destination if ACCU 1-L-L = 1

JU COMM //Jump destination if ACCU 1-L-L = 2

JU SEG3 //Jump destination if ACCU 1-L-L = 3

LSTX: JU COMM

SEG0: * //Permitted instruction

*

JU COMM

SEG1: * //Permitted instruction

*

JU COMM

SEG3: * //Permitted instruction

Page 60: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

60

*

JU COMM

COMM: * //Permitted instruction

*

JC Jump if RLO = 1

Format

JC jump label

jump label Symbolic name of jump destination

٠ؿ أ ٠ى جالطمحي ئ ٠labelط جالطمحي ئ جىح جكىو خ 1فايج وحص RLOف ج جأل ذحء ػ ط١ؿس

blockىح حذك أ ىح ضح ذشؽ ج ٠ى جالطمحي وجن ف

:ػحي

A I 1.0

A I 1.2

JC JOVR //Jump if RLO=1 to jump label JOVR

L IW8 //Program scan continues here if jump is not executed

T MW22

JOVR: A I 2.1 //Program scan resumes here after jump to jump label JOVR

JCN Jump if RLO = 0

Format

JCN jump label

jump label Symbolic name of jump destination

Page 61: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

61

ف جطفحش جأل جحذك 1ذظف ١ RLOف ج جأل ٠ط جالطمحي ف قحس ط١ؿس

:ػحي

A I 1.0

A I 1.2

JCN JOVR //Jump if RLO = 0 to jump label JOVR

L IW8 //Program scan continues here if jump is not executed

T MW22

JOVR: A I 2.1 //Program scan resumes here after jump to jump label JOVR

JCB Jump if RLO = 1 with BR

Format

JCB jump label

jump label Symbolic name of jump destination

1جء طف أ RLOذم١س BRbitضحح غ ػرؾ JCف جكحس جأل ػ أ

Page 62: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

62

:ػحي

A I 1.0

A I 1.2

JCB JOVR //Jump if RLO = 1 to jump label JOVR. Copy the contents of the RLO bit into the BR bit

L IW8 //Program scan continues here if jump is not executed

T MW22

JOVR: A I 2.1 //Program scan resumes here after jump to jump label JOVR

JNB Jump if RLO = 0 with BR

Format

JNB jump label

jump label Symbolic name of jump destination

:ػحي

A I 1.0

A I 1.2

JNB JOVR //Jump if RLO = 0 to jump label JOVR. Copy RLO bit contents into the BR bit

L IW8 //Program scan continues here if jump is not executed

T MW22

JOVR: A I 2.1 //Program scan resumes here after jump to jump label JOVR

Page 63: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

63

جطىحي ضؼ١حش جطكى جطم 16- ل جىLogic Control Instructions

JBI Jump if BR = 1

Format

JBI jump label

jump label Symbolic name of jump destination

Status register wordف BRذحء ػ ضغ١ ل١س labelج جأل الطمحي ئ ىح ؼ١ ف جرحؽ كىو ذح

JNBI Jump if BR = 0

Format

JNBI jump label

jump label Symbolic name of jump destination

Description

0ئ BRف قحس ضغ١ نحس label الطمحي ئ ىح ف جرحؽ كىو ذح

JO Jump if OV = 1

Format

JO jump label

jump label Symbolic name of jump destination

Page 64: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

64

1ئ ( Overflowأ ) OVف قحس ضغ١ نحس label الطمحي ئ ىح ف جرحؽ كىو ذح

:ػحي

L MW10

L 3

*I //Multiply contents of MW10 by "3"

JO OVER //Jump if result exceeds maximum range OV=1

T MW10 //Program scan continues here if jump is not executed

A M 4.0

R M 4.0

JU NEXT

OVER: AN M 4.0 //Program scan resumes here after jump to jump label OVER

S M 4.0

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

JOS Jump if OS = 1

Format

JOS jump label

jump label Symbolic name of jump destination

Page 65: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

65

1ئ OSف قحس جهحس label جالطمحي ئ جىح جكىو ذح

:ػحي

L IW10

L MW12

*I

L DBW25

+I

L MW14

-I

JOS OVER //Jump if overflow in one of the three instructions during

calculation OS=1

See Note

T MW16 //Program scan continues here if jump is not executed

A M 4.0

R M 4.0

JU NEXT

OVER: AN M 4.0 //Program scan resumes here after jump to jump label OVER

S M 4.0

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

Note

In this case do not use the JO instruction. The JO instruction would only check the

previous -I instruction if an overflow occurred

Page 66: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

66

جطىحي ضؼ١حش جطكى جطم 17-جى لLogic Control Instructions

JZ Jump if Zero

Format

JZ jump label

jump label : Symbolic name of jump destination

٠labelط جالطمحي ئ جػغ جكىو ذح CC 1 = 0 CC 0 = 0ف قحس

:ػحي

L MW10

SRW 1

JZ ZERO //Jump to jump label ZERO if bit that has been shifted out = 0

L MW2 //Program scan continues here if jump is not executed

INC 1

T MW2

JU NEXT

ZERO: L MW4 //Program scan resumes here after jump to jump label ZERO

INC 1

T MW4

NEXT: NOP 0 //Program scan resumes here after jump to jump label

NEXT

JN Jump if Not Zero

Format

JN jump label

jump label : Symbolic name of jump destination

Page 67: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

67

labelئيج ضكمك جشؽ جطح ٠ط جالطمحي ئ جىح جكىو ذح

(CC 1=0/CC 0=1 or CC 1=1/CC 0=0)

:ػحي

L IW8

L MW12

XOW

JN NOZE //Jump if the contents of ACCU 1-L are not equal to zero

AN M 4.0 //Program scan continues here if jump is not executed

S M 4.0

JU NEXT

NOZE: AN M 4.1 //Program scan resumes here after jump to jump label NOZE

S M 4.1

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

JP Jump if Plus

Format

JP jump label

jump label : Symbolic name of jump destination

٠labelط جالطمحي ئ جىح جكىو ذح CC 1 = 1 and CC 0 = 0ط١ؿس آن ػ١س أور جظف أ ف قحس

:ػحي

L IW8

L MW12

-I //Subtract contents of MW12 from contents of IW8

JP POS //Jump if result >0 that is, ACCU 1 > 0

AN M 4.0 //Program scan continues here if jump is not executed

S M 4.0

Page 68: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

68

JU NEXT

POS: AN M 4.1 //Program scan resumes here after jump to jump label POS

S M 4.1

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

JM Jump if Minus

Format

JM jump label

jump label : Symbolic name of jump destination

٠labelط جالطمحي ئ جىح جكىو ذح CC 1 = 0 and CC 0 = 1ف قحس ط١ؿس آن ػ١س أل جظف أ

:ػحي

L IW8

L MW12

-I //Subtract contents of MW12 from contents of IW8

JM NEG //Jump if result < 0 that is, contents of ACCU 1 < 0

AN M 4.0 //Program scan continues here if jump is not executed

S M 4.0

JU NEXT

NEG: AN M 4.1 //Program scan resumes here after jump to jump label NEG

S M 4.1

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

Page 69: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

69

JPZ Jump if Plus or Zero

Format

JPZ jump label

jump label : Symbolic name of jump destination

ف قحس ط١ؿس آن ػ١س أور أ ضح جظف أ

(CC 1=0/CC 0=0 or CC 1=1/CC 0=0 ) ٠ط جالطمحي ئ جىح جكىو ذحlabel

:ػحي

L IW8

L MW12

-I //Subtract contents of MW12 from contents of IW8

JPZ REG0 //Jump if result >=0 that is, contents of ACCU 1 >= 0

AN M 4.0 //Program scan continues here if jump is not executed

S M 4.0

JU NEXT

REG0: AN M 4.1 //Program scan resumes here after jump to jump label

REG0

S M 4.1

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

Page 70: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

70

JMZ Jump if Minus or Zero

Format

JMZ jump label

jump label : Symbolic name of jump destination

٠ط جالطمحي ئ جىح جكىو CC 1=0/CC 0=0 or CC 1=0/CC 0=1ف قحس جط١ؿس أل أ ٠ح جظف أ

labelذح

:ػحي

L IW8

L MW12

-I //Subtract contents of MW12 from contents of IW8

JMZ RGE0 //Jump if result <=0 that is, contents of ACCU 1 <= 0

AN M 4.0 //Program scan continues here if jump is not executed

S M 4.0

JU NEXT

RGE0: AN M 4.1 //Program scan resumes here after jump to jump label RGE0

S M 4.1

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

JUO Jump if Unordered

Format

JUO jump label

jump label : Symbolic name of jump destination

Page 71: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

71

:ج ٠طكمك ف أ جكحالش ج٢ض١س CC 1 = 1 and CC 0 = 1ف قحس جط١ؿس غ١ كىوز أ

ػى جمس ػ طف -

(طؼح غ جكحذحش ) ػى جطؼحي أ ذشى نحؽة -

Formatػى محس جأللح جؼش٠س ف قحس ؾو نطأ ف جط١ك -

labelجكىو ذح ػىح ٠ط جالطمحي ئ جىح

L MD10

L ID2

/D //Divide contents of MD10 by contents of ID2

JUO ERRO //Jump if division by zero that is, ID2 = 0

T MD14 //Program scan continues here if jump is not executed

A M 4.0

R M 4.0

JU NEXT

ERRO: AN M 4.0 //Program scan resumes here after jump to jump label ERRO

S M 4.0

NEXT: NOP 0 //Program scan resumes here after jump to jump label NEXT

LOOP Loop

Format

LOOP jump label

jump label : Symbolic name of jump destination

أور جظف ف و ز ٠ط ضم١ كط٠حش ACCU1-Lش ؽحح كط٠ح ٠labelط جالطمحي ئ جىح جكىو ذح

ACCU1-L 1ذمىج

Page 72: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

72

:ػحي

Example for calculating the factor of 5

L L#1 //Load the integer constant (32 bit) into ACCU 1

T MD20 //Transfer the contents from ACCU 1 into MD20 :initialization

L 5 //Load number of loop cycles into ACCU 1-L

NEXT: T MW10 //Jump label = loop start / transfer ACCU 1-L to loop counter

L MD20

*D //Multiply current contents of MD20 by the current contents of MB10T

MD20 //Transfer the multiplication result to MD20

L MW10 //Load contents of loop counter into ACCU 1

LOOP NEXT //Decrement the contents of ACCU 1 and jump to the NEXT jump label if

ACCU 1-L > 0

L MW24 //Program scan resumes here after loop is finished

L 200

<I

ضؼ١حش جطكى ف جرحؽProgram control instructions

جطؼ١حش جط ف طؼع ح ضطؼك غحرح ذحطىػحء ظحتف ؼ١س أ ئحء ؾء ؼ١ جرحؽ ف

ؼع ح ذحطفظ١ أج أج

BE Block End

أ أ FBأ FCأ OBل١ى جطف١ جء وح Blockء ف جىطحذس ذرحؽس ٠م ذاح BEج جأل ٠أن جظ١غس

فا ج ٠ؼ ذىء جطف١ OB1ع ٠طم رحشز ئ جأل جطح ف ضض١د ضشغ١ جرحؽ وح ج ػال ف

ز أن ػى جطىحي جطف١ ذشى ض Blockأي

Page 73: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

73

:ػحي

A I 1.0

JC NEXT //Jump to NEXT jump label if RLO = 1 , I 1.0 = 1

L IW4 //Continue here if no jump is executed

T IW10

A I 6.0

A I 6.1

S M 12.0

BE //Block end

NEXT: NOP 0

//Continue here if jump is executed

BEC Block End Conditional

أح ف قحس ػى ضكمك RLO=1ضكمك جشؽ جحذك أ ضى ج جأل ػ جحذك ضحح ػىج أ ال ٠ط ضف١ ئال ئيج

فا ال ٠ط جطف١ BECػى جرحؽ ػ جأل RLO=0جشؽ

:ػحي

A I 1.0 //Update RLO

BEC //End block if RLO = 1

L IW4 //Continue here if BEC is not executed, RLO = 0

T MW10

BEU Block End Unconditional

RLOو جالػطحو ػ شؽ أ ط١ؿس Blockق١ع ٠م ذاحء BEال أؾى فق ذ١ ذ١

CALL Block Call

Format

CALL : logic block identifier

Page 74: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

74

:٠ى أ ٠ى logic block identifierق١ع أ

FC : Function --> CALL FCn

SFC : System function --> CALL SFCn

FB : Function block --> CALL FBn1,DBn2

SFB : System function block --> CALL SFBn1,DBn2

جء ذلح أ ذحح ج غ جػغ ف جالػطرح ؾخ ئوجؼ FC,FB,SFC,SFBج جأل ٠طهى الطىػحء

جأل ف جألط جحذمس ٠م وح جػف ف ؽ٠مس وطحذس FB , SFBجظحقد ى Data Block DBل

جطخ و أ جػطرح كط٠حض ذؼى جطح جطف١ ٠ؼو جرحؽ ئ جط FC,FB,SFC,SFBذم ضف١ جرحؽ ئ

ف جط جطر١ؼ رحؽ Callج ٠ أ

ؾوز ذحفؼ أ ٠ط ئشحؤح أ ئوجؾح لر وه ٠ؿد جػغ ف جالػطرح أ ج جأل ٠طؼ الطىػحء وجي

نطأ ف ضف١ ججرحؽ CPUجالطىػحء قط ال ضؼط

جأل جحس ؾىج ػى جطىػحء أ وجس ظ١ف١س جألجع جألذؼس ػ١س ض٠ جطغ١جش ئ جىجس جظ١ف١س ف

Passing parametersقحس ؾوح

:ػس ج٢ض١س ف ٠طؼف يه جأل

Example : Assigning parameters to the FC6 call

CALL FC6

Formal parameter Actual parameter

NO OF TOOL := MW100

TIME OUT := MW110

FOUND := Q 0.1

ERROR := Q 100.0

Page 75: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

75

ح جم١ جكىوز طغ١جش أ أح ج جألق ف ئ FBق١ع أ جطغ١جش ذح جألق ح ٠ط ض١ط وجن

جؼج ج ٠كط ػ ضه جم١ جطذس طف١

Example : Calling FB99 with instance data block DB1

CALL FB99,DB1

Formal parameter Actual parameter

MAX_RPM := #RPM1_MAX

MIN_RPM := #RPM1

MAX_POWER := #POWER1

MAX_TEMP := #TEMP1

ضحذغ ضؼ١حش جطكى ف جرحؽ : ػعProgram control instructions

ج٢ ف طى ح رك ضؼ١حش جطكى ف جرحؽ

Call FB

Format

CALL FB n1, DB n1

addressج جط ض ػح ػ ؽ٠ك طحغ جرحؽ ٠ط جالطىػحء وؼ FBج جأل ٠طهى الطىػحء جىجي جظ١ف١س

جظحقد ح ٠ى ضف١ جىجس جظ١ف١س ذف Data block DBكط٠حضح ٠ؿد ح ضكى٠ى RLOفمؾ و جظ ط١ؿس

جشى جط ق١ع ٠ جذحؽ ذؼى ضف١ح ئ ح ذؼىح ف ض جرحؽ جطر١ؼ ٠ى جطىػحء جىجس ذحح أ

Symbol ذح ئيج ض ئػطحؤح

ض٠ جر١ححش ئ جىجس جظ١ف١سPassing parameters

ق١ع أ ى وجس طغ١جش ف١ؿد ػى جطىػحء جىجس أ ٠ط ضكى٠ى ظحو جىنالش ح ؾس جهؾحش ح ػ

:جػحي ج٢ض

CALL FB99,DB1

Formal parameter Actual parameter

MAX_RPM := #RPM1_MAX

MIN_RPM := #RPM1

MAX_POWER := #POWER1

MAX_TEMP := #TEMP1

Page 76: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

76

:ػحي آن

CALL FB99,DB2

Formal parameter Actual parameter

MAX_RPM := #RPM2_MAX

MIN_RPM := #RPM2

MAX_POWER := #POWER2

MAX_TEMP := #TEMP2

Call FC

Format

CALL FC n

ذؼى ضف١ح ٠ط جطىحي RLOو جظ ئ كط٠حضح أ ط١ؿس FC جع ج جأل ٠طهى الطىػحء وجس ظ١ف١س

ضف١ جرحؽ ذشى جط جطر١ؼ وه ٠ى جطىػحؤح ذحح أ ذح

ض٠ جر١ححش ئ جىجس جظ١ف١سPassing parameter

ضكى٠ى ظحو جىنالش ح ؾس جهؾحش ح ػ ق١ع أ ى وجس طغ١جش ف١ؿد ػى جطىػحء جىجس أ ٠ط

:جػحي ج٢ض

CALL FC6

Formal parameter Actual parameter

NO OF TOOL := MW100

TIME OUT := MW110

FOUND := Q0.1

ERROR := Q100.0

Page 77: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

77

Call SFB

Format

CALL SFB n1, DB n2

standard function blocks (SFBs) supplied byف١س جهحطس ١ ج جأل ٠طهى الطىػحء جىجي جظ١

Siemens ٠ؿد أ٠ؼح ضكى٠ىData block جظحقد ىجس ٠طرك ػ١ح ح ٠طرك ػ جطؼ١حش جحذمس وه ض٠

جر١ححش

:ػحي

CALL SFB4,DB4

Formal parameter Actual parameter

IN: I0.1

PT: T#20s

Q: M0.0

ET: MW10

Call SFC

Format

CALL SFC n

و standard functions (SFCs) supplied by Siemensج جأل الطىػحء وجس ظ١ف١س ئطحؼ ١ جع

ح ٠طؽ ػح ٠طرك ػ١ح ح رك ل ذحرس ألجع جألن جىجي جظ١ف١س RLOجظ كطجح أ ط١ؿس

وه ض٠ جر١ححش

:ػحي

CALL SFC43 //Call SFC43 to re-trigger watchdog timer - no parameters

Page 78: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

78

جؼ١حش جكحذ١س ػ جأللح جظك١كس: ػع

ج٢ وػح طؼع ؼ١حش جكحذ١س جط ضط ػ جأللح جظك١كس

Integer math instructions

S7لح جظك١كس وح رك أ أوح يه ف أجع جر١ححش جطغ١جش جل١س جطهىس ف حن ػح جأل

Double or Longنحس ض 32جأللح جظك١كس يجش جىلس Integersنحس 16ح جأللح جظك١كس يجش جىلس

Integers

:طح ٠ر١ يه ٠ى جطهىج ضه جهححش ف وطي جرحؽ ذحؼ١حش جكحذ١س فحؿىي ج Status wordأح ػ ضأغ

Add ACCU 1 and ACCU 2 as Integer -16-Bit : +I

ACCU1-Lػغ جط١ؿس ف ACCU2-Lئ كط٠حش ACCU1-Lئػحفس كط٠حش

ؽرمح كحس جط١ؿس وح ف جؿىي جحذك Status wordضطغ١ قحس

:ػحي

L IW10

//Load the value of IW10 into ACCU 1-L//

L MW14

//Load the contents of ACCU1-L into ACCU2-L//

//Load the value of MW14 into ACCU1-L//

I+

//Add ACCU 2-L and ACCU 1-L; store the result in ACCU 1-L//

T DB1.DBW25

//The contents of ACCU 1-L (result) are transferred to DBW25 of DB1//

Subtract ACCU 1 from ACCU 2 as Integer -16-Bit : -I

ACCU1-Lػغ جط١ؿس ف ACCU2-L كط٠حش ACCU1-Lؽـ كط٠حش

ؽرمح ؿىي جحذك Status wordذكد جط١ؿس ضطغ١ كط٠حش

:ػحي

L IW10

//Load the value of IW10 into ACCU 1-L//

L MW14

Page 79: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

79

//Load the contents of ACCU 1-L into ACCU 2-L//

//Load the value of MW14 into//

ACCU 1-L

I-

//Subtract ACCU 1-L from ACCU 2-L; store the result in ACCU 1- L//

T DB1.DBW25

//The contents of ACCU 1-L (result) are transferred to DBW25 of DB1//

Multiply ACCU 1 and ACCU 2 as Integer 16-Bit : *I

ACCU1نحس ف 32ػغ جط١ؿس ذىلس ACCU2-Lف كط٠حش ACCU1-Lػخ كط٠حش

ذحطحتؽ ؽرمح ؿىي جحذك Status wordغ القظس ضأغ

:ػحي

L IW10

//Load the value of IW10 into ACCU 1-L//

L MW14

//Load contents of ACCU 1-L into ACCU 2-L//

//Load contents of MW14 into ACCU1-L//

I *

//Multiply ACCU 2-L and ACCU 1-L, store result in ACCU 1//

T DB1.DBD25

//The contents of ACCU 1 (result) are transferred to DBW25 in DB1//

Page 80: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

80

Divide ACCU 2 by ACCU 1 as Integer 16-Bit : /I

٠كط ػ حضؽ ACCU1-Lق١ع ACCU1ػغ جط١ؿس ف ACC2-Lػ كط٠حش ACCU1-Lلس كط٠حش

٠كط ػ ذحل جمس ACCU1-Hجمس

:ذحط١ؿس ؽرمح ؿىي جطح Status wordغ القظس ضأغ

:ػحي

L IW10

//Load the value of IW10 into ACCU 1-L//

L MW14

//Load the contents of ACCU 1-L into ACCU 2-L//

//Load the value of MW14 into ACCU 1-L//

I/

//Divide ACCU 2-L by ACCU 1-L//

//store the result in ACCU 1: ACCU 1-L: quotient, ACCU 1-H: remainder//

T MD20

//The contents of ACCU 1 (result) are transferred to MD20//

ف ى ئ شحء هللا ف جز جطح١س

Page 81: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

81

ذ١س ػ جأللح جظك١كسضحذغ جؼ١حش جكح: ػع

Add Integer Constant 16-bit + :

و جطأغ١ ػ ACCU1-Lػغ جط١ؿس ف ACCU1-Lنحس ئ كط٠حش 16ئػحفس ل طك١ف ي ولس

Status word

+ "> Integer< " : جظ١غس جؼحس الطؼحي جأل

L IW10

//Load the value of IW10 into ACCU 1-L//

L MW14

//Load the contents of ACCU 1-L to ACCU 2-L //

//Load the value of MW14 into ACCU 1-L//

I+

//Add ACCU 2-L and ACCU 1-L; store the result in ACCU 1-L//

25+

//Add ACCU 1-L and 25; store the result in ACCU 1-L//

T DB1.DBW25

//Transfer the contents of ACCU 1-L (result) to DBW25 of DB1//

Page 82: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

82

Add ACCU 1 and ACCU 2 as Double Integer 32-Bit : +D

Statusغ ضغ١١ ACCU1ػغ جط١ؿس ف ACCU2ئ كط٠حش ٠ACCU1م ج جأل ذاػحفس كط٠حش

word ؽرمح ؿىي ف جؿء جحذك

+ "D: " جظ١غس جؼحس الطهىج

:ػحي

L ID10

//Load the value of ID10 into ACCU1//

L MD14

//Load the contents of ACCU1 to ACCU2 //

//Load the value of MD14 into ACCU1//

D +

//Add ACCU2 and ACCU1; store the result in ACCU1//

T DB1.DBD25

//The contents of ACCU 1 (result) are transferred to DBD25 of DB1//

Subtract ACCU 1 from ACCU 2 as Double Integer 32-bit : -D

Statusغ ضغ١١ قحس ACCU1ػغ جط١ؿس ف ACCU2 كط٠حش ACCU1ذطـ كط٠حش ٠م ج جأل

word ؽرمح كحس جط١ؿس وحؿىي جحذك

" - D" : جظ١غس جؼحس أل

Page 83: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

83

:ػحي

L ID10

//Load the value of ID10 into ACCU 1//

L MD14

//Load the contents of ACCU 1 into ACCU 2 //

//Load the value of MD14 into ACCU 1//

D -

//Subtract ACCU 1 from ACCU 2; store the result in ACCU 1//

T DB1.DBD25

//The contents of ACCU 1 (result) are transferred to DBD25 of DB1//

Multiply ACCU 1 and ACCU 2 as Double Integer 32-Bit : * D

غ ضغ١١ قحس ACCU1ػغ جط١ؿس ف ACCU2ف كط٠حش ACCU1ج جأل ذؼخ كط٠حش ٠م

Status word ؽرمح كحس جط١ؿس قد جؿىي جحذك يو

* " D: " جظ١غس جؼحس أل

:ػحي

L ID10

//Load the value of ID10 into ACCU 1//

L MD14

//Load contents of ACCU 1 into ACCU 2//

//Load contents of MD14 into ACCU1//

D *

//Multiply ACCU 2 and ACCU 1; store the result in ACCU 1//

T DB1.DBD25

//The contents of ACCU 1 (result) are transferred to DBD25 in DB1//

Page 84: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

84

Divide ACCU 2 by ACCU 1 as Double Integer 32-Bit : /

وحضؽ لس فمؾ ACCU1غ ػغ جط١ؿس ف ACCU1ػ كط٠حش ACCU2ج جأل ذمس كط٠حش ٠م

ذكد جط١ؿس ؽرمح ؿىي جحذك ١Status word جرحل ق١ع حن أ آن رحل غ ضغ١١ قحس

/ " D" : جظ١غس جؼحس أل

:ػحي

L ID10

//Load the value of ID10 into ACCU 1//

L MD14

//Load the contents of ACCU 1 into ACCU 2//

//Load the value of MD14 into ACCU 1//

D /

//Divide ACCU 2 by ACCU 1; store the result (quotient) in ACCU 1//

T MD20

//The contents of ACCU 1 (result) are transferred to MD20//

MOD : Division Remainder Double Integer 32-Bit

ؽرمح كحس جط١ؿس ٠ط ACCU1ف ACCU1ػ كط٠حش ٠ACCU2م ج جأل ذطه٠ ذحل لس كط٠حش

ؽرمح ؿىي جحذك يو Status wordضغ١١ قحس

" MOD: " جظ١غس جؼحس أل

:ػحي

L ID10

//Load the value of ID10 into ACCU 1//

L MD14

//Load the contents of ACCU 1 into ACCU 2//

//Load the value of MD14 into ACCU 1//

MOD

Page 85: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

85

//Divide ACCU 2 by ACCU 1, store the result (remainder) in ACCU 1//

T MD20

//The contents of ACCU 1 (result) are transferred to MD20//

Add Integer Constant 32-Bit + :

غ ػى ACCU1ػغ جط١ؿس ف ACCU1نحس ئ كط٠حش 32ذاػحفس غحذص طك١ف ف طز ٠م ج جأل

Status wordجطأغ١ ػ

+ "> Integer 32-bit< " : جظ١غس جؼحس ج جأل

:ػحي

L MD20

L MD24

+D

//Add ACCU 1and ACCU 2; store the result in ACCU 1//

L#-200 +

//Add ACCU 1 and -200; store the result in ACCU 1//

T MD28

Floating-Point Math Instructions

(جكم١م١س ) جؼ١حش جكحذ١س ػ جأللح يجش جؼالس جؼش٠س

Floating-Point Math Instructions

جكحذ١س ؽرمح ط١ؿس جؼ١س Status wordرىأ أال ذؼع ؾىي قىو جر١ححش ضغ١ قحس

Page 86: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

86

فحؿء جألي ٠ش جكىو جمرس جط ال ضػ أ نطأ نحص ذألظ أل ل١س ـ ذح

ؽرمح كحس جطؿح جكحوغس ف جط١ؿس Status wordأح جؿء جػح ف١ػ ضظف

٠ط ضك١ ACCU1ح ف ج٢ رىأ ذؼع جؼ١حش جألح١س جألذؼس جط ضط ػ ؼح١ ٠ط ضك١ أقى

ذؼى جطحء جؼ١س غ القظس أ جؼ١حش ح ضط ػ ACCU1غ ٠ط ضه٠ ط١ؿس جؼ١س ف ACCU2ج٢ن ف

نحس ولس جأللح جؼش٠س جط رك أ أػكحح لر ف ػع أجع جر١ححش 32ط

Page 87: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

87

Add ACCU 1 and ACCU 2 as a Floating-Point Number 32-Bit IEEE-FP : +R

ACCU1ػغ جط١ؿس ف ACCU2ئ كط٠حش ACCU1ذاػحفس كط٠حش + ٠Rم ج جأل ط١غط جؼحس

قد جطؿس ؽرمح ؿىي جحذك Status wordغ ضغ١١ قحس RLOو جطأغ١ ػ

:ػحي

OPN DB10

L ID10

//Load the value of ID10 into ACCU1//

L MD14

//Load the value of ACCU 1 into ACCU2//

//Load the value of MD14 into ACCU1//

R +

//Add ACCU2 and ACCU1; store the result in ACCU1//

T DBD25

//The content of ACCU1 (result) is transferred to DBD25 in DB10//

Subtract ACCU1 from ACCU2 as a Floating-Point Number 32Bit IEEE-FP : - R

ACCU1ػغ جط١ؿس ف ACCU2 كط٠حش ٠ACCU1م ذطـ كط٠حش - Rج جأل ط١غط جؼحس

قد جط١ؿس ؽرمح ؿىي جحذك Status wordضغ١١ قحس RLOغ ػى جطأغ١ ػ

:ػحي

OPN DB10

L ID10

//Load the value of ID10 into ACCU1//

L MD14

Page 88: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

88

//Load the value of ACCU 1 into ACCU2//

//Load the value of MD14 into ACCU1//

R -

//Subtract ACCU1 from ACCU2; store the result in ACCU1//

T DBD25

//The content of ACCU1 (result) is transferred to DBD25 in DB10//

Multiply ACCU1 and ACCU2 as Floating-Point Numbers 32-Bit IEEE-FP : * R

ACCU1ػغ جط١ؿس ف ACCU2ف كط٠حش ٠ACCU1م ذؼخ كط٠حش * Rج جأل ط١غط جؼحس

قد جط١ؿس ؽرمح ؿىي جحذك Status wordغ ضغ١١ قحس RLOو جطأغ١ ػ

:ػحي

OPN DB10

L ID10

//Load the value of ID10 into ACCU1//

L MD14

//Load the value of ACCU1 into ACCU2//

//Load the value of MD14 into ACCU1//

R *

//Multiply ACCU2 and ACCU1; store the result in ACCU1//

T DBD25

//The content of ACCU1 (result) is transferred to DBD25 in DB10//

Page 89: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

89

Divide ACCU2 by ACCU1 as a Floating-Point Number 32-Bit IEEE-FP : / R

ػغ جط١ؿس ف ACCU1ػ كط٠حش ACCU2ق١ع ٠م ذمس كط٠حش / Rجظ١غس جؼحس ج جأل

ACCU1 و جطأغ١ ػRLO غ ضغ١١ قحسStatus word قد جط١ؿس ؽرمح ؿىي جحذك

:ػحي

OPN DB10

L ID10

//Load the value of ID10 into ACCU1//

L MD14

//Load the contents of ACCU1 into ACCU2//

//Load the value of MD14 into ACCU1//

R /

//Divide ACCU2 by ACCU1; store the result in ACCU1//

T DBD20

//The content of ACCU1 (result) is transferred to DBD20 in DB10

ضحذغ : ػعFloating point math instructions

جط ضؼطى ػ ل١س جقىز ٠ط ضك١ح Real numbers طى جؼ١حش جكحذ١س ػ جأللح جكم١م١س ج٢

ACCU1 ٠ط ذؼى يه ضؿ١ جط١ؿس فACCU1

Absolute Value of a Floating-Point Number 32-Bit IEEE-FP : ABS

Page 90: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

90

جء وحص جم١س ؾرس أور جظف أ حرس أل ( غ١ ئشحز ) جؼ١س كظي ػ جم١س جطمس

Status word جظف ق١ع ٠م ذكف جإلشحز جؼوز ذم١س جل فمؾ و جطأغ١ أ جطأغ ذكحس

٠1.56ى + 1.56جل ٠1.43ى -1.43فػال جل

:ػحي

L ID8

//Load value into ACCU1 - example: ID8 = -1.5E+02// ABS

//Form the absolute value; store the result in ACCU1// T MD10

//Transfer result to MD10 - example: result = 1.5E+02//

Generate the Square of a Floating-Point Number 32-Bit : SQR

و ACCU2ضه٠ جط١ؿس ف ACCU1كط٠حش ( ف× قحط ػخ جل ) ٠م ج جأل ذكحخ ذغ

قد جط١ؿس ؽرمح ؿىي جحذك جهحص ذكىو جأللح Status wordغ ضغ١١ قحس RLOجطأغ١ ػ

:ػحي

OPN DB17

//Open data block DB17// L DBD0

//The value from data double word DBD0 is loaded into ACCU1//

//This value must be in the floating-point format// SQR

//Calculate the square of the floating-point number 32-bit, IEEE-FP in ACCU1 //

//Store the result in ACCU1// AN OV

//Scan the OV bit in the status word for - 0// JC OK

//If no error occurred during the SQR instruction, jump to the OK jump label// BEU

//Block end unconditional, if an error occurred during the SQR instruction// OK: T DBD4

//Transfer the result from ACCU 1 to data double word DBD4//

Page 91: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

91

Generate the Square Root of a Floating-Point Number 32-Bit : SQRT

ذشؽ أ ضى أور أ ضح جظف ضه٠ ٠ACCU1م ج جأل ذكحخ جؿ جطذ١ؼ كط٠حش

قد جط١ؿس ؽرمح ؿىي جحذك ف جشحوس Status wordضغ١١ قحس RLOغ ػى جطأغ١ ػ ACCU1جط١ؿس ف

جحذمس

:ػحي

L MD10

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// SQRT

//Calculate the square root of the floating-point number 32-bit IEEE-FP//

//in ACCU1 Store the result in ACCU1// AN OV

//Scan the OV bit in the status word for - 0// JC OK

//If no error occurred during the SQRT instruction, jump to the OK jump label// BEU

//Block end unconditional, if an error occurred during the SQRT instruction// OK: T MD20

//Transfer the result from ACCU1 to memory double word MD20//

Generate the Exponential Value of a Floating-Point Number 32-Bit : EXP

و جطأغ١ ACCU1غ ػغ جط١ؿس ف ACCU1ل جؾو ف Exponential valueج جأل ٠م ذكحخ

ئ١قد جط١ؿس ؽرمح ؿىي جحذك جشح Status wordغ ضغ١١ قحس RLOػ

Exponential value وح ؼف جػحذص جطر١ؼe فػح ئ جأل جؾو 2.718728718أ جل

- x -فػح ئ جأل - e -ضؼ جل Exp(x )ذؼ

:ػحي

L MD10

Page 92: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

92

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// EXP

//Calculate the exponential value of the floating-point number 32-bit, IEEE-FP//

//in ACCU1 at base e. Store the result in ACCU1// AN OV

//Scan the OV bit in the status word for - 0// JC OK

//If no error occurred during the EXP instruction, jump to the OK jump label// BEU

//Block end unconditional, if an error occurred during the EXP instruction// OK: T MD20

//Transfer the result from ACCU 1 to memory double word MD20//

Generate the Natural Logarithm of a Floating-Point Number 32-Bit : LN

غ ACCU1ضه٠ جط١ؿس ف ACCU1كط٠حش ( -e-ألح ) ج جأل ٠م ذكحخ جغح٠ط جطر١ؼ

قد جط١ؿس ؽرمح ؿىي جحذك جهحص ذكىو جأللح ذشؽ أ Status wordغ ضغ١١ قحس RLOػى جطأغ١ ػ قحس

ػ١ جؼ١س أور جظف٠ى جل ج ٠ط

:ػحي

L MD10

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// LN

//Calculate the natural logarithm of the floating-point number 32-bit, IEEE-FP//

//in ACCU1, Store the result in ACCU1// AN OV

//Scan the OV bit in the status word for - 0// JC OK

//If no error occurred during the instruction, jump to the OK jump label// BEU

//Block end unconditional, if an error occurred during the instruction// OK: T MD20

//Transfer the result from ACCU 1 to memory double word MD20

Page 93: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

93

ضحذغ جؼ١حش ػ جأللح جكم١م١س : ػع

Generate the Sine of Angles as Floating-Point Numbers 32-Bit : SIN

ر ػ ج٠س ذحظح ػ جػطرح أ ل قم١م ٠ؼ) ACCU1ج جأل ٠م ذكحخ ؾ١د جج٠س كط٠حش

Status wordضغ١١ قحس RLOغ ػى جطأغ١ ػ ACCU1ػغ جط١ؿس ذؼى يه ف ( جىجت ١ ذحىؾحش

ذكد جط١ؿس ؽرمح ؿىي جحذك يو جهحص ذكىو جأللح

:ػحي

L MD10

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// SIN

//Calculate the sine of the floating-point number 32-bit, IEEE-FP//

//in ACCU1 Store the result in ACCU1// T MD20

//Transfer the result from ACCU1 to the memory double word MD20//

Generate the Cosine of Angles as Floating-Point Numbers 32-Bit : COS

ذحػطرح أ ل قم١م ٠ؼر ػ ج٠س ذحظح ) ٠ACCU1م ج جأل ذكحخ ؾ١د ضح جج٠س كط٠حش

ذكد Status wordضغ١١ قحس RLOغ ػى جطأغ١ ف ACCU1ػغ جط١ؿس ف ( جىجت ١ جىؾحش

ط١ؿس ؽرمح ؿىي جحذك يو جهحص ذحكىوج

:ػحي

L MD10

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// COS

//Calculate the cosine of the floating-point number 32-bit, IEEE-FP//

//in ACCU1 Store the result in ACCU1// T MD20

//Transfer the result from ACCU 1 to memory double word MD20//

Page 94: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

94

Generate the Tangent of Angles as Floating-Point Numbers 32-Bit : TAN

ل قم١م ٠ؼر ػ ج٠س ACCU1ذحػطرح أ كط٠حش ) ACCU1ج جأل ٠م ذكحخ ظ جج٠س كط٠حش

ذكد جط١ؿس Status wordضغ١١ قحس RLOغ ػى جطأغ١ ف ACCU1ػغ جط١ؿس ف ( ذحظح جىجت

ؽرمح ؿىي جكىو جحذك يو

:ػحي

L MD10

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// TAN

//Calculate the tangent of the floating-point number 32-bit, IEEE-FP//

//in ACCU1 Store the result in ACCU1// AN OV

//Scan the OV bit in the status word for -0// JC OK

//If no error occurred during the TAN instruction, jump to the OK jump label// BEU

//Block end unconditional, if an error occurred during the TAN instruction// OK: T MD20

//Transfer the result from ACCU 1 to memory double word MD20//

Generate the Arc Sine of a Floating-Point Number 32-Bit : ASIN

ذحطمى٠ جىجت غ جػغ ف جالػطرح أ ج ACCU1جأل ٠م ذكحخ ل١س جج٠س جط ؾ١رح كط٠حش ج

غ RLOو جطأغ١ ػ ACCU1ػغ جط١ؿس ف + 1أل أ ٠ح -1جل ٠ى أور أ ٠ح

-pi/2جأللح ضى جط١ؿس كظز ذ١ ؽرمح ؿىي جحذك يو جهحص ذكىو Status wordضغ١١ قحس

pi/2 + ق١عpi=3.14159

Page 95: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

95

:ػحي

L MD10

//The value from memory double word MD10 is loaded into ACCU1//

//This value must be in the floating-point format// ASIN

//Calculate the arc sine of the floating-point number 32-bit,IEEE-FP//

//in ACCU1 Store the result in ACCU1// AN OV

//Scan the OV bit in the status word for -0// JC OK

//If no error occurred during the ASIN instruction, jump to the OK jump label// BEU

//Block end unconditional, if an error occurred during the ASIN instruction// OK: T MD20

//Transfer the result from ACCU 1 to the memory double word MD20//

ACCU1كحخ جج٠س جط ؾ١د ضحح كط٠حش ACOSف جىال ٠طرك ػ

ATAN كحخ جج٠س جط ظح كط٠حشACCU1

أح قىو ؾ١د جطح ف قىو ؾ١د جج ACCU1ضؾى قىو كط٠حش غ١ أ ذحرس ظ جج٠س فال

+1 -٠1طجـ ذ١

ػحي ػ ضطر١م ػ جكحذحش ذحطؼحيPLC

ف S7جألنز جألػجء ف مف لفس ذ١طس إلؽالع جالء ػ ئىح١حش ضطر١محش جكحذحش جهطفس ف

ص ف ذىج٠س جىز ف أضن جأل ىز ٠ح حلشس غ ذؼى يه ؼع جك أػع جشىس وح رك أ ػػ

( ١ ذحؼز أ ٠ى جألػ ) ؾس ظ

:جطخ

:كحخ ه ؼي ذح١ش ى٠ه جؼط١حش ج٢ض١س Functionػ وجس ظ١ف١س

( ط) d1 -لط جه ذى ػي ؼ -

(غػ جه جى ؼي ) ه ؽرمس جؼي جأل ؼ -

(غع جه جى ؼي ) ؼ ( جهحؾ١س ) ه جطرمس جػح١س -

( ط ) جه جى ؼي ؼ -

طز ػش٠س قم١م١س( كخ رمح ػ ؽ٠ك ػىجو ؽي ف طز أطح ) ؽي جه ؼ -

( ىؼد / وؿ ) D1جط ؼس وػحفس -

( ىؼد / وؿ ) D2وػحفس ؽرمس جؼي جأل ؼ -

( ىؼد / وؿ ) D3ؼ ( جهحؾ١س ) وػحفس ؽرمس جؼي جػح١س -

Page 96: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

96

PI=3.14159جرس جطم٠ر١س -

جلد ؾ١ىج جقىجش

(ط ) ه ججو قحخ قىز جطي جظز جطح١س ضؼط ضظ ػ جشى جؼح مطغ ج

ػال FC1أ٠ح وح لح Functionأال ف م ذاشحء وجس

جهحطس ذط٠ جر١ححش ئ جىجس ف ضؿىح ف Declarationغ م ذفطف جىجس رىأ ف ضكى٠ى ػحط

أػ ل جىجس ق١ع طؿى Inputs , InOut , Outputs , Temp , Return

Page 97: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

97

:ىج ق١ع ف طهى ج٢ض

Inputs

diameter1 Real diameter of conductor diameter2 Real diameter of insulated wire density1 Real Density of conductor density2 Real Density of First layer density3 Real Density of Second layer length Real Length of wire

Temp

diameter3 Real diameter of wire with first layer section1 Real Conductor cross section area section2 Real First layer cross section area section3 Real Second layer cross section area thickness1 Real Thickness of first layer thickness2 Real Thickness of second layer weight1 Real Conductor weight weight2 Real First layer weight weight3 Real Second layer weight pi Real pi Constant 3.14159 buffer1 Real Buffer for calculations buffer2 Real Buffer for calculations buffer3 Real Buffer for calculations buffer4 Real Buffer for calculations buffer5 Real Buffer for calculations

Outputs

totalW Real Total weight of wire

ج٢ ذؼى أ قىوح جطغ١جش جط ف طؼح أجػح ف م ذؼ جكحذحش جهحطس ذحرحؽ جطخ

:

Page 98: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

98

//Calculations of Conductor Cross section area in square cm //

L 3.14159 T #pi

L #diameter1 SQR T #buffer1

L #buffer1 L #pi *R

T #buffer2

L #buffer2 L 4.0 /R

T #buffer3

L #buffer3 L 1000.0 /R

T #section1

//Then multiply by density to get weight of 1 cm //

L #section1 L #density *R

T #buffer1

//To get weight of 1 m of conductor multiply by 100 //

L #buffer1 L 100.0 *R

T #buffer2

L #buffer2 L #length

Page 99: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

99

*R T #weight1

//Now calculation of first layer cross section area//

L #diameter3 L #diameter1 - R

T #buffer1

L #buffer1 L #3.0 /R

T #thickness2

L #thickness2 L 2.0 *R

T #thickness1

L #thickness1 L #diameter1 +R

T #diameter3

L #diameter3 SQR T #buffer1

L #diameter1 SQR T #buffer2

L #buffer1 L #buffer2 - R

T #buffer3

L #buffer3 L #pi *R

T #buffer4

Page 100: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

100

L #buffer4 L 4.0 /R

T #buffer5

L #buffer5 L 1000.0 /R

T # section2 //Then multiply by density then by 100 then by length//

L #section2 L #density2 *R

T #buffer1

L #buffer1 L 100.0 *R

T #buffer2

L #buffer2 L #length *R

T #weight2 //Calculation of cross section of layer2 //

L #diameter2 SQR T #buffer1

L #diameter3 SQR T #buffer2

L #buffer1 L #buffer2 - R

T #buffer3

L #buffer3

Page 101: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

101

L #pi *R

T #buffer4

L #buffer4 L 4.0 /R

T #buffer5

L #buffer5 L 1000.0 /R

T #section3

L #section3 L #density *R

T #buffer1

L #buffer1 L 100.0 *R

T #buffer2

L #buffer2 L #length *R

T #weight3

//calculation of total weight //

L #weight1 L #weight2 +R

T #buffer1

L #buffer1 L #weight3 +R

T #totalW

Page 102: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

102

Shift and Rotate Instructions

مىس

You can use the Shift instructions to move the contents of the low word of accumulator 1 or the contents of the whole accumulator bit by bit to the left or the

right (see also CPU Registers.)

نحس نحس ئ ج١١ أ ئ ACCU1أ ACCU1-Lإلجقس كط٠حش ٠Shift instructionsىه جطهىج ػ١حش جإلجقس

ج١ح

Shifting by n bits to the left multiplies the contents of the accumulator by ”2 n ”;

جإلجقس ذؼىو نححشn ئ جشحي ضؼ ػخ كط٠حشACCU1 2ف جؼىوn

shifting by n bits to the right divides the contents of the accumulator by ”2 n ” .

جإلجقس ذؼىو نححشn ئ ج١١ ضؼ لس كط٠حشACCU1 2ػ جؼىوn

For example, if you shift the binary equivalent of the decimal value 3 to the left by 3 bits, you end up with the

binary equivalent of the decimal value 24 in the accumulator .

24=8*3نححش شحي فا جم١س ضى 3ػىو 3ػال ػى ئجقس جل

If you shift the binary equivalent of the decimal value 16 to the right by 2 bits, you end up with the binary

equivalent of the decimal value 4 in the accumulator.

4=16/4نحط١ ئ ج١١ فا جم١س ضى 16قس جل ػى ئج

The number that follows the shift instruction or a value in the low byte of the low word of accumulator 2

indicates the number of bits by which to shift .

ضػ ػىو نححش جإلجقس ACCU2-Lأ كط٠حش shift instructionجل ج ٠

The bit places that are vacated by the shift instruction are either filled with zeros or with the signal state of the

sign bit (a 0 stands for positive and a 1 stands for negative .)

Page 103: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

103

٠ط إح ئح ذأطفح أ ذكط٠حش نحس جإلشحز طف ؾد shift instructionsجهححش جط ٠ط ضف٠غح ػ ؽ٠ك

جقى حد

The bit that is shifted last is loaded into the CC 1 bit of the status word. The CC 0 and OV bits of the status

word are reset to 0 .

CC0 , OVف ق١ ٠ط ضظف١ و ٠CC1ط ضه٠ آن نحس ض ئجقطح ف

You can use jump instructions to evaluate the CC 1 bit .

CC1ذحالطحو ئ كط٠حش ٠Jump instructionsى جطهىج

The shift operations are unconditional, that is, their execution does not depend on any special conditions.

RLOػ١حش جإلجقس ال ضؼطى ذأ قحي ػ ط١ؿس

They do not affect the result of logic operation

RLOال ضإغ ػ١حش جإلجقس ػ

The following Shift instructions are available:

•SSI Shift Sign Integer (16-Bit)

•SSD Shift Sign Double Integer (32-Bit)

•SLW Shift Left Word (16-Bit)

•SRW Shift Right Word (16-Bit)

•SLD Shift Left Double Word (32-Bit)

•SRD Shift Right Double Word (32-Bit

Shift Sign Integer (16-Bit) : SSI

فمؾ أ أ ٠ى ذؼى ل طك١ف SSIج جأل ٠أن طض١ ئح أ ٠ى

ذؼىو جهححش ٠ح جل ج ٠أض ذؼى جأل أ ذكط٠حش ACCU1-Lذؼ ئجقس ١١ كط٠حش ٠م

ACCU2-L-L ( 1) أ أ نح جإلشحز ضكط ( أل جظف ) غ جػغ ف جالػطرح نحس جإلشحز فايج وح جل حد

( 0) ف١ط ػغ ( أور جظف ) جشحي ئيج وح جل ؾد ف و جهححش جط ض ئجقطح( 1) ف١ط ػغ جل

Status word نححش CC1ض ئجقطح ف Bitف جهححش جط ض ئجقطح ػ ج١ح غ ػغ آن نحس

Page 104: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

104

ل حد و ئيج وح ج( FFFF#16) ئيج وح جل ؾد ٠ؼط ( 16#0000) نحس ٠ؼط 16ذحطح فا ئجقس ل

جظ كط٠حش جل

SSIجط ضط ذحطؼحي Shiftingجشى جطح ٠ػف شى ػ١س

:ػحي

L MW4

//Load value into ACCU1// SSI 6

//Shift bits with sign in ACCU1 six places to the right// T MW8

//Transfer result to MW8//

2-ػحي

L +3

//Load value +3 into ACCU1// L MW20

//Load contents of ACCU 1 into ACCU 2. Load value of MW20 into ACCU1// SSI

//Shift number is value of ACCU2-L-L => Shift bits with sign in ACCU1-L//

//three places to the right; fill free places with state of sign bit// JP NEXT

//Jump to NEXT jump label if the bit shifted out last (CC 1) = 1 //

Shift Sign Double Integer (32-Bit) : SSD

ذحىح ذؼىو ACCU1نحس ق١ع ٠ط ئجقس كط٠حش 32ج جأل ف جطفحش جأل جحذك ضحح ى ػ ط

فمؾ و يو SSDف قحس جطهىج جأل ذحظ١غس ACCU2-L-Lجأل أ ذم١س كط٠حش نححش ٠ح جل ج ٠

ف جهححش جط ( 1) ل ذؼى غ جػغ ف جالػطرح نحس جإلشحز فايج وح جل حد أل جظف ٠ط ػغ جل

Page 105: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

105

ؾد أور جظف غ ػغ ل١س آن نحس ض ف قحس جل ( 0) ضف٠غح ػ شحي جل جألط ٠ط ػغ جل

CC1ئجقطح ف

ئيج وح حرح( FFFFFFFF) ئيج وح ؾرح أ ( 00000000) نحس ٠طؽ ػ ئح 32ذحطح فا ئجقس جل ذؼىو

SSDذحطهىج Shiftجشى جطح ٠ػ ح ٠ط ػى ػ

L MD4 //Load value into ACCU 1//

SSD 7 //Shift bits in ACCU 1 seven places to the right, according to the sign//

T MD8 //Transfer result to MD8//

2-ػحي

L +3

//Load value +3 into ACCU 1// L MD20

//Load contents of ACCU1 into ACCU2 Load value of MD20 into ACCU1// SSD

//Shift number is value of ACCU2-L-L => Shift bits with sign in ACCU1 three//

//places to the right, fill free places with state of sign bit// JP NEXT

//Jump to NEXT jump label if the bit shifted out last ( CC 1) = 1//

Page 106: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

106

Shift Left Word (16-Bit) : SLW

-ACCU2-Lئ جشحي ذؼىو نححش ٠ح جل ج ٠ جأل أ ذكط٠حش ACCU1-Lج جأل ذاجقس كط٠حش ٠م

L ف جهححش جط ٠ط ضف٠غح غ القظس أ جطؼح ح ٠ى ذغغ جظ ػ ( 0) ئيج ؾحء جأل فوج ٠ط ػغ

Status wordف نححش CC1نحس ض ئجقطح ف ٠ط ػغ ل١س آن( Unsigned integer) جإلشحز

, SLWئيج وح جل ذؼى ACCU1-Lوم١س كط٠حش ( 0000) نحس فا ٠ط ػغ 16ج ٠ؼ أ ئيج ض ئجقس جل

SSI , SSD فا ٠ط جطؼح غ جأل ػ أ ( 0) طفجNOP أno-operation

ACCU1ػ كط٠حش SLWػ١س جشى جطح ٠ػف أغ

1-ػحي

[left] L MW4

//Load value into ACCU1// SLW 5

//Shift the bits in ACCU1 five places to the left// T MW8

//Transfer result to MW8//

2-ػحي

L +3

//Load value +3 into ACCU1// L MW20

//Load contents of ACCU1 into ACCU2. Load value of MW20 into ACCU1// SLW

//Shift number is value of ACCU2-L-L => Shift bits in ACCU1-L three places//

//to the left// JP NEXT

//Jump to NEXT jump label if the bit shifted out last (CC 1) = 1//

Page 107: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

107

Shift Right Word (16-Bit) : SRW

أ ذؼىو ٠ح كط٠حش SRWئ ج١١ ذؼىو نححش ح ل ذؼى جأل ACCU1-Lأل ٠ط ئجقس كط٠حش ف ج ج

ACCU2-L-L غ ء جهححش جط ٠ط ضف٠غح ذأطفح ق١ع ح ٠ط جطؼح غ جل ػ أ ذى ئشحزUnsigned

integer ٠ط ػغ ل١س آن نحس ض ئجقطح فCC1

( 0000) ضظرف ACCU1-Lنحس فا كط٠حش 16ذمىج ACCU1-Lغ القظس أ ئيج ض ئجقس جل جؾو ف

CC0=0 , CC1=0 , OV=0وه فا

ACCU1-Lػ كط٠حش SRWجظز جطح١س ضػف ضأغ١

L MW4

//Load value into ACCU1// SRW 6

//Shift bits in ACCU1-L six places to the right// T MW8

//Transfer result to MW8//

2-ػحي

L +3

//Load value +3 into ACCU1// L MW20

//Load contents of ACCU1 into ACCU2. Load value of MW20 into ACCU1// SRW

//Shift number is value of ACCU2-L-L => Shift bits in ACCU1-L three places//

//to the right// SPP NEXT

//Jump to NEXT jump label if the bit shifted out last (CC 1)=1//

Page 108: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

108

Shift Left Double Word (32-Bit) : SLD

ئ جشحي ذؼىو نححش ح م١س جؼىو ج ٠ جأل أ ح م١س ٠ACCU1م ج جأل ذاجقس كط٠حش

ئيج ؾحء جأل فوج غ ػغ أطفح ىح جهححش ججقس ػغ ل١س آن نحس ض ئجقطح ف ACCU2-L-Lكط٠حش CC1

, CC1=0 , CC0=0ضظرف طفج وه ACCU1فا ل١س كط٠حش SLDنحس ئ جشحي ذحطؼحي 32ئيج ض ئجقس ل

OV=0

أ الشة NOPغ جأل ػ أ ئيج وح ػىو نححش جإلجقس طف ٠ط جطؼح

جظز جطح١س ACCU1ػ كط٠حش SLDؼفس ضأغ١

:أػس

Example 1

L MD4

//Load value into ACCU1// SLD 5

//Shift bits in ACCU 1 five places to the left// T MD8

//Transfer result to MD8//

Example 2

L +3

//Load value +3 into ACCU1// L MD20

//Load the contents of ACCU1 into ACCU2 //

//Load value of MD20 into ACCU1// SLD

Page 109: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

109

//Shift number is value of ACCU2-L-L => Shift bits in ACCU1 three places//

//to the left// JP NEXT

//Jump to NEXT jump label if the bit shifted out last CC1=0//

Shift Right Double Word (32-Bit) : SRD

ذحىح ئ ج١١ ذؼىو نححش ح ل ج ٠ جأل أ ذم١س كط٠حش ٠ACCU1م ج جأل ذاجقس كط٠حش

ACCU2-L-L ف ئيج ؾحء فوج غ ػغ أطفح ىح جهححش ججقس ػغ ل١س آن نحس ض ئجقطحCC1

CC1 , CC0 , OVطفج وه ACCU1نحس ضظرف كط٠حش 32ذؼىو ACCU1غ القظس أ ئيج ض ئجقس كط٠حش

ACCU1ػ كط٠حش SRDجظز جطح١س ضػف ضأغ١

:أػس

Example 1

L MD4

//Load value into ACCU1// SRD 7

//Shift bits in ACCU1 seven places to the right// T MD8

//Transfer result to MD8//

Example 2

L +3

//Load value +3 into ACCU1// L MD20

//Load contents of ACCU 1 into ACCU 2. Load value of MD20 into ACCU1// SRD

//Shift number is value of ACCU2-L-L => Shift bits in ACCU1 three places//

//to the right// JP NEXT

Page 110: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

110

//Jump to NEXT jump label if the bit shifted out last (CC 1)=1 Rotate Instructions

غ١ أ Shiftشحي أ ١١ حغس ؼ١حش جإلجقس ٠ACCU1ى جطهىج جألج طى٠ كط٠حش

ط ئجقطحجهححش جط ٠ط ضف٠غح ضأل ذحهححش جط ٠

ػ ػ١حش جإلجقس فا ػ١حش جطى٠ ضط ذؼىو نححش ح ل ج ٠ جأل أح ئيج أض جأل ذى ل

ACCU2-L-Lذؼى فا ػ١س جطى٠ ضط ذؼىو نححش ح كط٠حش

أ٠ؼح Shiftحش ػ ػ١ Status wordف CC1وه فا ػ١حش جطى٠ ضط ذحالطؼحس ذهحس

جألج جطفز ؼ١حش جطى٠

RLD Rotate Left Double Word 32-Bit

RRD Rotate Right Double Word 32-Bit RLDA Rotate ACCU 1 Left via CC 1 32-Bit

RRDA Rotate ACCU 1 Right via CC 1 32-Bit

رىأ ذؼع ضفحط١ جطهىجحش جألج

Rotate Left Double Word (32-Bit) : RLD

حق١س جشحي ذؼىو نححش ح ل ج ١٠ ئيج أض ػ جشى ٠ACCU1طؼ ج جأل طى٠ كط٠حش

:ج٢ض

RLD <number> , <number> : number of rotatr bits

٠ط ضه٠ آن ٠ACCU2-L-Lحش فطط ػ١س جطى٠ ذؼىو نححش ح كط RLDئح ئيج أض فوج ذحشى

٠ط ء جهححش جط ٠ط ضف٠غح حق١س ج١١ ذم١ جهححش جص ض ئجقطح حق١س جشحي CC1نحس ض ضى٠ح ف

32ئيج وح جل NOPفا جأل ٠ؼح وأ " 0" ئيج وح جل ٠ح number < 32<ألظ ل١س ل

جحت ٠ح جم١س جألط١سفا جل

RLDجشى جطح ٠ػف ػ١حش

Page 111: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

111

:أػس

Example 1

L MD2

//Load value into ACCU1// RLD 4

//Rotate bits in ACCU 1 four places to the left// T MD8

//Transfer result to MD8//

Example 2

L +3

//Load value +3 into ACCU1// L MD20

//Load contents of ACCU1 into ACCU2. Load value of MD20 into ACCU1// RLD

//Rotation number is value of ACCU2-L-L => Rotate bits in ACCU1 //

//three places to the left// JP NEXT

//Jump to NEXT jump label if the bit rotated out last (CC1) = 1//

Rotate Right Double Word (32-Bit) : RRD

أح ئيج أض RRDحق١س ج١١ ذؼىو نححش ح ل ج ٠ جأل ٠ACCU1م ج جأل ذطى٠ كط٠حش

ق ضكط ػ ل١س آن نحس ض CC1غ جطهىج ACCU2-L-Lجأل فوج ف١ط جطى٠ ذؼىو نححش ح كط٠حش

٠ط ء جهححش جط ٠ط ضف٠غح حق١س جشحي ذم١س جهححش جط ٠ط ئجقطح حق١س ج١١ ئجقطح

فال ضكىظ ضغ١جش ف 32ئيج وح جل NOPطفج فا جأل ٠ؼح ػ أ RRDأ٠ؼح ئيج وح جل ذؼى جال

ACCU1ل١س كط٠حش

ACCU1ػ RRDجشى جطح ف ٠ػف ضأغ١

Page 112: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

112

:أػس

Example 1

L MD2

//Load value into ACCU1// RRD 4

//Rotate bits in ACCU1 four places to the right// T MD8

//Transfer result to MD8//

Example 2

L +3

//Load value +3 into ACCU1// L MD20

//Load contents of ACCU1 into ACCU2. Load value of MD20 into ACCU1// RRD

//Rotation number is value of ACCU2-L-L => Rotate bits in ACCU1 three places//

//to the right// JP NEXT

//Jump to NEXT jump label if the bit rotated out last (CC1) = 1//

Rotate ACCU 1 Left via CC 1 (32-Bit) : RLDA

CC0,OVنحس جقىز ئ جشحي ضظف١ و CC1غ ACCU1جأل ذطى٠ كط٠حش ٠م ج

جشى جطح ٠ػف شى جطف١

Page 113: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

113

:ػحي

L MD2

//Load value of MD2 into ACCU1// RLDA

//Rotate bits in ACCU1 one place to the left via CC1// JP NEXT

//Jump to NEXT jump label if the bit rotated out last (CC1) = 1//

Rotate ACCU 1 Right via CC 1 (32-Bit) : RRDA

CC0 , OVحق١س ج١١ نحس جقىز غ ضظف١ CC1غ ٠ACCU1م ج جأل ذطى٠ كط٠حش

ACCU1 CC1جشى جطح ٠ر١ ضأغ١ جأل ػ كط٠حش

:ػحي

L MD2

//Load value of MD2 into ACCU1// RRDA

//Rotate bits in ACCU1 one place to the right via CC1// JP NEXT

//Jump to NEXT jump label if the bit rotated out last (CC 1) = 1

Page 114: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

114

ح ىز ذم ؾء جحجش جط ض جكطف١ ألػحي جرؿس ضش جألنز جألػجء وح ػىضى فمى جط١ح جؿء جأل

غ ذؼى يه ػ١حش جالضظحي Hardwareجألوجش جهحطس ذ١ وه ضظ١ف جىحش

أل٠ح جحذمس ف ١ ضه١ قط طرك ف١ ح ػػح ؼح ف ج( جلؼ ) لر أ هع ف أ يه فأػع ج١ ضطر١ك ػ

جطف١ ؾس ( حلش ) أػع جػحي أال أشـ جؼ١س جطذس أضن الء فطس طفى١ ػع جمطقحش غ ذؼى يه ؼع

ظ

جط ذح طحػس أالن أ وح لىص فا جػحي ١ ػحي جفطجػ ئح يؼ جلؼ حو١س ؾوز ف جظحغ أنض ذحو جحو١حش

وحذالش وذحء أ أ طحػس حغس

:وحذ ػ١س ضظ١غ حذمس جحو١س ضأن جشى جطح / جحو١س جفطػس ضػ قىز ف ه

جحذمسضطر١ك ػ ػ كط٠حش جىز

Page 115: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

115

:ق١ع أ جحو١س ٠ط ضك١ح ذرىز ػ١ح وحذ ذحشى جطح

M1-M2-M3-M4-M5نس كوحش وح جػف جشى جألي فى٠ح

:ظحتفح وح٢ض

M1 : ٠ طشغ١ ئشحز ( غ١ ػس ) جض جت١ ج ٠كن جرىز ألح جهف ٠ط جطكى ف١ ػ ؽ٠ك وج٠فRun ئشحز

JOG ئشحز جالضؿحFOR/REV ئشحز جػس جطذس ٠إن طكى ئشحجش ضؼر ػDrive fault قح٠س جمحؽغ جت١ ض

ئشحز جػس جفؼ١س جىج٠ف

جطشغ١ ٠ى أ ٠ى ٠ى أ آ

ىج٠ف JOGجطشغ١ ج١ى ٠ى ألح أ جهف ٠ى يه ػ ؽ٠ك

طخ ئحي ئشحز ضؼر ػ جشى جطخ فمؾئح فمؾ ج( طؼع ى١ف١س ػ يه ذحىج٠ف ) جطشغ١ ج٢ ٠ى ػ ؽ٠ك جشى

M2 : جه ػ جرىز ٠ط ػى جالضؿح ػ ؽ٠ك / نحص ذطك٠ه جكح ذحىح ١١ أ جشحي طط ػ١س ص جىحذLimit

switches S1,S2 ٠ى جطشغ١ ٠ى٠حJOG أ آ١ح غ جحو١سRUN

٠ؼح ػ ؽ٠ك وج٠ف ٠طرك ػ١ ح ٠طرك ػ ض جرىز٠ط ضشغ١ ج جض أ

M3,M4 : ٠طهىح فغ ي جرىز ػ ؽ٠ك فغ ججػح ج١١ جشحي ٠ى فغ و يجع ػ قىز غ القظس أ و يجع

وطحوط أقىح فغ 2هى ه ى ض ػىو جقى كى جألػ ج٢ن كى جألف ٠ط Limit switchفطحـ ح٠س شج 2ػىو

Overloadج٢ن ي غ قح٠س

Page 116: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

116

M5 : وطحوط جقى فطف جقى غك غ 2ججػ١ إلىح١س ضو١د ض٠ جرىز جؼ١س ضط ذحطهىج ( غك ) ٠طهى فطف ضم٠د

Overloadقح٠س

٠ى ججػح ألػ ؼح S6جحو١س ذشى آ ف١ؿد أ ٠ى ججػح غمح ٠ؿد القظس أ ى ضؼ

S3,S7

:قس فحض١ف جطشغ١ ضكط جفحض١ف ج٢ض١س

Emergency stop - Stop - Start - Jog forward - Jog reverse - Traverse right

Traverse left - Traverse reverse direction - Fault reset

:ضكط ػ رحش جر١ح ج٢ض١س

Emergency stop - Machine fault - Machine ready - Machine run - Traverse right

Traverse left

جهطز جأل ف جطظ١

:كظ وح٢ض جهطز أ جقس جأل ف جطظ١ قظ جىنالش جهؾحش ظح ؽرمح كحطح فا ج ج

: Digital inputsجىنالش جل١س

:ضش ج٢ض فمح ططرحش جطشغ١ ح رك شق ف ؽ٠مس ضشغ١ جحو١س

:جىنالش جهحطس ذحكح٠س : أال

Emergency stop button

Reset fault button

M1 drive fault

M2 drive fault

M3 Overload

M4 Overload

M5 Overload

: Limit switchesفحض١ف قح٠س جطشغ١ : غح١ح

Right arm up limit switch S3

Right arm down limit switch S4

Left arm up limit switch S7

Left arm down limit switch S8

Pintles open limit switch S5

Page 117: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

117

Pintles close limit switch S6

Traverse right end limit switch S1

Traverse left end limit switch S2

: Operating panelفحض١ف جطشغ١ جهحطس ذحشغ : غحػح

Auto/Manual selector switch

Stop push button

Start push button

JOG forward reel push button

JOG reveres reel push button

Traverse manual to right

Traverse manual to left

Traverse toggle direction push button

Right arm up push button

Right arm down push button

Left arm up push button

Left arm down push button

Both arms up push button

Both arms down push button

Pintles open push button

Pintles close push button

ضكص قحخ جالقط١حؼ أل ظ١فس لى ضطأ % 25 ج جؼىو ذرس جقط١حؽ ( 1.25) ىن فا ٠ح 32ذحء ػ ج جؼىو

ػ جظح

:ضش ج٢ض Digital outputsجهؾحش جل١س

:ئشحجش ضشغ١ ججض١ : أال

Main motor M1 Run

Main Motor M1 JOG forward

Main motor M1 JOG Reverse

Traverse motor M2 Run

Traverse motor M2 JOG to the right

Traverse motor M2 JOG to the left

Right arm motor M4 up

Right arm motor M4 down

Left arm motor M3 up

Left arm motor M4 down

Page 118: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

118

Pintles motor M5 open

Pintles motor M5 close

: Indication lampsرحش جر١ح : غح١ح

Fault lamp

Ready lamp

Run lamp

Traverse to right lamp

Traverse to left lamp

ذك١ع ٠ى حن وح جقط١حؽ وحف أل ضؼى٠الش 32أح أفؼ 32أ 24ذحطح فا ألخ ػىو ج 17ػىو جهؾحش

١سطمر

: Analogue inputsذؼى يه جىنالش جطحظ٠س

: ضش ج٢ض

Tension set value to reel drive

Traverse step to traverse drive

Actual speed reel motor

: Analogue outputsجهؾحش جطحظ٠س

:ضش ج٢ض

Reference signal to reel drive for current set

Reference signal to traverse drive speed

Analogue outputsهؾحش ضحظ٠س 4ػىو Analogue inputsىنالش ضحظ٠س 4ذحطح ف ٠ح ػىو

ذحطح ج٢ ى٠ح لحتس وحس ذحالقط١حؾحش جىحش جهحطس ذحظس

ذج ضص جهطز جأل

Page 119: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

119

:هطز جػح١س ضكى٠ى جىحش جالس فؼ١ح ج

:ف ٠ طظرحش جحذمس ج٢ض

Rail : 6ES7390-1AB60-0AA0

Power supply PS 307 10A : 6ES7307-1KA00-0AA0

CPU 314 : 6ES7314-1AE01-0AB0

Digital input module SM321 ( 32DI x 24 VDC ) : 6ES7321-1BL00-0AA0

Digital input module SM321 ( 32DI x 24 VDC ) : 6ES7321-1BL00-0AA0

Digital output module SM322 ( 32DO x 24 VDC 0.5 A ) : 6ES7322-1BL00-0AA0

Analogue input module 8 channel SM331 ( AI 8x13 bit ) : 6ES7331-1KF00-0AB0

Analogue output module 4 channel SM332 ( AO 4x12 bit ) : 6ES7332-5HD00-0AB0

Simatic managerغ ضأض ذؼى يه قس ذحء جظح ذحطهىج

وح ف جشى جطح Projectم ذاشحء جشع

Page 120: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

120

:غ م ذاونحي ىحش جظح وح شقح حذمح ف ضى ذحشى جطح

:٢ض وح Digital inputsالقع أ ػح٠

I 0.0 ... I 0.7

I 1.0 ... I 1.7

I 2.0 ... I 2.7

I 3.0 ... I 3.7

I 4.0 ... I 4.7

I 5.0 ... I 5.7

I 6.0 ... I 6.7

I 7.0 ... I 7.7

:وح٢ض Digital outputsػح٠

Q 8.0 ... Q 8.7

Q 9.0 ... Q 9.7

Q 10.0 ... Q 10.7

Page 121: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

121

Q 11.0 ... Q 11.7

:وح٢ض Analogue inputsضى ػح٠

PIW 304

PIW 306

PIW 308

PIW 310

PIW 312

PIW 314

PIW 316

PIW 318

:وح٢ض Analogue outputsضى ػح٠

PQW 320

PQW 322

PQW 324

PQW 326

جهطز جطح١س جطط١ جهحؾ غ ج جفؼ١س ػال

I 0.0 --> EMERGENCY STOP

I 0.1 --> M1 DRIVE FAULT

I 0.2 --> M2 DRIVE FAULT

I 0.3 --> M3 OVERLAOD

I 0.4 --> M4 OVERLOAD

I 0.5 --> M5 OVERLOAD

I 1.0 --> LIMIT SWITCH S1

I 1.1 --> LIMIT SWITCH S2

I 1.2 --> LIMIT SWITCH S3

I 1.3 --> LIMIT SWITCH S4

I 1.4 --> LIMIT SWITCH S5

I 1.5 --> LIMIT SWITCH S6

I 1.6 --> LIMIT SWITCH S7

I 1.7 --> LIMIT SWITCH S8

I 2.0 --> FAULT RESET P.B

Page 122: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

122

I 2.1 --> MAN/AUTO SELECTOR SWITCH

I 2.2 --> STOP P.B

I 2.3 --> START P.B

I 2.4 --> JOG FORWARD P.B

I 2.5 --> JOG REVERSE P.B

I 2.6 --> MANUAL TRAVERSE RIGHT P.B

I 2.7 --> MANUAL TRAVERSE LEFT P.B

I 3.0 --> TRAVERSE DIRECTION TOGGLE P.B

I 3.1 --> RIGHT ARM UP P.B

I 3.2 --> RIGHT ARM DOWN P.B

I 3.3 --> LEFT ARM UP P.B

I 3.4 --> LEFT ARM DOWN P.B

I 3.5 --> BOTH ARMS UP P.B

I 3.6 --> BOTH ARMS DOWN P.B

I 4.0 --> PINTLES OPEN P.B

I 4.1 --> PINTLES CLOSE P.B

Q 8.0 --> MACHINE FAULT LAMP

Q 8.2 --> MACHINE READY LAMP

Q 8.1 --> MACHINE RUN LAMP

Q 8.3 --> TRAVERSE DIRECTION TO RIGHT

Q 8.4 --> TRAVERSE DIRECTION TO LEFT

Q 9.0 --> MAIN MOTOR M1 RUN AUTO

Q 9.1 --> MAIN MOTOR M1 JOG FORWARD

Q 9.2 --> MAIN MOTOR M1 JOG REVERSE

Q 9.3 --> TRAVERSE RUN AUTO

Q 9.4 --> TRAVERSE MOTOR M2 TO RIGHT MANUAL

Q 9.5 --> TRAVERSE MOTOR M2 TO LEFT MANUAL

Q 10.0 --> RIGHT ARM MOTOR M3 UP

Q 10.1 --> RIGHT ARM MOTOR M3 DOWN

Q 10.2 --> LEFT ARM MOTOR M4 UP

Q 10.3 --> LEFT ARM MOTOR M4 DOWN

Q10.4 --> PINTLES MOTOR M5 OPEN

Q10.5 --> PINTLES MOTOR M5 CLOSE

PIW 304 --> REEL TENSION SET VALUE POTENTIOMETER

PIW 306 --> ACTUAL REEL SPEED FROM DRIVE A/O

PIW 308 --> TRAVERSE SET POTENTIOMETER

Page 123: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

123

PQW 320 --> MAIN MOTOR DRIVE SET VALUE

PQW 322 --> TRAVERSE MOTOR DRIVE SET VALUE

ىج ٠ى فمؾ ذحل ػ جرحؽ جىجن حو١س

Page 124: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

124

:ح قد جشى جط Symbol tableقط ضى جىنالش جهؾحش ؼح ؽجي جرحؽ م ذاونحي

Page 125: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

125

Page 126: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

126

جط ف هظظح جلرس جألػطحي ق١ع ف ؼطر أ جشؽ ج٢ض١س جؾد ضجفح قط ال ٠ى Function --> FC1ج ػحي ألي

Faultحن ػط

E-stopفطحؼ -

M1وج٠ف جرىز -

M2وج٠ف قىز ص جه -

M3,M4,M5قح٠س جك ججتى -

Faultػ ؽ٠ك جفطحـ جهحص ذه Resetضكطفع ذكحطح قط ف قحس جي جؼط قط ٠ط ػ Faultحس قىظ نطأ ضؼة رس ف ق

Reset P.B

وه ٠ى وال ججػح ئ أػ ٠ى M1.0 = 1ف قحس ػى ؾو ػط Machine readyضى جحو١س ؾحز طشغ١ ج٢ -

غمحججػح

:ف جشى جطح FC1شى كط٠حش جىجس

Page 127: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

127

:جؼ١س جطح١س ػ١س ضؿ١ جرىز أ جطك١ طشغ١ ضش ج٢ض

فغ ي ججػ١ ج١١ جشحي -

فطف غك ججػح ه جرىز ػى جطك١ ضك٠ح ػ جي -

:ض١س جؼ١حش ضط ذحشؽ ج٢

( M 1.0) الذى أ ال ٠ى حن أ ػط -

الضط ػ١طح طمحذطح ف ف جلص ػال جفغ جي فمؾ أقىح -

(١ص ف قحس ضشغ١ ) الذى أ ضى جحو١س طلفس -

جكىو ه Limit switchضط جكوس غ -

ف قط ال ضمغ جرىز ػ١س جفطف ال ضط ئ ف ػغ ججػح أل -

S1,S2ػ١س جفطف جغك ال ضط ؽحح أ جكح ػ قىو جطحص أ الذى أ ٠ى جكح ذؼ١ىج ػ -

م١ح ذطه جؼ١س FC2ض ئشحء

ذحطح ضأن ػ١حش جفغ جي جفطف جغك جشى جفك

Page 128: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

128

Page 129: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

129

Page 130: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

130

Page 131: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

131

Page 132: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

132

M1ج٢ ؾحء جى ػ جض جت١ ض جرىز

٠ى جطشغ١ ذػس غحذطس ٠ط ضكى٠ىح ػ ؽ٠ك Manualق١ع ػى جطشغ١ ذحػغ Auto/Manual ػح جطشغ١ قد جالنط١ح

Jogأ Jog forwardطكى٠ى ع جطشغ١ Digitalشحز ج ؾو ف و أجع جىج٠ف ٠ فمؾ نؼ ئ JOGجىج٠ف ف جػغ

reverse

) ظح ؼف ف و أجع جىج٠ف و ح م ذ ( ٠ى جطكى ف ػس جض ػ ؽ٠ك جشى ) جع جػح جطشغ١ ج٢

جءز جؼخ ف ؼح طكى٠ى جشى جأللظ ذؼى يه جإلنجؼ جم( Analogueالنطرح جؼ١حش جكحذ١س ذىج٠س ذ١طس طؼح غ

الذى أ ضى جحو١س نح١س جألػطحي ػى جطشغ١ ج٢ الذى أ ٠ى ججػح ألػ غمح Auto/Manualف وال جكحط١

:جألشىحي ج٢ض١س ضػف ػحي طف١ يه

ف غ جطشغ١ ج٢أال ضشغ١ جرىز ٠ى٠ح ألح ه

Page 133: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

133

طكى ف جشى جأللظ جـ Scalingغح١ح لجءز جشى جمحس جطغ١ز جهحطس ذحشى ػ

Page 134: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

134

ذؼى يه نؼ ل١س جشى فمؾ ػى جطشغ١ ج٢ ضى طف ػى ػى جطشغ١ ج٢

Page 135: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

135

ؾذم ػىح جطحص فم

جىحذ ػ جرىز ذشى طظ ف شى قمحش طؿحز غ ؽرمحش ططح١س ٠ط ج وح رك أػكح ػ ج٢ ؾحء و قىز ص جه أ

ج ٠كن جكح و ئ ج١١ ئ جشحي ذك١ع ٠ظ ك جىحذ غحذطح ٠ط ػرؾ ػس ج جض ذحطج M2ؽ٠ك جض

ق١ع جأل ذى ذحؽس ى فس وجش جرىز ٠ؿد أ ٠طكن جطحص ذمىج جهطز جطذس ؽرمح غ ػس جرىز ػى جطشغ١ ج٢

ىحذ جطؽ

( ) ؼح ػرؾ جػس ج ف ٠ػ لط جىحذ ( و / فس ) ذحطح فػس جطحص ػاللس ف طغ٠١ ح ػس جرىز

قىجش ػس نط١س ج شة طم ؽر١ؼ ٠رم فمؾ ػ١س ػرؾ ذ١طس ػ ؽ٠ك ؼح ل ٠ط قحط ػخ جالغ١ ذكد ج

ئػحفط ف جح٠س

أح ػى جطشغ١ ج١ى ف١ط يه ذشى رحش و جؾع ئ ػس جرىز

ف١ح ٠ جلطجـ ح ٠ى ضف١

Page 136: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

136

Page 137: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

137

Page 138: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

138

Page 139: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

139

) قط ٠ط ضف١ح ئال ف ٠ط ضف١ح ٠ط ج جالطىػحء ف قحطح ػ جشى جطح OB1ج جط ض وطحذطح ف ذم أ طىػ و جأل

(أ٠ى أ ضى جأل ف ذىج٠طح ذ جرحؽس

Page 140: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

140

ف١ذج فحرحؽ أطرف ؾحج ط

٠ى ه ج ج١ه

http://rapidshare.com/files/136641675/Coiler.zip.html

ػ ؽ٠ك جالنط١ح جػف ف جظز جطح١س غ جنط١ح جف ٠Simatic managerط فه جرحؽ ػ ؽ٠ك

Page 141: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

141

Page 142: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

142

إجي

OB1ف

MIN/MAX FOR SCANTIMEجؾ شـ و١ف١ لجء

ػ جؾوز ف جظز جطح١س هس OB1وجن ١Local parametersس جألل جؼ٠ ٠ى أ ٠ط ج ػ ؽ٠ك لجءز جر١ححش جك

ف طز ألح طك١كس قىجضح غح١س

Page 143: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

143

:وح٢ض Data word in data blockفػال ٠ى ضك١ و جقى جر١ححش م ئ

L OB1_MIN_CYCLE

T DB10.DBW20

L OB1_MAX_CYCLE

T DB10.DBW22

OB1ق١ع ٠ى جطهىجح وح ضشحء وجن جرحؽ ذؼى يه ضى جؿ وجن

إجي

Local parameters ٠ى ضػ١ف فحتى ج ظ١ف ذحل

OB1_MIN_CYCLE and OB1_Max_CYCLEق١ع لص ذشـ ظ١ف

جألل جؼ٠

(طى ئح أضحذؼ ذؼى جؼ ظف جهحطس فص طفغح ) ػج ف جطأن١ ف١ ئحال ى جشغحال

: OB1ف أيو ذؼغ جأل ػ

ذشى و جء جؾوز ذشى رحش أ جؾوز ذشى ػ OB1ذطف١ جطؼ١حش جؾوز ف CPUضم -

٠ط ذىء وز أن رحشز OB1ذؿو جالطحء ضف١ وز -

Page 144: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

144

Startupأ٠ح وح ع CPUقىز Startupذؿو جالطحء OB1 ضرىأ أي وز -

٠ى جطىػحء جألجع جهطفس جىجي جظ١ف١س -

function blocks FBs, SFBs or functions FCs, SFCs وجنOB1

- OB1 أل OB أ٠س ػى جطف١ ح ػىجOB90

OB1ىػحء جكحالش جط ٠ط ف١ح جط -

·The startup is completed.

·The execution of OB1 (the previous cycle) has finished

ػحس ف Globalجهؾحش ئ جهؾحش لجءز قحس جىنالش أ طغ١جش ٠Process imageط ئحي قحس OB1ذؼى جطحء ضف١

CPUقىز

:ػكس ف جظز جطح١س ج Local variablesأح ذهظص

ف جأل ف١ح جط ٠ى أ ضى ػغ جطهىج جألذؼس جألن١ز ق١ع أ جؿػس جأل لر يه ف جغحد ١ ح أ جطهىجحش

ػ OB1 ٠ط ذىء ضف١ ضه٠ يه قط CPUقىز startupرن فمؾ جػح ٠ػ ؽ٠مس ػ Identifierجرؿس فحألي ٠ػ

ال ٠ؾى ذؼى يه جألط جألذؼس جألن١ز جط ضػ 1جػحع ٠ػ وؾس أ٠س جرن جطح ٠ػ ل جرن bitsشى

:ذحطض١د

Page 145: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

145

(ف طز ل طك١ف ) آن وز ض ضف١ح -

(طك١ف ف طز ل) أل وز ض ضؿ١ -

(ف طز ل طك١ف ) أور وز ض ضؿ١ -

ف طز لص ضح٠م OB1ضح٠م لص ذىء ضف١ -

:إجي

٠TAR1ى جطهىجح ف ذن أن ػ ؽ٠ك جطىػحتح م ف جرىج٠س ذطؼ١س fc\fbجؾحء شـ حيج ف ذىج٠س ذن

T # PREV AR1

LOCAL AREAف ح٠س جرن م ذؼ١س ؼحوس أ م جؼحش LOCAL AREAئ DBؼحش غ م ذؼ١س م ج

: ذطؼ١س 1ؼج جؿ DOWN LOADذؼىح ػ١س DBئ

L PREV AR1

L AR1

شىج الطكحخ جفؼ

جألل جؼ٠

ػى فمى جر١ححش Interruptأ Subroutineأ Functionأل وجس Callفمؾ ػى ػ PLC جرحوب جؼحس ف جرؿس ػح ١

ف Temporary filesلر جالطىػحء ذحطح ٠ط م ضه جر١ححش ئ ىح آ جء فحش ػ ح ٠ط ف memory areaجط وحص ف

PLCػى ضف١ يه ػ ط Buffer data block ظ جىر١ض جؼحو٠س جط ٠ط كح ذؼى جطف١ أ جطهىج

قد جرحؽ جطهى Address registerأ Accumulatorأح جطهىج ضؼ١حش ؼ١س ه فج ٠ؼطى ػ جرؽ ف جء ذحطهىج

فى جرؽ ف

أح Accumulator 4ػ١حش حذمس وكى ألظ ف قحس ؾو 3حتؽ أوػ ق١ع أ ح رك ػى شـ ؾ١غ جؼ١حش فا ال٠ط جالقطفحظ ذط

كفع جر١ححش Data blockجط ح ضػ Buffer areaفحطحتؽ جط ٠ط جالقطفحظ جقىز حذمس فمؾ ذحطح ف١ رؽ ػ 2ف قحس

جط وحص ؾوز Accumulatorsػى جطىػحء وجس ذحطأو١ى ف ضفمىح كط٠حش

إجي

:وطد

و١ف ٠ط م جؼحش OPENػ ؽ٠ك جأل FCػ DBجؾحء شـ فظ ػ جطهىج جؼس غ١ جرحشز شـ جطهىج

DB ئLOCAL AREA و١ف ٠ى ئػحوضح ذؼى ضف١ جرن

جألل جؼ٠

جحس ئال إنج ف ٠ط ئفجو و وح ػ جؼس غ١ جرحشز ئ شحء هللا ف ألخ لص ػج ف جطأن١ ف جو ف أطر كط

ػج ز أن ظج الشغحي جشى٠ى ذؿحالش جطى جطؼىوز

Page 146: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

146

إجي

data blockج٠ى ج جحي ػ

و١ف١س جطي ج ذ١ححضح نالي جرحؽ و١ف ٠ط جطه٠ ف١ح

وح ف جظز DB1ػال ػص ف

accumulatorج و١ف ٠ى لجءز ذ١حطح ضه٠ح ػال ف m1فى١ف ٠ى جطي ج ػال

جال ػ١ى أن جؼ٠

:ف١ؿد ؼفس ج٢ض Data blockذهظص ضه٠ جر١ححش جطؼح غ

وح يجش ؼ جقى ى ع أجع Bytes 4أ Words 2أ Data block 32 bitجكؿ جأللظ طؼح غ ىحش

(ؼفس جم١س ) جطغ١جش وح رك أػكح ف ذىج٠س جىز ؽ٠مس ف جطػ١

ىج Timeضهطف ػ Realضهطف ػ BCDضهطف ػ Integerفط٠مس ضػ١

Bit , Word , DoubleWordػ ط٠حش فاح طؼح Data blockى ػى جطؼح غ

Data block 10: ػال

DB10.DBX2.0: ٠ى وح٢ض Bitػى جطهىج

ىج 0جهحس ل 2ل Wordجىس Data block 10ج ؼح

Page 147: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

147

DB10.DBW2: ٠ى وح٢ض Wordػى جطهىج وس

2ل Wordجىس Data block 10ج ؼح

DB10.DBD2: ٠ى وح٢ض Double Wordػى جطهىج

2ل Double Wordجىس جؼحػفس Data block 10ج ؼح

ؽحح أه ضؼف ح ضطهى ى ج جطىجن ال ٠ؿ ف ١Word Double Word حن شىس ف جطىجن ف جرحؽ ذ١

ػ جطض١د أ و جىحش ٠Data blockؿد أ ٠ى جطؼ٠ف فظال ضحح ػال ئيج ػفص وجن ػى ئشحت ئي Data blockضؼ٠ف

MDذشى فظ طغد ػ يه ٠ط مح ئ يجوز ١طس جع Word 4فال ٠ؿ جطهىج Double wordول ؼحػفس أ 6 2

MWغ ذؼى يه جطهىج ؾء ح

إجي

MW & MD and MBإجي ػ ججوز ج

ذى ف جر١ححش DW0ف ف جلص جطه٠ ف MW0 ٠ى جطه٠ ف ػال

MW0+MW1ضطى MD0ق١ع ج لأش ج ? MW0ف

فح ى طكس ج جىال؟

ح جلظ ػىو ٠ى جطه٠ ف١ ف جرحؽ ؟

فال ضؾى أ شىس حت١ح ف جالطؼحي وجن جرحؽ M , MB , MW , MDأح ػ نال٠ح ججوز

١ MW1ضى Lower wordفج طك١ف ضحح غ القظس أ MW0+MW1ضطى MD0وه ح يوض ذهظص أ

MW0

Moveأ STLف قحس Load/Transferفه ٠ى ػ ؽ٠ك جألج Data blockأح ػ١حش لجءز جر١ححش ضه٠ح وجن

FBDأ LADف قحس

Word , Double wordنالي جىز ج ػ ط Load/Transferلى ض شـ ج ذحطفظ١ ف ذحخ

Binary Logic operationsف١طرك ػ١ح و ػ١حش bitأح

Page 148: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

148

إجي

جال ػ١ى

طؿحذس جطحي جى ق جشىن وجتح ػ ػس جال

ج٠ى ج جلي ج ٠رى ج وال غ١ جػف فى ح يوض فحكى هلل جػف

------

Data Blockفىال ػ

ػال جيج وطرح جال

l db1.dbw2

Accumlatorل جقى ق جم١س ف data blockف 2ل wordفج ؼح ػ ضك١ ىحش

(m12 )ف جؿىي ج جشحض 2ل wordج٠ ىح فح ج٠ى ج جػف

ج ف جؿىي و١ف ٠ى جطهىج Addressح فحتىز

------

جح جإجي جػح

جيج وطرح ز جالج ف جرحؽ

L 20

T mw0

L 500

T MD0

MD0فح ال٠ى جطه٠ ف MW0 + MW1ضطى MD0ػ جح ج

ق١ع ١ط جىطحذس ف١ح ز جن MW0جيج وح ٠ى ج كحفع ػ جر١ححش جط ف

ىج

ض١ ططحط١ فح جز جػح١س ف جر١ححش جط وطرحح ف جز جال MD0ضحح جيج جوح ج ه ف

جض ج جو لى جػكص ح ج٠ى ج جػف

ؾجن هللا ن١ج

Page 149: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

149

جألل جؼ٠ جال ػ١ى قس هللا ذوحض

فػال جؿىي ج أفمط ضى data blockوجن double wordأ wordف جؿىي ٠ػ ل addressذؼى فا جؼو

DB1.DBW0 فح جطغ١ ج ١ط DB_VAR

طغ١جشىج ف ذم١س ج mohف ضػ جطغ١ DB1.DBW2أح

أح جطغ١جش جط وطرطح فح Accumulator-1-Lوجن mohفاه ضم ذطك١ ل١س جطغ١ L DB1.DBW2ف جطهىص جأل

أ ػ شع ؾى٠ى ف ضؿى ج Commentsذى CPU ػ Upload ئال فمؾ ئيج لص ذؼ

data blockف Double Wordأ Wordل وح يوش رمح ف Addressفحتىز

فحرطرغ data wordغ ضك١ ل١س غح١س م جم١ط١ ئ ف Accumulator-1أح ذهظص جشك جػح ػ ضك١ ل١س ف

جم١س جمى٠س ضى هس ى ئيج وح جألج ططح١ح ١ ذ١ح ضك١ أ ذ١ححش أن فا Data wordف ضك جم١س جمى٠س

٠Accumulator-2ى جطؼحوضح Accumulator-2ف

وه أن وح يوش رمح الذى أ ضجػ ط١غس جر١ححش جط ضكح قط ال ضكىظ أنطحء ف جرحؽ غ١ مظوز فطك١ ل

:ض وح٢ ٠Double Wordهطف ػ ضك١ ل طك١ف ؼحػف جىلس Wordطك١ف

L 100

T DB1.DBW2

L L#500

T DB1.DBD4

:وطح جقىز ولس ػحو٠س جألن ولس ؼحػفس ف جهطأ جطؼحي ج٢ض 2وه وح يوش رمح ال طهى ف جؼج ػال

L 100

T DB1.DBW2

L L#500

T DB1.DBD2

ع جقى فمؾ حقس جطه٠ وح يوش ف Addressطؼحي ج نطأ ئح ٠ؿد ج 2فج ٠ؼ جوجؾ١س جطؼ٠ف ؼج

٠Typeط ض١ى آ١ح ذحء ػ قؿ جر١ححش ج ضكىو ف نحس Addressجؿىي وح جػف فا

ىح ١ؾ ف قحس جقط١حؼ أح ئيج أوش أ ضه ل١ط١ ططح١ط١ ف ف جىح ف جطر١ؼ أ ضفمى جم١س جأل ٠ؿد ح ئونحي

:جم١س جأل ػال

L 100

T DB1.DBW2

L DB1.DBW2

T DB1.DBW4

L 200

T DB1.DBW2

Page 150: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

150

DB1.DBW4فح جم١س جمى٠س ؾوز وجتح ف

أؾ أ أو لى أػكص

جال ػ١ى

جكى هلل فمى ذىج إج ف جػـ

ذحرس شك جالي

Double Word mm1 ؼ ج ج جي

جشك جػح

ى جحي ػ ججوز جؼحو٠س Data Blockجح ال جحي ػ جطه٠ ف

MW & MD

MW0ف ف جلص طك جر١ححش ف MW0 MD0 جيج ض جطه٠ ف

MW3طك جر١ححش ف MW3 MD2ج٠ؼح جيج ض جطه٠ ف

ىج

جؾ جال ضى لى ضؼح٠مطى وػز جثط ى ؾ٠ جشى

وح يوش mm1ف جرن ج لص ذاشحت Double Wordؼ أن جؼ٠ فا أي

فا جر١ححش جمى٠س ضفمى ج MD0غ لص ذم ذ١ححش ئ MW1أ MW0أح ذحرس إجي جػح ؼ ئيج لص ذم ذ١ححش ئ

ؽر١ؼ ؾىج

جال ػ١ى

8جى ل loadجح ػى جطفح ذهظص ج

ج ػ ر١ .. جطط ػ ج ججن جح حيج؟ INPUTS ؼ ج جال ضك١ و قح جي L IB20ح ظ١ف -

جػحي ال ذف ؼ ج جال ف جضى ؼف ؼ ذحل جالج

L STWحو ػ ف ج ج٠ؼح جح ص ل -

.ؾ ج ٠ى جشـ فك ؼ جػ ججل شقح غ جؼ جه ص ػ١ح قحؾحش وط١ هللا ذح ٠ؿ٠ه ن١ -

هللا جطؼح

شىج ؾ٠ال ػ ج جإلؽجء ىػ هللا أ ى أ MAHERجألل جؼ٠

٠إوى طي جحس جمظوز ج جطى ػ جفحتىز ى جؼذ ج ض١ط وح ٠ؼىح وجتح ج جطجط ج

ف ؾ١غ جؿحالش جف١س جإلوج٠س جإلح١س جى١٠س قط جطف١١س

ي ج ل ف فؼال جو٠ 20ل Input byteف ٠م ذمجءز جىنالش L IB20أح ذهظص جطفحن ػ جأل

Hardware configuration address=20

M 10.0ؼج Setفا ٠ط ػ 0=فػال فطع أ ى٠ح ؿػس شؽ جطشغ١ ػىوح غح١س وح ف قحس ػى ؾوح أ

M 10.0ف جؼج Resetف قحس ؾو أ ح ٠ط ػ

Page 151: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

151

AND , ORفرىال جطهىج جأل

O I 20.0

O I 20.1

O I 20.2

O I 20.3

O I 20.4

O I 20.5

O I 20.6

O I 20.7

R M 10.0

AN I 20.0

AN I 20.1

AN I 20.2

AN I 20.3

AN I 20.4

AN I 20.5

AN I 20.6

AN I 20.7

S M 10.0

:٠ى جطهىج جأل

L IB 20

L 0

==I

S M 10.0

L IB 20

L 0

<>I

R M 10.0

ضكى٠ى قحس جط١ؿس ػال أور جظف أ طف أ CPUفا ذؼى ػ أ ػ١ ٠ط جلرس جط١ؿس وجن L STWح جأل أ

Statusف جكحذحش ىج ، جر١ححش جط ضكىو قحس ط١ؿس آن ػ١س ٠ط ضه٠ح ف١ح ٠ ذ١ح جكحس OVERFLOW حن

word جطهىجح وه وشؽ إلضح ذؼغ جظحتف ذحء ػ طحتؽ جؼ١حش ٠ى يه ػ ؽ٠ك ضك١ح وجن ٠ىAccumulator

غ ؾ١غ جؼ١حش ضم٠رح ؼغ يه ف ؾىجي فمس ذحؼ١حش Status wordالقع وجتح أن جؼ٠ أح ش١ ئ ضغ١ قحس 1

أؾ أ ضى جظز لى جضؼكص

Page 152: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

152

ال ػ١ى

bit logic instruction as (ANDج جؼف ػى جطهىج

EX

A I0.0

A I0.2

=Q0.2

status bit for i0.0 equal 1 and status bit for i0.2 equal1 so the the RLO will be 1 q0.2=1ؼ ج ج ف قح

word or double word instruction as in lecture 9ى ف قح جطهىج

accu1 and accu2ذؿى جححضؽ ذ١ى ؼطى ػ كط٠حش و

EX

L MW20

L MW22

AW

T MW8

ف ذ١ؾى ى٠ه ضطر١ك ج ال

STLؼ ج ج جال طؼ

PROFIBUS SYSTEMػى جطهىج DATAال ف جقطحؾح ف م

هللا جطؼح

:ػ جػحي ج يوض WORDج ٠طهى غ AWذحرس أل MAHERجألل جؼ٠

L MW20

L MW22

AW

T MW8

:جؼحو ى ج ٠ك ك ؿػس جألج وح٢ض Andفا ح ٠م ذ ج جأل ف ح ٠م ذ جأل

:جؼطحو ف١ى جػغ وح٢ض Andجحذمس ذحطهىج جأل أوح وطحذس ح ٠ج جط جألذؼس

A M20.0

A M22.0

=M 8.0

A M20.1

A M22.1

=M 8.1

A M20.2

A M22.2

=M 8.2

A M20.3

A M22.3

=M 8.3

Page 153: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

153

A M20.4

A M22.4

=M 8.4

A M20.5

A M22.5

=M 8.5

A M20.6

A M22.6

=M 8.6

A M20.7

A M22.7

=M 8.7

A M21.0

A M23.0

=M 9.0

A M21.1

A M23.1

=M 9.1

.

.

.

A M21.7

A M23.7

=M 9.7

جؼطحوز Andذىال AWططحذؼس ػ جػحي جحذك ف١ط جطهىج Addressesفؼى جطؼحي

جشؽ جضرطس ؿػس جشؽ جؼفس رمح ػال ئيج وح حن ؿػس Maskوه ٠ى جطهىجح ػى ػ

جقى ذك١ع ضى ططحذؼس ٠ط ضكى٠ى قحطح ػى جطشغ١ جظك١ف ػال Input moduleذكححش أ فحض١ف ضشغ١ ؼ١س ٠ى ضط١ح ػ

يه XORأ Andجء Wordأ أ ل١طح ذحظح جػحت ػ جل جحذك ٠ط جطهىج أ أ أج 2#1011001101110011

طكمك جشؽ

جطح ٠م Loadجأل ٠Accum-1ط م جم١س جط ذؼى وجن Loadفا أي أ Accumulator1,2أح ذهظص كط٠حش

ف١ط ضه٠ وجن AWأح حضؽ جؼ١س جألن١ز ػ ٠Accum-1م ذطك١ جم١س جؿى٠ىز وجن Accum-2ئ Accum-1كط٠حش

Accum-1 ضظ ف جكحس كط٠حشAccum-2 و ضغ١١

أ Accum-1وجن جؼج ذؼى جأل و أ ٠غ١ ف كط٠حش أ Accum-1ف١م ذطه٠ كط٠حش Transfer-Tأح جأل

Accum-2

أؾ أ ضى جظز لى ػكص

Page 154: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

154

جال ػ١ى

جح جضى ض١١ جفق ذ١ و

RND , RND+ , RND- , TRUNC

11جؾو ف جى ل

ج٠ىجطػ١ف ذاللح فمؾ

شىج ه ػ جؿو جري

هللا ٠ؼ١ه

MAHERجألل جؼ٠

فا ٠م ذؼ١س جطم٠د يه ذطك٠ جل جؼش ئ ل طك١ف وى ذطم٠د جى ئ جل جظك١ف RNDذهظص جأل

جأللخ

فا وح جى أل جظف ٠ط قف ئ وح جى أور جظف ٠ط ضمذ ئ جقى طك١ف ٠ؼحف م١س جظك١كس جألط١س

٠10ط جطم٠د ئ 10.5: ضحح أ ظف ٠ط جطم٠د أللخ ل طك١ف ؾ ػال 0.5ئ وح جى

ىج 12ف١ط ضم٠ر ئ 11.5أح

10.9ف١م أ٠ؼح ذطك٠ جل جؼش ئ ل طك١ف يه ػ ؽ٠ك قف جى ضحح ح وحص ل١ط ػال TRUNC أح جأل

10ضظرف

ف١م ذطك٠ جل جؼش ئ ل طك١ف ػ ؽ٠ك ضم٠د جى ح وحص ل١ ئ أور ل طك١ف ؾد + RNDأح جأل

-11ضظرف -11.2وه 11ضظرف 10.2ػال

ف١م ذطك٠ جل جؼش ئ ل طك١ف ػ ؽ٠ك ضم٠د جى ح وحص ل١ط ئ أطغ ل طك١ف ؾد -RNDأح جأل

-12ضظرف -11.2 10ضظرف 10.7ػال

أؾ أ ٠ى جفق لى جضؼف

:وطد

جال ػ١ى

12جح ػى جطفح ذهظص جػع جطح ى

upload the program from plc to the pcذهظص ػ١

??? new project OR new project wizard ػ١ جشحء شع ؾى٠ى ضط ػ ؽ٠ك _

.. uploadف ج ف ٠إغ ف ػ١ OB1ف ٠ط جشحء جرحؽ ذىجن new project wizardال ػى جضرحع

.ذ جطفظ١ downloading from pc to plc ج٠ى ؼف ؽ٠م_

ذؼ ج ذ١ط ضك١ ذ EPROMضفحط١ كط٠حش upload the program from EPROM to PCج٠ى ؼف ؽ٠م _

special parammeter or the completed program..

..download from pc to epromج٠ى ؼف ؽ٠م _

شىج ه ؾ٠ال

جطؼحهللا

Page 155: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

155

جال ػ١ى قس هللا ذوحض ذؼى maherجألل جؼ٠

ئ وص أفؼ ئشحء شع wizardشع ض ئشحؤ ؾى٠ىج ذحطؼحي شع ؾى٠ى أ ١upload حن فق ذ١ ػ : أال

رحشز PLC ػى جغرس ف ئشحء جشع طك١ wizardػى جىني ف new projectفمؾ

:ػ جظز جطح١س Upload station to PGهطح ح PLCذؼى ئشحء جشع جؿى٠ى د ئ لحتس

viewف ضظ لحتس ذأجع جالضظحي جطحقس ركع ؼغؾ ػ

Page 156: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

156

ف ٠م جرحؽ OKح غ ؼغؾ جطخ فغ جرحؽ CPUجطحقس ؼغؾ ػ CPUف ٠ظ ح لحتس ذأجع

ػ جظز جطح١س OKذحطك١ قط جالطحء ذح ٠أي ػ ضك١ جر١ححش وح ل ذحالطؿحذس خ

Page 157: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

157

ػ جظز جطح١س PLC لحتس downloadفىه جأل ذط جرحؽس فاح ذحنط١ح downloadأح ذهظص ػ

Page 158: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

158

ػ جشى جطح downloadمس أ ذحؼغؾ ػ أ٠

Page 159: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

159

CPUئ يجوز System or user program or user dataج ف ٠م ذم و جر١ححش جء

download user programغ جنط١ح blocksف١ى يه ذؼى جلف ػ flash memoryئيج أوش ضه٠ جر١ححش ف وحش

to memory card ظز جطح١س ح ال ٠ش ػ جhardware configuration ئح فمؾ ٠ش جرحؽ

Page 160: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

160

أؾ أ ٠ى جطخ ضح

جال ػ١ى

أؾ ضػ١ف جفق ذ١ جال٠

L PIW

جال

L IW

ى ؾ٠ جشى

Page 161: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

161

mone1جألل جؼ٠

جال ػ١ى قس هللا ذوحض

٠م ذم جم١س ف Digital input module و٠ي ل ٠Digital input wordم ذطك١ L IW ذؼى فا جأل

Accumulator-1

Accumulator-1وجن integerف شى Analogue input wordف١م ذطك١ L PIWأح جأل

ذؼى جأل ف جكحط١ Addressغ القظس

جال ػ١ى

stlجكظ ذر ج ف ذؼغ جالق١ح ػى وطحذ ذؼغ جالج خ ج

ladجكح طك٠ح ج

...فف ذؼغ جالق١ح ٠ط ضك٠ح جرؼغ جالن ٠ط ضك٠ح ذغ ػى ؾو ج جنطحء ف جىطحذ الج جؾ جطػ١ف

جألل جؼ٠

ى جؼى طك١ف ى ئ أوش أ ٠ى و ح ضىطر ى جطك٠ LADضك٠ ئ ى ١STL و ح ٠ىطد ف شى

ف١ؿد أ ٠ى جقىز فمؾ set , resetوه networkف ) = ( ف١ؿد أ ضكص ػ ذؼغ جأل ح ػى ؾو أوػ ػالس ضهظ١ض

STLئ ٠LADظ ػى جطك٠ جؼى ٠ط جطؼحح ذحشى جم١ح ج timer ,counterوه أج

LADف١ ح ظ١ ف L ,Tوه حن ذؼغ جألج جط ١ ح ظ١ ػ

networkأوػ جقىز ف ف ( call function) أ٠ؼح ال ٠ؿد جطىػحء

لى يوش STLج جأل جؼطحوز ػ جؼ خ ػح ج جأل ال ٠ؿد أ ٠شغه وػ١ج ؽحح أ جرحؽ طك١ف وح ضمي ف

ف ذىج٠س جىز أ ذؼغ جرؿ١ أ ذؼغ جشوحش جألؾر١س ضطؼى يه ذحخ ؾؼ جأل طؼرح ػ ٠طهى جرحؽ ى ئ أضمص

STL ػ قحح فمى وش قحؾج ور١ج أور قجؾ جطؼح غ أ ذحؽ

ىجال ػ١

15جح ذطكىظ ػ جى ل

JLجال

جح جططغ ف

ذظ رحؽ ضؾى ػى محؽ طؼر ج٠ى ضػكح جوػ يه

L MB0 //Load jump destination number into ACCU 1-L-L

JL LSTX //Jump destination if ACCU 1-L-L > 3

JU SEG0 //Jump destination if ACCU 1-L-L = 0

JU SEG1 //Jump destination if ACCU 1-L-L = 1

JU COMM //Jump destination if ACCU 1-L-L = 2

JU SEG3 //Jump destination if ACCU 1-L-L = 3

LSTX: JU COMM

SEG0: * //Permitted instruction

Page 162: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

162

*

JU COMM

SEG1: * //Permitted instruction

*

JU COMM

SEG3: * //Permitted instruction

*

JU COMM

COMM: * //Permitted instruction

*

؟ mb10 = 3 ل١ -1

2-JL LSTX ف ٠كىظjump ػىح ٠ى ل١accu1 > 3 ذحء ػ حيج ض ضكى٠ى ج ١كىظjump حيج ٠كىظ ف قح ج

. ١5ى jump destinationض ضكى٠ى ل١ جن ي

. applicationفه ج جال ف ٠ى غحذص ف و جرجؽ ج ج ACCU 1-L-L = 0ؼح ج lable (seg0 جي -3

* .ح ؼ -4

. ju commجطهىح lableحيج ف و -5

. ACCU 1-L-L = 2ج comm ؼ -6

.another jump destination numberجؾ جطػ١ف ج٠ى ج٠ؼح ذحؽ جن ذحطهىج

هللا جطؼح

جألل جؼ٠ جال ػ١ى

٠ؿد القظس يه ؾ١ىج ACCU1-L-Lفا ٠ط ضك١ جم١س جط ذحء ػ١ح ٠ط جضهحي جمج ف multiple jumpف١ح ٠طؼك ذحأل

256جكى جأللظ ح ١Wordص Byteف

ف ق١ع أ ػىو أط جأل ج ٠كىو يه وه فا ؽ٠مس وطحذس جأل ضكىو و١ف١س جطظ

ئيج وح أور جط جألن١ أط ) ىح ج ف ٠طم ئ١ labelطرػح ذح JLفحط جألي ج ٠كط ػ

JU )

طف ACCU1-L-Lطرػح ذح ججو جالطمحي ئ ىح ف قحس كط٠حش JUجط جطح ٠كط ػ

1ضح ACCU1-L-Lطرػح ذح ججو جالطمحي ئ ىح ف قحس كط٠حش JUجط جطح ٠كط ػ

2ضح ACCU1-L-Lطرػح ذح ججو جالطمحي ئ ىح ف قحس كط٠حش JUجط جطح ٠كط ػ

ىج

ذحطح فا جط جألي 3ذحطح فحم١س جمظ ظ ئ جشؽ JUأط 4ف جػحي ج أػط١ح ف جى حن ػىو

JL ٠ط ضف١ ف قحس كط٠حشACCU1-L-L 3أور

ف ؿو ألحو ف جرحؽ فمؾ ١ ح أ ىي ػ أ LSTX , SEG0 , SEG1 , COMM , SEG3أح ج

شة آن

١ جشف جىر

indirect addressingجؾ شـ ػ١

Page 163: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

163

siemens s7 300 plcط ٠ط جطهىجح ف ذؿ

:أؾ أ ٠ف١ى ج جشـ Hans berger وطحخ Indirect addressingجألل جؼ٠ ئ١ه ذحؼرؾ شـ ػع

Indirect addressing

Instead of memory location address , indirect addressing with STL uses variables whose values are

calculated at run time. These variables can be located in the system memory of the CPU ( i.e indirect memory

addressing ). The address registers are used for indirect register addressing.

There are two categories of addresses which can be indirectly addressed

- Both indirect memory and indirect register addressing can be used for addresses which can have an

elementary data type. The address occupies one double word. These addresses are : Peripheral inputs and

outputs , inputs and outputs , bit memory , global and instance data addresses , and temporary local data.

- Addresses which have a parameter type can only be addressed with indirect memory. The address

occupies one word. These parameters are : Timers , counting functions , and code and data blocks

Indirect memory and register addressing

Indirect memory addressing used words or double words from the address areas , bit memory , global

and instance data , and temporary local data to store the address. Instead of the address , the address memory is

indicated in square brackets for the indirectly addressed memory location. The address memory can be loaded

with a pointer or a number , and its value can be changed during run time.

Indirect register addressing uses the two address registers AR1 and AR2 to store the address. Instead of

the address , the address register is indicated in square brackets for indirectly addressed memory locations and

supplemented with a constant offset. The actual address is the sum of contents of address register and offset.

When the address register only contains the byte and bit address , this is called indirect register internal area

addressing ( i.e , the address area is specified here for the operation ). With indirect register area over lapping

addressing , the address area is part of the address register and can also be manipulated.

Page 164: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

164

_________________

جال ػ١ى ؼ جفحػ

multiple jumpجال جطط١غ ج جلي ج ضفص

view menuىح ضىن ػ plcsimى ج٠ى ج جػف ذ١ؾى ف ذحؽ جي

accumulators 1, 2, 3 ,4ف ػ ٠حن accumulatorضهطح

fc , rlo , sta , or , os , ov, cc0, cc1, brق١ع ضكط ػ status wordػ ١٠ه

ج٠ى جح جػف

طػ١ف قحس ؟؟ status wordج -1

ح ؼ ج جؾو ذىجن ؟؟؟؟ -2

جطؼحهللا

جال ػ١ى maherجألل جؼ٠

جلرس جؼ١حش جط ضط وح ح جطهىجحش ػى٠ىز وجن جرجؽ وح أشش CPUجط أشش ئ١ح ف وجن Status wordذحرس ي

:نححش وحشى جطح ٠9طهى ح فمؾ

Page 165: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

165

:١ جرحؽ ال ٠ى رؽ جطهىجح إلنجؼ ط١ؿس ػ١ح ق١ع أ حن نححش ال ضطغ١ أغحء ضف

FC , STA , Or

يوح غ و أح ذم١س جهححش ف ضطغ١ ؽرمح ع جأل جطهى قحس جط١ؿس جطضرس ػ ج جأل ج جطغ١١ جهححش جط ضطغ١ ٠ط

أ جألج جط طؼع ح

ق١ع ٠ط ضه٠ ط١ؿس آن ػ١س طم١س ض ضف١ح ف١ح أ جؼ١حش Result of Logic Operation جنطظح ي RLOػال

ىج AND,OR,NOT,XORجطم١س جؼفس

ف جأللح جظك١كس فػال جؼف أ Overflowح نحططح ذطؿح جط١ؿس كىو ؽ٠مس جطه٠ جطهىس OS , OVجهحطح

فا جط١ؿس أور قىو جل جطهى ذحطح ٠كىظ 1000* 1000فايج لص ػال ذؼ ل١ 32768أور ل ي ئشحز ٠طهى

Overflow ضطغ١ قحس جهحسOS,OV

٠طكىو جمج ذحرس ؼ١س ػ قحس حض١ جهحط١ ٠ط فح جطهىطح ػى ػ١حش جمحس ذ١ ل١ ػال CC 0 , CC1أح جهحطح

ف جطهىج يه ضمحت١ح وجن جرحؽ ى أ٠ؼح ضطط١غ أص أ ضطهى وح شقح لر جء ذحمجءز أ جىطحذس ف١ ف ضؿى

ػ١حش جمحس و١ف١س ضغ١ جهححش

ق١ع ٠ط ف١ح ضه٠ طحتؽ جؼ١حش جػحت١س Binary Resultجح فططهى أ٠ؼح جلرس جؼ١حش جػحت١س وح جػف BRأح جهحس

جال ػ١ى

16جح ػى جطفح نحص ذى ل

? DBW25ج L DBW25ح جمظو خ

? SRW1ح جمظو خ -

????? WORDذطى نحط ذح STATUS WORDج٠ؼح -

Page 166: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

166

maherجألل جؼ٠

ضىي ػ قحس ط١ؿس آن ػ١س ٠Status register ٠CPUط ضه٠ح ف لغ ذجوز bitsف ػىو Status wordذهظص : أال

نحس 16نححش طهىس فمؾ جي ٠9ط ضف١ح ح ػىو

ضى " 1"ل١طح ؽرمح ٢ن ػ١س طم١س ض ضف١ح فايج وحص جط١ؿس ق١ع ضطغ١ Result of Logic Operationؼحح RLOح نحس

" 0" ح٠س RLOضى ل١س " 0" ئيج وحص جط١ؿس " 1" ح٠س RLOل١س

ذ لى ضؿحش جكى جـ Accumulatorأ أ كط٠حش ىح جطه٠ ج ٠ Overflow ضؼ OS , OVوه حن نححش

ف١ح أ٠ؼح نححش أن ضطغ١ ؽرمح كحس جطحتؽ و جطغ١١جش م ذوح غ و أ أج جرؿس

L DBW25جأل : غح١ح

ACCUMULATOR-1وجن جىح ( DBW25 ح ) ح ؼح أ ٠م جظح ذطك١ كط٠حش جؼج ج ١٠ح Lجكف

ذن جر١ححش جفطـ Wordف ط١غس 25ؼحح جؼج ل DBW25جىس

ف لح SRW 1أح جأل

٠ؼ أ جإلجقس ذمىج نحس جقىز لى ض ضػ١ف و 1ئ ج١١ جل ACCUMULATOR-1فؼح ل ذاجقس كط٠حش SRWجألي

ج ف ػؼ

أؾ أ ضى جظز لى جضؼكص

أو أن جؼ٠ ال ضطكؼ أذىج جإجي ح ظص أ جإجي ذ١ؾ ففطحـ جؼ جإجي ؾجو هللا ن١ج ػ قطى جشى٠ى

جال ػ١ى

فمه هللا,. جشىن ٠ح ى ق ػ ج جؼطحء ج الػف و١ف جشىن ػ١

ػى طي .٠ؼح جطهىج شحشس ؼفس و وؾس جكجز . rtd-pt100ز جطم ػ ؽ٠ك ججن جؼ٠ ج٠ى ػ ذحؽ ل١ح وؾس قج

.ضؼ قس جطر٠ى 30وؾس جكجز ػى

iطفحش ؾح

CPU 315-2 DP

Analog input module AI8/12 to 14 bits

Analog output module AO2/12 bits, reconfigurable online

Digital output module DO32 24 V / 0.5 A, grouping 8

ؾجو هللا ن١ج أن جؼ٠

١ ذؾحء جطى ذو ؾ١غ شؽ جطشغ١ جألن ػ جكح٠س فحض١ف جطشغ١ ع جر١ححش جطخ ػػح ذحطفظ١ إلىح١س ػ جطظ

سجحد ق١ع أ جر١ححش غ١ وحف١س ق١ع أح جطفحش ػح

Page 167: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

167

ئ وح حن فطحـ ضشغ١ ئ٠محف ظس أ أح ضؼ ذشى طى٠ ؟: ػال

وؾس ى ط ضطلف 30 حن ظ قح٠س ؼ١س ػال قى أو كجز قى ألظ كجز فأص يوش أ جقس ػال ضؼ ػى

أ حيج ؟ 25أ 20ػى

قحس جقس أ٠ؼح ف قحس ؾو أ ضك٠جش ٠ظ يه ػ جشحشس جطذس ؟ وه جشحشس جطخ فمؾ لجءز جكجز أ

جطذس ر١ح فمؾ أ ر١ح جطشغ١ ؟

جر١ححش جطفظ١١س ضحػى ذحطأو١ى ػ ق جطظ١

غح١ح جح وح ػى جطفح

وص ػح جط ذحؽ

analoge sensor ضحىحش ؼ١ ػ ؽ٠ك جطهىج ذ١جلد ط

جػطحء جج قىظ ج جخ ل ج جو ػ جطخ

s7 simaticجذؾ حذ١ جي

winccجي

ف ى ػىن ؼحش ضف١ى ػ ج جشع

٠winccح٠ص قحؾحش ػ جي

جألل جؼ٠

ؾجو هللا ن١ج

PLCحن قىو ط جألل جألػ فحأل ذ١ؾ ؾىج جلرط ػ ؽ٠ك Level sensorأل ؿو قح خ ػح ئيج وح ج

ػ ؽ٠ك % 100مجءز قح جخ ػال طف ئ Normalizationغ ػ Analoge inputيه ذمجءز ط جخ ػ

ف١ى جطؼحي ع ذ١ؾ أجع WinCCس غ ل١س جكى جألػ طشغ١ جإلج أح جذؾ غ ػ محس غ ل١س جكى جألو مح

ػ١ طشغ١ ج أ ذ١ؾ ؾىج ئ شحء هللا WinCC Runtimeور١ض ػحو غ ضػر١ص ذحؽ PCأ ذحطؼحي OPأ TPجشحشحش جء

و١ف ٠ؼ جإلىح١حش جطحقس ئىح١س جطؼح ؼ ه أ WinCCذظح ( طؼ٠ف ) ى٠ر١س ف ٠ط ل٠رح ؾىج ئ شحء هللا ضظ١ وز ض

ذكد ظف جظح ػىن ؾ١غ جظحتف جطذس ذحطفظ١ ػىح ٠ى ئ شحء هللا ػ جرحؽ جال طف١ Hardwareضكىو

ػ جذؾ جال ذ١ح WinCCأ PLCجء

جال ػ١ى ؼ جفؼ

DBW25ج ٠ش DATA BLOCKجح وح إج ح ل

ذطفظ١ ٠ىه ج ضش١ ج ذل جى فمؾ ى ال جؽ١ ػ١ه DATA BLOCKجيج وص جص لص ذشـ

PLC & TOUCH SCREENف جقطحؾ ف م جر١حش ذ١ DATA BLOCKج٠ؼح ج جى ذهظص

PLC & PROFIBUS & LENZE DRIVEػ ؽ٠ك SERVOؼح ف جطهى ف جطكى ف ض ج٠

....ه فؼال جط٠ك ؽ٠ ذر ج ٠كطحؼ ج جىل ف جطؼح غ و ؼ ى ال جفمى قم جكمحش

هللا جطؼح

Page 168: ميحرلا نمحرلا الله مسبSiemens S7 1 ميحرلا نمحرلا الله مسب Siemens S7 ج س ر س ذحل س١مط ج شح وحك ج ف س١ر٠ ىض ز و

hhttttpp::////hhaassssaannhheehhaa..ffoorruummnn..nneett//

Siemens S7

168

ذحطؼحي جأل Functionجرن ف أ ٠ى فطف Data blockأن جؼ٠ وح و ف جطؼحي

OPN DB10 ػال ئيج ٠ط فطف ذن آن ف١ى جطىػحء أData word و وطحذسDB10 لرح

:ػال

L DBW10

L DBD20