You are on page 1of 100

‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﯽ‬

‫ﻧﺤﻮﻩ اﺳﺘﻔﺎدﻩ و ﺁﺷﻨﺎﻳﯽ ﺑﺎ ‪ PLC‬ﺧﺎﻧﻮادﻩ‬


‫زﻳﻤﻨﺲ و ﻧﺮم اﻓﺰار ﻣﺮﺑﻮﻃﻪ ﺗﺤﺖ ﻋﻨﻮان‬

‫‪Simatic S7 Siemens Industrial‬‬


‫‪Automation‬‬
‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻓﻬﺮﺳﺖ ‪:‬‬

‫ﭘﻴﺶ ﮔﻔﺘﺎر ﻣﻮﻟﻒ ‪۴........................................................................‬‬


‫ﻣﻘﺪﻣﻪ‪٧ .......................................................................................‬‬
‫ﺁﺷﻨﺎیﯽ ﺑﺎ ﻣﺤﻴﻂ ﻧﺮم اﻓﺰار‪١٠ .............................................................‬‬
‫ﺳﺎﺧﺘﻦ یﮏ ﭘﺮوژﻩ ﺟﺪیﺪ در ﺑﺮﻧﺎﻣﻪ ‪١١ ..................................................‬‬
‫ﻧﺤﻮﻩ ﮐﺎﻧﻔﻴﮕﻮریﺸﻦ و ﺕﻨﻈﻴﻤﺎت ﺳﺨﺖ اﻓﺰار ‪١۵ .......................................‬‬
‫ﺳﺎﺧﺘﻦ ﺑﻠﻮﮎ هﺎ در ﺑﺮﻧﺎﻣﻪ‪٢٠.............................................................‬‬

‫اﻧﻮاع ﺑﻠﻮﮎ در ‪٢٢....................................................................... s7‬‬

‫ﻓﺮم هﺎﯼ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪ در ‪٢۵......................................................... s7‬‬

‫ﮐﺘﺎﺑﺨﺎﻧﻪ ‪٢۵................................................................................ s7‬‬

‫‪٢۶........................................................................... BIT LOGIC‬‬

‫‪٣٢.............................................................................FLIP FLOP‬‬

‫ﻣﻘﺎیﺴﻪ ﮐﻨﻨﺪﻩ هﺎ) ‪۴١.....................................................(COMPARE‬‬

‫)‪۴۴ .............................................FunctionBlock Diagram (FBD‬‬

‫ﺕﺒﺪیﻞ ﮐﻨﻨﺪﻩ هﺎ )‪۵۴.................................................(CONVENTORS‬‬

‫ﺷﻤﺎرﻧﺪﻩ هﺎ )‪۶۴........................................................ ( COUNTERS‬‬

‫دﺳﺘﻮرات ﭘﺮش)‪٧٠................................................................ (JUMP‬‬


‫‪ 2‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬
‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫اداﻣﻪ ﻓﻬﺮﺳﺖ ‪:‬‬

‫ﺕﺎیﻤﺮهﺎ )‪٧۴... ...................................................................(TIMERS‬‬

‫ﺷﻴﻔﺘﺮهﺎ )‪٨٩ ............................. .................................. ( SHIFTERS‬‬

‫ﻣﻘﺎیﺴﻪ ‪ FBD‬و ‪٩۶ ............................................................. LADD‬‬

‫ﭼﮑﻴﺪﻩ وﺕﻘﺪیﺮ و ﺕﺸﮑﺮ‪٩٨ .. .............................................................‬‬

‫‪ 3‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﭘﻴﺶ ﮔﻔﺘﺎر ﻣﻮﻟﻒ ‪:‬‬

‫هﻤﺎﻧﮕﻮﻧﻪ ﮐﻪ ﺕﻤﺎﻣﻲ هﻤﮑﺎران ﻋﺰیﺰ ﻣﺴﺘﺤﻀﺮ ﻣﻲ ﺑﺎﺷﻴﺪ اﻣﺮوزﻩ ﺑﺎ ﭘﻴﺸﺘﺮﻓﺖ ﻋﻠﻢ و ﺕﮑﻨﻮﻟﻮژي‬
‫ﮐﺎرﺑﺮد ﮐﺎﻣﻴﻮﺕﺮ در ﺻﻨﻌﺖ ﻧﻴﺰ ﻧﻤﻮد ﭘﻴﺪا ﮐﺮدﻩ اﺳﺖ ﺑﺪیﻦ ﮔﻮﻧﻪ ﮐﻪ ﺑﺠﺎي ﺕﺎﺑﻠﻮهﺎي ﻓﺮﻣﺎن و‬
‫ﻗﺪرت دﺳﺘﮕﺎهﻬﺎي ﺧﻂ ﺕﻮﻟﻴﺪ ﮐﻪ ﺕﻤﺎﻣﺎ ﺑﺼﻮرت رﻟﻪ ﮐﻨﺘﺎﮐﺘﻮري ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﺪ و در ﻧﺘﻴﺠﻪ‬
‫ﺑﺮاي ﺕﻌﻤﻴﺮو ﻋﻴﺐ یﺎﺑﻲ هﺮ ایﺮاد اوﻻ ﺑﻪ ﺕﺠﺮﺑﻪ و ﺷﻨﺎﺧﺖ ﮐﺎﻓﻲ از ﺕﺎﺑﻠﻮ ﻧﻴﺎز ﺑﻮد و ﺛﺎﻧﻴﺎ‬
‫ﺑﺎیﺴﺘﻲ ﻣﺮﺡﻠﻪ ﺑﻪ ﻣﺮﺡﻠﻪ ﺕﻤﺎﻣﻲ ﺕﺎﺑﻠﻮ از ﻃﺮیﻖ ﻧﻘﺸﻪ ﮐﻨﺘﺮل ﻣﻲ ﮔﺮدیﺪ ﺕﺎ ایﺮاد ﻣﺸﺨﺺ ﮔﺮدد‬
‫اﻣﺎ اﻣﺮوزﻩ از دﺳﺘﮕﺎهﻲ ﺑﻨﺎم ‪ plc‬اﺳﺘﻔﺎدﻩ ﻣﻲ ﮔﺮدد و ﺑﻮﺳﻴﻠﻪ ‪ plc‬ﻋﻼوﻩ ﺑﺮ ایﻨﮑﻪ ﻣﻲ ﺕﻮان‬
‫هﺮ ایﺮادي را ﻣﻮﻧﻴﺘﻮر ﻧﻤﻮدﻩ و ﺑﺮ روي ﺻﻔﺤﻪ ‪ op‬ﻧﻤﺎیﺶ داد ﺑﺪون ﻧﻴﺎز ﺑﻪ ﻧﻘﺸﻪ و ﺑﺮاﺡﺘﻲ‬
‫ﻣﻲ ﺕﻮان ایﺮادات دﺳﺘﮕﺎﻩ هﺎ را در ﮐﻮﺕﺎﻩ ﺕﺮیﻦ زﻣﺎن ﻣﻤﮑﻦ ﻣﺸﺨﺺ و رﻓﻊ ﻋﻴﺐ ﻧﻤﻮد ‪.‬‬
‫از دیﮕﺮ ﻣﺰایﺎي ‪ plc‬ﻗﺎﺑﻠﻴﺖ اﺕﺼﺎل اﻧﻬﺎ ﺑﻪ یﮑﺪیﮕﺮ و ﺑﺮﻗﺮاري ارﺕﺒﺎط ﺷﺒﮑﻪ ﻣﻲ ﺑﺎﺷﺪ ﮐﻪ ﺑﺪیﻦ‬
‫وﺳﻴﻠﻪ ﻣﻲ ﺕﻮان از ﻃﺮیﻖ یﮏ ﮐﺎﻣﭙﻴﻮﺕﺮ ﻣﺮﮐﺰي در اﺕﺎق ﮐﻨﺘﺮل ﺕﻤﺎﻣﻲ ﺕﺠﻬﻴﺰات و ‪ plc‬هﺎي‬
‫داﺧﻞ ﺧﻂ ﺕﻮﻟﻴﺪ را ﮐﻨﺘﺮل و ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار داد ﮐﻪ ایﻦ ﻣﻮﺽﻮع ﺑﺎﻋﺚ ﮐﺎهﺶ ﻧﻴﺮوي ﻣﺎهﺮ‬
‫در ﺧﻂ ﺕﻮﻟﻴﺪ و اﻓﺰایﺶ دﻗﺖ و راﻧﺪﻣﺎن ﺕﺠﻬﻴﺰات ﻣﻲ ﮔﺮدد ‪.‬‬
‫در ﮐﺎرﺧﺎﻧﻪ ﻣﻌﻈﻢ ایﺮان ﺧﻮدرو از ﺳﺎل ‪ ١٣٧٩‬ﺕﺎ ﮐﻨﻮن ﺕﻘﺮیﺒﺎ ﺕﻤﺎﻣﻲ ﺕﺠﻬﻴﺰات ﺧﻄﻮط ﺕﻮﻟﻴﺪ‬
‫ﺳﺎﻟﻦ هﺎي ﻣﺨﺘﻠﻒ از ﻗﺒﻴﻞ ﻣﻮﻧﺘﺎژ ‪ ،‬رﻧﮓ ‪ ،‬ﺑﺪﻧﻪ ﺳﺎزي ‪ ،‬ﭘﺮس ‪ ،‬ﻣﻮﺕﻮرﺳﺎزي و ریﺨﺘﻪ ﮔﺮي‬
‫از ﺡﺎﻟﺖ ﻗﺪیﻤﻲ ﺧﺎرج ﺷﺪﻩ و ﻣﺠﻬﺰ ﺑﻪ ﺳﻴﺴﺘﻢ اﺕﻮﻣﺎﺳﻴﻮن ﺻﻨﻌﺘﻲ و ‪ Plc‬ﮔﺮدیﺪﻩ اﺳﺖ ‪.‬‬
‫از ایﻦ رو اﺡﺘﻴﺎج ﺑﻪ ﻣﺘﺨﺼﺼﻴﻦ ‪ plc‬در ایﻦ ﻣﺪت روز ﺑﺮوز اﻓﺰایﺶ یﺎﻓﺘﻪ و در ﺡﺎل ﮔﺴﺘﺮش‬
‫ﻧﻴﺰ ﻣﻲ ﺑﺎﺷﺪ ‪.‬‬

‫‪ 4‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫از اﻧﺠﺎیﻴﮑﻪ در داﺧﻞ ﮐﺸﻮر ایﻦ ﺕﮑﻨﻮﻟﻮژي و رﺷﺘﻪ ﻓﻨﻲ ﺑﺼﻮرت یﮏ رﺷﺘﻪ ﺕﺨﺼﺼﻲ در‬
‫داﻧﺸﮕﺎهﻬﺎ و اﻣﻮزﺷﮕﺎهﻬﺎي ﮐﺸﻮر ﺕﺪریﺲ ﻧﻤﻲ ﮔﺮدد و یﺎ ﺑﺼﻮرت ﺑﺴﻴﺎر ﻣﺤﺪود وﺟﻮد دارد‬
‫ﻟﺬا ﺑﻨﺪرت ﺷﺮﮐﺖ ایﺮان ﺧﻮدرو ﻣﻲ ﺕﻮاﻧﺪ ﮐﺎرﺷﻨﺎﺳﺎن ﺑﺎ ﺕﺠﺮﺑﻪ را در ایﻦ رﺷﺘﻪ ﺕﺨﺼﺼﻲ‬
‫اﺳﺘﺨﺪام ﻧﻤﺎیﺪ‬
‫ﺑﻨﺎﺑﺮایﻦ ﺑﻬﺘﺮیﻦ ﮔﺰیﻨﻪ ﺁﻣﻮزش اﻓﺮاد در داﺧﻞ ﺷﺮﮐﺖ ﻣﻲ ﺑﺎﺷﺪ ﮐﻪ در ﺳﺎﻟﻬﺎي اﺧﻴﺮ ﻣﺮﮐﺰ‬
‫ﻣﺤﺘﺮم ﺁﻣﻮزش ایﺮان ﺧﻮدرو در ایﻦ زﻣﻴﻨﻪ ﮔﺎﻣﻬﺎي اﺳﺎﺳﻲ ﺑﺮداﺷﺘﻪ و اﻗﺪام ﺑﻪ راﻩ اﻧﺪازي‬
‫ﺁزﻣﺎیﺸﮕﺎﻩ ‪ plc‬ﻧﻤﻮدﻩ اﺳﺖ ‪.‬‬
‫اﮔﺮ دوﺳﺘﺎن و هﻤﮑﺎران ﻋﺰیﺰ ﺟﻬﺖ ﺧﺮیﺪ ﮐﺘﺎﺑﻬﺎي ﻣﺮﺑﻮط ﺑﻪ ‪ plc‬ﺑﻪ روﺑﺮوي داﻧﺸﮕﺎﻩ ﺕﻬﺮان‬
‫ﻣﺮاﺟﻌﻪ ﻧﻤﻮدﻩ ﺑﺎﺷﻨﺪ در ﻣﻲ یﺎﺑﻨﺪ ﮐﻪ اﮐﻘﺮیﺖ ﮐﺘﺎﺑﻬﺎ ي ﻧﻮﺷﺘﻪ ﺷﺪﻩ در ایﻦ زﻣﻴﻨﻪ ﻣﺮﺑﻮط ﺑﻪ‬
‫ﺕﺌﻮري و ﻣﻔﻬﻮم ‪ Plc‬و ﺷﻨﺎﺧﺖ ﻗﻄﻌﺎت داﺧﻞ ‪ Plc‬ﻣﻲ ﺑﺎﺷﺪ و ﮐﺘﺎﺑﻲ ﮐﻪ در راﺑﻄﻪ ﺑﺎ اﺳﺘﻔﺎدﻩ از‬
‫ﻧﺮم اﻓﺰار ‪ plc‬زیﻤﻨﺲ ﺳﺮي ﺧﺎﻧﻮادﻩ ‪ s7‬ﻧﻮﺷﺘﻪ ﺷﺪﻩ ﺑﺎﺷﺪ ﺑﻨﺪرت یﺎﻓﺖ ﻣﻲ ﮔﺮدد‬
‫از اﻧﺠﺎیﻴﮑﻪ در ﮐﺎرﺧﺎﻧﻪ ایﺮان ﺧﻮدرو اﺳﺘﻔﺎدﻩ از زیﻤﻨﺲ ﺳﺮي ‪ s7‬ﻣﺘﺪاول ﻣﻲ ﺑﺎﺷﺪ از ایﻦ‬
‫رو ﻧﻴﺎز ﺑﻪ یﮏ ﻣﺮﺟﻊ اﺻﻠﻲ ﺟﻬﺖ اﺳﺘﻔﺎدﻩ از ﻧﺮم اﻓﺰار ‪ simatic s7‬ﺑﻌﻨﻮان راهﻨﻤﺎي‬
‫ﮐﺎرﺷﻨﺎﺳﺎن و ﺕﮑﻨﺴﻴﻦ هﺎي ﻣﺤﺘﺮم اﻟﮑﺘﺮوﻧﻴﮏ ﺷﺮﮐﺖ ﺑﻴﺶ از ﭘﻴﺶ اﺡﺴﺎس ﻣﻲ ﮔﺮدد‬
‫در ایﻦ ﺟﺰوﻩ ﻓﺮض ﺑﺮ ایﻦ ﻣﻲ ﺑﺎﺷﺪ ﮐﻪ هﻤﮑﺎران ﻋﺰیﺰ ﻣﻔﻬﻮم ‪ plc‬و ﻣﺪارات ﻣﻨﻄﻘﻲ و ﻋﻠﻢ‬
‫ﻻﺟﻴﮏ را ﮐﻪ در ﮐﺘﺎﺑﻬﺎي ﻣﺨﺘﻠﻒ ﺑﻪ ﺕﻔﺴﻴﺮ ﺁﻣﻮزش دادﻩ ﺷﺪﻩ اﺳﺖ داﻧﺴﺘﻪ و ﺑﺠﻬﺖ اﺳﺘﻔﺎدﻩ‬
‫ﺳﺮیﻊ از ﻧﺮم اﻓﺰار ‪ s7‬از ایﻦ ﻣﺠﻤﻮﻋﻪ اﺳﺘﻔﺎدﻩ ﻧﻤﺎیﻨﺪ ‪.‬‬
‫اﻣﻴﺪ اﺳﺖ ﮐﻪ ﺕﻼش ﭼﻨﺪیﻦ ﻣﺎهﻪ ایﻦ ﺡﻘﻴﺮ ﺑﻌﻨﻮان یﮏ ﻣﺮﺟﻊ ﻣﻮرد اﺳﺘﻔﺎدﻩ هﻤﮑﺎران ﻣﺤﺘﺮم‬
‫ﻗﺮار ﮔﺮﻓﺘﻪ و ﻣﻔﻴﺪ واﻗﻊ ﮔﺮدد‬

‫‪ 5‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ﭘﺎیﺎن از هﻤﮑﺎران و ﺻﺎﺡﺒﻨﻈﺮان ایﻦ رﺷﺘﻪ ﺑﺎﺑﺖ ﻧﻮاﻗﺺ ﻣﻮﺟﻮد ﻋﺬر ﺧﻮاهﻲ ﻧﻤﻮدﻩ و‬
‫اﺳﺘﺪﻋﺎ دارم ﺕﺎ ﺽﻤﻦ ﻣﻄﺎﻟﻌﻪ ایﻦ ﻣﺠﻤﻮﻋﻪ ایﺮادات ﻣﻮﺟﻮد را ﻣﺸﺨﺺ و ﻧﻈﺮات ﺧﻮد را‬
‫ﺑﺮاي ایﻨﺠﺎﻧﺐ ارﺳﺎل ﻧﻤﺎیﻨﺪ ﺕﺎ ﺑﺘﻮاﻧﻢ در اﺳﺮع وﻗﺖ ﻣﺸﮑﻼت را ﺑﺮﻃﺮف و ﻣﺠﻤﻮﻋﻪ ایﻲ‬
‫ﻧﺴﺒﺘﺎ ﮐﺎﻣﻞ را در اﺧﺘﻴﺎر هﻤﮑﺎران ﻋﺰیﺰ ﻗﺮار ﺑﺪهﻢ ‪.‬‬
‫در ایﻨﺠﺎ ﺟﺎ دارد از ﺕﻤﺎﻣﻲ هﻤﮑﺎران ﻋﺰیﺰ و ﺧﺼﻮﺻﺎ روﺳﺎي ﻣﺤﺘﺮم ادارﻩ ﮐﻞ و ادارﻩ‬
‫ﭘﺸﺘﻴﺒﺎﻧﻲ ﺕﻌﻤﻴﺮات ﻣﻮﻧﺘﺎژ ﮐﻪ در ﺕﻬﻴﻪ ایﻦ ﻣﺠﻤﻮﻋﻪ ﺑﻨﺪﻩ را ﻣﻮرد ﻟﻄﻒ و ﭘﺸﺘﻴﺒﺎﻧﻲ ﺧﻮد ﻗﺮار‬
‫دادﻩ اﻧﺪ ﮐﻤﺎل ﺳﭙﺎﺳﮕﺰاري را ﺑﻨﻤﺎﺕﻴﻢ ‪.‬‬

‫یﺎ ﺕﺸﮑﺮ‬
‫ﻣﺤﻤﺪ یﺎدﮔﺎر‬
‫ﮐﺎرﺷﻨﺎس ﻓﻨﻲ ﺕﻌﻤﻴﺮات ﻣﻮﻧﺘﺎژیﮏ‬

‫‪ 6‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﻘﺪﻣﻪ ‪:‬‬

‫• ﺳﺎﺧﺘﺎر ‪PLC‬‬
‫‪ PLC‬از ﻋﺒﺎرت ‪ programable logic control‬ﺑﻪ ﻣﻌﻨﺎﯼ ﮐﻨﺘﺮل ﮐﻨﻨﺪﻩ ﻣﻨﻄﻘﯽ ﻗﺎﺑﻞ ﺑﺮﻧﺎﻣﻪ‬
‫ریﺰﯼ ﮔﺮﻓﺘﻪ ﺷﺪﻩ اﺳﺖ ‪ PLC .‬ﮐﻨﺘﺮل ﮐﻨﻨﺪﻩ اﯼ ﻧﺮم اﻓﺰارﯼ اﺳﺖ ﮐﻪ در ﻗﺴﻤﺖ ورودﯼ‬
‫اﻃﻼﻋﺎﺕﯽ را ﺑﻪ ﺻﻮرت ﺑﺎیﻨﺮﯼ یﺎ ﺁﻧﺎﻟﻮگ دریﺎﻓﺖ و ﺁﻧﻬﺎ را ﻃﺒﻖ ﺑﺮﻧﺎﻣﻪ اﯼ ﮐﻪ در ﺡﺎﻓﻈﻪ اش‬
‫ذﺧﻴﺮﻩ ﺷﺪﻩ اﺳﺖ ﭘﺮدازش ﻣﯽ ﻧﻤﺎیﺪ و ﻧﺘﻴﺠﻪ ﻋﻤﻠﻴﺎت را ﻧﻴﺰ از ﻗﺴﻤﺖ ﺧﺮوﺟﯽ ﺑﻪ ﺻﻮرت‬
‫ﻓﺮﻣﺎﻧﻬﺎیﯽ ﺑﻪ ﮔﻴﺮﻧﺪﻩ هﺎ و اﺟﺮا ﮐﻨﻨﺪﻩ هﺎﯼ ﻓﺮﻣﺎن ارﺳﺎل ﻣﯽ ﮐﻨﺪ‪ .‬ﺑﻪ ﻋﺒﺎرت دیﮕﺮ ‪PLC‬‬
‫ﻋﺒﺎرت از یﮏ ﮐﻨﺘﺮل ﮐﻨﻨﺪﻩ ﻣﻨﻄﻘﯽ اﺳﺖ ﮐﻪ ﻣﯽ ﺕﻮاﻧﺪ ﻣﻨﻄﻖ ﮐﻨﺘﺮل را ﺕﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺑﺮاﯼ ﺁن‬
‫ﺕﻌﺮیﻒ ﻧﻤﻮد ودر ﺻﻮرت ﻧﻴﺎر ﺑﺮاﺡﺘﯽ ﺁن را ﺕﻐﻴﻴﺮ داد‪.‬‬
‫وﻇﻴﻔﻪ ‪ PLC‬ﻗﺒﻶ ﺑﺮ ﻋﻬﺪﻩ ﻣﺪارات ﻓﺮﻣﺎن و رﻟﻪ هﺎﯼ ﮐﻨﺘﺎﮐﺘﻮرﯼ ﺑﻮد ﮐﻪ اﻣﺮوز اﺳﺘﻔﺎدﻩ از ﺁﻧﻬﺎ‬
‫ﻣﻨﺴﻮخ ﺷﺪﻩ اﺳﺖ‪.‬از اﺷﮑﺎﻻت ﻋﻤﺪﻩ ایﻦ رﻟﻪ هﺎ ایﻦ ﺑﻮد ﮐﻪ ﺑﺎ اﻓﺰایﺶ ایﻦ رﻟﻪ هﺎ ﺡﺠﻢ و وزن‬
‫ﻣﺪارات ﻓﺮﻣﺎن ﺑﺴﻴﺎر ﺑﺰرگ ﺷﺪﻩ و ﻗﻴﻤﺖ ﺁﻧﻬﺎ ﻧﻴﺰ اﻓﺰایﺶ ﻣﻲ یﺎﻓﺖ و ﻧﻬﺎیﺘﺎ ﻋﻴﺐ یﺎﺑﻲ ایﻨﮕﻮﻧﻪ‬
‫ﻣﺪارات ﺑﺴﻴﺎر ﭘﻴﭽﻴﺪﻩ و زﻣﺎن ﺑﺮ ﻣﻲ ﮔﺮدیﺪ ‪.‬‬
‫ﺑﺮاﯼ رﻓﻊ ایﻦ ﻣﻌﻈﻞ ﻣﺪارات ﻓﺮﻣﺎن اﻟﮑﺘﺮوﻧﻴﮑﯽ ﺳﺎﺧﺘﻪ ﺷﺪﻧﺪ ﮐﻪ ﺁﻧﻬﺎ ﻧﻴﺰ ﺑﻪ ﻋﻠﺖ ایﻨﮑﻪ ﺕﮏ‬
‫ﮐﺎر ﺑﻮدﻧﺪ و ﺑﺮاﯼ اﺳﺘﻔﺎدﻩ در ﭼﻨﺪ ﻣﺪار ﻣﯽ ﺑﺎیﺴﺘﯽ ﺕﻐﻴﻴﺮات ﻋﻤﺪﻩ در ﺁﻧﻬﺎ ایﺠﺎد ﻣﯽ ﺷﺪ ﮐﺎرایﯽ‬
‫ﮐﻤﯽ داﺷﺘﻨﺪ‪.‬‬
‫ﺑﺎ اﺳﺘﻔﺎدﻩ از ‪ PLC‬ﺕﻐﻴﻴﺮ در روﻧﺪ ﺕﻮﻟﻴﺪ یﺎ ﻋﻤﻠﮑﺮد ﻣﺎﺷﻴﻦ ﺑﻪ راﺡﺘﯽ ﺻﻮرت ﻣﯽ ﮔﻴﺮد زیﺮا‬
‫دیﮕﺮ ﻻزم ﻧﻴﺴﺖ ﺳﻴﻢ ﮐﺸﯽ هﺎ و ﺳﺨﺖ اﻓﺰار ﺳﻴﺴﺘﻢ ﮐﻨﺘﺮل ﺕﻐﻴﻴﺮ ﮐﻨﺪ و ﺕﻨﻬﺎ ﮐﺎﻓﯽ اﺳﺖ ﭼﻨﺪ‬
‫ﺳﻄﺮ ﺑﺮﻧﺎﻣﻪ ﻧﻮﺷﺖ و ﺑﻪ ‪ PLC‬ارﺳﺎل ﮐﺮد ﺕﺎ ﮐﻨﺘﺮل ﻣﻮرد ﻧﻈﺮ ﺕﺤﻘﻖ یﺎﺑﺪ ‪.‬‬

‫‪ 7‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫از ﻃﺮف دیﮕﺮ ﻗﺪرت‪ PLC‬در اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﻣﻨﻄﻘﯽ و ﻣﺤﺎﺳﺒﺎﺕﯽ و ﻣﻘﺎیﺴﻪ اﯼ و ﻧﮕﻬﺪارﯼ‬
‫اﻃﻼﻋﺎت ﺑﻪ ﻣﺮاﺕﺐ ﺑﻴﺸﺘﺮ از ﺕﺎﺑﻠﻮهﺎﯼ ﻓﺮﻣﺎن ﻣﻌﻤﻮﻟﯽ اﺳﺖ ‪ PLC.‬ﺑﻪ ﻃﺮاﺡﺎن ایﻦ اﻣﮑﺎن را‬
‫ﻣﻴﺪهﺪ ﮐﻪ ﺁﻧﭽﻪ را ﮐﻪ در ذهﻦ دارﻧﺪ در اﺳﺮع وﻗﺖ ﺑﻴﺎزﻣﺎیﻨﺪ ‪.‬‬
‫هﺮ ﮐﺲ ﺑﺎ ﻣﺪارات ﻓﺮﻣﺎن رﻟﻪ اﯼ ﮐﺎر ﮐﺮدﻩ ﺑﺎﺷﺪ ﺑﻪ ﺧﻮﺑﯽ ﻣﯽ داﻧﺪ ﮐﻪ ﭘﺲ از ﻃﺮاﺡﯽ ﺕﺎﺑﻠﻮ‬
‫اﮔﺮ ﻧﮑﺘﻪ اﯼ از ﮐﺎر اﻓﺘﺎدﻩ ﺑﺎﺷﺪ ﻣﺸﮑﻼت ﺑﺴﻴﺎرﯼ ﺑﺮاﯼ رﻓﻊ ﺁن ﭘﻴﺶ روﺳﺖ و زﻣﺎن زیﺎدﯼ‬
‫ﻧﻴﺰ ﺻﺮف ﺧﻮاهﺪ ﺷﺪ‪.‬‬
‫اﮐﻨﻮن ﺑﺮاﯼ ﺕﻮﺟﻪ ﺑﻴﺸﺘﺮ ﺑﻪ ﺕﻔﺎوت هﺎ و ﻣﺰایﺎﯼ ‪ PLC‬ﻧﺴﺒﺖ ﺑﻪ ﻣﺪارات ﮐﻨﺘﺎﮐﺘﻮرﯼ ﻣﻮارد زیﺮ‬
‫را ﺑﺮ ﻣﯽ ﺷﻤﺎریﻢ‪:‬‬

‫‪ -١‬اﺳﺘﻔﺎدﻩ از ‪ PLC‬ﻣﻮﺟﺐ ﮐﺎهﺶ ﺡﺠﻢ ﺕﺎﺑﻠﻮﯼ ﻓﺮﻣﺎن ﻣﯽ ﮔﺮدد‪.‬‬


‫‪ -٢‬اﺳﺘﻔﺎدﻩ از ‪ PLC‬ﻣﺨﺼﻮﺻﺂ در ﻓﺮایﻨﺪ هﺎﯼ ﻋﻈﻴﻢ ﻣﻮﺟﺐ ﺻﺮﻓﻪ ﺟﻮیﯽ ﻗﺎﺑﻞ ﺕﻮﺟﻬﯽ در‬
‫هﺰیﻨﻪ ﻟﻮازم و ﻗﻄﻌﺎت ﻣﻴﺸﻮد‪.‬‬
‫‪ PLC -٣‬اﺳﺘﻬﻼﮎ ﻣﮑﺎﻧﻴﮑﯽ ﻧﺪارد ﺑﻨﺎ ﺑﺮایﻦ ﻋﻼوﻩ ﺑﺮ ﻋﻤﺮ ﺑﻴﺸﺘﺮ ﻧﻴﺎزﯼ ﺑﻪ ﺕﻌﻤﻴﺮات و‬
‫ﺳﺮویﺲ هﺎﯼ دورﻩ اﯼ ﻧﺨﻮاهﺪ داﺷﺖ ‪.‬‬
‫‪.‬‬ ‫‪ PLC -٤‬اﻧﺮژﯼ ﮐﻤﺘﺮﯼ ﻣﺼﺮف ﻣﯽ ﮐﻨﺪ‬
‫‪ PLC -٥‬هﺎ ﺑﺮ ﺧﻼف ﻣﺪارات رﻟﻪ ﮐﻨﺘﺎﮐﺘﻮرﯼ ﻧﻮیﺰ اﻟﮑﺘﺮیﮑﯽ و ﺻﻮﺕﯽ ایﺠﺎد ﻧﻤﯽ ﮐﻨﺪ‬
‫‪ -٦‬اﺳﺘﻔﺎدﻩ از یﮏ ‪ PLC‬ﻣﻨﺤﺼﺮ ﺑﻪ یﮏ ﭘﺮوﺳﻪ و ﻓﺮایﻨﺪ ﺧﺎﺻﯽ ﻧﻴﺴﺖ و ﺑﺎ ﺕﻐﻴﻴﺮاﺕﯽ در‬
‫ﺑﺮﻧﺎﻣﻪ ﻣﯽ ﺕﻮان ﺑﻪ ﺁﺳﺎﻧﯽ از ﺁن ﺑﺮاﯼ ﮐﻨﺘﺮل ﭘﺮوﺳﻪ هﺎﯼ دیﮕﺮ اﺳﺘﻔﺎدﻩ ﮐﺮد‪.‬‬
‫ﻃﺮاﺡﯽ و اﺟﺮا ﯼ ﻣﺪارات ﮐﻨﺘﺮل و ﻓﺮﻣﺎن ﺑﺎ اﺳﺘﻔﺎدﻩ از ‪ PLC‬ﺑﺴﻴﺎر ﺳﺮیﻊ و ﺁﺳﺎن‬ ‫‪-7‬‬

‫اﺳﺖ‪.‬‬

‫‪ 8‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪ -٨‬ﺑﺮاﯼ ﻋﻴﺐ یﺎﺑﯽ ﻣﺪارات ﮐﻨﺘﺎﮐﺘﻮرﯼ اﻟﮕﻮریﺘﻢ و روش ﺧﺎﺻﯽ ﻧﺪاریﻢ اﻣﺎ در ﻋﻴﺐ یﺎﺑﯽ‬
‫ﻣﺪارات ‪ PLC‬ﺑﺮاﺡﺘﯽ ﺑﺎ ﺕﻐﻴﻴﺮات در ﻧﺮم اﻓﺰار و‪ SIMOULATION‬ﮐﺮدن ﺁن ﻣﯽ‬
‫ﺕﻮان ﻋﻴﺐ یﺎﺑﯽ ﮐﺮد‪..‬‬

‫• ﮐﺎرﺑﺮد هﺎﯼ ‪ PLC‬در ﺻﻨﺎﻳﻊ ﻣﺨﺘﻠﻒ ‪:‬‬

‫اﻣﺮوزﻩ ﮐﺎرﺑﺮد هﺎﯼ ﻓﺮاواﻧﯽ از ‪ PLC‬در ﭘﺮوﺳﻪ هﺎﯼ ﻣﺨﺘﻠﻒ ﺻﻨﻌﺘﯽ ﺑﻪ ﭼﺸﻢ ﻣﯽ ﺧﻮرد ﮐﻪ‬
‫ﺧﻮد ﻧﺸﺎﻧﮕﺮ اهﻤﻴﺖ ﻓﺮاوان‪ PLC‬در ﺻﻨﻌﺖ اﺳﺖ ‪.‬از ﺟﻤﻠﻪ ایﻦ اﺳﺘﻔﺎدﻩ هﺎ ﻣﯽ ﺕﻮان ﺑﻪ ﻣﻮارد‬
‫زیﺮ اﺷﺎرﻩ ﮐﺮد‪:‬‬

‫ﺻﻨﺎیﻊ اﺕﻮﻣﺒﻴﻞ ﺳﺎزﯼ ﺷﺎﻣﻞ ﺳﻮراخ ﮐﺎرﯼ و ﭘﺎﺷﺶ رﻧﮓ و ﺡﻤﻞ ﻣﻮﺕﻮر ‪ LIFT‬و‬
‫‪. DROP‬‬
‫ﺻﻨﺎیﻊ ﭘﻼﺳﺘﻴﮏ ﺳﺎزﯼ ﺷﺎﻣﻞ ذوب ﻗﺎﻟﺒﮕﻴﺮﯼ و دﻣﺶ هﻮا‬

‫ﺻﻨﺎیﻊ ﺳﻨﮕﻴﻦ ﺷﺎﻣﻞ ﮐﻮرﻩ هﺎﯼ ﺻﻨﻌﺘﯽ ﮐﻨﺘﺮل دﻣﺎﯼ اﺕﻮﻣﺎﺕﻴﮏ‬

‫ﺻﻨﺎیﻊ ﺷﻴﻤﻴﺎیﯽ ﺷﺎﻣﻞ دﺳﺘﮕﺎﻩ هﺎﯼ ﻣﺨﻠﻮت ﺷﻴﻤﻴﺎیﯽ‬

‫ﺧﺪﻣﺎت ﺳﺎﺧﺘﻤﺎﻧﯽ ﺷﺎﻣﻞ ﺁﺳﺎﻧﺴﻮر ﺕﻬﻮیﻪ هﻮا و‪...‬‬

‫ﺳﻴﺴﺘﻢ هﺎﯼ ﺡﻤﻞ و ﻧﻘﻞ ﺷﺎﻣﻞ ﺟﺮﺛﻘﻴﻞ هﺎ ﺳﻴﺴﺘﻢ ﮐﺎﻧﻮایﺮ و‪...‬‬

‫و‪..‬‬

‫‪ 9‬از ‪100‬‬ ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺁﺷﻨﺎﻳﯽ ﺑﺎ ﻣﺤﻴﻂ ﻧﺮم اﻓﺰار‬

‫هﻤﺎﻧﻨﺪ ﻧﺮم اﻓﺰار هﺎﯼ دیﮕﺮ ﺑﺎ ﮐﻠﻴﮏ روﯼ ﺁیﮑﻮن ﺁن راﻩ اﻧﺪازﯼ ﻣﯽ ﺷﻮد ‪ .‬و هﻤﺎﻧﻄﻮریﮑﻪ در‬
‫‪ S7‬ﻧﺮم اﻓﺰار ﻣﻼﺡﻈﻪ ﻣﻴﺸﻮد داراﯼ یﮏ ﺑﺎریﮑﻪ ﺷﺎﻣﻞ ﭼﻨﺪ ﻗﺴﻤﺖ از ﺟﻤﻠﻪ هﻤﺎﻧﻨﺪ ﺳﻴﺴﺘﻢ‬ ‫ﺷﮑﻞ‬
‫ﻋﺎﻣﻞ ویﻨﺪوز ﻣﻲ ﺑﺎﺷﺪ ‪:‬‬
‫‪FILE/PLC/VIEW/OPTION/WINDOW/HELP‬‬

‫ﺻﻔﺤﻪ ‪ 10‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫• ﺳﺎﺧﺘﻦ ﻳﮏ ﭘﺮوژﻩ ﺟﺪﻳﺪ در ﺑﺮﻧﺎﻣﻪ ‪s7‬‬


‫ﺡﺎل ﺑﺎ اﻧﺘﺨﺎب ﻣﻨﻮﯼ ‪ FILE‬یﮏ ﻣﻨﻮﯼ ﮐﺮﮐﺮﻩ اﯼ ﻇﺎهﺮ ﻣﻴﺸﻮد ایﻦ ﻣﻨﻮ در ﺡﻘﻴﻘﺖ اﺑﺘﺪاﯼ‬
‫ﮐﺎر ﺑﺎ ﻧﺮم اﻓﺰار ‪ S7‬ﻣﻲ ﺑﺎﺷﺪ ‪.‬‬
‫در ایﻦ ﻣﺮﺡﻠﻪ ﺑﺎ اﻧﺘﺨﺎب ﮔﺰیﻨﻪ ‪ NEW PROJECT WIZARD‬وارد ﺻﻔﺤﻪ ﺟﺪیﺪﯼ‬
‫ﺧﻮاهﻴﻢ ﺷﺪ‪.‬ایﻦ ﻣﻨﻮ در ﺡﻘﻴﻘﺖ ﺟﺎیﯽ اﺳﺖ ﮐﻪ درﺁن ﻣﻴﺘﻮاﻧﻴﻢ ﻗﺴﻤﺖ هﺎﯼ ﺳﺨﺖ اﻓﺰارﯼ ﻣﻮرد‬
‫ﻧﻈﺮ را اﻧﺘﺨﺎب ﮐﻨﻴﻢ ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 11‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫• ﻧﺤﻮﻩ اﻧﺘﺨﺎب ﺳﺨﺖ اﻓﺰار ﭘﺮوژﻩ‬


‫ﺡﺎل ﻣﻴﺘﻮاﻧﻴﻢ ‪ CPU‬ﻣﻮرد ﻧﻈﺮ را از ‪ CPU TYPE‬هﺎﯼ ﭘﻴﺸﻨﻬﺎدﯼ ﻧﺮم اﻓﺰار ﮔﺰیﻨﺶ‬
‫ﮐﻨﻴﻢ‪.‬هﻤﭽﻨﻴﻦ در ایﻦ ﺻﻔﺤﻪ ﺑﻪ ‪ MPI ADDRESS‬ﺑﺮ ﻣﻴﺨﻮریﻢ ﮐﻪ ﻣﻘﺪار ﺁن را هﻤﻴﺸﻪ ‪ ٢‬در‬
‫ﻧﻈﺮ ﻣﻴﮕﻴﺮیﻢ‪ .‬ﺑﺎ زدن دﮐﻤﻪ ‪ NEXT‬ﺑﻪ ﺻﻔﺤﻪ ﺑﻌﺪ ﻣﻲ رویﻢ‬

‫ﺻﻔﺤﻪ ‪ 12‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ایﻦ ﺻﻔﺤﻪ )‪ ORGANIZATION BLOCK(OB‬ﻣﻮرد ﻧﻈﺮ را ﮔﺰیﻨﺶ ﻣﻴﮑﻨﻴﻢ‪.‬ﮐﻪ‬


‫در ایﻦ ﻟﻴﺴﺖ ‪ OB‬هﺎﯼ ﻏﻴﺮ از ‪ OB1‬ﻧﻴﺰ ﺕﻌﺮیﻒ ﮔﺮدیﺪﻩ اﺳﺖ ﮐﻪ ﻃﺮاح ﺑﻨﺎ ﺑﺮ اﺡﺘﻴﺎﺟﺎت‬
‫ﺧﻮد ﻣﻴﺘﻮاﻧﺪ از ﺁﻧﻬﺎ ﻧﻴﺰ اﺳﺘﻔﺎدﻩ ﮐﻨﺪ‪.‬هﻤﭽﻨﻴﻦ در اﺳﺘﻴﻞ هﺎﯼ ‪ S7‬ﺁﻣﺪﻩ ﮐﻪ ﮐﺎرﺑﺮ ﻣﻴﺘﻮاﻧﺪ یﮑﯽ‬
‫از ﺳﻪ ﮔﺰیﻨﻪ ‪ LAD,FBD ,STL‬را ﺑﻨﺎ ﺑﻪ اﺳﺘﻔﺎدﻩ ﺧﻮد اﻧﺘﺨﺎب ﮐﻨﺪ‪.‬‬

‫ﺑﺎ زدن دﮐﻤﻪ ‪ FINISH‬ایﻦ ﻣﺮﺡﻠﻪ ﺑﻪ ﭘﺎیﺎن رﺳﻴﺪﻩ وﺻﻔﺤﻪ ‪SIMANTIC MANAGE‬‬
‫ﺑﺎز ﻣﻴﺸﻮد‪.‬‬

‫در ﺻﻔﺤﻪ ﺑﻌﺪ ﻧﺤﻮﻩ ﻋﻤﻠﮑﺮد ﺕﻮﺽﻴﺢ دادﻩ ﺷﺪﻩ در ﻓﻮق در داﺧﻞ ﻧﺮم اﻓﺰار ﻧﻤﺎیﺶ دادﻩ ﺷﺪﻩ‬
‫اﺳﺖ ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 13‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺻﻔﺤﻪ ‪ 14‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫• ﻧﺤﻮﻩ ﮐﺎﻧﻔﻴﮕﻮرﻳﺸﻦ و ﺗﻨﻈﻴﻤﺎت ﺳﺨﺖ اﻓﺰار ) ‪( HARDWARE‬‬


‫ﺡﺎل در ﺳﻤﺖ راﺳﺖ ﺻﻔﺤﻪ ﺑﻠﻮﮎ هﺎﯼ ﻣﻮرد اﺳﺘﻔﺎدﻩ در ﺑﺮﻧﺎﻣﻪ ودر ﺳﻤﺖ ﭼﭗ ﺳﺎﺧﺘﺎر‬
‫درﺧﺘﯽ ﺁﻧﭽﻪ در ﺳﻤﺖ راﺳﺖ اﻧﺠﺎم ﺷﺪﻩ در ﭘﺮوژﻩ ‪ TRAINING 1‬دیﺪﻩ ﻣﯽ ﺷﻮد‪ .‬ﺑﺮاي‬
‫رﻓﺘﻦ ﺑﻪ ﻗﺴﻤﺖ ‪ SOURCE‬ﻣﻴﺘﻮاﻧﻴﻢ ﺑﻘﻴﻪ ﺳﺨﺖ اﻓﺰار هﺎﯼ ﻣﻮرد ﻧﻴﺎز از ﺟﻤﻠﻪ ﮐﺎرﺕﻬﺎﯼ‬
‫ورودﯼ و ﺧﺮوﺟﯽ ‪ ,‬ﮐﺎرت هﺎﯼ ﺷﺒﮑﻪ ‪ ,‬ﻣﻨﺒﻊ ﺕﻐﻴﻪ ‪ ,‬ﭘﺮدازﺷﮕﺮهﺎ و‪ ...‬را از ﺁﻧﭽﻪ ﺧﻮد ﻧﺮم‬
‫اﻓﺰار ارایﻪ ﮐﺮدﻩ اﺳﺖ ﮔﺰیﻨﺶ ﮐﻨﻴﻢ‪.‬ﺑﺮاﯼ ایﻦ ﻣﻨﻈﻮر ﺑﺎیﺪ ﺑﻪ ‪HARDWARE‬رﻓﺘﻪ واﻟﻤﺎﻧﻬﺎ‬
‫را ﮔﺰیﻨﺶ ﮐﻨﻴﻢ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 15‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫هﻢ ایﻨﮏ ﺻﻔﺤﻪ ‪ HW CONFIG‬ﺑﺎز ﺷﺪﻩ اﺳﺖ ﮐﻪ ﺳﻤﺖ ﭼﭗ ﺁن ﺑﺎ ﺳﺨﺖ اﻓﺰار هﺎﯼ‬
‫اﻧﺘﺨﺎﺑﯽ ﭘﺮ ﻣﻴﺸﻮد ‪ CPU‬ﮐﻪ در اﺑﺘﺪا اﻧﺘﺨﺎب ﮐﺮدیﻢ در ‪ SLOT‬دوم ﻧﺸﺴﺘﻪ و ﻣﺎ ﺑﺎیﺪ از‬
‫ﺳﻤﺖ راﺳﺖ و از ﮐﺘﺎﺑﺨﺎﻧﻪ ﺁن ﺳﺨﺖ اﻓﺰار هﺎ را اﻧﺘﺨﺎب ﮐﻨﻴﻢ‬
‫‪.‬اﺑﺘﺪا ﺑﺎیﺪ ‪ SIMANTIC300‬یﺎ ‪ SIMANTIC 400‬را اﻧﺘﺨﺎب ﮐﻨﻴﻢ‪.‬‬
‫و ﺳﭙﺲ اﻟﻤﺎﻧﻬﺎ را ازﺁﻧﺠﺎ ﭘﻴﺪا ﻧﻤﺎیﻴﻢ ‪.‬‬
‫ﻣﺎ در ایﻦ ﻣﺜﺎل ﻣﺤﻴﻂ ‪ SIMANTIC300‬را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ایﻢ‪.‬اﺑﺘﺪا ‪POWER ) PS‬‬
‫‪ ( SUPPLY‬دﻟﺨﻮاﻩ را از ﻣﻨﻮﯼ ﺳﻤﺖ راﺳﺖ ‪ DRAG‬و در اوﻟﻴﻦ ‪ SLOT‬ﻣﻮﺟﻮد‬
‫ﻣﻴﮑﻨﻴﻢ ‪.‬یﺎد ﺁورﯼ ایﻦ ﻧﮑﺘﻪ ﺽﺮورﯼ اﺳﺖ ﮐﻪ ‪ SLOT‬ﺳﻮم هﻤﻴﺸﻪ‬ ‫درﺟﺪول ‪DROP‬‬
‫ﺧﺎﻟﻴﺴﺖ ﮐﻪ ﻣﺎ در ایﻨﺠﺎ‪ ) PS 307‬ﻣﻨﺒﻊ ﺕﻐﺬیﻪ ‪ ۵‬ﺁﻣﭙﺮ ( را ﺑﺮ داﺷﺘﻴﻢ‬

‫ﺻﻔﺤﻪ ‪ 16‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪.‬‬

‫اﮐﻨﻮن ﻧﻮﺑﺖ اﻧﺘﺨﺎب ﮐﺎرﺕﻬﺎﯼ رودﯼ و ﺧﺮوﺟﯽ اﺳﺖ‬

‫ﺻﻔﺤﻪ ‪ 17‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪AI/AO‬‬
‫ﻣﺮﺑﻮط ﺑﻪ ﮐﺎرﺕﻬﺎﯼ ﺁﻧﺎﻟﻮگ اﺳﺖ‪. ANALOG INPUT/OUTPUT.‬ﮐﻪ ﻣﺎ در ایﻨﺠﺎﮐﺎرت‬
‫‪ ۴) AI4/A02‬ورودي ﺁﻧﺎﻟﻮگ‪ ,‬و دو ﺧﺮوﺟﻲ ﺁﻧﺎﻟﻮگ ( را اﻧﺘﺨﺎب ﮐﺮدیﻢ‪.‬‬
‫‪DI/DO‬‬
‫ﻣﺮﺑﻮط ﺑﻪ ﮐﺎرﺕﻬﺎﯼ دیﺠﻴﺘﺎل اﺳﺖ‪. DIGITAL INPUT/OUTPUT .‬ﮐﻪ ﻣﺎ در ایﻨﺠﺎ‬
‫)‪ ١۶‬ورودي ﺧﺮوﺟﻲ دیﺠﻴﺘﺎل ‪ ١٢‬وﻟﺖ ﻧﻴﻢ ﺁﻣﭙﺮ( را اﻧﺘﺨﺎب‬ ‫ﮐﺎرت ‪16X12V/.5 A‬‬
‫ﮐﺮدیﻢ‪.‬‬
‫هﻤﭽﻨﻴﻦ در ﺟﺪول ﭘﺎیﻴﻨﯽ ﻣﺸﺨﺼﺎت ﮐﺎﻣﻞ و ﻣﺤﻞ ﺁدرس ﺁﻧﻬﺎ در ﺡﺎﻓﻈﻪ ﻣﺸﻬﻮد اﺳﺖ‪.‬‬
‫‪ORDER NUMBER‬‬
‫ﺷﻤﺎرﻩ ﻣﺸﺨﺺ هﺮ اﻟﻤﺎن را ﻧﺸﺎن ﻣﻴﺪهﺪ ﮐﻪ هﺮ ﺷﻤﺎرﻩ ﻣﺨﺘﺺ یﮏ اﻟﻤﺎن اﺳﺖ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 18‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺻﻔﺤﻪ ‪ 19‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫• ﺳﺎﺧﺘﻦ ﺑﻠﻮﮎ هﺎ در ﺑﺮ ﻧﺎﻣﻪ‬

‫هﻤﺎﻧﻄﻮر ﮐﻪ ﮔﻔﺘﻪ ﺧﻮاهﺪ ﺷﺪ ﺑﻠﻮﮎ هﺎﯼ ﻣﺨﺘﻠﻔﯽ ﺑﺎ وﻇﺎیﻒ ﻣﺸﺨﺺ در ‪ s7‬وﺟﻮد دارد‪.‬‬
‫اﮐﻨﻮن ﻣﯽ ﺑﺎیﺴﺖ ایﻦ ﺑﻠﻮﮎ هﺎ در ﺑﺮ ﻧﺎﻣﻪ ﻓﺮاﺧﻮاﻧﯽ ﺷﻮﻧﺪ‪ .‬ﺑﺮاﯼ ایﻦ ﻣﻨﻈﻮر اﺑﺘﺪا ﺑﺎیﺪ از‬
‫ﺳﺎﺧﺘﺎر درﺧﺘﯽ ﺳﻤﺖ ﭼﭗ ‪ BLOCK‬را اﻧﺘﺨﺎب ﮐﻨﻴﻢ‪ .‬ﺡﺎل ﺑﺎ ﮐﻠﻴﮏ ﭼﭗ در ﺳﻤﺖ راﺳﺖ‬
‫ﺻﻔﺤﻪ ﺳﺎﺧﺘﺎر درﺧﺘﯽ ﻣﻼﺡﻈﻪ ﻣﯽ ﺷﻮد‬

‫ﺑﺎاﻧﺘﺨﺎب ‪ INSERT NEW OBJECT‬ﻣﻴﺘﻮاﻧﻴﻢ هﺮ یﮏ از ﺑﻠﻮﮎ هﺎﯼ ‪:‬‬

‫‪FUNCTION BLOCK, .DATABLOCK ,‬‬


‫‪ORGANIZATION BLOCK, VARIABLE TABLE‬‬

‫را ﺑﺮاﺳﺎس اﺡﺘﻴﺎج ﻣﻄﺎﺑﻖ ﺷﮑﻞ زیﺮ ﺑﺴﺎزیﻢ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 20‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺻﻔﺤﻪ ‪ 21‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

: S7 ‫اﻧﻮاع ﺑﻠﻮﮎ در‬

ORGANIZAITION BLOC (OB) •

INTEGRATED SPESIAL OBs •

SYSTEM FUNCTION BLOCKS(SFBs) •

SYSTEM FUNCTIONS(SFC) •

FUNCTION BLOCK (FC) •

DATA BLOCK (DB) •

SYSTEM DATA BLOCK (SDB) •

100 ‫ از‬22 ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: ORGANIZATION BLOCK –OB‬‬


‫در ﺡﻘﻴﻘﺖ ‪ OB‬ﺕﻮﺻﻴﻒ ﮐﻨﻨﺪﻩ وﻇﺎیﻒ هﺮ ﻗﺴﻤﺖ اﺳﺖ و ﺑﻪ ﻋﺒﺎرت دیﮕﺮ واﺳﻄﻪ ﺑﻴﻦ‬
‫اﺳﺘﻔﺎدﻩ ﮐﻨﻨﺪﻩ از ﺳﻴﺴﺘﻢ و ﻧﺮم اﻓﺰار اﺳﺖ ‪ .‬ﻣﻬﻢ ﺕﺮیﻦ ﻗﺴﻤﺖ در ﺑﻠﻮﮎ هﺎ ‪ OB‬اﺳﺖ‪.‬ﻧﮑﺘﻪ ﻗﺎﺑﻞ‬
‫ﺕﻮﺟﻪ در ‪ OB‬هﺎ اﻧﻮاع و ﺕﻘﺴﻴﻢ ﺑﻨﺪﯼ ﺁﻧﻬﺎ اﺳﺖ‪.‬‬

‫‪: OB1‬‬

‫ﺑﻠﻮﮎ اﺻﻠﯽ ﻣﻮﺟﻮد اﺳﺖ ‪ .‬و‪ OB‬هﺎﯼ دیﮕﺮ ﺑﻪ ﻋﻨﻮان وﻗﻔﻪ ﻋﻤﻞ ﮐﺮدﻩ و وارد ﺳﻴﮑﻞ‬
‫اﺟﺮاﯼ ﺑﺮ ﻧﺎﻣﻪ ﺷﺪﻩ و ﺑﺮﻧﺎﻣﻪ را ﺑﺮاﯼ اﺟﺮاﯼ ‪ OB‬ﻣﻮرد ﻧﻈﺮﺁﻣﺎدﻩ ﻣﻴﮑﻨﺪ‪.‬‬
‫اﻧﻮاع ‪ OB‬در ﺑﺮﻧﺎﻣﻪ و ﻋﻤﻠﮑﺮد ﺁﻧﻬﺎو ﺷﻤﺎرﻩ ﺁﻧﻬﺎ در ﺟﺪاول ﭘﺎیﻴﻦ ﺁﻣﺪﻩ اﺳﺖ‬
‫ﺳﻤﺖ راﺳﺖ ﺷﻤﺎرﻩ ﺁﻧﻬﺎ و ﺕﻔﺎوﺕﻬﺎیﺸﺎن در ‪ S5 ,S7‬ﺁﻣﺪﻩ اﺳﺖ‪.‬‬
‫ﻧﮑﺘﻪ ﻣﻬﻢ در ‪ OB‬هﺎ ‪ PRIORITY‬ﺁﻧﻬﺎﺳﺖ ﺑﺪیﻦ ﮔﻮﻧﻪ ﮐﻪ هﺮ ﮔﺎﻩ دو ‪ OB‬هﻤﺰﻣﺎن‬
‫ﻓﺮاﺧﻮاﻧﯽ ﺷﻮﻧﺪ ﺁن ‪ OB‬ﮐﻪ داراﯼ ‪ PRIORITY‬ﺑﻴﺸﺘﺮﯼ ﺑﺎﺷﺪ در اﺟﺮا اوﻟﻮیﺖ دارد‪.‬‬
‫ﻣﻘﺎدیﺮ ﺁﻧﻬﺎ در زیﺮ ﺁﻣﺪﻩ اﺳﺖ‪.‬‬

‫‪ OB10-OB23‬ﮐﻪ در ﺁﻧﻬﺎ ‪ PRIORITY 2-23‬اﺳﺖ‪.‬‬


‫‪ OB70-OB72‬ﮐﻪ درﺁﻧﻬﺎ ‪ PRIORITY 23-26‬اﺳﺖ‪.‬‬

‫و‪...‬‬

‫ﺻﻔﺤﻪ ‪ 23‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﮐﻪ ﺑﺮﻧﺎﻣﻪ اﺻﻠﯽ در‪ OB ١‬هﺎ و ﺑﺮﻧﺎﻣﻪ هﺎﯼ ﮐﻪ در ﻃﻮل اﺟﺮاي ﺑﺮﻧﺎﻣﻪ دایﻤﺂ ﻓﺮاﺧﻮاﻧﯽ‬
‫ﻣﯽ ﺷﻮﻧﺪ در ‪) FC‬ﻓﺎﻧﮑﺸﻦ( و )ﻓﺎﻧﮑﺸﻦ ﺑﻼﮎ( ‪ FB‬ریﺨﺘﻪ ﻣﯽ ﺷﻮﻧﺪ ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 24‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻓﺮﻣﻬﺎﯼ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪ در ‪: S7‬‬

‫‪ (١‬ﻓﺮم ﻧﺮدﺑﺎﻧﯽ)‪( LADDER‬‬

‫‪ (٢‬ﻓﺮم ﻧﺮم اﻓﺰارﯼ ) ‪( STATEMENT LIST‬‬

‫‪ (3‬ﻓﺮم ﺑﻠﻮﮐﯽ ) ‪(FUNCTION BLOCK DATA‬‬

‫ﻓﺮم ﻧﺮدﺑﺎﻧﯽ) ‪:(LAD‬‬

‫هﺮ ﮔﺎﻩ در ﺑﺮ ﻧﺎﻣﻪ اﻟﻤﺎﻧﻬﺎ ﺑﻪ ﺻﻮرت ﻣﺪارات ﭘﺎراﻟﻞ رﺳﻢ ﮔﺮددﻧﺪ‪.‬یﺎ ﺑﻪ ﻋﺒﺎرت‬
‫دیﮕﺮ ﺑﻪ ﺻﻮرت ﻗﻄﻌﺎت اﻟﮑﺘﺮوﻧﻴﮑﯽ ﻣﻮﺟﻮد در ﮐﺘﺎﺑﺨﺎﻧﻪ ﻗﺮار ﮔﻴﺮﻧﺪ در ایﻨﺼﻮرت ﻣﺪار‬
‫ﺑﻪ ﺻﻮرت ‪ LADDER‬ﺑﺴﺘﻪ ﺷﺪﻩ اﺳﺖ‪.‬‬

‫ﺣﺎل ﺑﺎﻳﺪ در اﺑﺘﺪا ﺑﺎ ﻓﺮﻣﺎن هﺎ و اﻟﻤﺎﻧﻬﺎﯼ ﻣﻮﺟﻮد در ﮐﺘﺎﺑﺨﺎﻧﻪ ‪ S7‬ﺁﺷﻨﺎ ﺷﻮﻳﻢ ﺗﺎ ﺑﺘﻮاﻧﻴﻢ از‬
‫ﭼﮕﻮﻧﮕﯽ ﮐﺎرﺑﺮد ﺁﻧﻬﺎ در ﻣﺪارات ﻣﻨﻄﻘﻲ ﺁﮔﺎﻩ ﺷﻮﻳﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 25‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺑﻴﺖ هﺎي ﻻﺟﻴﮏ‬


‫) ‪: ( Normally open contact‬‬
‫ﮐﻨﺘﺎﮐﺘﻮر در ﺡﺎﻟﺖ ﻋﺎدﯼ ﺑﺎز ﮐﻪ ﺑﺮاﯼ هﺮ ﮐﻨﺘﺎﮐﺘﻮر ﺑﻪ ﺻﻮرت زیﺮ ﺁدرس دهﯽ ﻣﻴﮑﻨﻴﻢ‪.‬‬
‫‪ I 0.1‬ﮐﻪ از ﺳﻤﺖ ﭼﭗ ﻣﻴﺨﻮاﻧﻴﻢ ﻋﺪد اول ﻣﺮﺑﻮط ﺑﻪ ﺁدرس ﺑﺎیﺖ و ﻋﺪد دوم ﻣﺮﺑﻮط ﺑﻪ‬
‫ﺑﻴﺖ اﺷﻐﺎل ﺷﺪﻩ از ﺡﺎﻓﻈﻪ ﺕﻮﺳﻂ ایﻦ ﮐﻨﺘﺎﮐﺘﻮر اﺳﺖ یﻌﻨﯽ در اﻧﺠﺎ ﺁدرس ﺑﺎیﺖ ‪ ٠‬وﺑﻴﺖ ‪ ١‬از‬
‫ﺡﺎﻓﻈﻪ اﺷﻐﺎل ﺷﺪﻩ اﺳﺖ‪.‬‬
‫ﺑﺮاﯼ هﺮ ﮐﺪام از ایﻦ اﻟﻤﺎﻧﻬﺎ ﺟﺪوﻟﯽ اﺳﺖ ﮐﻪ ﺡﺎوﯼ اﻃﻼﻋﺎﺕﯽ در ﻣﻮرد ﻧﻮع ‪ DATA‬ﮐﻪ‬
‫ﺕﻮﺳﻂ ایﻦ ﺁدرس دادﻩ ﻣﻴﺸﻮد و ‪ MEMORY AREA‬ﺁن اﺳﺖ ‪.‬ﮐﻪ ﺑﻌﻀﯽ از ایﻦ ﺟﺪاول را‬
‫در ﭘﺎیﻴﻦ ﺧﻮاهﻴﻢ ﺁورد‪.‬‬

‫ﻣﺜﺎل ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 26‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫) ‪: ( Normally closed contact‬‬

‫ﮐﻨﺘﺎﮐﻮرﯼ ﮐﻪ در ﺡﺎﻟﺖ ﻋﺎدﯼ ﺑﺴﺘﻪ اﺳﺖ‪ .‬ﺁدرس دهﯽ ﺁن ﻧﻴﺰ ﻣﺎﻧﻨﺪ ﺑﺎﻻﺳﺖ ‪.‬ﺕﻔﺎوت ایﻦ دو‬
‫ﮐﻨﺘﺎﮐﺘﻮر در ایﻨﺴﺖ ﮐﻪ ﮐﻨﺘﺎﮐﺘﻮر ﺑﺎﻻیﯽ در زﻣﺎﻧﻴﮑﻪ ﺑﻴﺖ ‪ RLO‬یﮏ اﺳﺖ ﻓﻌﺎل ﻣﻴﺸﻮد اﻣﺎ در‬
‫ﭘﺎیﻴﻨﯽ وﻗﺘﯽ ‪ ٠‬اﺳﺖ یﺎ ﺑﻪ ﻋﺒﺎرت دیﮕﺮ ﮐﻨﺘﺎﮐﺘﻮر ﭘﺎیﻴﻨﯽ ﺑﺎ ‪ ٠‬ﻓﻌﺎل و ﺑﺎﻻیﯽ ﺑﺎ ﺁﻣﺪن ‪ ١‬ﻓﻌﺎل‬
‫ﻣﻴﺸﻮد‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 27‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: ( Xclusive OR) XOR‬‬

‫در ﻣﺪار ‪ XOR‬ﺟﺮیﺎن یﺎ از ﺷﺎﺧﻪ ﺑﺎﻻیﯽ و یﺎ از ﭘﺎیﻴﻨﯽ ﺑﺎیﺪ ﺑﺮﻗﺮار ﺷﻮد‪.‬‬


‫ایﻦ ﻣﺪار ﺷﺎﻣﻞ هﺮ دو ﮐﻨﺘﺎﮐﺘﻮر ﺑﺎز و ﺑﺴﺘﻪ اﺳﺖ‪.‬‬

‫ﮐﻪ ﻧﺘﻴﺠﻪ ﺳﻴﮕﻨﺎل در ﺧﺮوﺟﯽ ﻣﻮرد ﻧﻈﺮ ﮐﻪ در ایﻨﺠﺎ ﺁدرس ‪ Q4.0‬اﺳﺖ ذﺧﻴﺮﻩ ﻣﻴﺸﻮد‪.‬‬

‫ﺑﻴﺖ ‪ RLO‬را ﻣﻨﻔﯽ ﻣﻴﮑﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 28‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪(OUTPUT COIL‬‬

‫‪ RLO‬یﮏ ﺷﻮد ادرس ایﻦ ‪ COIL‬ﻧﻴﺰ ‪ 1‬ﻣﻴﺸﻮد‬ ‫ﺑﻪ ایﻦ ﺻﻮرت ﮐﺎر ﻣﻴﮑﻨﺪ ﮐﻪ اﮔﺮ ﺑﻴﺖ‬
‫‪ .‬و اﮔﺮ هﻢ ‪ RLO‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ﺁدرس ﻧﻴﺰ ﺻﻔﺮ ﻣﻴﺸﻮد‪.‬‬

‫ﻣﺜﺎل‪:‬‬
‫ﺧﺮوﺟﻲ ‪ Q4.0‬در یﮑﯽ از ﺡﺎﻻت زیﺮ ‪ ١‬ﻣﻴﺸﻮد‪:‬‬
‫رخ دهﺪ‪.‬‬ ‫ﺳﻴﮕﻨﺎل ‪ ١‬ﺑﺎﺷﺪ و ‪I0.0 , I0.1 AND‬‬
‫ﺳﻴﮕﻨﺎل ‪ ٠‬ﺑﺎﺷﺪ و ﺟﺮیﺎن ‪ I0.2‬را ﻋﺒﻮر دهﺪ‪.‬‬
‫و یﺎ ﺧﺮوﺟﻲ ‪ Q4.1‬زﻣﺎﻧﯽ ‪ ١‬ﻣﻴﺸﻮد ﮐﻪ‪:‬‬
‫ﺳﻴﮕﻨﺎل ‪ ٠‬ﺑﺎﺷﺪ و‪ I0.2‬ﺻﻔﺮ ﺑﺎﺷﺪ و ‪I0.3‬‬
‫ﺳﻴﮕﻨﺎل ‪ ١‬ﺑﺎﺷﺪ و ‪ I0.1,I0.0 AND‬رخ دهﺪ و یﮏ ﺑﺎﺷﺪ‪.‬‬

‫اﻟﻤﺎﻧﯽ ﮐﻪ ﺑﻴﺖ ‪ RLO‬را در ﺁدرس ﻣﻮرد ﻧﻈﺮ ‪ SAVE‬ﻣﻲ ﮐﻨﺪ ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 29‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫ﺑﻴﺖ ‪ RLO‬را ‪ RESET‬ﻣﻴﮑﻨﺪ یﻌﻨﯽ اﮔﺮ ‪ ١‬ﺑﺎﺷﺪ ‪ ٠‬و اﮔﺮﺻﻔﺮ ﺑﺎﺷﺪ یﮏ ﻣﻴﮑﻨﺪ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 30‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺧﺮوﺟﯽ ﺳﻴﮕﻨﺎل هﺮ ﭼﻪ ﮐﻪ ﺑﺎﺷﺪ ‪ SET‬ﻣﻴﮑﻨﺪ یﻌﻨﯽ ‪ ١‬ﻣﯽ ﮐﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 31‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: FLIP FLOP‬‬

‫ﺑﺮاﯼ ﺛﺎﺑﺖ ﻧﮕﻪ داﺷﺘﺘﻦ ورودﯼ در ﺡﺎﻟﺖ ﺻﻔﺮ و یﺎ یﮏ ﺑﻪ ﻓﻠﻴﭗ ﻓﻼپ اﺡﺘﻴﺎج داریﻢ‪.‬‬
‫اﺻﻄﻼﺡﺎ ﺑﻌﻨﻮان یﮏ ﺕﻴﻐﻪ ﺧﻮد ﻧﮕﻪ دار ﻋﻤﻞ ﻣﻲ ﮐﻨﺪ ‪.‬‬

‫)‪: RESET SET FLIP FLOP(RS‬‬

‫در ایﻦ ﻓﻠﻴﭗ ﻓﻼپ هﻨﮕﺎﻣﯽ ﺕﻐﻴﻴﺮ رخ ﻣﻴﺪهﺪ ﮐﻪ ﺑﻴﺖ ‪ ١ RLO‬ﺑﺎﺷﺪ و زﻣﺎﻧﻴﮑﻪ ‪ ٠‬ﺑﺎﺷﺪ هﻴﭻ‬
‫ﺕﻐﻴﻴﺮﯼ روﯼ ﻣﻘﺎدیﺮ ‪ SET , RESET‬رخ ﻧﻤﯽ دهﺪ‪.‬‬

‫در ﺟﺪول ﭘﺎیﻴﻦ دیﺎﮔﺮام و ﻣﻘﺎدیﺮ یﮏ ﻓﻠﻴﭗ ﻓﻼپ را ﻣﺸﺎهﺪﻩ ﻣﻲ ﮐﻨﻴﻢ‬

‫ﺻﻔﺤﻪ ‪ 32‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫اﮔﺮ ‪ I0.0‬یﮏ ﺑﺎﺷﺪ و ‪ I0.1‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ﺡﺎﻓﻈﻪ ‪ SET M0.0‬ﻣﯽ ﺷﻮد‪.‬و ‪Q4.0‬‬
‫ﻣﻘﺪار ‪ ٠‬را ﺑﻪ ﺧﻮد ﻣﯽ ﮔﻴﺮد‪.‬‬
‫ﻧﮑﺘﻪ ‪:‬‬
‫)در ﻧﺮم اﻓﺰار ‪ S7‬ﺑﺮاي اﺧﺘﺼﺎص ﻓﻀﺎي ﺡﺎﻓﻈﻪ داﺧﻠﻲ از اﺻﻄﻼح ‪ M‬و ﺁدرس دهﻲ‬
‫ﻣﺮﺑﻮﻃﻪ اﺳﺘﻔﺎدﻩ ﻣﻲ ﮔﺮدد و در ﻧﻮع از ‪ Cpu‬هﺎ ﺕﻌﺪاد ﺁدرس هﺎي ﺡﺎﻓﻈﻪ ‪ M‬ﮐﻪ ﻣﻲ ﺕﻮان‬
‫اﺳﺘﻔﺎدﻩ ﻧﻤﻮد ﻣﺸﺨﺺ ﮔﺮدیﺪﻩ و از ﻃﺮیﻖ ﮔﺮﻓﺘﻦ ‪ REFERENCE‬در ﻧﺮم اﻓﺰار ﻣﻲ ﺕﻮاﻧﻴﻢ‬
‫ﺁﻧﺮا ﺑﻔﻬﻤﻴﻢ (‬
‫اﮔﺮ ‪ I0.0‬ﺻﻔﺮ ﺑﺎﺷﺪ و ‪ I0.1‬یﮏ ﺑﺎﺷﺪ ﺑﻴﺖ ‪ RESET M0.0‬ﻣﻴﺸﻮد و ‪ Q4.0‬ﻣﻘﺪار ‪١‬‬
‫را ﺑﻪ ﺧﻮد ﻣﯽ ﮔﻴﺮد‪.‬‬
‫اﮔﺮ هﺮ ‪ ٢‬ﺻﻔﺮ ﺑﺎﺷﻨﺪ هﻴﭻ ﺕﻐﻴﻴﺮﯼ رخ ﻧﻤﯽ دهﺪ واﮔﺮ هﺮ دو ‪ ١‬ﺑﺎﺷﻨﺪ‪ .‬ﻣﻘﺪار ‪ SET‬ﺑﻌﻨﻮان‬
‫ﻣﻘﺪم در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 33‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: SET RESET FLIP FLOP(SR‬‬

‫ﻣﺜﺎل‪:‬‬

‫اﮔﺮ ‪ I0.0‬یﮏ ﺑﺎﺷﺪ و ‪ I0.1‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ‪ SET M0.0‬ﻣﯽ ﺷﻮد‪.‬و ‪ Q4.0‬ﻣﻘﺪار‪ ١‬را‬
‫ﺑﻪ ﺧﻮد ﻣﯽ ﮔﻴﺮد‪.‬‬

‫ﺻﻔﺤﻪ ‪ 34‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫اﮔﺮ ‪ I0.0‬ﺻﻔﺮ ﺑﺎﺷﺪ و ‪ I0.1‬یﮏ ﺑﺎﺷﺪ ﺑﻴﺖ ‪ RESET M0.0‬ﻣﻴﺸﻮد و ‪ Q4.0‬ﻣﻘﺪار ‪٠‬‬
‫را ﺑﻪ ﺧﻮد ﻣﯽ ﮔﻴﺮد‪.‬‬
‫اﮔﺮ هﺮ ‪ ٢‬ﺻﻔﺮ ﺑﺎﺷﻨﺪ هﻴﭻ ﺕﻐﻴﻴﺮﯼ رخ ﻧﻤﯽ دهﺪ واﮔﺮ هﺮ دو ‪ ١‬ﺑﺎﺷﻨﺪ‪ .‬ﻣﻘﺪار ‪ RESET‬ارﺟﺢ‬
‫ﻗﺮار ﻣﻲ ﮔﻴﺮد ‪.‬‬

‫زﻣﺎﻧﻴﮑﻪ ﺁدرس از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﻣﯽ یﺎﺑﺪ ﺑﻴﺖ ‪ RLO‬را یﮏ ﻣﯽ ﮐﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 35‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺑﻴﺖ ﺡﺎﻓﻈﻪ ‪ M0.0‬در ‪ RLO‬ﻗﺪیﻢ ‪ SAVE‬ﺷﺪﻩ اﺳﺖ هﻨﮕﺎﻣﯽ ﮐﻪ ﺳﻴﮕﻨﺎل ﺕﻐﻴﻴﺮ ﮐﻨﺪ و‬
‫ﺳﻴﮕﻨﺎل از‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ‬
‫ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺁدرس ‪ CAS1‬ﭘﺮش ﻣﯽ ﮐﻨﺪ‪.‬‬

‫زﻣﺎﻧﻴﮑﻪ ﺁدرس از ‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ ﻣﯽ یﺎﺑﺪ ﺑﻴﺖ ‪ RLO‬را یﮏ ﻣﯽ ﮐﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 36‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺑﻴﺖ ‪ M0.0‬در ‪ RLO‬ﻗﺪیﻢ ‪ SAVE‬ﺷﺪﻩ اﺳﺖ هﻨﮕﺎﻣﯽ ﮐﻪ ﺳﻴﮕﻨﺎل از‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ‬
‫ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺁدرس ‪ CAS1‬ﭘﺮش ﻣﯽ ﮐﻨﺪ‪.‬‬

‫اﻃﻼﻋﺎت ‪ RLO‬را در‪ BR MEMORY‬ذﺧﻴﺮﻩ ﻣﯽ ﮐﻨﺪ‪.‬‬


‫ﻣﺜﺎل‪:‬‬

‫)‪: NEG ( NEGATIV EDG DETECTION‬‬

‫ﺻﻔﺤﻪ ‪ 37‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺤﺘﻮیﺎت ‪ RLO‬ﻗﺪیﻢ و ﺟﺪیﺪ را ﻣﻘﺎیﺴﻪ ﻣﻴﮑﻨﺪ و در ﺻﻮرﺕﻴﮑﻪ ‪ RLO‬ﺟﺪیﺪ ‪ ١‬و ‪RLO‬‬


‫ﻗﺪیﻤﯽ ‪ ٠‬ﺑﺎﺷﺪ ‪ ،‬ﺑﻴﺖ ‪ RLO‬را ‪ ١‬ﻣﻴﮑﻨﺪ‪.‬‬
‫ﻣﺜﺎل‪:‬‬

‫در ‪ I0.3‬ﻟﺒﻪ ﭘﺎیﻴﻦ روﻧﺪﻩ داریﻢ‪.‬‬


‫‪ I0.1‬و ‪ I0.2‬ﺳﻴﮕﻨﺎل هﺎي ‪ ١‬ﻣﻲ ﺑﺎﺷﻨﺪ‬ ‫‪ I0.0‬و‬
‫ﺑﺎ ﻟﺒﻪ ﭘﺎیﻴﻦ روﻧﺪﻩ در ‪ I0.4‬ﺳﻴﮕﻨﺎل ‪ ١‬ﮔﺮدیﺪﻩ و ﺧﺮوﺟﻲ ‪ Q4.0‬یﮏ ﻣﻲ ﮔﺮدد ‪.‬‬

‫)‪(POSITIVE EDGE DETECTION‬‬

‫ﺻﻔﺤﻪ ‪ 38‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺤﺘﻮیﺎت ‪ RLO‬ﻗﺪیﻢ و ﺟﺪیﺪ را ﻣﻘﺎیﺴﻪ ﻣﻴﮑﻨﺪ و در ﺻﻮرﺕﻴﮑﻪ ‪ RLO‬ﺟﺪیﺪ ‪ 1‬و ‪RLO‬‬


‫ﻗﺪیﻤﯽ ‪ 0‬ﺑﺎﺷﺪ ‪ ،‬ﺑﻴﺖ ‪ RLO‬را ‪ 0‬ﻣﻴﮑﻨﺪ‪.‬‬
‫ﺑﺎ ﻟﺒﻪ ﺑﺎﻻ روﻧﺪﻩ ﻋﻤﻞ ﻣﻲ ﻧﻤﺎیﺪ و ﺡﺴﺎس ﺑﻪ ﺳﻄﺢ ﺳﻴﮕﻨﺎل ﻧﻤﻲ ﺑﺎﺷﺪ و زﻣﺎﻧﻲ ﮐﻪ ﺳﻴﮕﻨﺎﻟﻲ از‬
‫ﺡﺎل ﺻﻔﺮ ﺑﻪ ﺡﺎﻟﺖ یﮏ ﺕﻐﻴﻴﺮ ﺡﺎﻟﺖ یﺎﺑﺪ ﺑﺎ اوﻟﻴﻦ ﻟﺒﻪ ﺑﺎﻻروﻧﺪﻩ ایﻦ ﺑﻠﻮﮎ ﻋﻤﻞ ﻣﻲ ﻧﻤﺎیﺪ‬

‫ﻣﺜﺎل‪:‬‬

‫در ‪ I0.3‬ﻟﺒﻪ ﺑﺎﻻ روﻧﺪﻩ داریﻢ‪.‬‬


‫‪ I0.1‬و ‪ I0.2‬ﺑﻪ ﺳﻴﮕﻨﺎل ‪ ١‬ﺕﻐﻴﻴﺮ ﺡﺎﻟﺖ ﺑﺪهﻨﺪ ‪.‬‬ ‫در ﺻﻮرﺕﻴﮏﻩ ‪ I0.0‬و‬
‫درایﻦ ﺡﺎﻟﺖ در ‪ I0.4‬و ﺧﺮوﺟﻲ ‪ Q4.0‬ﺳﻴﮕﻨﺎل یﮏ ﻣﻲ ﮔﺮدد ‪.‬‬

‫ﻧﮑﺘﻪ ‪:‬‬
‫در ﺷﮑﻞ زیﺮ در ﻣﻨﻮي ﺳﻤﺖ ﭼﭗ ﮐﻪ ﮐﺘﺎﺑﺨﺎﻧﻪ ‪ S7‬ﻣﻲ ﺑﺎﺷﺪ ﺕﻤﺎﻣﻲ دﺳﺘﻮرات ﻓﻮق ﺑﺼﻮرت‬
‫ﮔﺮاﻓﻴﮑﻲ ﻧﻤﺎیﺶ دادﻩ ﺷﺪﻩ اﺳﺖ ﮐﻪ ﻣﻲ ﺕﻮان ﺑﺮاﺡﺘﻲ ﺑﻮﺳﻴﻠﻪ ﻣﻮس و ﺑﺎ روش‬
‫‪ DRAG AND DROP‬ﺁﻧﻬﺎ را ﺑﻪ داﺧﻞ ﺑﺮﻧﺎﻣﻪ و در هﺮ ‪ NETWORK‬دﻟﺨﻮاﻩ ﮐﻪ ﺑﺎ‬
‫ﺑﺎز ﮐﺮدن یﮏ ‪ FC‬ﺑﻌﻨﻮان ﻣﺜﺎل ﺑﺼﻮرت اﺕﻮﻣﺎﺕﻴﮏ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد ﻗﺮار داد ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 39‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺻﻔﺤﻪ ‪ 40‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﻘﺎﻳﺴﻪ ﮐﻨﻨﺪﻩ هﺎ )‪: ( COMPARATOR‬‬

‫‪( CMPI ) COMPARE INTEGER‬‬

‫ﻣﻘﺎیﺴﻪ ﮐﻨﻨﺪﻩ ﻓﻮق ﺑﺮاي ﻣﻘﺎیﺴﻪ دو ﻋﺪد ‪ ) INTEGER‬اﻋﺪاد ﺻﺤﻴﺢ ﺑﺪون اﻋﺸﺎر ( اﺳﺘﻔﺎدﻩ‬
‫ﻣﻲ ﮔﺮدد ﮐﻪ اﻧﻮاع ﻣﺨﺘﻠﻒ ﮐﻮﭼﮑﺘﺮ ﻣﺴﺎوي ‪ ،‬ﺑﺰرﮔﺘﺮ ﻣﺴﺎوي و ﻣﺴﺎوي را ﻣﻲ ﺕﻮان اﻧﺘﺨﺎب‬
‫ﻧﻤﻮد‬

‫ﺻﻔﺤﻪ ‪ 41‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪:( CMP D) COMPARE DOUBLE INTEGER‬‬

‫ﺑﺮاي ﻣﻘﺎیﺴﻪ اﻋﺪاد ‪ INTEGER‬ﮐﻪ ﺑﺰرگ ﺑﻮدﻩ و ﺑﻴﺶ از دو ‪ WORD‬ﺑﺮاي ذﺧﻴﺮﻩ ﺁﻧﻬﺎ در‬
‫ﺡﺎﻓﻈﻪ ﻣﻮرد ﻧﻴﺎز ﻣﻲ ﺑﺎﺷﺪ‬

‫یﺎدﺁوري ﻣﺪارات ﻣﻨﻄﻘﻲ‬ ‫•‬


‫‪0 AND 1 = BIT‬‬
‫‪8BIT = BYTE‬‬
‫‪2 BYTE = WORD‬‬
‫‪4BYTE OR 2 WORD = DOUBLE WORD‬‬

‫ﺻﻔﺤﻪ ‪ 42‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪COMPARE REAL( CMP R‬‬

‫ﺑﺮاي ﻣﻘﺎیﺴﻪ اﻋﺪاد اﻋﺸﺎري اﺳﺘﻔﺎدﻩ ﻣﻲ ﮔﺮدد‬

‫ﻣﺜﺎل ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 43‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻻ‬
‫از ﺁﻧﺠﺎیﯽ ﮐﻪ در ﺑﺮﻧﺎﻣﻪ ﻧﻮیﺴﯽ ﺑﺎ ‪ s7‬ﺑﻌﻠﺖ ﻧﺰدیﮏ ﺑﻮدن روش ﺑﻪ ﻣﺪارات ﻣﻨﻄﻘﻲ ﻣﻌﻤﻮ ً‬
‫از ‪ ( FUNCTION BLOCK DIAGRAM) FBD‬اﺳﺘﻔﺎدﻩ ﻣﯽ ﮐﻨﻴﻢ و ﮐﺎرﺑﺮد اﻟﻤﺎﻧﻬﺎ‬
‫در ﺕﻤﺎم ﻓﺮﻣﻬﺎ یﮑﯽ اﺳﺖ‪.‬ﻟﺬا اداﻣﻪ ‪ LIBRARY‬را در ‪ FBD‬اداﻣﻪ ﻣﯽ دهﻴﻢ‪.‬‬

‫)‪: FUNCTION BLOCK DIAGRAM (FBD‬‬

‫) (‪: AND‬‬

‫ﺁدرس هﺎ را در ﻣﺤﻞ ﻧﺸﺎن دادﻩ ﺷﺪﻩ ﻣﯽ ﻧﻮیﺴﻴﻢ و از ﺑﻠﻮﮎ ‪ AND‬اﺳﺘﻔﺎدﻩ ﻣﯽ ﮐﻨﻴﻢ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 44‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫(‪: OR‬‬ ‫)‬

‫ﺁدرس هﺎ را در ﻣﺤﻞ ﻧﺸﺎن دادﻩ ﺷﺪﻩ ﻣﯽ ﻧﻮیﺴﻴﻢ و از ﺑﻠﻮﮎ ‪ AND‬اﺳﺘﻔﺎدﻩ ﻣﯽ ﮐﻨﻴﻢ‪.‬‬

‫ﺗﺮﮐﻴﺐ ‪: AND ,OR‬‬

‫‪ I1.0,I1.1‬ﺑﺎ هﻢ ‪ AND‬ﻣﻴﺸﻮﻧﺪ و ‪ I1.2,I1.3‬ﻧﻴﺰ ﺑﺎ هﻢ ‪ AND‬ﻣﻴﺸﻮﻧﺪ ﻧﺘﺎیﺞ ﺑﺎ هﻢ ‪OR‬‬


‫و در ‪ Q3.1‬ریﺨﺘﻪ ﻣﯽ ﺷﻮد‪.‬‬

‫ﺻﻔﺤﻪ ‪ 45‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫(‪: NEGATE BINARY INPUT‬‬ ‫)‬

‫هﺮ ﮔﺎﻩ اﻧﺠﺎم ﻧﺸﺪن یﮏ رﺧﺪاد ﺑﺮاﯼ ﻣﺎ ﻣﻄﺮح ﺑﺎﺷﺪ در ایﻦ ﺻﻮرت از ایﻦ ﻓﺮم اﺳﺘﻔﺎدﻩ ﻣﯽ‬
‫ﮐﻨﻴﻢ‪ .‬یﻌﻨﻲ ایﻨﮑﻪ ﺑﺨﻮاهﻴﻢ ﻣﻌﮑﻮس یﮏ ورودي )‪ ( NOT‬را ﺑﻪ ﺳﻴﺴﺘﻢ ﺑﺪهﻴﻢ ‪.‬‬

‫‪ OR‬ﺷﻮﻧﺪ ‪NOT .‬‬ ‫ﻣﻔﻘﻮم ﺑﺎﻻ ایﻨﮑﻪ ) ‪ ( AND I1.2 , I2.3‬یﮏ ﻧﺸﻮد ﺑﺎ ‪I1.4‬‬
‫ﺟﻮاب ‪ AND‬ﺑﻠﻮﮎ اول )ﺑﺎﻻیﻲ( و ﺑﻠﻮﮎ دوم ‪)AND‬ﭘﺎیﻴﻨﻲ( ﻣﻴﺸﻮﻧﺪ‬
‫و ﺟﻮاب در ‪ Q4.0‬ریﺨﺘﻪ ﻣﻴﺸﻮد‪.‬‬

‫‪: ADRESSING‬‬
‫ﺁدرس دهﻲ در ‪s7‬‬

‫ﺻﻔﺤﻪ ‪ 46‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ‪ s7‬ﻣﻘﺪارﯼ ﺑﻪ ‪ ADDRESS‬یﮏ ﺑﻠﻮﮎ ﺕﺨﺼﻴﺺ دادﻩ ﻣﯽ ﺷﻮد‪.‬‬


‫ﮐﻪ در ﺑﺎﻻ ایﻦ ﺁدرس ‪ Q4.0‬اﺳﺖ‪.‬‬

‫) ‪: MIDLINE OUTPUT ( #‬‬

‫هﺪف ﺁن ‪ SAVE‬ﮐﺮدن ﺑﻴﺖ ‪ RLO‬اﺳﺖ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫‪ M0.0‬ﻣﻨﻔﯽ) ‪ RLO ( NEGATIVE‬ﺑﻠﻮﮎ اول را ‪ SAVE‬ﻣﻴﮑﻨﺪ‪.‬‬


‫‪ M1.1‬ﻣﻨﻔﯽ) ‪ RLO ( NEGATIVE‬ﺑﻠﻮﮎ دوم را ‪ SAVE‬ﻣﻴﮑﻨﺪ‪.‬‬
‫‪ RLO‬ﺑﻴﺖ ‪ I1.4‬را ‪ SAVE‬ﻣﻴﮑﻨﺪ‪.‬‬ ‫‪: M2.2‬‬
‫‪ M3.3‬ﻣﻨﻔﯽ) ‪ RLO ( NEGATIVE‬ﺑﻠﻮﮎ ﺁﺧﺮ را ‪ SAVE‬ﻣﻴﮑﻨﺪ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 47‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: RESET (R‬‬


‫هﻤﺎﻧﻨﺪ ﺁﻧﭽﻪ درروش ‪ LADD‬ﮔﻔﺘﻪ ﺷﺪ‪.‬‬

‫)‪: SET(S‬‬
‫هﻤﺎﻧﻨﺪ ﺁﻧﭽﻪ درروش ‪ LADD‬ﮔﻔﺘﻪ ﺷﺪ‪.‬‬

‫ﻓﻠﻴﭗ ﻓﻼپ‪:‬‬

‫‪: RESET_SET FIP FLOP‬‬

‫ﺕﻮﺽﻴﺤﺎت هﻤﺎﻧﻨﺪ ﮔﺬﺷﺘﻪ ﮐﻪ در روش ‪ ladder‬ﺕﻮﺽﻴﺢ دادﻩ ﺷﺪﻩ ﻣﻲ ﺑﺎﺷﺪ ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 48‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫‪ RESET‬و ‪ Q4.0‬ﺻﻔﺮ اﺳﺖ‪.‬‬ ‫اﮔﺮ ‪ I0.0‬یﮏ و ‪ I0.1‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ‪M0.0‬‬


‫‪ SET‬و ‪ Q4.0‬یﮏ اﺳﺖ‪.‬‬ ‫اﮔﺮ ‪ I0.0‬یﮏ و ‪ I0.1‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ‪M0.0‬‬
‫اﮔﺮ هﺮ دو ﺻﻔﺮ ﺑﺎﺷﻨﺪ اﺕﻔﺎﻗﯽ ﻧﻤﯽ اﻓﺘﺪ‪.‬‬
‫اﮔﺮ هﺮ دو یﮏ ﺑﺎﺷﻨﺪ ‪ SET‬رخ ﻣﯽ دهﺪ‪ Q4.0.‬یﮏ ﻣﻴﺸﻮد‪.‬‬

‫‪: SET_RESET FLIP FLOP‬‬

‫‪ SET‬و ‪ Q4.0‬یﮏ اﺳﺖ‪.‬‬ ‫اﮔﺮ ‪ I0.0‬یﮏ و ‪ I0.1‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ‪M0.0‬‬


‫‪ RESET‬و ‪ Q4.0‬ﺻﻔﺮ اﺳﺖ‪.‬‬ ‫اﮔﺮ ‪ I0.0‬یﮏ و ‪ I0.1‬ﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻴﺖ ‪M0.0‬‬

‫ﺻﻔﺤﻪ ‪ 49‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫اﮔﺮ هﺮ دو ﺻﻔﺮ ﺑﺎﺷﻨﺪ اﺕﻔﺎﻗﯽ ﻧﻤﯽ اﻓﺘﺪ‪.‬‬


‫اﮔﺮ هﺮ دو یﮏ ﺑﺎﺷﻨﺪ ‪ RESET‬رخ ﻣﯽ دهﺪ‪ Q4.0.‬یﮏ ﻣﻴﺸﻮد‪.‬‬

‫‪NEGETIVE RLO EDG‬‬

‫‪POSITIVE RLO EDG‬‬

‫ﺁﺷﮑﺎر ﺳﺎزهﺎي ﻟﺒﻪ ﺑﺎﻻروﻧﺪﻩ و ﭘﺎیﻴﻦ روﻧﺪﻩ ﺑﻮدﻩ ﮐﻪ ﺕﻮﺽﻴﺤﺎت در روش ﻗﺒﻠﻲ ارﺳﺎل ﮔﺮدیﺪﻩ‬
‫اﺳﺖ‬
‫ﻣﺜﺎل ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 50‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ‪ N‬اﮔﺮ از ‪ ١‬ﺑﻪ ‪ ٠‬ﺑﺮویﻢ ‪ RLO‬را ‪ ١‬ﻣﻴﮑﻨﺪ‪.‬‬


‫در ‪ P‬اﮔﺮ از ‪ ٠‬ﺑﻪ ‪ ١‬ﺑﺮویﻢ ‪ RLO‬را ‪ ٠‬ﻣﻴﮑﻨﺪ‪.‬‬

‫ﻣﻘﺎﻳﺴﻪ ﮐﻨﻨﺪﻩ هﺎ در ‪: FBD‬‬


‫‪: (COMPARE INTEGER) CMPI‬‬

‫ﺕﻮﺽﻴﺤﺎت هﻤﺎﻧﻨﺪ ﻗﺒﻞ ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 51‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪SET Q4.0‬اﺳﺖ زﻣﺎﻧﯽ ﮐﻪ ‪ MWO,MW1‬ﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ وﺑﺎ ‪ AND I0.0‬ﺷﻮﻧﺪ‪.‬‬

‫ﻧﮑﺘﻪ ‪:‬‬
‫‪ ( MEMORY WORD ) MW‬ﺑﻪ ﺡﺎﻓﻈﻪ هﺎي ﺑﻼﺕﺮ از یﮏ ‪ BIT‬ﺡﺘﻲ یﮏ ‪BYTE‬‬
‫اﻃﻼق ﻣﻲ ﮔﺮدد ﮐﻪ داراي دو ﺑﺎیﺖ ﻣﻲ ﺑﺎﺷﺪ و ﺑﺮاي ذﺧﻴﺮﻩ ﻣﻘﺎدیﺮ ﺑﺰرگ و یﺎ اﻋﺪاد اﻋﺸﺎري‬
‫ﮐﺎرﺑﺮد دارد‬

‫‪: CMPD‬‬

‫ﺕﻮﺽﻴﺤﺎت هﻤﺎﻧﻨﺪ ﻗﺒﻞ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 52‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: CMPR‬‬

‫‪ MD0‬از ‪ MD4‬ﮐﻮﭼﮑﺘﺮ ﺑﺎﺷﺪ ‪ I0.0‬یﮏ ﺑﺎﺷﺪ‬


‫در ایﻦ ﺻﻮرت ‪ SET Q4.0‬اﺳﺖ‪.‬‬
‫ﻧﮑﺘﻪ ‪:‬‬
‫‪ ( MEMORY DOUBLE ) MD‬ﺑﻪ ﺡﺎﻓﻈﻪ داراي ‪ 2WORD‬اﻃﻼق ﻣﻲ ﮔﺮدد‬

‫ﺻﻔﺤﻪ ‪ 53‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺗﺒﺪﻳﻞ ﮐﻨﻨﺪﻩ هﺎ‪:‬‬


‫‪CONVERSION INSTROCTIONS‬‬

‫‪: BCD_I‬‬
‫ﻣﺒﺪل ﺕﺒﺪیﻞ اﻋﺪاد ﺑﺎیﻨﺮي ﺑﻪ ﻓﺮﻣﺖ ‪ INTEGER BCD‬ﻣﻲ ﺑﺎﺷﺪ‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 54‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ﻣﺜﺎل ﻓﻮق‬


‫‪ MW10‬ﺑﻪ ﺻﻮرت یﮏ ﻋﺪد ‪BCD‬ﺧﻮاﻧﺪﻩ ﻣﻴﺸﻮد وﺕﺒﺪیﻞ ﺑﻪ ‪ INTEGER‬ﻣﯽ ﺷﻮد‪ .‬و‬
‫یﮏ ﻣﻴﺸﻮد‪) .‬‬ ‫ریﺨﺘﻪ ﻣﯽ ﺷﻮد‪.‬در ﺻﻮرت اﻧﺠﺎم ﮐﺎر ‪Q4.0‬‬ ‫ﻧﺘﻴﺠﻪ در ‪MW12‬‬
‫‪.(ENO=EN‬‬

‫‪: I_BCD‬‬

‫ایﻦ ﺑﻠﻮﮎ ورودي ﺑﺼﻮرت ‪ INTEGER‬ﺑﻮدﻩ و ﺧﺮوﺟﻲ ﺑﺼﻮرت ‪BCD INTEGER‬‬


‫ﻣﻲ ﺑﺎﺷﺪ‬

‫ﺻﻔﺤﻪ ‪ 55‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

: BCD TO DOUBLE INTEGER(BCD_DI)

: INTEGER TO DOUBLE INTEGER( I_DI)

100 ‫ از‬56 ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل ‪:‬‬

‫‪ I0.0‬را از ‪ MW10‬ﺑﻪ ﺻﻮرت ‪ INTEGER‬ﻣﯽ ﮔﻴﺮد ﺕﺒﺪیﻞ ﻣﻴﮑﻨﺪ ﺑﻪ ‪DOUBLE‬‬


‫‪ INTEGER‬و ﺟﻮاب را در ‪ MW12‬ﻣﻴﺮیﺰد‪.‬‬

‫)‪: DOUBLE INTEGER TO BCD( DI_BCD‬‬

‫ﺻﻔﺤﻪ ‪ 57‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

: DOUBLE INTEGER TOREAL( DI_R)

: ONES COMPELET INTEGER(INV_I)

:‫ﻣﺜﺎل‬

100 ‫ از‬58 ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ﻣﺜﺎل ﺑﺎﻻ داریﻢ ‪ MW8=01000001 10000001:‬ﮐﻪ ﻓﺮم ‪ INTEGER‬اﺳﺖ‪.‬و در‬


‫ﺧﺮوﺟﯽ ﻣﮑﻤﻞ ‪ ١‬ﺁن یﻌﻨﯽ‪:‬‬
‫در ‪ MW8‬داریﻢ‪.‬‬ ‫‪10111110 011111110‬‬

‫)‪: ONES COMPELEMENT DOUBLE INTEGER (INV_DI‬‬

‫)‪: TWOS COMPELEMENT INTEGER(NEG_I‬‬

‫ﺻﻔﺤﻪ ‪ 59‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫در ﻣﺜﺎل ﺑﺎﻻ ‪ MW8=+10‬و ‪ MW10= -10‬اﺳﺖ‪.‬‬

‫)‪: TWOS COMPELEMENT DOUBLE INTEGER(NEG_DI‬‬

‫ﺻﻔﺤﻪ ‪ 60‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: NEGATIV REAL NUMBER( NEG_R‬‬

‫ﻣﺜﺎل‪:‬‬

‫در ﺑﺎﻻ داریﻢ ‪ MD8=+6.234 , MD12= -6.234‬ﻗﺴﻤﺖ ﺡﻘﻴﻘﯽ را ﻣﺜﺒﺖ ﮐﺮدﻩ اﺳﺖ‪.‬‬
‫در زیﺮ ﺑﻪ ﻧﺎم ﺑﺮدن ﺑﺎﻗﯽ اﻟﻤﺎﺑﻬﺎ ﺑﺴﻨﺪﻩ ﻣﻴﮑﻨﻴﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 61‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: ROUND‬‬

‫‪: TRUNC‬‬

‫ﺻﻔﺤﻪ ‪ 62‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺻﻔﺤﻪ ‪ 63‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

: ( COUNTER ) ‫ﺷﻤﺎرﻧﺪﻩ هﺎ‬

: ASSIGN PARAMETER AND COUNT UP/DOWN (S_CUD)

100 ‫ از‬64 ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫در ﺷﻤﺎرﻧﺪﻩ ﻓﻮق ﺑﺎ ﺕﻐﻴﻴﺮ ﺳﻴﮕﻨﺎل از ‪ ٠‬ﺑﻪ ‪ ١‬در ‪ SET I0.2‬ﻣﯽ ﺷﻮد‪ C#55.‬یﻌﻨﯽ ﻣﻘﺪار‬
‫ﺷﻤﺎرش ﺕﺎ ‪ ۵۵‬دﻓﻌﻪ ﻣﻲ ﺑﺎﺷﺪ ‪.‬هﻨﮕﺎﻣﯽ ﮐﻪ ‪ I0.0‬از ‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ‪.‬ﺷﻤﺎرﻧﺪﻩ ﺑﻪ ﺻﻮرت‬
‫اﻓﺰایﺸﯽ ﺕﺎ ‪ ٩٩٩‬ﺑﻪ ﺑﺎﻻ ﻣﯽ ﺷﻤﺎرد‪.‬واﮔﺮ‪ I0.1‬از ‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﺑﻪ ﺻﻮرت ﮐﺎهﺸﯽ ﺕﺎ ‪٠‬‬
‫ﻣﯽ ﺷﻤﺎرد‪.‬هﻨﮕﺎﻣﯽ ﮐﻪ ‪ I0.3‬از ‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﻣﻘﺪار ‪ COUNTER‬در ‪ ٠‬ﺳﺖ ﻣﯽ ﺷﻮد‪.‬‬

‫)‪:ASSIGN PARAMETER AND COUNT UP (S_CU‬‬

‫ﺻﻔﺤﻪ ‪ 65‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: ASSIGN PARAMETER AND COUNT DOWN (S_CD‬‬

‫ﺑﺎ ﺟﺪول ﻣﺸﺎﺑﻪ ﺑﺎﻻ‬

‫ﺻﻔﺤﻪ ‪ 66‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: SET COUNTER VALUE‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺷﻤﺎرﻧﺪﻩ ﻓﻮق ﻣﻘﺪار ‪ ١٠٠‬ﺑﻪ ‪ COUNTER VALUE‬دادﻩ ﺷﺪﻩ و ﺑﺎ ﺕﺤﺮیﮏ ‪ I0.0‬ﻣﻘﺪار‬


‫ﮐﺎﻧﺘﺮ ﺑﻪ ‪ ١٠٠‬ﻣﯽ رود در ﻏﻴﺮ ایﻨﺼﻮرت اﺕﻔﺎﻗﯽ ﻧﻤﯽ اﻓﺘﺪ‪).‬از ‪ ١‬ﺑﻪ ‪ ٠‬ﺑﺮویﻢ(‬

‫ﺻﻔﺤﻪ ‪ 67‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫) ‪: UP COUNTER( CU‬‬

‫ﺷﻤﺎرﻧﺪﻩ ﻓﻮق ﺑﻪ ﺻﻮرت ﺻﻌﻮدﯼ ﺕﺎ ‪ ٩٩٩‬ﻣﯽ ﺷﻤﺎرد‪.‬‬

‫) ‪DOWN COUNTER( CD‬‬


‫ﺷﻤﺎرﻧﺪﻩ ﻣﻌﮑﻮس‬

‫ﺻﻔﺤﻪ ‪ 68‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ﺷﮑﻞ زیﺮ در ﻗﺴﻤﺖ ﭼﭗ روش اﻧﺘﺨﺎب اﻧﻮاع ﺷﻤﺎرﻧﺪﻩ هﺎ از داﺧﻞ ﮐﻨﺎﺑﺨﺎﻧﻪ ‪ S7‬ﻣﺸﺨﺺ‬
‫ﮔﺮدیﺪﻩ اﺳﺖ‬

‫ﺻﻔﺤﻪ ‪ 69‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫دﺳﺘﻮرات ﭘﺮش )‪: (JUMP‬‬

‫‪: UN CONDITIONAL JUMP TO BLOCK‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 70‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: CONDITIONAL JUMPIN A BLOCK‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺻﻔﺤﻪ ‪ 71‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫زﻣﺎﻧﻴﮑﻪ ‪ I0.0‬ﻓﻌﺎل ﺷﻮد )یﮏ ﺷﻮد( ‪ CAS1‬اﺟﺮا ﻣﯽ ﺷﻮد‪.‬‬


‫زﻣﺎﻧﻴﮑﻪ ‪ I0.3‬ﻓﻌﺎل ﺷﻮد)یﮏ ﺷﻮد( ﻓﺮﻣﺎن ‪ RESET‬ﻣﯽ ﺁیﺪ‪.‬‬

‫‪:INTEGER MATH INSTRUCTION‬‬


‫ﮐﺎرﺑﺮد دﺳﺘﻮرات ریﺎﺽﻲ ﺑﺮاي اﻋﺪاد ﺻﺤﻴﺢ در ﻧﺮم اﻓﺰار‬

‫)‪ADD INTEGER(ADD_I‬‬
‫دﺳﺘﻮر ﺟﻤﻊ اﻋﺪاد ﺻﺤﻴﺢ‬

‫ﺻﻔﺤﻪ ‪ 72‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫‪ I0.0‬ﺷﺮوع ﺑﻪ ﺟﻤﻊ ﻣﯽ ﮐﻨﺪ‪.‬‬ ‫ﺑﺎ ﻓﻌﺎل ﺷﺪن ایﻦ ﺑﻠﻮﮎ ﺑﻮﺳﻴﻠﻪ ورودي‬
‫‪ ٢‬ورودﯼ ‪ MW0‬و‪ MW2‬را ﻣﯽ ﮔﻴﺮد و ﺑﺎ هﻢ ﺟﻤﻊ ﻣﻴﮑﻨﺪ و ﺧﺮوﺟﯽ را در ‪MW10‬‬
‫ﻣﻴﺮیﺰد‬
‫‪.‬اﮔﺮ ﺡﺎﺻﻞ در رﻧﺞ ﻣﻮرد ﻧﻈﺮ ﻧﺒﺎﺷﺪ یﺎ ﺑﻪ هﺮ دﻟﻴﻞ ﻏﻴﺮ ﻗﺎﺑﻞ ﻗﺒﻮل ﺑﺎﺷﺪ‬
‫‪ I0.0‬ﺻﻔﺮ ﻣﻴﺸﻮد و ‪ Q4.0‬را ﺻﻔﺮ ﻣﯽ ﮐﻨﺪ‪.‬‬

‫)‪SUBTRACT INTEGER(SUB_I‬‬

‫ﺻﻔﺤﻪ ‪ 73‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

: ( TIMER INSTRUCTIONS) ‫ﺗﺎﻳﻤﺮهﺎ‬

:‫اﻧﻮاع ﺕﺎیﻤﺮ ﻋﺒﺎرﺕﻨﺪ از‬



( PULSE TIMER ) S_PULSE

(EXTENDED PULSETIMER) S_PEXT

( ON-DELAY TIMER) S_ODT

( RETENTIVE ON –DELAY TIMER ) S_ODTS

( OF DELAY TIMER) S_OFFDT

SP

SD

SE

SS
100 ‫ از‬74 ‫ﺻﻔﺤﻪ‬
‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪(١٠‬‬
‫‪SF‬‬
‫اﺑﺘﺪا ﻣﻘﺎیﺴﻪ اﯼ ﮐﻠﯽ در ﻣﻮرد ﺕﺎیﻤﺮ هﺎ و ﺕﻔﺎوت هﺎﯼ ﺑﻴﻦ ﺁﻧﻬﺎ از روﯼ ﺷﮑﻞ در زیﺮ ارایﻪ‬
‫ﻣﻴﺪهﻴﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 75‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪S_PULSE‬‬

‫ﭘﺎﺳﺦ ایﻦ ﺕﺎیﻤﺮ را ﺑﻪ ورودﯼ هﺎﯼ ﻣﺨﺘﻠﻒ ‪ SET ,RESET‬را ﻣﻼﺡﻈﻪ ﻣﻴﮑﻨﻴﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 76‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﮐﻪ ﭘﺎﻟﺲ ‪ RLO‬ﻣﯽ ﺁیﺪ وﺑﺎ ﺕﻮﺟﻪ ﺑﻪ ‪ RESET‬ﭘﺎﺳﺦ را ﻣﻼﺡﻈﻪ ﻣﯽ ﮐﻨﻴﻢ‪:‬‬


‫‪TIMER‬ﺑﺪون ﺕﻮﺟﻪ ﺑﻪ ﭘﺎﻟﺲ ﺑﻪ ﻣﻘﺪار زﻣﺎن ﺧﻮد روﺷﻦ اﺳﺖ و ﭘﺲ از ﭘﺎیﺎن یﺎﻓﺘﻦ زﻣﺎﻧﺶ‬
‫ﺑﻪ ﭘﺎیﺎن ﻣﯽ رﺳﺪ‬

‫ﻣﺜﺎل‬

‫در اﺑﺘﺪا ﺑﺎیﺪ در ﻣﻮرد ﻧﺎﻣﮕﺬارﯼ ﺕﺎیﻤﺮ هﺎ و ﭼﮕﻮﻧﮕﯽ زﻣﺎن دادن ﺑﻪ ﺁن ﺑﻪ ﻧﮑﺎت زیﺮ ﺕﻮﺟﻪ‬
‫ﮐﺮد‪:‬‬

‫ﺻﻔﺤﻪ ‪ 77‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺷﮑﻞ ﺑﺎیﻨﺮﯼ زﻣﺎن هﺎ ﺑﻪ ﻓﺮم ﺑﺎﻻﺳﺖ‪.‬‬


‫‪ S5T‬ﺷﮑﻞ اﺳﺘﺎﻧﺪارد ﻧﻤﺎیﺶ ﺕﺎیﻤﺮ هﺎﺳﺖ‪.‬‬
‫زﻣﺎن ﻣﻮرد ﻧﻈﺮ را ﺑﻪ ﻓﺮم ‪ #5‬ﻧﺸﺎن دادﻩ ﻣﻴﺸﻮد‪.‬ﮐﻪ در ﭘﺎیﻪ ‪ TV‬ﻧﻮﺷﺘﻪ ﻣﯽ ﺷﻮد‪.‬‬
‫در ﻣﺜﺎل ﺑﺎﻻ ﺑﺎ ﺕﺤﺮیﮏ ‪ I0.0‬یﻌﻨﯽ ‪ SET‬ﺕﺎیﻤﺮ ﻓﻌﺎل و ‪ ٢‬ﺛﺎﻧﻴﻪ ﻣﯽ ﺷﻤﺎرد و ﺑﺎ ﻓﻌﺎل ﺷﺪن‬
‫‪ RESET‬دیﮕﺮ ﺕﺎیﻤﺮ ﻧﻤﯽ ﺷﻤﺎرد‪.‬ﺧﺮوﺟﯽ در ‪ Q4.0‬ریﺨﺘﻪ ﻣﯽ ﺷﻮد و ﺑﻪ ‪ ٢‬ﻓﺮم ﺑﺎیﻨﺮﯼ و‬
‫‪ BCD‬ﻧﻤﺎیﺶ ﻣﯽ دهﺪ‪.‬‬

‫‪S_PEXT‬‬

‫ﺻﻔﺤﻪ ‪ 78‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺕﺎ اﻧﺘﻬﺎﯼ‪ TIME‬ﻣﻴﺮود و ﻣﻨﺘﻈﺮ ﻟﺒﻪ ﺑﺎﻻ روﻧﺪﻩ ﺑﺮاﯼ ﺕﺤﺮیﮏ ﺑﻌﺪﯼ ﻣﯽ ﻣﺎﻧﻨﺪ و اﮔﺮ ﻟﺒﻪ ﻧﻴﺎیﺪ‬
‫اداﻣﻪ ﻣﻲ یﺎﺑﺪ‬

‫‪: S_ODT‬‬

‫ﺻﻔﺤﻪ ‪ 79‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺑﺎ ﺕﺤﺮیﮏ ‪ TIMER‬ﭘﺎﻟﺲ ﺑﻪ اﻧﺪازﻩ زﻣﺎن ﺧﻮد ﻣﯽ ﺁیﺪ وﻣﻨﺘﻈﺮ ﻟﺒﻪ ﺑﺎﻻ روﻧﺪﻩ ﺑﻌﺪﯼ ﻣﯽ ﻣﺎﻧﺪ و‬
‫‪ TIMER‬ﺑﺪون ﺕﻮﺟﻪ ﺑﻪ اﻧﺪازﻩ ﭘﺎﻟﺲ و ﺑﺎ ﺕﻮﺟﻪ ﺑﻪ ﻟﺒﻪ ﺕﺤﺮیﮏ ﻣﯽ ﺷﻮد‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺑﺎ ﺕﺤﺮیﮏ‪ I0.0‬ﺕﺎیﻤﺮ ﺑﻪ ﮐﺎر ﻣﯽ اﻓﺘﺪ واﮔﺮ ‪ ٢‬ﺛﺎﻧﻴﻪ ﺑﻪ ﭘﺎیﺎن رﺳﺪ و ‪ I0.0‬هﻤﭽﻨﺎن ﻓﻌﺎل ﺑﺎﺷﺪ‬
‫‪ Q4.0‬هﻤﭽﻨﺎن ‪ ١‬اﺳﺖ واﮔﺮ ‪ I0.0‬ﺕﻐﻴﻴﺮ ﺡﺎﻟﺖ دهﺪ ‪ Q4.0‬ﺻﻔﺮ ﻣﯽ ﺷﻮداﮔﺮ ‪I0.1‬ﺕﻐﻴﻴﺮ‬
‫ﺡﺎﻟﺖ دهﺪاز ‪ ٠‬ﺑﻪ ‪ ١‬در زﻣﺎﻧﻴﮑﻪ ‪ TIMER‬ﮐﺎر ﻣﯽ ﮐﻨﺪ ﺕﺎیﻤﺮ ‪ RESTART‬ﻣﯽ ﺷﻮد‪.‬‬

‫ﺻﻔﺤﻪ ‪ 80‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: S_ODTS‬‬

‫ﻧﮑﺘﻪ ‪:‬‬
‫در اﻳﻦ ﺗﺎﻳﻤﺮ ﺑﻌﺪ از ﺁﻣﺪن ﻓﺮﻣﺎن ﺗﺎﻳﻤﺮ زﻣﺎن ﻣﻮرد ﻧﻈﺮ را ﺳﭙﺮﯼ ﻣﯽ ﮐﻨﺪ و ﺗﺎ ﺁﻣﺪن ﻟﺒﻪ ﺑﺎﻻ‬
‫روﻧﺪﻩ اداﻣﻪ ﻣﯽ ﻳﺎﺑﺪ واﮔﺮ ﻟﺒﻪ ﻧﻴﺎﻳﺪ ﭘﺎﻟﺲ هﻢ ﻧﺪارﻳﻢ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 81‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫وﻗﺘﻴﮑﻪ‪ I0.0‬از از ‪ ٠‬ﺑﻪ ‪) ١‬ﻟﺒﻪ ﺑﺎﻻ روﻧﺪﻩ( ﺕﻐﻴﻴﺮ ﺡﺎﻟﺖ دهﺪ ﺕﺎیﻤﺮ ﺑﺮ ﺧﻼف ﺕﻐﻴﻴﺮ ﺳﻴﮕﻨﺎل‬
‫ﻋﻤﻞ ﻣﻴﮑﻨﺪ یﻌﻨﯽ اﮔﺮ ‪ I0.0‬از ‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ ﺡﺎﻟﺖ ﭘﻴﺪا ﮐﻨﺪ ﺑﻌﺪ از ﮔﺬﺷﺖ زﻣﺎن ‪ T‬ﺕﺎیﻤﺮ‬
‫‪ RESTART‬ﻣﯽ ﺷﻮد و اﮔﺮ در زﻣﺎﻧﻴﮑﻪ ﺕﺎیﻤﺮ ﮐﺎر ﻣﻴﮑﻨﺪ ‪ I0.1‬ز ‪ ٠‬ﺑﻪ ‪ ١‬ﺕﻐﻴﻴﺮ وﺽﻌﻴﺖ‬
‫در زﻣﺎﻧﻴﮑﻪ زﻣﺎن ﺕﺎیﻤﺮ ﺕﻤﺎم ﺷﺪﻩ و و ‪I0.1‬‬ ‫دهﺪ ﺕﺎیﻤﺮ ‪ RESTART‬ﻣﯽ ﺷﻮد‪.‬و‪Q4.0‬‬
‫ﺻﻔﺮ اﺳﺖ روﺷﻦ اﺳﺖ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 82‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫‪: S_OFFDT‬‬

‫ایﻦ ﺕﺎیﻤﺮ ﺑﺎ ﻟﺒﻪ ﭘﺎیﻴﻦ روﻧﺪﻩ ﻓﻌﺎل ﻣﻴﺸﻮد وﺕﺎ ﭘﺎیﺎن ‪ TIME‬ﻣﻴﺮود اﮔﺮ در ایﻦ زﻣﺎن ﭘﺎﻟﺲ ﭘﺎیﻴﻦ‬
‫روﻧﺪﻩ دیﮕﺮﯼ ﺑﻴﺎیﺪ ﭘﺎﻟﺲ ﺑﻪ ﭘﺎیﺎن ﻣﻴﺮود و اﮔﺮ ﻧﻪ ﺕﺎ اﻧﺘﻬﺎﯼ ﭘﺎﻟﺲ ﻣﻴﺮود‪.‬‬

‫ﺻﻔﺤﻪ ‪ 83‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫اﮔﺮ ‪ I0.0‬از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﺕﺎیﻤﺮ ﺑﮑﺎر ﻣﯽ اﻓﺘﺪ و ‪ Q4.0‬زﻣﺎﻧﯽ ‪ ١‬اﺳﺖ ﮐﻪ ‪ I0.0‬یﮏ‬
‫ﺑﺎﺷﺪ یﺎ ﺕﺎیﻤﺮ در ﺡﺎل ﮐﺎر ﺑﺎﺷﺪ و ‪ I0.1‬اﮔﺮ در زﻣﺎن ﮐﺎر ﮐﺮدن ﺕﺎیﻤﺮ ﻓﻌﺎل ﺷﻮد ﺕﺎیﻤﺮ‬
‫‪ RESTART‬ﻣﻴﺸﻮد‪.‬‬

‫ﺻﻔﺤﻪ ‪ 84‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: SP(START PULS TIMER‬‬

‫ﻣﺜﺎل‪:‬‬

‫اﮔﺮ ‪ I0.0‬از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﺕﺎیﻤﺮ ﺑﮑﺎر ﻣﯽ اﻓﺘﺪ و ﺕﺎ زﻣﺎﻧﻴﮑﻪ‪ SIGNAL STATE‬یﮏ‬
‫اﺳﺖ ﺕﺎیﻤﺮ ﻣﯽ ﺷﻤﺎرد و ﺕﺎیﻤﺮ ﻣﺮﺕﺒﺂ ﭘﺎﻟﺲ ﻣﺮﺑﻌﯽ ﺑﺎ ﻓﻮاﺻﻞ ﻣﻌﻴﻦ ایﺠﺎد ﻣﯽ ﮐﻨﺪ‪.‬‬

‫) ‪: SE ( START EXTENDED PULSE TIMER‬‬

‫ﺻﻔﺤﻪ ‪ 85‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫اﮔﺮ ‪ I0.0‬از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﺕﺎیﻤﺮ ﺑﮑﺎر ﻣﯽ اﻓﺘﺪ و ﺑﺪون ﺕﺎﺛﻴﺮ از ﻟﺒﻪ ﭘﺎیﻴﻦ روﻧﺪﻩ اداﻣﻪ ﻣﯽ‬
‫یﺎﺑﺪ و اﮔﺮ ‪I0.0‬ﺑﻌﺪ از اﺕﻤﺎم ‪ TIME‬ﻓﻌﺎل ﺷﻮد ﺕﺎیﻤﺮ ‪ RESTART‬ﻣﯽ ﺷﻮد‪.‬‬

‫)‪: SD(START ON DELAY TIMER‬‬

‫ﻣﺜﺎل‪:‬‬

‫اﮔﺮ ‪ I0.0‬از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﺕﺎیﻤﺮ ﺑﮑﺎر ﻣﯽ اﻓﺘﺪ واﮔﺮ ‪ I0.0‬یﮏ ﺑﺎﺷﺪ و ﺕﺎیﻤﺮ ﻧﻴﺰ از‬
‫ﺷﻤﺎرش ﺧﺎرج ‪ Q4.0‬یﮏ اﺳﺖ و اﮔﺮ ‪ SIGNAL STATE‬از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ‬
‫‪ TIMER‬رﯼ اﺳﺘﺎرت ﻣﯽ ﺷﻮد‪.‬‬

‫)‪: SS (START RETENTIVE ON DELAY‬‬

‫ﺻﻔﺤﻪ ‪ 86‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: SF ( STSRT OFF DELAY TIMER‬‬

‫ﻣﺜﺎل‪:‬‬

‫از ‪ ١‬ﺑﻪ ‪ ٠‬ﺕﻐﻴﻴﺮ ﮐﻨﺪ ﺕﺎیﻤﺮ ﺑﮑﺎر ﻣﯽ اﻓﺘﺪ واﮔﺮ از ‪ ٠‬ﺑﻪ ‪١‬‬ ‫زﻣﺎﻧﻴﮑﻪ ‪SIGNSL STSTE‬‬
‫ﺑﺮود ‪ TIMER‬رﯼ اﺳﺘﺎرت ﻣﯽ ﺷﻮد ‪ Q4.0‬زﻣﺎﻧﯽ ‪ ١‬اﺳﺖ ﮐﻪ یﺎ ‪ IO.O‬یﮏ ﺑﺎﺷﺪ یﺎ ﺕﺎیﻤﺮ‬
‫در ﺡﺎل ﮐﺎر ﺑﺎﺷﺪ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 87‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ﺷﮑﻞ زیﺮ ﻧﻤﺎﯼ ﺕﺎیﻤﺮ هﺎ را در ﺑﺮﻧﺎﻣﻪ ‪ S7‬در ﻗﺴﻤﺖ ‪ library‬ﻣﻼﺡﻈﻪ ﻣﯽ ﮐﻨﻴﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 88‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

( SHIFT INSTRUCTION)‫ﺷﻴﻔﺘﺮهﺎ‬

:‫اﻧﻮاع ﺷﻴﻔﺘﺮ ﻋﺒﺎرﺕﻨﺪ از‬

SHR_I (SHIFT RIGH INTEGER)

SHR_DI (SHIFT RIGH DOUBLE INTEGER)

SHL_W (SHIFT LEFT WORD)

SHR_W (SHIFT RIGHT WORD)

SHL_DW (SHIFT LEFT DOUBLE WORD)

SHR_DW (SHIFTRIGH DOUBLE WORD)

100 ‫ از‬89 ‫ﺻﻔﺤﻪ‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﮐﻪ در زیﺮ ﺑﻪ ﻣﻌﺮﻓﯽ ﭼﻨﺪﯼ از ﺁﻧﻬﺎ ﻣﯽ ﭘﺮدازیﻢ‪:‬‬

‫‪: SHR_I‬‬

‫ﮐﻪ در ﺷﮑﻞ ﻧﺤﻮﻩ ﺷﻴﻔﺖ دادن ﺁن را ﻣﻼﺡﻈﻪ ﻣﻴﮑﻨﻴﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 90‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﻣﺜﺎل‪:‬‬

‫ﺑﺎ ﻓﻌﺎل ﺷﺪن ‪ I0.0‬ﺷﻴﻔﺘﺮ ﻓﻌﺎل ﺷﺪﻩ و ﺁﻧﭽﻪ در ‪ MW0‬اﺳﺖ را ﺑﻪ ﺕﻌﺪاد ﺑﻴﺘﯽ ﮐﻪ ‪MW2‬‬
‫اﻋﻼم ﻣﯽ ﮐﻨﺪ ﺑﻪ راﺳﺖ ﺷﻴﻔﺖ ﻣﯽ دهﺪ و ﻧﺘﻴﺠﻪ را در ‪ MW4‬ﻣﯽ ریﺰد‪.‬‬

‫‪SHR_DI‬‬

‫هﻤﺎﻧﻨﺪ ﻗﺒﻞ اﺳﺖ اﻣﺎ ایﻦ ﺑﺎر ‪ DOUBLE INTEGER‬اﺳﺖ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 91‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪: SHL_W (SHIFT LEFT WORD‬‬

‫ﮐﻪ ﻓﺮم ﻋﺪدﯼ ﮐﻪ ﻣﻴﮕﻴﺮد ‪ WORD‬اﺳﺖ و هﻤﺎﻧﻨﺪ ﺷﮑﻞ زیﺮ ﺑﻪ ﭼﭗ ﺷﻴﻔﺖ ﻣﯽ دهﺪ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 92‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪SHR_W(SHIFT RIGHT WORD‬‬

‫هﻤﺎﻧﻨﺪ ﺑﺎﻻﺳﺖ ﺑﺎ ایﻦ ﺕﻔﺎوت ﮐﻪ ﺑﻪ ﺳﻤﺖ راﺳﺖ ﺷﻴﻔﺖ ﻣﯽ دهﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﺑﺎ ‪ ١‬ﺷﺪن ‪ I0.0‬ﻓﻌﺎل ﻣﯽ ﺷﻮد و ﻣﺤﺘﻮیﺎت ‪ MW0‬را ﺑﻪ ﺕﻌﺪاد ﺑﻴﺖ ﻣﻮﺟﻮد در ‪ MW2‬ﺑﻪ‬
‫ﺻﻮرت ‪ WORD‬ﺑﻪ ﺳﻤﺖ راﺳﺖ ﺷﻴﻔﺖ ﻣﯽ دهﺪ و ﻧﺘﻴﺠﻪ را در ‪ MW4‬ﻣﻴﺮیﺰد‪.‬‬

‫ﺻﻔﺤﻪ ‪ 93‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫)‪SHR_DW (SHIFT RIGHT DOUBLE WORD‬‬

‫ﮐﻪ ﻓﺮم اﻃﻼﻋﺎت ﺑﻪ ﺻﻮرت ‪ DOUBLE WORD‬را ﻣﯽ ﮔﻴﺮد و ﺑﻪ ﺳﻤﺖ راﺳﺖ‬


‫ﺷﻴﻔﺖ ﻣﻴﺪهﺪ‬

‫ﺻﻔﺤﻪ ‪ 94‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ایﻦ ﺷﮑﻞ ﻧﺤﻮﻩ اﻧﺘﺨﺎب دﺳﺘﻮر ﺷﻴﻔﺖ را از داﺧﻞ ‪ library‬ﺑﺮﻧﺎﻣﻪ ‪ s7‬ﻣﺸﺎهﺪﻩ ﻣﻲ ﮐﻨﻴﻢ‬

‫ﺻﻔﺤﻪ ‪ 95‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫در ﻧﻬﺎﻳﺖ ﮔﺰارش را ﺑﺎ ﻃﺮح ﺑﺮ ﻧﺎﻣﻪ اﯼ ﺳﺎدﻩ در ﻣﺤﻴﻂ ‪ FBD‬و ‪ LADD‬ﺑﻪ ﭘﺎﻳﺎن ﻣﯽ‬
‫ﺑﺮﻳﻢ‪:‬‬

‫ﺻﻔﺤﻪ ‪ 96‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺻﻔﺤﻪ ‪ 97‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫ﺗﻘﺪﻳﺮ و ﺗﺸﮑﺮ ‪:‬‬


‫در ﻧﻬﺎﻳﺖ ﺟﺎ دارد از ﺗﻤﺎم دوﺳﺘﺎن ﺑﺨﺎﻃﺮ ﻗﺼﻮراﺗﻲ ﮐﻪ در اﻳﻦ ﺟﺰوﻩ ﻣﻼﺣﻈﻪ‬
‫ﻧﻤﻮدﻩ اﻧﺪ ﻋﺬر ﺧﻮاهﻲ ﻧﻤﺎﻳﻢ و از اﻳﺸﺎن ﺗﻤﻨﺎ دارم ﮐﻪ ﺑﻨﺪﻩ را ﺑﺮاي رﻓﻊ ﻣﺸﮑﻼت و‬
‫اﻳﺮادات ﻣﻮﺟﻮد راهﻨﻤﺎﻳﻲ و ﻳﺎري ﺑﻔﺮﻣﺎﻳﻨﺪ ‪.‬‬
‫هﻤﺎﻧﻄﻮر ﮐﻪ ﮐﺎرﺷﻨﺎﺳﺎن ﻣﺤﺘﺮم اﻳﻦ رﺷﺘﻪ اﻃﻼع دارﻧﺪ ﻣﻄﺎﻟﺐ ﻣﻮﺟﻮد در ﻣﺮاﺟﻊ‬
‫زﻳﻤﻨﺲ ﺑﺴﻴﺎر ﺣﺠﻴﻢ و زﻳﺎد ﺑﻮدﻩ و ﻧﻤﻲ ﺗﻮان ﺗﻤﺎﻣﻲ ﻣﻄﺎﻟﺐ را ﺑﺼﻮرت ﻳﮏ‬
‫ﮐﺘﺎﺑﭽﻪ ﺗﺪوﻳﻦ ﻧﻤﻮد ‪.‬‬
‫ﻣﻄﺎﻟﺐ ذﮐﺮ ﺷﺪﻩ در ﻓﻮق در ﺟﻘﻴﻘﺖ ﻗﺴﻤﺖ اول ﺷﺮوع ﮐﺎر ﺑﺎ ﻧﺮم اﻓﺰار ‪ s7‬و ‪Plc‬‬
‫زﻳﻤﻨﺲ ﻣﻲ ﺑﺎﺷﺪ ﮐﻪ اﻣﻴﺪوارم ﺑﺮاي ﺗﻤﺎﻣﻲ هﻤﮑﺎران ﻋﺰﻳﺰ ﺑﻌﻨﻮان ﻳﮏ‬
‫‪ reference‬ﻣﻔﻴﺪ واﻗﻊ ﮔﺮدد‬
‫اﻧﺸﺎاﷲ در ﺁﻳﻨﺪﻩ ﻧﺰدﻳﮏ ﺳﻌﻲ در اراﺋﻪ ﻗﺴﻤﺖ دوم اﻳﻦ ﮐﺘﺎﺑﭽﻪ ﮐﻪ ﮐﺎرﺑﺮد ﺑﺮﻧﺎﻣﻪ‬
‫ﻧﻮﻳﺴﻲ ﺑﺎ ﻧﺮم اﻓﺰار ‪ s7‬ﺑﻮدﻩ و ﻣﺜﺎﻟﻬﺎي ﻋﻤﻠﻲ و ﻣﻔﻴﺪ در ﺁن ﺑﮑﺎر ﺑﺮدﻩ ﺷﺪﻩ ﺑﺎﺷﺪ‬
‫اداﻣﻪ ﻣﻲ دهﻴﻢ و هﻤﭽﻨﻴﻦ ﻣﻄﺎﻟﺒﻲ درﺑﺎرﻩ ﻧﺤﻮﻩ ‪ network configuration‬و‬
‫ارﺗﺒﺎط ﺷﺒﮑﻪ اﻳﻲ ‪ plc‬ﺑﺎ ﻗﻄﻌﺎت داﺧﻠﻲ و هﻤﭽﻨﻴﻦ ‪ plc‬هﺎ ﺑﺎ ﻳﮑﺪﻳﮕﺮ ‪,‬و هﻤﭽﻨﻴﻦ‬
‫ﻧﺤﻮﻩ ‪ setting‬ﭘﺎﻧﻞ هﺎي اﭘﺮاﺗﻮري زﻳﻤﻨﺲ ‪ op3-7-27-37-270‬و ﮐﺎر ﺑﺎ ﻧﺮم‬
‫اﻓﺰار هﺎي ‪ graph & simulation‬را ﺑﻪ اﺳﺘﺤﻀﺎر ﺧﻮاﻧﻨﺪﮔﺎن ﻋﺰﻳﺰ ﻣﻲ‬
‫رﺳﺎﻧﻢ ‪.‬‬

‫ﺻﻔﺤﻪ ‪ 98‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

‫اﻣﻴﺪوارم ﮐﻪ ﺧﺪاوﻧﺪ در اﻳﻦ راﻩ ﻓﺮﺻﺖ ﮐﺎﻓﻲ را در اﺧﺘﻴﺎر اﻳﻨﺠﺎﻧﺐ ﻗﺮار دهﺪ ﺗﺎ‬
‫ﺑﺘﻮاﻧﻴﻢ ﺧﺪﻣﺘﻲ را ﺑﺮاي ﮐﺸﻮر ﻋﺰﻳﺰﻣﺎن و ﺟﺎﻣﻌﻪ ﺻﻨﻌﺘﻲ و اﺗﻮﻣﺎﺳﻴﻮن ﺑﻨﺎﻣﻴﻢ ‪.‬‬

‫ﭼﮑﻴﺪﻩ‪:‬‬

‫ﺁﺷﻨﺎﻳﯽ ﺑﺎ ‪ PLC‬و ﻧﺮم اﻓﺰار ‪ , s7‬اﻧﻮاع ﺑﻠﻮﮎ در ‪, s7‬‬


‫ﻓﺮم هﺎﯼ ﻧﻤﺎﻳﺶ در ‪ , s7‬ﺗﺎﻳﻤﺮ هﺎ ‪ ,‬ﺷﻤﺎرﻧﺪﻩ هﺎ‪,‬‬
‫ﻣﻘﺎﻳﺴﻪ ﮐﻨﻨﺪﻩ هﺎ ‪ ,‬ﺗﺒﺪﻳﻞ ﮐﻨﻨﺪﻩ هﺎ و ﺷﻴﻔﺖ دهﻨﺪﻩ هﺎ و ﺳﺨﺖ اﻓﺰار در ‪s7‬‬

‫ﺻﻔﺤﻪ ‪ 99‬از ‪100‬‬


‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬ ‫ﺗﻬﻴﻪ و ﺗﺪوﻳﻦ‬

: ‫ﻣﻨﺎﺑﻊ ﺑﮑﺎر ﮔﺮﻓﺘﻪ ﺷﺪﻩ در اﻳﻦ ﻣﺠﻤﻮﻋﻪ‬

Working with step 7 (siemens manuals) •


Configuring hardware with step 7 (siemens manuals) •
Getting started with step 7 (siemens manuals) •
Ladder logic for s7-300 and s7-400 programming •
(siemens manuals)
Functiom block diagram for s7-300 and s7-400 •
programming (siemens manuals)

‫وﻣﻦ اﷲ ﺗﻮﻓﻴﻖ‬
‫ﻣﺤﻤﺪ ﻳﺎدﮔﺎر‬
‫ﮐﺎرﺷﻨﺎس ﻓﻨﻲ ﺑﺮق و اﻟﮑﺘﺮوﻧﻴﮏ‬
‫ادارﻩ ﮐﻞ ﺗﻌﻤﻴﺮات ﻣﻮﻧﺘﺎژ ﻳﮏ‬
‫ادارﻩ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻬﻨﺪﺳﻲ‬

100 ‫ از‬100 ‫ﺻﻔﺤﻪ‬

You might also like