You are on page 1of 76

‫ﻣﻘﺪﻣﻪ‬

‫اﻣﺮوزه ﺑﺎ ﭘﺪﻳﺪار ﺷﺪن ﺳﻴﺴﺘﻤﻬﺎي ﻛﻨﺘﺮل و ﭘﻴﺸﺮﻓﺖ ﻓـﻦ آوري ﻫـﺎي ﺟﺪﻳـﺪ در ﻋﺮﺻـﻪ ﻋﻠـﻢ و‬
‫ﺗﻜﻨﻮﻟﻮژي ﻛﻪ ﺑﻲ ﺷﻚ ﻣﻲ ﺗﻮان آن را در ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ و اﻟﻜﺘﺮوﻧﻴـﻚ داﻧـﺴﺖ‪ ،‬ﭼﻬـﺮه ﻣﺤـﻴﻂ ﻫـﺎي‬
‫ﺻﻨﻌﺘﻲ ﺑﻪ ﻛﻠﻲ دﮔﺮﮔﻮن ﺷﺪه اﺳﺖ‪.‬‬
‫در واﻗﻊ ﺑﺎ اﻣﻜﺎن ﺗﻠﻔﻴﻖ ﻧﺮم اﻓﺰارﻫﺎ و ﺳﺨﺖ اﻓﺰارﻫﺎي اﻳﺠﺎد ﺷﺪه ﺗﻮﺳﻂ ﻣﻬﻨﺪﺳـﻴﻦ ﻛـﺎﻣﭙﻴﻮﺗﺮ و‬
‫اﻟﻜﺘﺮوﻧﻴﻚ ﻳﺎ ﺑﻪ ﻋﺒﺎرﺗﻲ ﺗﻠﻔﻴﻖ ﻓﻨﻮن اﻳﻦ دو ﻋﺮﺻﻪ ﺑﻪ ﺟﺎي ﺑﻜﺎرﮔﻴﺮي اﺟـﺰاي ﻣﺘـﺸﻜﻞ از ﻣـﺪار ﻫـﺎي‬
‫ﻣﻨﻄﻘﻲ ﺑﺎ ﺳﺨﺖ اﻓﺰار ﻫﺎي ﺗﻘﺮﻳﺒﺎ" ﺛﺎﺑﺖ و ﺗﻠﻔﻴﻖ آن ﺑﺎ ﭘﺪﻳﺪه ﻣﻬﻢ ﻧﺮم اﻓﺰار اﻣﻜﺎن ﻃﺮاﺣـﻲ و ﺳـﺎﺧﺖ‬
‫ﻫﺰاران ﭘﺮوژه ﻛﺎرﺑﺮدي ﻣﻤﻜﻦ ﮔﺮدﻳﺪ‪.‬‬
‫از ﻣﺤﺎﺳﻦ ﺑﺎرز اﻳﻦ ﺳﻴﺴﺘﻤﻬﺎ در ﺻﻮرت ﻟﺰوم اﻧﺠﺎم ﺗﻐﻴﻴﺮ و ﺗﺼﺤﻴﺢ در ﻧﺮم اﻓﺰار و ﺑﺮﻧﺎﻣـﻪ ﻛـﺎرﺑﺮ‬
‫ﻣﻮرد ﻧﻈﺮ اﺳﺖ ﻛﻪ ﻛﻤﺘﺮ ﻟﺰوم ﺗﻐﻴﻴﺮ ﻣﺪارﻫﺎ و ﺳﺨﺖ اﻓﺰارﻫﺎ در آن ﻣﻲ ﻃﻠﺒﺪ‪.‬‬
‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻣﺎ در آن ﭼﻪ ﭘﻴﺶ رو دارﻳﻢ ﺑﻪ ﻣﻌﺮﻓﻲ و آﻣﻮزش ﻳﻜﻲ از ﻧﺮم اﻓﺰار ﻫﺎي ﻣﺮﺑﻮﻃـﻪ‬
‫ﻣﻲ ﭘﺮدازﻳﻢ ‪.‬‬
‫اﻳﻦ ﻧﺮم اﻓﺰار راﺑﻄﻲ ﺑﻴﻦ ﻛﺎرﺑﺮ و ﺳﺨﺖ اﻓﺰار ﺳﻴﺴﺘﻢ ﺻﻨﻌﺘﻲ ﻣﻲ ﺑﺎﺷﺪ و دو اﻣﻜﺎن ﻣﻬﻢ ﻃﺮاﺣـﻲ‬
‫و اﺳﺘﻔﺎده از ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل را ﻓﺮاﻫﻢ ﻧﻤﻮد‪.‬‬

‫ﻣﺤﻤﺪ ﻋﻠﻲ ﺷﺮﻳﻔﻲ ﺳﺮﺷﺖ‬


‫ﺗﻴﺮ ﻣﺎه ‪1383‬‬

‫‪1‬‬
‫‪ELOP II‬‬
‫اﻳﻦ ﻧﺮم اﻓﺰار وﻳﺮاﻳﺸﻲ ﺟﺪﻳﺪ از ﺳﺮي ﻧﺮم اﻓﺰار ﻫﺎي ‪ ELOP‬ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮاي ﻃﺮاﺣﻲ و ﺑﺮﻧﺎﻣﻪ‬
‫ﻧﻮﻳﺴﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﻨﺘﺮل در اﺗﻮﻣﺎﺳﻴﻮن ﺻﻨﻌﺘﻲ ﻛﻪ ﺑﺮاي ﺳﻴﺴﺘﻤﻬﺎي ﻛﻨﺘﺮل ﻣﺤﺼﻮل ﺷﺮﻛﺖ‬
‫‪HIMA‬ﻧﺼﺐ ﻣﻲ ﮔﺮدد‪.‬‬

‫‪ ELOP‬ﺑﺎ ﻇﺎﻫﺮي ‪ User Friendly‬و ﻃﺮاﺣﻲ ‪ Object Oriented‬اﻣﻜﺎن ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي‬
‫ﺑﺮﻧﺎﻣﻪ را ﺑﻪ ﺷﻜﻞ ﺳﺎده ﺗﺮ ﻧﺴﺒﺖ ﺑﻪ ﻣﺪﻟﻬﺎي ﻗﺪﻳﻤﻲ ﺑﺮاي ﻣﺘﺨﺼﺼﻴﻦ ﻓﻦ ﻓﺮاﻫﻢ ﻣﻲ ﻧﻤﺎﻳـﺪ ﻫﻤﭽﻨـﻴﻦ‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﺼﻮﺻﻴﺖ ﺑﺎرز آن ﻳﻌﻨﻲ ﻛﺎرﺑﺮ ﭘﺴﻨﺪ ﺑﻮدن آن )‪ (User Friendly‬اﻣﻜﺎن ﺳﺎدﮔﻲ ﻛـﺎر را‬
‫ﺑﺮاي ﻛﺎرﺑﺮان ﻧﻴﺰ ﺗﺎ ﺣﺪ ﺧﻴﻠﻲ زﻳﺎدي اﻓﺰاﻳﺶ داده اﺳﺖ‪.‬‬
‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻳﻦ ﻧﺮم اﻓﺰار ﻳﻚ اﺳﺘﻮدﻳﻮ ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ اﺗﻮﻣﺎﺳﻴﻮن ﻣﻲ ﺑﺎﺷـﺪ ور روي ﺳﻴـﺴﺘﻢ‬
‫ﻋﺎﻣﻠﻬﺎي ‪ Microsoft‬ﻧﺼﺐ ﻣﻲ ﮔﺮدد‪ .‬و ﺑﺮاي ﻛﺎر ﻛﺮدن ﺑﺎ آن ﻻزم اﺳﺖ ﻛﻪ ﺷـﻤﺎ ﻳـﻚ آﺷـﻨﺎﻳﻲ ﺑـﺎ‬
‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻠﻬﺎي ﺧﺎﻧﻮاده ‪ MS‬داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻳﻜﻲ دﻳﮕﺮ از وﻳﮋﮔﻴﻬـﺎي ‪ ELOP II‬اﻳـﻦ اﺳـﺖ ﻛـﻪ ﺑـﻪ‬
‫ﺻﻮرت ‪ Multi tasking‬ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ ﻛﻪ اﻣﻜﺎن اﺟﺮا و ﻧﻤﺎﻳﺶ ﭼﻨـﺪﻳﻦ ﺑﺮﻧﺎﻣـﻪ را‬
‫ﻫﻤﺰﻣﺎن ﺑﻪ ﻛﺎرﺑﺮ ﻣﻲ دﻫﺪ‪.‬‬

‫ﺑﺨﺶ ‪1‬‬
‫ﻧﺼﺐ ‪ELOP II‬‬
‫ﺳﺨﺖ اﻓﺰار و ﻧﺮم اﻓﺰار ﻣﻮرد ﻧﻴﺎز‬

‫‪HARD WAR‬‬ ‫‪MIN‬ل‬ ‫‪RECOMMENDED‬‬


‫‪PROCESSOR PENTIUM II‬‬ ‫‪133 MHZ‬‬ ‫‪400 MHZ‬‬
‫)‪RAM(MEMORY‬‬ ‫‪64 MB‬‬ ‫‪128 MB‬‬
‫‪GRAPHIC CARD‬‬ ‫‪2MB‬‬ ‫‪8MB‬‬
‫)‪*GA (1024*768‬‬

‫‪SOFT WARE‬‬
‫‪OPRATING SYSTEM‬‬ ‫®‪WINDOWS NT®WORD 97‬‬

‫ﻛﺠﺎ ﻧﺼﺐ ﻛﻨﻴﻢ؟‬


‫ﺷﻤﺎ ﻣﻲ ﺗﻮاﻧﻴﺪ ﻧﺮم اﻓﺰار ‪ ELOP II‬را روي ﻣﺤﻞ دﻟﺨـﻮاه از ‪ HARD DISK‬ﺧـﻮد ﻧـﺼﺐ ﻧﻤﺎﻳﻴـﺪ‬
‫ﻫﻤﭽﻨﻴﻦ ﻣﻲ ﺗﻮان آن را ﺗﺤﺖ ﺷﺒﻜﻪ ﺑﺮ روي دراﻳﻮ ﺷﺒﻜﻪ ﻧﻴﺰ ﻧﺼﺐ ﻧﻤﺎﻳﻴﺪ ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﮔـﺮ‬
‫‪ ELOP II‬ﻗﺎﺑﻞ دﺳﺘﺮﺳﻲ ﺑﻪ ﻛﺎرﺑﺮان ﻣﺘﻔﺎوت ﺑﺎﺷﺪ ﻻزم اﺳﺖ ﻛﻪ ﺑﺮاي ﻫﺮ ﻛﺪام ﺑﻪ ﺻـﻮرت ﺟﺪاﮔﺎﻧـﻪ‬
‫ﻧﺼﺐ ﮔﺮدد‪.‬‬
‫‪2‬‬
‫ﭼﮕﻮﻧﻪ ﻧﺼﺐ ﻧﻤﺎﻳﻴﻢ؟‬
‫‪ CD-ROM-1‬ﺣﺎوي ﻧﺮم اﻓﺰار را در ‪ CD DRIVE‬ﻗﺮار داده ‪.‬‬
‫‪-2‬روي داﻳﺮ ﻛﺘﻮري "‪ "ELOP II‬ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﻢ‪.‬‬
‫‪-3‬روي ‪ HARD LOCK‬ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﻢ‪.‬‬
‫‪ -4‬ﻗﻔﻞ ﺳﺨﺖ اﻓﺰاري ‪ ELOP II‬ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت ﺳﺨﺖ اﻓﺰاري ﺑﺮ روي ‪ PC‬ﻧﺼﺐ ﮔﺮدﻳﺪه ﺑﺎﺷﺪ‪.‬‬
‫‪-5‬ﻧﺼﺐ ‪ Driver‬ﻗﻔﻞ ﺳﺨﺖ اﻓﺰاري‪.‬‬
‫‪-6‬ﺣﺎل ﻛﺎﻓﻲ اﺳﺖ ﻣﻨﻮي ‪ Install‬ﻳﺎ ﻓﺎﻳﻞ ‪ Setup‬را اﺟﺮا ﻧﻤﺎﻳﻴﻢ‬

‫ﻧﻜﺘﻪ ‪ :‬ﺑﺮاي ﻧﺼﺐ ‪ HARD LOCK DRIVER‬ﻛﺎرﺑﺮ ﺣﺘﻤﺎ ﺑﺎﻳﺪ اﻣﻜﺎﻧـﺎت ‪ Administrator‬را‬
‫دارا ﺑﺎﺷﺪ‬

‫ﻧﺼﺐ ﺳﺨﺖ اﻓﺰاري ‪HARD LOCK‬‬

‫‪ HARD LOCK‬ﺑﺎﻳﺪ ﺑﻪ ﭘﻮرت ‪ parallel‬ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﺼﻞ ﮔﺮدد‬


‫‪-7‬ﭘﺲ از ﻧﺼﺐ ﺳﺨﺖ اﻓﺰاري و ﻧﺮم اﻓﺰاري ‪ HARD LOCK‬ﻧﺼﺐ ‪ ELOP II‬را آﻏﺎز ﻧﻤﺎﻳﻴﺪ ﻛـﻪ‬
‫ﻧﺼﺐ آن ﻫﻤﺎﻧﻨﺪ ﺗﻤﺎﻣﻲ ﻧﺮم اﻓﺰار ﻛﺎرﺑﺮدي ﺗﺤﺖ وﻳﻨﺪوز ﻣﺮاﺣﻞ ﻣﺨﺘﻠﻒ دارد ﻛﻪ ﺑﺎﻳﺪ ﻃﻲ ﮔﺮدﻧﺪ‬

‫‪3‬‬
‫ﺑﺨﺶ ‪2‬‬

‫ﻣﻌﺮﻓﻲ راﺑﻂ ﻛﺎرﺑﺮ ‪User Interface‬‬

‫اﺟﺮاي ‪ELOP II‬‬


‫ﺑﺮاي اﺟﺮا ﻛﺎﻓﻲ اﺳﺖ از ﻣﻨﻮي ‪ START‬ﮔﺰﻳﻨﻪ ‪ ELOP II‬را اﻧﺘﺨﺎب و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷـﺪه ﺑﺮﻧﺎﻣـﻪ‬
‫ﻣﺰﺑﻮر را اﺟﺮا ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫ﭘﻨﺠﺮه اﺳﺘﺎﻧﺪارد ‪: ELOP II‬‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺷﻜﻞ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ﭘﻨﺠﺮه اﺳﺘﺎﻧﺪارد‪ ELOP II‬از اﺟﺰاي اﺻﻠﻲ زﻳـﺮ ﺗـﺸﻜﻴﻞ‬
‫ﺷﺪه اﺳﺖ‪.‬‬

‫‪4‬‬
‫‪ :Menu bar‬ﺣﺎوي ﺗﻤﺎﻣﻲ ﻓﺮاﻣﻴﻦ ﻣﻮﺟﻮد ﺑﺮاي اﻳﺠﺎد و ﺗﻐﻴﻴﺮات در ﻳﻚ ﭘﺮوژه ‪.‬‬ ‫•‬

‫‪ :Symbol‬اﻳﻦ ﻧﻮار ﺷﺎﻣﻞ دو ﻗﺴﻤﺖ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﻗـﺴﻤﺖ اول ﺷـﺎﻣﻞ ﻓـﺮاﻣﻴﻦ ﻣـﺪﻳﺮﻳﺖ‬ ‫•‬
‫ﭘﺮوژه ﻣﻲ ﺑﺎﺷـﺪ و ﻗـﺴﻤﺖ دوم ﺷـﺎﻣﻞ ﻓـﺮاﻣﻴﻦ وﻳـﺮاﻳﺶ ﺗﻮاﺑـﻊ ‪ ،‬ﺑﺮﻧﺎﻣـﻪ ﻫـﺎ و ‪Function‬‬
‫‪Block‬‬

‫• ‪: STATUS BAR‬اﻃﻼﻋﺎت ﻛﻤﻜﻲ ﻣﺪﻳﺮﻳﺖ ﭘﺮوژه وﻳﺮاﻳﺶ ﺗﻮاﺑﻊ و ﺑﺮﻧﺎﻣـﻪ ﻫـﺎ ﻫﻤﭽﻨـﻴﻦ‬
‫ﻣﻜﺎن دﻗﻴﻖ اﺷﻴﺎ را در وﻳﺮاﻳﺸﮕﺮ ﺗﻮاﺑﻊ ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﺪ‬

‫• ‪ :Structure Window‬در اﻳﻦ ﻗﺴﻤﺖ از ﻧﺮم اﻓـﺰار ‪، ELOP II‬ﺳـﺎﺧﺘﺎر درﺧﺘـﻲ ﻳـﻚ‬
‫ﭘﺮوژه را ﻛﻪ در ﺣﺎل اﺟﺮا و ﻳﺎ اﻳﻨﻜﻪ در ﺣﺎل وﻳﺮاﻳﺶ و ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻣﻲ ﺑﺎﺷـﺪ ﻧﻤـﺎﻳﺶ داده‬
‫ﻣﻲ ﺷﻮد‪.‬‬

‫‪ :Context Menu‬اﻳﻦ ﻣﻨﻮ ﺑﺎ ﻛﻠﻴﻚ راﺳﺖ ﺑﺮ روي آﻳﻜﻦ ﭘﺮوژه ﻣﻮرد ﻧﻈﺮ ﻇﺎﻫﺮ ﻣﻲ ﮔﺮدد ﻛﻪ ﺣﺎوي‬
‫ﻓﺮاﻣﻴﻦ ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد اﺷﻴﺎء ﺟﺪﻳﺪ و وﻳﺮاﻳﺶ ﭘﺮوژه ﻣﻲ ﺑﺎﺷﺪ‬

‫‪5‬‬
‫ﻣﺤﻴﻂ ﻛﺎر ‪Work Area‬‬
‫وﻳﺮاﻳﺸﮕﺮ ﺗﻮاﺑﻊ ‪: Function Block Editor‬‬
‫ﻣﺤﻴﻄﻲ اﺳﺖ ﺑﺮاي اﻳﺠﺎد ﺑﺮﻧﺎﻣﻪ ﻫﺎ و ﻣﺪارﻫﺎي ﻣﻨﻄﻘﻲ ﻣﻮرد ﻧﻈﺮ در ‪ ELOP‬ﻣﻲ ﺑﺎﺷﺪ ‪،‬ﻻزم ﺑـﻪ ذﻛـﺮ‬
‫اﺳﺖ ﻛﻪ اﻳﻦ ﻗﺴﻤﺖ از اﺑﺰار ﻛﺎرﻫﺎي اﺻﻠﻲ ﻧﺮم اﻓﺰار ﺑﻪ ﺷﻤﺎر ﻣﻲ آﻳﻨـﺪ و ﻓﺮاﻳﻨـﺪ ﻣﻬـﻢ ﺗﻮﻟﻴـﺪ ﺑﺮﻧﺎﻣـﻪ‬
‫ﻛﻨﺘﺮل در اﻳﻦ ﻣﺤﻴﻂ ﺻﻮرت ﭘﺬﻳﺮد‬

‫‪6‬‬
‫‪Drawing Area‬‬ ‫‪Interface Window‬‬

‫‪Overview winndow‬‬

‫‪Varaibel declration‬‬

‫وﻳﺮاﻳﺸﮕﺮ ﺗﻮاﺑﻊ از ﭼﻨﺪ ﻗﺴﻤﺖ ﺗﺸﻜﻴﻞ ﺷﺪه‬

‫• ﻧﺎﺣﻴﻪ ﻃﺮاﺣﻲ ‪:Drawing Area‬در اﻳﻦ ﻗﺴﻤﺖ از وﻳﺮاﻳﺸﮕﺮ ﺗﻮاﺑـﻊ ﻋﻤـﻞ اﺻـﻠﻲ اﻳﺠـﺎد‬
‫ﺗﻮاﺑﻊ و ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺑﻪ ﺻﻮرت ﻣﻨﻄﻘﻲ و ﺑﺎ ﻛﻤﻚ ﺗﻮا ﺑﻊ ﻛﺘﺎﺑﺨﺎﻧﻪ اي ﻣﻮﺟﻮد در ﻧﺮم اﻓﺰار ﻛـﻪ‬
‫ﺑﻪ ﺻﻮرت ﺿﻤﻴﻤﻪ ﻫﻤﺮاه ﭘﺮوژه اﺿﺎﻓﻪ ﮔﺮدﻳﺪه ﺻﻮرت ﭘﺬﻳﺮد‬

‫• ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮ‪ :Variable Declration‬ﺑﻪ ﻛﻤـﻚ اﻳـﻦ ﻧﺎﺣﻴـﻪ ﻃـﺮاح ﻣﺘﻐﻴﺮﻫـﺎي ﻣـﻮرد‬
‫اﺳﺘﻔﺎده در ﺑﺮﻧﺎﻣﻪ ﻣﺰﺑﻮر را ﺗﻌﺮﻳﻒ ﻣﻲ ﻧﻤﺎﻳﺪ ﻛﻪ اﻳﻦ ﻣﺘﻐﻴﺮﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻣﺘﻐﻴﺮﻫـﺎي ورودي و‬
‫ﺧﺮوﺟﻲ ﻣﺤﻠﻲ ﻳﺎ ﻋﻤﻮﻣﻲ و ﻏﻴﺮه ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در ﻗﺴﻤﺘﻬﺎي ﺑﻌﺪ ﺑﻪ ﺗﻔﺼﻴﻞ ﺑﻪ آﻧﻬﺎ ﺧـﻮاﻫﻴﻢ‬
‫ﭘﺮداﺧﺖ‪.‬‬

‫• ‪ :Overview Window‬در اﻳﻦ ﻗﺴﻤﺖ ﻧﻤﺎﻳﺶ ﻛﻠﻲ از ﺑﻼك ﻳﺎ ﺗﺎﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه ﺧﻮاﻫﻴﻢ‬
‫داﺷﺖ‬
‫• ‪:Interface Window‬در اﻳﻦ ﻗﺴﻤﺖ ﻇـﺎﻫﺮ ﮔﺮاﻓﻴﻜـﻲ ﺑـﻼك ﻳـﺎ ﺗـﺎﺑﻊ ﺗﻌﺮﻳـﻒ ﺷـﺪه را‬
‫وﻳﺮاﻳﺶ ﻣﻲ ﻛﻨﻴﻢ ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﻣﻲ ﺗﻮان رﻧﮓ ﺗﺎﺑﻊ را در ﺑﻼك دﻳﺎﮔﺮام ﺗﻐﻴﺮ داد‬

‫‪7‬‬
‫وﻳﺮاﻳﺶ ﻣﺴﺘﻨﺪات ‪Ducument Editor‬‬
‫ﺑﻪ ﻛﻤﻚ اﻳﻦ وﻳﺮاﻳﺸﮕﺮ ﺷﻤﺎ ﻗﺎدر ﺧﻮاﻫﻴﺪ ﺑﻮد ﻛﻪ ﻋﻤﻞ ﻣﺴﺘﻨﺪ ﺳﺎزي را ﺑﺮاي ﭘﺮوژه ﺧﻮد اﻧﺠﺎم دﻫﻴـﺪ‪.‬‬
‫ﻳﻚ ﺑﺎز ﻧﮕﺮ و ﻳﻚ ﻛﺎرﺑﺮ ﺟﺪﻳﺪ ﺑﺮﻧﺎﻣﻪ ﻗﺎدر ﺧﻮاﻫﺪ ﺑﻮد ﺑـﺎ اﺳـﺘﻔﺎده از ﻣـﺴﺘﻨﺪات ﭘـﺮوژه از ﻧﺤـﻮه ﺑﻜـﺎر‬
‫ﮔﻴﺮي اﺷﻴﺎء ﻣﻮﺟﻮد در ﭘﺮوژه اﻃﻼع ﻛﺎﻓﻲ ﺑﻪ دﺳﺖ آورد‪.‬‬
‫ﺑﺮاي اﻳﺠﺎد ﻣﺴﺘﻨﺪ از ﻳﻚ ﺷﻲء ﻣﻮﺟﻮد در ﭘﺮوژه )ﻣﺜﻼ"ﻳﻚ ﺗﺎﺑﻊ( ﻛﺎﻓﻲ اﺳـﺖ وﻳﺮاﻳـﺸﮕﺮ را ﺑـﺎ دو ﺑـﺎر‬
‫ﻛﻠﻴﻚ ﺑﺮ روي آن را ﺑﺎز ﻧﻤﻮده و ﺳﭙﺲ ﺷﻲ ﻣﻮرد ﻧﻈﺮ را درون آن ‪ Drag & Drop‬ﻧﻤﺎﻳﻴﻢ‬

‫ﻧﻤﺎﻳﺸﮕﺮ ﭘﻴﻐﺎﻣﻬﺎ ‪Error state Viewer‬‬


‫در اﻳﻦ ﻗﺴﻤﺖ از ﻧﺮم اﻓﺰار ﺗﺎرﻳﺦ ‪،‬ﺳﺎﻋﺖ‪،‬ﺣﺎﻟﺖ و ﺗﻮﺿﻴﺢ در ﻣﻮرد ﻣﺸﻜﻼت و ‪ FALT‬ﻫـﺎي اﻳﺠـﺎد‬
‫ﺷﺪه ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد‬
‫‪:Help‬در اﻳﻦ ﻗﺴﻤﺖ ﻣﻲ ﺗﻮاﻧﻴﺪ ﺟﺰﺋﻴﺎت ﻛﺎﻣﻞ ﺗﻮاﺑﻊ و ﻧﺤﻮه ﻋﻤﻠﻜﺮد آﻧﻬﺎ را ﺑﻴﺎﻳﺪ ﻫﻤﭽﻨﻴﻦ اﻃﻼﻋﺎت‬
‫دﻗﻴﻖ در ﻣﻮرد ﺗﻮاﺑﻊ اﺳﺘﺎﻧﺪارد ﺑﻜﺎر ﮔﺮﻓﺘﻪ ﺷﺪه در ‪ ELOP II‬ﺑﺪﺳﺖ آورد‪.‬‬

‫ﻗﺒﻞ از ﭘﺮداﺧﺘﻦ ﺑﻪ ﻗﺴﻤﺖ ﺑﻌﺪي ﻻزم اﺳﺖ ﺗﻮﺿﻴﺤﻲ ﭘﻴﺮاﻣﻮن اﺷﻴﺎء و ﺷﻲء ﮔﺮاﻳﻲ در ﻧﺮم اﻓﺰار ﻫـﺎي‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺑﺪﻫﻴﻢ‪:‬‬
‫ﻫﻤﺰﻣﺎن ﺑﺎ ﭘﻴﺸﺮﻓﺖ ﺗﻜﻨﻮﻟﻮژﻳﻬﺎي ﻣﺘﻔﺎوت ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﻢ ﺑﻪ ﻣﻮازات اﻳﻦ ﭘﻴﺸﺮﻓﺖ ﺑﻪ ﻧﺘﺎﻳﺞ‬
‫و دﺳﺖ آورد ﻫﺎي ﺟﺪﻳﺪ رﺳﻴﺪه اﺳﺖ ﻛﻪ از آن ﻫﻤﻪ ﻣﻲ ﺗﻮان ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ‪Object Oriented‬‬
‫ﻳﺎ ﺷﻲ ﮔﺮاﻳﻲ اﺷﺎره ﻛﺮد‪.‬‬
‫‪Object Oriented‬در واﻗﻊ ﻧﻮﻋﻲ ﺣﻞ ﻣﺴﺌﻠﻪ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﻣﻲ ﺗﻮان از اﻳﻦ اﻟﮕـﻮ ﺑـﺮاي ﺣـﻞ ﺑﻬﺘـﺮ‬
‫ﻣﺴﺎﺋﻠﻲ ﻛﻪ ﺣﺘﻲ ﻣﺎﻫﻴﺖ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻛﺎﻣﭙﻴﻮﺗﺮي ﻧﺪاﺷﺘﻪ ﺑﺎﺷـﺪ اﺳـﺘﻔﺎده ﻧﻤـﻮد‪ .‬در ﺑﺮﻧﺎﻣـﻪ ﻧﻮﻳـﺴﻲ‬
‫‪ Object Oriented‬ﺑﺮ ﺧﻼف ﻣﺪﻟﻬﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺧﻄﻲ ﻣﺸﻜﻼت ﺑﻪ ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠﻒ ﻛـﻮﭼﻜﺘﺮ‬
‫ﺷﻜﺴﺘﻪ ﻣﻲ ﺷﻮد و ﺑﺮاي ﻫﺮ ﻛﺪام ﺗﻌﺎرﻳﻒ و وﻳﮋﮔﻴﻬﺎي ﺧﺎﺻﻲ ﺗﻌﺮﻳﻒ ﻣﻲ ﮔﺮدد ﺑﻪ اﻳﻦ ﻣﻌﻨـﻲ ﻛـﻪ‬
‫ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻛﻼﺳﻬﺎي ﻣﺘﻔﺎوﺗﻲ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد ﻛﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ در اﺑﺘﺪاي ﺑﺮﻧﺎﻣـﻪ اﻳـﻦ ﻛﻼﺳـﻬﺎ را‬
‫ﺗﻌﺮﻳﻒ ﻣﻲ ﻛﻨﺪ‪.‬‬
‫ﺳﭙﺲ اﺷﻴﺎﺋﻲ اﻳﺠﺎد ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺧﺎﺻﻴﺖ اﻳﻦ ﻛﻼﺳﻬﺎ را ﺑﻪ ارث ﻣﻲ ﺑﺮﻧﺪ و ﻫﻤﭽﻨﻴﻦ ﺑﺮاي اﻳـﻦ اﺷـﻴﺎء‬
‫ﻧﻴﺰ اﻋﻤﺎﻟﻲ ﺗﻌﺮﻳﻒ ﻣﻲ ﺷﻮد ﻛﻪ ﻣﻲ ﺗﻮان ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻋﻤﺎل ﻳﻚ ﺷﻲ از آن در ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠـﻒ ﻳـﻚ‬
‫ﺑﺮﻧﺎﻣﻪ اﺳﺘﻔﺎده ﻧﻤﻮد‪.‬‬

‫ﻣﺜﺎل‪:‬‬
‫ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺑﺨﻮاﻫﻴﻢ ﺑﺎزي ﻓﻮﺗﺒﺎل را ﺑﻪ ﺻﻮرت ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺷﺒﻪ ﺳﺎزي ﺷﺪه ﻧـﺮ اﻓـﺰاري ﭘﻴـﺎده‬
‫ﺳﺎزي ﻛﻨﻴﻢ اﺑﺘﺪا ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻳﻚ ﻛﻼس ﺑﻪ ﻧﺎم ﺑﺎزﻳﻜﻦ اﻳﺠﺎد ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺗﻤﺎم ﺧﻮاص ﻋﻤﻮﻣﻲ ﻳـﻚ‬
‫ﺑﺎزﻳﻜﻦ را داراﺳﺖ ﺳﭙﺲ ﻳﻚ ﺷﻲ دروازه ﺑﺎن اﻳﺠﺎد ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺧﻮاص ﻛﻼس ﻓﻮق را ﺑﻪ ارث ﺑﺒـﺮد و‬
‫‪8‬‬
‫ﺑﺎ ﻳﻚ ﺳﺮي اﻋﻤﺎل ﺧﺎص ﺧﻮد ﻣﺜﻼ ﮔﺮﻓﺖ ﺗﻮپ ﺑﺎ دﺳﺖ ‪ ،‬ﻛﻪ اﻳﻦ ﻋﻤﻞ ﻓﻘﻂ ﻣﺨﺘﺺ ﺷﻲء دروازه ﺑﺎن‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻧﻜﺘﻪ ﺣﺎﺋﺰ اﻫﻤﻴﺖ در اﻳﻦ ﺟﺎ اﻳﻦ اﺳﺖ ﻛﻪ ﺑﺮﻧﺎﻣـﻪ ﻧـﻮﻳﺲ ﻧﻴـﺎز ﺑـﻪ ﺗﻌﺮﻳـﻒ ﻣﺠـﺪد ﺧـﻮاص‬
‫ﻣﺸﺘﺮك ﺑﺮاي ﺷﻲ ء دروازه ﺑﺎن ﻧﺪارد‪.‬‬
‫اﻳﺠﺎد ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﻨﺘﺮﻟﻲ در ﻣﺤـﻴﻂ ‪ ELOP II‬ﻧﻴـﺰ ﻧﺰدﻳـﻚ ﺑـﻪ زﺑﺎﻧﻬـﺎي ﺑﺮﻧﺎﻣـﻪ ﺳـﺎزي ‪Object‬‬
‫‪ Oriented‬ﻣﻲ ﺑﺎﺷﺪ ‪ .‬ﺑﺎ اﻳﻦ ﺗﻮﺿﻴﺢ ﻛﻪ اﺷﻴﺎء ﻣﻮرد اﺳﺘﻔﺎده در ﻳـﻚ ﺑﺮﻧﺎﻣـﻪ ﻛﻨﺘﺮﻟـﻲ ﻳـﺎ از ﻗﺒـﻞ ﺑـﺎ‬
‫وﻳﮋﮔﻴﻬﺎي ﺧﺎص آﻣﺎده ﮔﺮدﻳﺪ و ﺑﻪ ﺻﻮرت ﻛﺘﺎﺑﺨﺎﻧﻪ اي در ‪ ELOP II‬ﻗﺮار دارﻧﺪ و ﻳـﺎ اﻳﻨﻜـﻪ ﺑﺮﻧﺎﻣـﻪ‬
‫ﻧﻮﻳﺲ و ﻳﺎ ﻃﺮاح ﺑﺮﻧﺎﻣﻪ ﻛﻨﺘﺮﻟﻲ ﻣﻲ ﺑﺎﻳﺴﺖ آﻧﻬﺎ را ﺑﻪ ﺻﻮرت ﻣﺴﺘﻘﻞ اﻳﺠﺎد ﻧﻤﻮده و در ﺑﺮﻧﺎﻣـﻪ اﺻـﻠﻲ‬
‫آﻧﻬﺎ را ﺑﻜﺎر ﺑﺒﺮد‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻳﻦ اﺷﻴﺎ ﻛﻪ ﻋﻜﺲ اﻟﻌﻤﻠﻬﺎ و ﺧﻮاص ﻣﺘﻔﺎوﺗﻲ ا دارﻧـﺪ و ﻧـﺴﺒﺖ‬
‫ﺑﻪ ورودﻳﻬﺎي ﻣﺘﻔﺎوت ﻋﻜﺲ اﻟﻌﻤﻠﻬﺎي ﻣﺘﻨﺎﺳﺐ دارﻧﺪ‪.‬‬

‫ﺑﺨﺶ ‪3‬‬

‫اﺷﻴﺎء در ‪(OBJECTS) ELOP II‬‬

‫‪:PROJECT‬‬
‫ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ اﻳﺠﺎد ﺷﺪه در ‪ ELOP II‬ﺑﻪ ﮔﻮﻧﻪ اي اﺳﺖ ﻛﻪ ﭼﻨﺪﻳﻦ ﺷﻲ در ﻗﺎﻟﺐ ﻳﻚ ﭘﺮوژه اﻳﺠﺎد‬
‫ﻣﻲ ﮔﺮدد ﻛﻪ در ﻧﻬﺎﻳﺖ ﺑﺎ اﺳﺘﻔﺎده از ارﺗﺒﺎط اﻳﻦ اﺷﻴﺎء )ﺑﺮﻧﺎﻣﻪ و ﺗﻮاﺑﻊ ﻛﺘﺎب ﺧﺎﻧـﻪ اي( ﺑﺮﻧﺎﻣـﻪ ﻛﻨﺘـﺮل‬
‫ﻧﻬﺎﺋﻲ اﻳﺠﺎد ﻣﻲ ﮔﺮدد ﻃﺮاح در ﺑﺪو اﻳﺠﺎد ﻳﻚ ﭘﺮوژه ﺧﻮاﻫﺪ دﻳﺪ ﻛﻪ ‪ ELOP II‬ﺑـﻪ ﺻـﻮرت ﺧﻮدﻛـﺎر‬
‫ﺷﻲء‪ PROJECT‬را اﻳﺠﺎد ﻣﻲ ﻧﻤﺎﻳﺪ ﻛﻪ ﻧﺎم آن ﺗﻮﺳﻂ ﺧﻮد ﻛﺎرﺑﺮ ﺗﻌﻴﻴﻦ ﻣﻲ ﮔـﺮدد )ﭘـﺲ از ﺻـﺪور‬
‫ﻓﺮﻣﺎن ‪ NEW‬ﻛﺎدر ﻣﺤﺎوره و درج ﻧﺎم(‬

‫‪9‬‬
‫‪: LIBRARY‬‬
‫ﻛﺘﺎﺑﺨﺎﻧﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺣﺎوي ﺗﻮاﺑﻊ ‪ ،‬ﺑﻼك ﺗﺎﺑﻌﻬﺎ و ﺑﺮﻧﺎﻣﻪ ﻫﺎﺋﻲ ﺑﺎﺷﺪ ﻛﻪ از آﻧﻬﺎ در ﻃﺮاﺣـﻲ‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻬﺎﺋﻲ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‬

‫‪ FUNETIONS‬ﺗﻮاﺑﻊ‪:‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ از ﻧﺎﻣﺶ ﭘﻴﺪاﺳﺖ ﺑﺎ ﮔﺮﻓﺘﻦ ﻳﻚ ﺳﺮي ورودي و اﻋﻤﺎل ﭘﺮدازش ﻻزم روي آﻧﻬﺎ‬
‫ﺧﺮوﺟﻲ ﺧﻮاﺳﺘﻪ ﺷﺪه را ﺗﻮﻟﻴﺪ ﺧﻮاﻫﺪ ﻛﺮد ‪.‬‬

‫‪Inputs‬‬ ‫‪Function‬‬ ‫‪Outputs‬‬

‫‪) Function Blocks‬ﺑﻼﻛﻬﺎ (‬


‫ﻣﻲ ﺗﻮاﻧﺪ ﺣﺎوي ﻳﻚ ﻳﺎ ﭼﻨﺪ ‪ Function‬ﺑﺎﺷـﺪ و ﻧﻴـﺰ ﻣﻴﺘـﻮان از آﻳﺘﻤﻬـﺎي ﻻزم ﺑـﺮاي‬
‫اﻳﺠﺎد ﺗﺎﺑﻊ )……‪ (AND ,OR ,NAND‬ﻧﻴﺰدر آن اﺳﺘﻔﺎده ﻧﻤـﻮد و ﺑـﺮ ﺧـﻼف ‪Functions‬‬
‫ﻣﻲ ﺗﻮاﻧﺪ اﻃﻼﻋﺎت را در ﺧﻮد ذﺧﻴﺮه ﺑﻜﻨﻨﺪ ﻣﺜﻼ‪ ،‬ﻧﮕﻬﺪاري ﻳﻚ ﺑﻴﺖ اﻃﻼ ﻋﺎت در ﻳﻚ ‪ Flip Flop‬و‬
‫ﻳﺎ ﻳﻚ ﺗﺎﻳﻤﺮ ‪.‬‬

‫‪Program‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻛﻨﺘﺮﻟﻲ اﺳﺖ ﻛﻪ در ﻧﻬﺎﻳﺖ اﻳﺠﺎد ﻣﻴﮕﺮدد و ﻣﻴﺘﻮاﻧﺪ ﺣﺎوي ﺗﻤﺎﻣﻲ ﺗﻮاﺑﻊ اﻳﺠـﺎد ﺷـﺪه و‬
‫ﻳﺎ ﺑﻼﻛﻬﺎ ﺑﺎﺷﺪ ‪ .‬ﻳﻚ ‪ Program‬ﭘﺲ از ﺗﻮﻟﻴﺪ و ﺗﺴﺖ ﻧﻬﺎﻳﻲ ﺑﺮاي اﺟﺮا ﺑﺮ روي ﻳﻚ ﻳـﺎ ﭼﻨـﺪ ﻛﻨﺘﺮﻟـﺮ‬
‫ارﺟﺎع داده ﻣﻴﺸﻮد ) ‪ ( down load‬ﻻزم ﺑﻪ ﺗﻮﺿﻴﺢ اﺳﺖ ﻛﻪ ﺑﺮﻧﺎﻣﻪ اي ﻛـﻪ ﺗﻮﺳـﻂ ﻛﻨﺘﺮﻟـﺮ اﺟـﺮا‬
‫ﻣﻴﮕﺮدد ﻳﻜﻲ از اﺷﻴﺎﺋﻲ اﺳﺖ ﻛﻪ درون ﭘﺮوژه اي اﻳﺠﺎد ﻣﻴﮕﺮدد‪ .‬در واﻗﻊ ﭘﺮوژه اﻳﺠﺎد ﺷﺪه ﻣﺠﻤﻮﻋﻪ اي‬
‫اﺳﺖ از ﺗﻮاﺑﻊ ‪ ،‬ﺑﻼﻛﻬﺎ ‪ ،‬اﺳﻨﺎد و‪ ......‬ﻻزم ﺑﺮاي ﺳﺎﺧﺘﻦ ﺑﺮﻧﺎﻣﻪ ﻧﻬﺎﻳﻲ ﻣﻲ ﺑﺎﺷﺪ‬

‫‪10‬‬
‫‪Configuration‬‬
‫ﭘﻴﻜﺮﺑﻨﺪي ﮔﺮوه ﻛﻨﺘﺮﻟﺮﻫﺎي ﻣﻮﺟﻮد ﻛﻪ ﺑﻪ ﻧﻮﻋﻲ ﺑﺎ اﺳﺘﻔﺎده از ‪ Elop II‬ﺑـﺎ آﻧﻬـﺎ در ارﺗﺒـﺎط‬
‫ﻫﺴﺘﻴﻢ‬

‫‪: Resource‬‬
‫‪ Resource‬ﻣﺮﺟﻊ ﻧﺮم اﻓﺰاري اﺻﻠﻲ ﻳﻚ ﻛﻨﺘﺮﻟﺮ ) ‪ ( HIMA Controller‬ﻣﻴﺒﺎﺷـﺪ‬
‫ﻛﻪ ﻗﺮار اﺳﺖ ﺑﺮﻧﺎﻣﻪ اﺻﻠﻲ ﻛﻨﺘﺮل را اﺟﺮا ﻛﻨﺪ ﻳﻚ ‪ Resource‬ﺣﺎوي ﻳﻚ ﻳﺎ ﭼﻨﺪ ﺑﺮﻧﺎﻣﻪ ﻣـﻲ ﺑﺎﺷـﺪ‬
‫ﻛﻪ ﺗﻮﺳﻂ ﻛﻨﺘﺮﻟﺮ اﺟﺮا ﻣﻲ ﮔﺮدﻧﺪ‪.‬‬

‫‪11‬‬
‫‪TASK‬‬
‫ﻻزم ﺑﻪ ﻳﺎد آوري اﺳﺖ ﻛﻪ اﺑﺘﺪا ﺗﻮاﺑﻊ و ﺑﺮﻧﺎﻣﻪ ﻫﺎ درون ‪ Library‬اﻳﺠﺎد ﻣﻲ ﮔﺮدﻧـﺪ و ﭘـﺲ از‬
‫آن ‪ Resource‬اﻳﺠﺎد ﻣﻲ ﮔﺮدد اﻟﺰا ﻣﺎ ﻫﺮ ‪ Resource‬ﻛﻪ ﻣﺮﺟﻊ ﻳﻚ ‪ Controller‬ﻣـﻲ ﺑﺎﺷـﺪ‬
‫ﺑﺎﻳﺪ ﺑﺮﻧﺎﻣﻪ اي ﺑﺮاي اﺟﺮا روي ‪ Controller‬داﺷﺘﻪ ﺑﺎﺷﺪ ﻟﺬا ﺑﺮاي اﻳﻦ ﻛﺎر ﺑﺎﻳﺪ ﺑﺮﻧﺎﻣﻪ ﺗﻮﻟﻴـﺪ ﺷـﺪه‬
‫در ‪ Library‬را ﺑﻪ ‪ Resource‬ﻣﻌﺮﻓﻲ ﻛﻨﻴﻢ اﻳﻦ ﻋﻤﻞ ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﺑﺎﻋـﺚ اﻳﺠـﺎد ﻳـﻚ ﺑﺮﻧﺎﻣـﻪ درون‬
‫‪ Resource‬ﻧﻤﻲ ﮔﺮدد ﻟﺬا ﺑﺎﻳﺪ ﺑﺮاي اﺟﺮاﻳـﻲ ﻧﻤـﻮدن ﻳـﻚ ﺑﺮﻧﺎﻣـﻪ ﻻزم اﺳـﺖ ﻛـﻪ وﻇـﺎﻳﻔﻲ ﺑـﺮاي‬
‫‪ Resource‬ﻣﻌﺮﻓﻲ ﮔﺮدﻧﺪ ﻛﻪ ﺑﺮاي ﻫﺮ وﻇﻴﻔﻪ ) ‪ (Task‬ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺗﺨﺼﻴﺺ داده ﻣﻲ ﺷﻮد ‪.‬‬
‫ﻧﻜﺘﻪ ‪ :‬ﻛﺎرﺑﺮد ‪ Task‬ﻓﻘﻂ ﺑﺮاي ﺷﺒﻴﻪ ﺳﺎزي روي ‪ pc‬ﻣﻲ ﺑﺎﺷﺪ ‪.‬‬

‫‪12‬‬
‫‪Project root‬‬

‫ﺳﺎﺧﺘﺎر درﺧﺘﻲ و آدرس ﻫﺎ ي ﻛﻞ اﺷﻴﺎء اﻳﺠﺎد ﺷﺪه در ﭘﺮوژه را درون ﺧـﻮد ذﺧﻴـﺮه ﻣﻴﻜﻨـﺪ و ﺑـﺮاي‬
‫دﺳﺘﺮﺳﻲ ﺑﺮﻧﺎﻣﻪ ﻛﻨﺘﺮﻟﻲ ﺑﻪ ﺗﻮاﺑﻊ و اﺷﻴﺎ و ﺗﺴﺮﻳﻊ در اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﺟﺴﺘﺠﻮ ﻣﻮرد اﺳﺘﻔﺎده واﻗـﻊ ﻣـﻲ‬
‫ﮔﺮدد ‪.‬‬

‫ﻣﺴﺘﻨﺪ ﺳﺎزي ‪Documentation‬‬


‫در اﻳﻦ ﻗﺴﻤﺖ از ﻳﻚ ﭘﺮوژه اﻃﻼﻋﺎت و ﺗﺮﺗﻴﺐ ‪ Object‬ﻫﺎي ﻣﻮﺟﻮد در ﻗﺎﻟﺐ ﻳﻚ ﺟﺪول ذﺧﻴﺮه‬
‫ﻣﻲ ﺷﻮﻧﺪ و ﺑﻪ ﻛﺎرﺑﺮ اﻳﻦ اﻣﻜﺎن ﺑﺎزﺑﻴﻨﻲ ﻣﺠﺪد را ﻣﻲ دﻫﻨﺪ ‪.‬‬

‫‪13‬‬
‫ﺑﺨﺶ ‪4‬‬

‫ﺧﺼﻮﺻﻴﺎت ﭘﺎﻳﻪ اي ‪Elop II‬‬


‫ﻣﺪﻳﺮﻳﺖ ﭘﺮوژه در ‪Elop‬‬
‫• ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻛﺎرﻫﺎ و ﺑﺮﻧﺎﻣﻪ ﻫﺎي اﻳﺠﺎد ﺷﺪه در ﻳﻚ ﭘﺮوژه‬
‫• ﺗﺮﻣﻴﻢ ‪ ،‬وﻳﺮاﻳﺶ و ﺑﺎﻳﮕﺎﻧﻲ ﭘﺮوژه‬
‫• ﺑﺎز و ﺑﺴﺘﻦ ﭘﺮوژه ﺑﺎ اﺳﺘﻔﺎده از ﻓﺮاﻣﻴﻦ ‪Elop‬‬
‫ﻧﻜﺘﻪ ‪:‬وﻗﺘﻲ ﺷﻤﺎ ﭘﺮوژه را ﺑﺎز ﻣﻴﻜﻨﻴﺪ ﺳﺎﺧﺘﺎر درﺧﺘﻲ آن در ﭘﻨﺠﺮه ﺳﺎﺧﺘﺎري ﻧﻤﺎﻳﺶ داده ﻣـﻲ ﺷـﻮد‬
‫ﻛﻪ ﺧﻮاﻫﻴﺪ دﻳﺪ ‪ Project Object‬در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ ﻗﺮار دارد ‪.‬‬
‫‪Libraries‬‬
‫ﻳﻚ ﻛﺘﺎﺑﺨﺎﻧﻪ در ﭘﺮوژه ﺣﺎوي ﺗﻮاﺑﻊ ‪ ،‬ﺑﻼﻛﻬﺎ ‪ ،‬داده ﻫﺎ ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﻫﺎ و ﻳﺎ ﻛﺘﺎﺑﺨﺎﻧﻪ ﻫﺎي ﻣﺘﻌﺪدي ﺑﺎﺷﺪ ﻛـﻪ‬
‫ﻳﺎ از ﻗﺒﻞ ﺑﻪ ﺻﻮرت آﻣﺎده در اﺧﺘﻴﺎر ﻃﺮاح ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ و ﻳﺎ اﻳﻨﻜـﻪ ﺗﻮﺳـﻂ ﺧـﻮد ﻃـﺮاح اﻳﺠـﺎد ﻣـﻲ‬
‫ﮔﺮدﻧﺪ‪.‬‬

‫‪14‬‬
‫ﻣﺪﻳﺮﻳﺖ داده ﻫﺎ در ‪Elop II‬‬

‫اﻟﺰاﻣﺎ ﺑﺮاي ﺗﻮﻟﻴﺪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻓﻘﻂ ﻣﻲ ﺗﻮاﻧﻴﻢ از داده ﻫﺎ ‪،‬ﺗﻮاﺑﻊ ‪،‬ﺑﻼﻛﻬﺎ و اﺷﻴﺎﺋﻲ اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻛـﻪ ﻗـﺒﻼ‬
‫در ﭘﺮوژه ﻣﺰﺑﻮراﻳﺠﺎد ﮔﺮدﻳﺪه ﺑﺎﺷﻨﺪ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ ﻛﻪ ﻋﻨﺎﺻﺮ ﺳﺎزﻧﺪه ﻳﻚ ﺑﺮﻧﺎﻣـﻪ ﻗﺒـﻞ از اﻳﺠـﺎد آن ﺑـﻪ‬
‫ﺻﻮرت ﺟﺪاﮔﺎﻧﻪ ﺳﺎﺧﺘﻪ ﺷﻮﻧﺪ ﻳﺎ اﻳﻨﻜﻪ ﻣﻮﺟﻮد ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺑﺮاي اﻳﻨﻜﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﺑﺘﻮاﻧﺪ از داده ﻫﺎ ﻳﺎ ‪ Object‬ﻫﺎي ﺧﺎرﺟﻲ در ﺑﺮﻧﺎﻣﻪ اﺳﺘﻔﺎده ﻛﻨﺪ ﺑﺎﻳﺪ آﻧﻬـﺎ‬
‫را ﺑﻪ ﭘﺮوژه ﻣﺰﺑﻮر ﻣﺘﺼﻞ )‪ (Link‬ﻛﻨﺪ‪.‬‬

‫‪Link‬‬
‫ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮرد اﺳﺘﻔﺎده در ‪ Elop II‬ﻣﻴﺒﺎﺷﺪ ﻛﻪ وﻇﻴﻔﻪ اﺗﺼﺎل داده ﻫﺎ و اﺷﻴﺎء ﺧﺎرﺟﻲ‬
‫و داﺧﻠﻲ را دارد ﺑﻪ اﻳﻦ ﺻﻮرت ﻛﻪ ﭘﺲ از اﻳﺠﺎد ﻳـﻚ ‪ Link‬در ﭘـﺮوژه )راﺳـﺖ ﻛﻠﻴـﻚ روي ﭘـﺮوژه‬
‫ازﻣﻨﻮي ‪ New Link‬را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ( و ﺑﺎز ﻛﺮدن ﻛﺎدر ﻣﺤﺎوره اي وﻳﮋﮔﻴﻬﺎي ‪ Link‬ﻣﺴﻴﺮ‬
‫داده ﻳﺎ ﺷﺊ ﺧﺎرﺟﻲ را در ﻛﺎدر ‪ Target‬ﻗﻴﺪ ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫ﻣﺘﻐﻴﺮﻫﺎ در ﺑﺮﻧﺎﻣﻪ‬
‫ﻣﺘﻐﻴﺮﻫﺎ در ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻣﻜﺎﻧﻬﺎﻳﻲ از ﺣﺎﻓﻈﻪ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺴﺘﻪ ﺑﻪ ﻧـﻮع آﻧﻬـﺎ ﻣﻘـﺎدﻳﺮ ﻣﺘﻔـﺎوت در ﺧـﻮد‬
‫ﺟﺎي ﻣﻲ دﻫﻨﺪ ‪.‬‬

‫‪15‬‬
‫ﺑﻪ زﺑﺎن ﺳﺎده ﺗﺮ در ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﻨﺘﺮﻟﻲ ﻣﺘﻐﻴﺮﻫﺎ وﻇﻴﻔﻪ دارﻧﺪ ﻛﻪ ﻣﻘﺎدﻳﺮ ارﺳﺎﻟﻲ ﻳـﻚ ﻋﻨـﺼﺮ ﻣﻨﻄﻘـﻲ‬
‫ﺑﺮﻧﺎﻣﻪ وﻳﺎ اﻳﻨﻜﻪ از ﻳﻚ ﺳﻨﺴﻮر ﺳﺨﺖ اﻓﺰاري را ﮔﺮﻓﺘﻪ و ﺑﺎﻟﻌﻜﺲ‪.‬‬
‫اﻧﻮاع ﻣﺘﻐﻴﺮﻫﺎ‬

‫‪ Local Vriable‬ﻣﺘﻐﻴﺮﻫﺎي ﻣﺤﻠﻲ ‪ :‬ﻣﺘﻐﻴﺮﻫﺎ ﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ درون ﻳـﻚ ﺑﺮﻧﺎﻣـﻪ ‪،‬ﺗـﺎﺑﻊ و ﻳـﺎ ﻳـﻚ‬
‫ﺑﻼك ﺗﻌﺮﻳﻒ ﻣﻴﮕﺮدﻧﺪ و ﻓﻘﻂ در ﻫﻤﺎن ﻣﺤﻞ ﻗﺎﺑﻞ دﺳﺘﻴﺎﺑﻲ ﻫﺴﺘﻨﺪ ‪ .‬ﻣﺘﻐﻴﺮﻫﺎ ﻣﺤﻠﻲ ﻗﺎﺑﻠﻴﺖ ارﺗﺒﺎط ﺑـﺎ‬
‫ﺳﺨﺖ اﻓﺰار و ﮔﺮﻓﺘﻦ ﻣﻘﺎدﻳﺮ و ﻛﻤﻴﺘﻬﺎي ﻣﺘﻔﺎوت را دارﻧﺪ ‪.‬‬
‫)‪ Interface Variables (VAR_INPUT, VAR_OUTPUT‬ﻣﺘﻐﻴﺮﻫﺎ ورودي‪/‬‬
‫ﺧﺮوﺟﻲ ‪:‬‬
‫اﻳﻦ ﻧﻮع ﻣﺘﻐﻴﺮﻫﺎ ﻓﻘﻂ ﻣﻲ ﺗﻮاﻧﻨﺪ در ﻳﻚ ﺗﺎﺑﻊ ﻳﺎ ﻳﻚ ﺑـﻼك ﺗﻌﺮﻳـﻒ ﮔﺮدﻧـﺪ ‪.‬ﻛـﺎرﺑﺮد اﻳـﻦ ﻣﺘﻐﻴﺮﻫـﺎ در‬
‫ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ دﻳﺠﻴﺘﺎل داﺧﻠﻲ ﺗﻮاﺑﻊ ﻳﺎ ﺑﻼﻛﻬﺎ ﺑﺎ ﻣﺪارﻫﺎي ﺧﺎرج از آﻧﻬﺎ ‪ ،‬ﻣﻲ ﺑﺎﺷﺪ و اﻣﻜﺎن ارﺗﺒﺎط‬
‫ﻣﺴﺘﻘﻴﻢ ﺑﺎ ﺳﺨﺖ اﻓﺰار را ﻧﺪارﻧﺪ در واﻗﻊ اﻳﻦ ﻧﻮع ﻣﺘﻐﻴﺮﻫﺎ واﺳﻄﻲ ﺑﻴﻦ ﺗﻮاﺑﻊ ﻳـﺎ ﺑﻼﻛﻬـﺎ ﺑـﺎ ﻗـﺴﻤﺘﻬﺎي‬
‫ﻣﺨﺘﻠﻒ ﻳﻚ ﺗﺎﺑﻊ ﻳﺎ ﺑﻼك ﺑﺮﻧﺎﻣﻪ ﻫﺎي دﻳﮕﺮ ﻣﻲ ﺑﺎﺷﺪ ‪.‬‬

‫)‪ Gobal Variables (VAR_GLOBAL‬ﻣﺘﻐﻴﺮﻫﺎ ي ﻋﻤﻮﻣﻲ‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ از ﻧﺎﻣﺸﺎن ﭘﻴﺪاﺳﺖ ﻣﺘﻐﻴﺮﻫﺎ ﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺮاي ﻛﻞ ﺑﺮﻧﺎﻣﻪ ﻗﺎﺑﻞ دﺳﺘﻴﺎﺑﻲ ﻫـﺴﺘﻨﺪ ﺑـﺮاي‬
‫اﺳﺘﻔﺎده از ﻣﺘﻐﻴﺮﻫﺎ ي ﻋﻤﻮﻣﻲ در ﻗﺴﻤﺘﻬﺎ و ﺑﻼﻛﻬﺎي ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳـﺪ ﻫﻤـﺎن ﻣﺘﻐﻴﺮﻫـﺎ را ﺑـﻪ ﺻـﻮرت‬
‫ﻣﺘﻐﻴﺮ ﺧﺎرﺟﻲ‪ VAR_EXTERNAL‬در ﺑﻼك ﻣﺰﺑﻮر ﺗﻌﺮﻳﻒ ﻛﻨﻴﻢ ‪.‬‬
‫ﻣﺜﺎل ‪ :‬در ﺷﻜﻞ زﻳﺮ ﻣﺘﻐﻴﺮ ‪ GE2‬ﻛﻪ در ﺑﻼك ‪ FBY‬و ‪ FBX‬ﻣﻮرد اﺳـﺘﻔﺎده ﻗـﺮار ﮔﺮﻓﺘـﻪ ﻳـﻚ‬
‫ﻣﺘﻐﻴﺮ ﻋﻤﻮﻣﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در ﺑﺮﻧﺎﻣﻪ اﺻﻠﻲ اﻳﺠﺎد ﺷﺪه و در ﺑﻼﻛﻬـﺎي ‪ FBX‬و ‪ FBY‬ﺑـﻪ ﺻـﻮرت‬
‫ﻳﻚ ﻣﺘﻐﻴﺮ ﺧﺎرﺟﻲ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮدﻳﺪ اﺳﺖ ‪.‬‬
‫ﻫﻤﭽﻨﻴﻦ ﻣﻄﺎﺑﻖ ﺷﻜﻞ ﻣﺸﺎﻫﺪه ﻣﻴﻜﻨﻴﺪ ﻛﻪ ‪ VI1‬در ‪ FBX‬ﻳـﻚ ﻣﺘﻐﻴـﺮ ورودي و راﺑﻄـﻲ اﺳـﺖ‬
‫ﺑﻴﻦ ﻳﻚ ﻣﺘﻐﻴﺮ از ﺑﺮﻧﺎﻣﻪ ﺑﺎ ﺑﻼك ‪ FBX‬ﻣﻲ ﺑﺎﺷﺪ ‪.‬‬
‫و ﻧﻴﺰ ﻃﺒﻖ ﺷﻜﻞ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﻛﻪ ‪ GE2‬ﻛﻪ ﻳﻚ ﻣﺘﻐﻴﺮ ﻋﻤﻮﻣﻲ اﺳﺖ ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﺳﺨﺖ اﻓـﺰار‬
‫ﻣﺘﺼﻞ ﮔﺮدﻳﺪه اﺳﺖ‪.‬‬

‫‪16‬‬
‫ﻧﺤﻮه اﻳﺠﺎد ﻣﺘﻐﻴﺮﻫﺎ در ﺗﻮاﺑﻊ ‪ ،‬ﺑﻼﻛﻬﺎ و ﺑﺮﻧﺎﻣﻪ ﻫﺎ ‪:‬‬
‫ﺑﺮاي اﻳﺠﺎد ﻣﺘﻐﻴﺮﻫﺎ ﺑﺎﻳﺪ از وﻳﺮاﻳﺸﮕﺮ ﻣﺘﻐﻴﺮﻫﺎ ﻛﻪ ﻣﻄﺎﺑﻖ ﺷﻜﻞ در ﻗﺴﻤﺖ ﭘﺎﻳﻴﻦ وﻳﺮاﻳﺸﮕﺮ ﺗﻮاﺑﻊ ﻗـﺮار‬
‫دارد اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ ﺑﻪ اﻳﻦ ﺻﻮرت ﻛﻪ ﻧﻮع ﻣﺘﻐﻴﺮ را از ﻟﺒﻪ ﻫﺎي ﻣﻮﺟﻮد در وﻳﺮاﻳﺸﮕﺮ ﻣﺘﻐﻴﺮ اﻧﺘﺨـﺎب‬
‫ﻣﻲ ﻛﻨﻴﻢ و ﺑﺎ دوﺑﺎر ﻛﻠﻴﻚ در ﻳﻜﻲ از ردﻳﻔﻬﺎي ﺧﺎﻟﻲ ﺑﺮاي اﻳﺠﺎد ﻣﺘﻐﻴﺮ اﻗﺪام ﻣﻲ ﻧﻤﺎﻳﻴﻢ )ﺗﻮﺿـﻴﺤﺎت‬
‫ﺑﻴﺸﺘﺮ ﭘﻴﺮاﻣﻮن ﻧﺤﻮه ﻛﺎر ﺑﺎ ﻛﺎدر ﻣﺤﺎوره اي ﻇﺎﻫﺮ ﺷﺪه را در ﺑﺨﺶ آﺧﺮ ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد ( ﭘـﺲ از‬
‫اﻳﺠﺎد ﻣﺘﻐﻴﺮ ﺑﺎﻳﺪ آن را ﺑﻪ ﺻﻮرت ‪ drag & drop‬وارد ﻣﺤﻴﻂ وﻳﺮاﻳﺸﮕﺮ ﺗﺎﺑﻊ ﻳﺎ ﺑﺮﻧﺎﻣﻪ ﻣﺰﺑﻮر ﻧﻤﺎﻳﻴﻢ ‪.‬‬

‫‪17‬‬
‫اﻳﺠﺎد ﻳﻚ ﺑﺮﻧﺎﻣﻪ‬
‫ﺣﺎل ﺑﺮاي اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﻳﺎ ﺑﻼﻛﻬﺎ ي اﻳﺠﺎد ﺷﺪه و ﻳﺎ ﻣﻮﺟﻮد در ﻛﺘﺎﺑﺨﺎﻧﻪ اﺳـﺘﺎﻧﺪارد ‪ Elop‬ﻛـﺎﻓﻲ‬
‫اﺳﺖ آن را از ﺳﺎﺧﺘﺎر درﺧﺘﻲ ﭘﺮوژه اﻧﺘﺨﺎب ﻧﻤﺎﻳﻴﻢ و درون ﻣﺤﻴﻂ ﻛﺎر وارد ﻧﻤﺎﻳﻴﻢ ‪.‬‬

‫اﻛﻨﻮن ﻋﻨﺎﺻﺮي ﻛﻪ در ﻣﺤﻴﻂ ﻛﺎر ﺗﺮﺳﻴﻢ ﺷﺪه اﻧﺪ ﻣﻴﺘﻮاﻧﻨﺪ ﺑﺎ ﻫﻤﺪﻳﮕﺮ ﻣﺘﺼﻞ ﮔﺮدﻧـﺪ ﺑـﺮاي اﻳـﻦ ﻛـﺎر‬
‫ﻛﺎﻓﻲ اﺳﺖ از ﻧﻘﻄﻪ ﻣﻮﺟﻮد در دو ﺳﺮ ﻳﻚ ﻣﺘﻐﻴﺮ ﻳﺎ ﻳﻚ ﺗﺎﺑﻊ ﺑﻮﺳﻴﻠﻪ ﻣﺎوس ﺑﻪ ﻧﻘﻄـﻪ ﻣﻮﺟـﻮد ﺑـﺮ روي‬
‫ﻋﻨﺼﺮ دﻳﮕﺮ ﻳﻚ اﺗﺼﺎل دﻫﻴﻢ‪.‬‬

‫‪18‬‬
‫ﻣﺪﻳﺮﻳﺖ اﺳﻨﺎد ‪:‬‬
‫‪ Elop‬اﻳﻦ اﻣﻜﺎن را ﺑﻪ ﻣﺎ ﻣﻲ دﻫﺪ ﺗﺎ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﺗﻤﺎم اﺷﻴﺎ ء و ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠـﻒ ﭘـﺮوژه را‬
‫ﺑﻪ ﺻﻮرت ﻣﺴﺘﻨﺪ در ﻳﻚ ﺟﺪول ﻧﮕﻬﺪاري ﻛﻨﻴﻢ و در ﺻﻮرت ﻟﺰوم وﻳﺮاﻳﺶ ﻣﺠﺪد و ﻳﺎ ﭼﺎپ ﻧﻤﺎﻳﻴﻢ ‪.‬‬

‫‪:Offline simulation‬‬
‫اﻳﻦ اﻣﻜﺎن را ﺑﻪ ﻣﺎ ﻣﻴﺪﻫﺪ ﺗﺎ ﺑﺘﻮاﻧﻴﻢ ﺻﺤﺖ ﻋﻤﻠﻜﺮد ﺗﻮاﺑﻊ و ﻳﺎ ﺑﺮﻧﺎﻣﻪ ﻫﺎي اﻳﺠﺎد ﺷﺪه را روي ﻳﻚ ‪pc‬‬
‫اﻣﺘﺤﺎن ﻛﻨﻴﻢ ﺑﺪون اﻳﻨﻜﻪ ﺑﺨﻮاﻫﻴﻢ از ‪ controller‬ﺑﺮاي اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﻳـﺎ ﺗـﺎﺑﻊ ﻣـﻮرد ﻧﻈـﺮ اﺳـﺘﻔﺎده‬
‫ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﺧﻄﻮﻃﻲ ﻛﻪ ﺣﺎﻣﻞ ‪data‬‬ ‫ﻛﻨﻴﻢ ‪ .‬ﭘﺲ از اﺟﺮاي ‪Offline simulation‬‬
‫ﻫﺎي از ﻧﻮع ‪ Boolean‬ﻣﻲ ﺑﺎﺷﻨﺪ ﺑﺼﻮرت ﺧﻄﻮط آﺑﻲ و ﻗﺮﻣﺰ ﻧﻤﺎﻳﺎن ﻣﻲ ﮔﺮدﻧﺪ ‪.‬‬

‫‪19‬‬
‫ﺗﻌﺮﻳﻒ ﻧﻮع ‪Controller‬‬
‫ﺑﺮاي اﻳﻦ ﻛﺎر ﻛﺎﻓﻲ اﺳﺖ روي ‪ Resource‬اﻳﺠﺎد ﺷﺪه راﺳﺖ ﻛﻠﻴﻚ ﻧﻤـﻮده و از ﻣﻨـﻮي ﻇـﺎﻫﺮ ﺷـﺪه‬
‫‪ RT assignment‬و ﺳﭙﺲ ﻧﻮع ﻛﻨﺘﺮﻟﺮ ﻣﻮرد ﻧﻈﺮ را از ﻟﻴﺴﺖ ﻇﺎﻫﺮ ﺷﺪه اﻧﺘﺨﺎب ﻣﻴﻜﻨﻴﻢ ‪.‬‬

‫‪20‬‬
‫ﺗﺨﺼﻴﺺ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ‪Controller‬‬
‫ﻗﺒﻞ ازاﻳﻨﻜﻪ ﻳﻚ ‪ controller‬ﻳﻚ ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﺪ ﺑﺮﻧﺎﻣﻪ ﻣﺰﺑﻮر ﺑﺎﻳﺪ ﺑﻪ ﻛﻨﺘﺮﻟﺮ ارﺟﺎع داده ﺷـﻮد ‪.‬‬
‫ﺑﺮاي اﻳﻦ ﻛﺎر از ﭘﻨﺠﺮه ﻇﺎﻫﺮ ﺷﺪه )ﺷﻜﻞ زﻳﺮ( ﺑﺮﻧﺎﻣﻪ دﻟﺨﻮاه را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬
‫ﺑﺮاي اﻧﺠﺎم اﻳﻦ ﻋﻤﻞ ﻛﺎﻓﻲ اﺳﺖ روي ‪ Resource‬راﺳﺖ ﻛﻠﻴﻚ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﮔﺰﻳﻨـﻪ‬
‫‪ new‬و ﺳﭙﺲ ‪ program instance‬را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫‪: I/O ASSIGNMENT‬‬

‫ﺑﺮاي ﺗﺨﺼﻴﺺ ﻣﺘﻐﻴﺮﻫﺎ ﺑﻪ ﻣﺎژوﻟﻬﺎي ‪ I/O‬ﺑﺎﻳﺴﺖ ﻗﺒﻞ از آن ‪ ،‬ﻣﺎژوﻟﻬﺎ ﻃﺒﻖ ﺗﺮﺗﻴﺐ ﺳﺨﺖ اﻓﺰاري در‬
‫ﻛﺎﺑﻴﻨﺖ‪ ،‬ﻣﺮﺗﺐ ﺷﻮﻧﺪ‪.‬‬
‫ﻃﺒﻖ ﺷﻜﻞ زﻳﺮ ﻣﺎژوﻟﻬـﺎ از ﻟﻴـﺴﺖ اﻧﺘﻬـﺎﻳﻲ در ﺷـﻜﻞ اﻧﺘﺨـﺎب ﮔﺮدﻳـﺪ ‪ .‬و در ﻣﻜـﺎن ﻣﺘﻨـﺎﻇﺮ ‪Drag‬‬
‫‪&Drop‬ﻣﻲ ﺷﻮﻧﺪ‪.‬‬

‫‪21‬‬
‫ﺣﺎل ﺑﺮاي ﺗﺨﺼﻴﺺ ﻣﺘﻐﻴﺮﻫﺎ ﺑﻪ ﻛﺎﻧﺎﻟﻬﺎي ‪ I/O‬ﻛﺎﻓﻲ اﺳﺖ روي ﻣﺎژول ﻣﻮرد ﻧﻈﺮ دو ﺑﺎر ﻛﻠﻴﻚ ﻧﻤﺎﺋﻴﻢ‬
‫ﺗﺎ ﺷﻜﻞ زﻳﺮ ﻇﺎﻫﺮ ﮔﺮدد‪.‬‬

‫‪22‬‬
‫ﻓﻘﻂ ﻣﺘﻐﻴﺮﻫﺎﻳﻲ را ﻣﻲ ﺗﻮان اﻧﺘﺨﺎب ﻛﺮد ﻛﻪ ﻧﻮع آﻧﻬﺎ ﺑﺎ ﻛﺎﻧﺎل ورودي ﺧﺮوﺟﻲ ﻣﻄﺎﺑﻘﺖ داﺷـﺘﻪ ﺑﺎﺷـﺪ‬
‫)ﻣﺜﻼ ﻣﺘﻐﻴﺮﻫﺎي ﻧﻮع ‪ Boolean‬ﺑﺎ ورودي ‪ Digital‬ﻣﻄﺎﺑﻘﺖ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫ﻣﺎژول ‪ F3266‬ﻛﻪ در ﺷﻜﻞ ﻓﻮق ﻧﺸﺎن داده ﺷﺪه داراي ‪ 16‬ﻛﺎﻧﺎل ورودي ﺑـﺎ ﺳـﻴﮕﻨﺎﻟﻬﺎي دﻳﺠﻴﺘـﺎل‬
‫ﻣﻴﺒﺎﺷﺪ‪.‬‬
‫ﻛﺎﻧﺎﻟﻬﺎي ورودي ﺑﺎ ﺷﻤﺎره ﻫﺎي ‪ 1‬ﺗﺎ ‪ 16‬ﺑﺎ ﻧﻮع داده دﻳﺠﻴﺘﺎل در ﺳﻤﺖ ﭼﭗ ﺷﻜﻞ ﻓـﻮق ﻧـﺸﺎن داده‬
‫ﺷﺪه اﻧﺪ و ﻣﺘﻐﻴﺮﻫﺎ ي ‪ Boolean‬در ﺳﻤﺖ راﺳﺖ ﺷﻜﻞ ﻧﻤﺎﻳﺶ داده ﺷﺪه اﻧﺪ ‪.‬‬
‫ﻋﻤﻞ ﺗﺨﺼﻴﺺ ﺑﺎ ‪ Drag &Drop‬ﻛﺮدن ﻣﺘﻐﻴﺮ از ﺳﻤﺖ راﺳﺖ ﺷﻜﻞ و ﻗـﺮار دادن آن در ﺳـﺘﻮن‬
‫‪ Tag Name‬اﻧﺠﺎم ﻣﻲ ﺷﻮد‪.‬‬
‫ﻣﺘﻐﻴﺮﻫﺎي ﺳﻴﺴﺘﻢ‬
‫ﻣﺘﻐﻴﺮﻫﺎ ﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ اﻃﻼﻋﺎت وﺿﻌﻴﺘﻲ ﺳﻴﺴﺘﻢ را درﻳﺎﻓﺖ ﻣﻴﻜﻨﺪ اﻃﻼﻋﺎﺗﻲ ﻧﻈﻴﺮ " ‪ "IO error‬ﻳﺎ‬
‫ﺧﻄﺎﻫﺎي ﺧﻮد ﺳﻴﺴﺘﻢ ﻛﻪ ﻗﺎﺑﻞ دﺳﺘﻴﺎﺑﻲ ﺑﻮﺳﻴﻠﻪ واﺣﺪ ﻣﺮﻛﺰي ﺑﺎﺷﻨﺪ و ﺗﻮﺳﻂ ﻃﺮاح ﺑﺮﻧﺎﻣﻪ دﻳﺠﻴﺘﺎ ل‬
‫ﺗﻌﺮﻳﻒ ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﻣﺘﻐﻴﺮﻫﺎ ي ﺳﻴـﺴﺘﻢ ﻫﻤﭽﻨـﻴﻦ ﻣـﻲ ﺗﻮاﻧﻨـﺪ ﺑـﻪ ﺳﻴـﺴﺘﻢ ‪DCS(data control‬‬
‫)‪ system‬و ﺳﻴﺴﺘﻢ ﻫﺸﺪار دﻫﻨﺪه ارﺳﺎل ﮔﺮدﻧﺪ‪.‬‬

‫‪23‬‬
‫ﺗﺨﺼﻴﺺ ﻣﺘﻐﻴﺮﻫﺎ ي ﺳﻴﺴﺘﻢ ‪:‬‬
‫ﺑﺮاي ﺗﺨﺼﻴﺺ ﻣﺘﻐﻴﺮﻫﺎ ي ﺗﻌﺮﻳﻒ ﺷﺪه در ﻳﻚ ﺑﺮﻧﺎﻣﻪ ‪ Logic‬ﺑﻪ وﺿﻌﻴﺘﻬﺎي ﻣﺨﺘﻠـﻒ ﺳﻴـﺴﺘﻢ ‪ ،‬از‬
‫ﻛﺎدر زﻳﺮ وﺿﻌﻴﺖ دﻟﺨﻮاه را ﺑﻪ ﻣﺘﻐﻴﺮ ﺗﺨﺼﻴﺺ ﻣﻲ دﻫﻴﻢ ‪.‬‬

‫‪ Cod Generator‬ﻣﺒﺪل ﻛﺪ‪:‬‬


‫ﻣﺒﺪل وﻇﻴﻔﻪ دار د ﺗﺎ ﺑﺮ ﻧﺎﻣﻪ ﮔﺮاﻓﻴﻜﻲ وﻳﮋوال را ﻛﻪ ﻳﻚ ﺑﺮ ﻧﺎﻣﻪ ﺳﻄﺢ ﺑﺎﻻ اﺳﺖ ﺑﻪ زﺑـﺎن ﻗﺎﺑـﻞ ﻓﻬـﻢ‬
‫‪PES( programmable‬‬ ‫ﺑــﺮا ي ﻣﺎﺷــﻴﻦ ﺗﺮﺟﻤــﻪ ﻛﻨــﺪ ‪) .‬ﻣﺎﺷــﻴﻦ در اﻳﻨﺠــﺎ ﺳﻴــﺴﺘﻢ‬
‫)‪ electronic system‬ﻣﻲ ﺑﺎﺷﺪ (‬
‫ﺑﺮاي اﺟﺮاي ‪ cod generator‬ﻛﺎﻓﻲ اﺳﺖ روي ‪resource‬ﻛﻠﻴـﻚ راﺳـﺖ ﻛـﺮده واز ﻣﻨـﻮي ﻇـﺎﻫﺮ‬
‫ﺷﺪه‬
‫‪Code generator‬را اﻧﺘﺨﺎب ﻛﻨﻴﻢ ‪ .‬ﭘﻴﻐﺎﻣﻬﺎي ﻣﺒﺪل ﻛﺪ در ﻳﻚ ﭘﻨﺠﺮه ﺑـﺼﻮرت ﺟﺪاﮔﺎﻧـﻪ ﻣﻄـﺎﺑﻖ‬
‫ﺷﻜﻞ زﻳﺮ ﻧﻤﺎﻳﺶ داده ﻣﻴﺸﻮﻧﺪ و در ﻓﺎﻳﻞ ‪ Resource. err‬ذﺧﻴﺮه ﻣﻴﮕﺮدﻧﺪ‪.‬‬

‫‪24‬‬
‫‪: Control panel‬‬
‫ﻗﺒﻞ از اﻳﻨﻜﻪ ﺑﺮﻧﺎﻣﻪ ﺑﻪ زﺑﺎن ﻣﺎﺷـﻴﻦ ﺗﺮﺟﻤـﻪ ﮔـﺮدد و ﻗﺎﺑﻠﻴـﺖ ‪ Download‬ﻛـﺮدن روي ﻛﻨﺘﺮﻟـﺮ را‬
‫داﺷـــﺘﻪ ﺑﺎﺷـــﺪ ﻣـــﻲ ﺑﺎﻳـــﺴﺖ ﮔـــﺬرﮔﺎه داده ﻫـــﺎ )‪ (Bus‬ﻣﻴـــﺎن ﻛﻨﺘﺮﻟـــﺮ و ‪ pc‬در ﻗـــﺴﻤﺖ‬
‫ﭘﻴﻜﺮﺑﻨﺪي)‪ (Configuration‬ﺑﺮﻧﺎﻣﻪ ﺗﻌﺮﻳﻒ ﮔﺮدد‪.‬‬
‫ﭘﺲ از ﻣﻌﺮﻓﻲ ‪ Bus‬ﻣﻴﺎن ‪ pc‬و ‪ controller‬ﻟﺒﻪء ‪ CP‬ﺑﻪ ﭘﻨﺠـﺮه ﺳـﻤﺖ راﺳـﺖ اﺿـﺎﻓﻪ ﻣـﻲ‬
‫ﮔﺮدد‪ .‬ﺑﺎ اﺳﺘﻔﺎده از )‪ CP(control panel‬ﻋﻤﻞ ‪ down load‬را اﻧﺠـﺎم ﻣـﻲ دﻫـﻴﻢ و ﻛﻨﺘﺮﻟـﺮ را‬
‫ﺟﻬﺖ اﺟﺮا آﻣﺎده ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫اﺑﺰارﻫﺎي دﻳﮕﺮي ﻣﺎﻧﻨﺪ "‪ ، "online change" ، "status display‬ﻗﺎﺑﻠﻴـﺖ ﻣـﺸﺎﻫﺪه اﻃﻼﻋـﺎت و‬
‫وﺿﻌﻴﺖ ﻛﻨﺘﺮﻟﺮ ‪ ،‬اﻋﻤﺎل ورودي ﺧﺮوﺟﻲ ﻧﻴﺰ در ﻟﺒﻪ ﻛﻨﺘﺮل ﭘﺎﻧﻞ ﻗﺎﺑﻞ دﺳﺘﺮﺳﻲ ﻫﺴﺘﻨﺪ‪.‬‬

‫‪25‬‬
‫‪: Download / Reload‬‬
‫اﺳﺘﻔﺎده از ﮔﺰﻳﻨﻪ‪ Download / Reload‬اﻣﻜﺎن ﺑﺎر ﮔﺬاري ﺑﺮﻧﺎﻣﻪ را روي ﻛﻨﺘﺮﻟـﺮ را ﺑـﻪ ﻣـﺎ ﻣـﻲ‬
‫دﻫﺪ ‪.‬‬

‫وﻳﮋﮔﻴﻬﺎي ‪Download‬‬

‫• ‪ Download‬ﻣﻴﺘﻮاﻧﺪ ﻛﺪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ را روي ﻳﻚ ﻛﻨﺘﺮﻟﺮ ﻓﺎﻗﺪ ﺑﺮﻧﺎﻣﻪ ﺟﻬـﺖ اﺟـﺮا ‪ ،‬اﻧﺘﻘـﺎل‬


‫دﻫﺪ‪.‬‬
‫‪ Download‬ﺑﺮاي ﺗﻐﻴﻴﺮات ﻋﻤﺪه ﻛﻪ روي ﺑﺮﻧﺎﻣﻪ ﺟﺎري اﻋﻤﺎل ﺷﺪه ﺿﺮوري ﻣﻴﺒﺎﺷﺪ‬ ‫•‬
‫• ﻗﺒﻞ از اﻳﻨﻜﻪ ﻋﻤﻞ ‪ download‬را اﻧﺠﺎم دﻫﻴﻢ ﻛﻨﺘﺮﻟـﺮ ي ﻛـﻪ در ﺣﺎﻟـﺖ اﺟـﺮا ﺑﺎﺷـﺪ ﺑﺎﻳـﺪ‬
‫ﻣﺘﻮﻗﻒ ﮔﺮدد‪.‬‬

‫‪26‬‬
‫وﻳﮋﮔﻴﻬﺎي ‪: Reload‬‬
‫• ﻓﻘﻂ زﻣﺎﻧﻲ از اﻳﻦ ﮔﺰﻳﻨﻪ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺗﻐﻴﻴﺮات اﻧﺪﻛﻲ روي ﺑﺮﻧﺎﻣﻪ اﻋﻤﺎل ﮔﺮدد ‪.‬‬
‫• ﺗﻐﻴﻴﺮات روي ﺑﺮﻧﺎﻣﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﺪون ﺗﻮﻗﻒ ﻛﻨﺘﺮﻟﺮ اﻋﻤﺎل ﮔﺮدد‪.‬‬

‫ﺣﺎل در ﻛﺎدر ﻣﺤﺎوره اي ‪ download/reload‬زﻳـﺮ ﻣـﻲ ﺗـﻮاﻧﻴﻢ ﭘﺮدازﺷـﮕﺮ ﻣـﻮرد ﻧﻈـﺮ را‬
‫اﻧﺘﺨﺎب ﻛﻨﻴﻢ ‪.‬‬

‫‪27‬‬
‫ﻣﻘﺪار اﻧﺘﻘﺎل اﻃﻼﻋﺎت در ﻫﻨﮕﺎم ‪ Download‬ﻣﻄﺎﺑﻖ ﺷﻜﻞ زﻳﺮ ﻧﻤﺎﻳﺶ داده ﻣﻴﺸﻮد ‪:‬‬

‫ﭘﺲ از اﻳﻨﻜﻪ ﺑﺮﻧﺎﻣﻪ ﺟﺪﻳﺪ روي ﻛﻨﺘﺮﻟﺮ ﺑﺎ ﻣﻮﻓﻘﻴﺖ ﺑﺎر ﮔﺬاري ﺷﺪ ﺑﺮاي اﺟـﺮاي آن از دﻛﻤـﻪ‬
‫اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ‪.‬‬
‫‪: (OLT) Online Test‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺷﻜﻞ زﻳﺮ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻟﺒﻪ ‪ OLT‬ﺑـﻪ ﭘﻨﺠـﺮه ﺳـﺎﺧﺘﺎري )ﺳـﻤﺖ راﺳـﺖ( ﻛـﻪ‬
‫ﻣﺮﺑﻮط ﺑﻪ ‪ Online test‬ﻣﻲ ﺑﺎﺷﺪ اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ ‪.‬‬
‫‪Online test‬ﺑﺮ ﺧﻼف ‪ Offline simulation‬ﻛﻪ ﺑﺮاي اﺟﺮا ﻓﻘـﻂ ﺑـﻪ ﻳـﻚ ‪ pc‬ﻧﻴـﺎز داﺷـﺖ‬
‫اﻟﺰاﻣﺎ ﻧﻴﺎز ﺑﻪ ﺧﻮاﻧﺪن ﻣﻘﺎدﻳﺮ واﻗﻌﻲ از ﻛﻨﺘﺮﻟﺮ دارد ‪.‬‬
‫ﻧﻜﺘﻪ‪OLT :‬ﻓﻘﻂ زﻣﺎﻧﻲ ﻣﻲ ﺗﻮاﻧﺪ اﺟﺮا ﮔﺮدد ﻛﻪ ﻧﺴﺨﻪء ﻛﺪﻫﺎي ﺑﺮﻧﺎﻣﻪ ﺑﺎ ﻛﺪﻫﺎي ﻣﻮﺟﻮد‬
‫در ﻛﻨﺘﺮﻟﺮ ﻣﻄﺎﺑﻘﺖ داﺷﺘﻪ ﺑﺎﺷﺪ ‪.‬‬

‫‪28‬‬
‫ﺑﺨﺶ ‪5‬‬

‫ﺗﻤﺮﻳﻦ‬
‫اﻳﺠﺎد ﭘﺮوژه ﻧﻤﻮﻧﻪ ‪:‬‬

‫‪ -1‬اﻳﺠﺎد ﭘﺮوژه ﺟﺪﻳﺪ‬


‫• از ﻣﻨﻮي ‪ project‬ﮔﺰﻳﻨﻪ ‪ new‬را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬
‫‪ -2‬ﺗﻌﺮﻳﻒ ﻣﺴﻴﺮ ﭘﺮوژه‬
‫• در ﺷﻜﻞ زﻳﺮ و در ﻗﺴﻤﺖ ﺳﻤﺖ ﭼﭗ ﻣﺤﻞ اﻳﺠـﺎد ﭘـﺮوژه را اﻧﺘﺨـﺎب و ﻧـﺎم آن را در‬
‫ﻗﺴﻤﺖ ‪ object name‬وارد ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫ﭘﺮوژه ﺟﺪﻳﺪ در ﭘﻨﺠﺮه ﺳﻤﺖ راﺳﺖ )ﭘﻨﺠﺮه ﺳﺎﺧﺘﺎري ( ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد ‪ .‬و ﺗﻮاﺑـﻊ ﻛﺘﺎﺑﺨﺎﻧـﻪ اي‬
‫ﺑﻄﻮر ﺧﻮدﻛﺎر ﺑﻪ ﭘﺮوژه اﺿﺎﻓﻪ ﻣﻲ ﮔﺮدﻧﺪ ‪.‬‬
‫روي ﻋﻼﻣﺖ "‪ "+‬ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﺪ و ﻣﺤﺘﻮﻳﺎت ﭘﺮوژه را ﻣﺸﺎﻫﺪه ﻛﻨﻴﺪ ‪.‬‬

‫‪ -3‬اﻳﺠﺎد ﻳﻚ ﻛﺘﺎﺑﺨﺎﻧﻪ ﺟﺪﻳﺪ‬


‫• در ﺳﺎﺧﺘﺎر درﺧﺘﻲ ﭘﺮوژه روي ﻧﺎم ﭘﺮوژه راﺳﺖ ﻛﻠﻴﻚ ﻣﻲ ﻧﻤﺎﻳﻴﻢ ‪.‬‬
‫ ‪ new‬را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ‬ ‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪library‬‬

‫‪29‬‬
‫ﻛﺘﺎﺑﺨﺎﻧﻪ ﺟﺪﻳﺪ ﺑﺎ ﻧﺎم ‪ new lib‬ﺑﻪ ﭘﺮوژه اﺿﺎﻓﻪ ﻣﻲ ﮔﺮدد‪.‬‬
‫‪ -4‬ﺗﻐﻴﻴﺮ ﻧﺎم ‪Library‬‬
‫• ‪ new lib‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‬
‫• روي آن راﺳﺖ ﻛﻠﻴﻚ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ rename‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ و ﻧـﺎم آن‬
‫را ﺑﻪ ‪ prog –library‬ﺗﻐﻴﻴﺮ دﻫﻴﺪ ‪.‬‬

‫‪ -5‬اﻳﺠﺎد ‪ Program ,Function Block ,Function‬در ‪Library‬‬


‫• روي " ‪ "prog-library‬راﺳﺖ ﻛﻠﻴﻚ ﻛﻨﻴﺪ‬
‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﮔﺰﻳﻨﻪ ‪ newprogram Type‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬
‫• روي ﻋﻼﻣﺖ "‪ "+‬ﻛﻪ ﺟﻠﻮي ‪ Library‬ﻗﺮار دارد ﻛﻠﻴﻚ ﻛﻨﻴﺪ ‪.‬‬
‫ﻳﻚ ﺑﻼك از ﻧﻮع ‪program type‬اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ ‪.‬‬
‫ﻣﺮﺣﻠﻪ ‪ 5‬را ﺑﺮاي اﻳﺠﺎد ‪ Function Block‬و ‪ function‬اﻧﺠﺎم دﻫﻴﺪ‪.‬‬

‫‪30‬‬
‫ﺳﺎﺧﺘﺎر درﺧﺘﻲ ﭘﺮوژه ﺑﻌﺪ از اﻧﺠﺎم ﻣﺮاﺣﻞ ﭘﻨﺠﮕﺎﻧﻪ ﻓﻮق ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻴﺒﺎﺷﺪ ‪.‬‬

‫اﻳﺠﺎد ﻳﻚ ﺑﻼك ‪:‬‬

‫‪Function block‬دو ﺑﺎر ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﺪ ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ وﻳﺮاﻳﺸﮕﺮ ﺗﺎﺑﻊ ﺑﺎز ﺧﻮاﻫـﺪ‬ ‫روي‬
‫در ﻗﺴﻤﺖ وﻳﺮاﻳﺸﮕﺮ اﺑﺘﺪا ﺑﺎﻳﺪ ﻣﺘﻐﻴﺮﻫﺎ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﻢ‬ ‫ﺷـــﺪ‬

‫ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮ ‪:‬‬


‫‪ -1‬در ﻗﺴﻤﺖ وﻳﺮاﻳﺸﮕﺮ ﻣﺘﻐﻴﺮ ﻫﺎ ﻧﻮع ﻣﺘﻐﻴﺮ را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﻧﻮع ‪VAR-INPUT‬‬

‫‪31‬‬
‫‪ -2‬وارد ﻛﺮدن ﻳﻚ ﻣﺘﻐﻴﺮ‬
‫• ﺑﺎ دو ﺑﺎر ﻛﻠﻴﻚ ﻛﺮدن در ردﻳﻒ ﺧﺎﻟﻲ از ﻗﺴﻤﺖ وﻳﺮاﻳﺸﮕﺮ ﻣﺘﻐﻴﺮﻫﺎ ﻛﺎدر ﻣﺤﺎوره اي ﺑﺮاي‬
‫ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮ ﺑﺎز ﻣﻲ ﮔﺮدد‪.‬‬
‫• در ﻗﺴﻤﺖ ‪ Declaration‬ﻧﺎم ﻣﺘﻐﻴﺮ را در ﻗﺴﻤﺖ ‪ Name‬ﺑﺠﺎي ﻧـﺎم ﭘـﻴﺶ ﻓـﺮض‬
‫"‪ "I1‬وارد ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬
‫• در ﻓﻴﻠﺪ ‪Declaration‬ﻧﻮع داده ﻣﺘﻐﻴﺮ )‪ (Bool, integer,…..‬را اﻧﺘﺨﺎب ﻣﻴﻜﻨﻴﻢ‬
‫در ﻗﺴﻤﺖ ‪Position‬ﻣﻜﺎن ﻣﺘﻐﻴﺮ را ﻧﺴﺒﺖ ﺑﻪ)‪POU(program organization unit‬‬ ‫•‬
‫ﺗﻌﻴﻴﻦ ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫• در ﻓﻴﻠﺪ ‪ long name‬ﺗﺸﺮﻳﺢ ﻛﺎﻣﻠﺘﺮي از ﻣﺘﻐﻴﺮ را وارد ﻣﻲ ﻛﻨﻴﻢ ‪ long name .‬ﺑﻪ‬
‫ﻣﺎ ﻛﻤﻚ ﻣﻲ ﻛﻨﺪ ﻛﻪ در ﻣﺮاﺣﻞ ﺑﻌﺪي ﭼﮕﻮﻧﻪ از ﻣﺘﻐﻴﺮ اﺳﺘﻔﺎده ﻛﻨﻴﻢ ‪.‬‬
‫• ﺑﺮاي اﺿﺎﻓﻪ ﻧﻤﻮدن ﻣﺘﻐﻴﺮ ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﻪ ﻟﻴﺴﺖ ﻣﺘﻐﻴﺮﻫﺎ ﻛﻠﻴﺪ ‪ Add‬را ﻣﻲ زﻧﻴﻢ ‪.‬‬
‫ﻛﺎدر ﻣﺤﺎوره اي ﻫﻤﭽﻨﺎن ﺑﺎز ﻣﻲ ﻣﺎﻧﺪ ﺗﺎ زﻣﺎﻧﻲ ﻛﻪ دﻛﻤﻪ ‪ Close‬را ﺑﺰﻧﻴﻢ ‪.‬‬

‫‪32‬‬
‫ﻣﻄﺎﺑﻖ ﺷﻜﻞ زﻳﺮ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ دو ﻣﺘﻐﻴﺮ از ﻧـﻮع ‪ Bool‬ﺑـﻪ ﻳـﻚ ‪ POU‬ﻣﺘـﺼﻞ‬
‫ﺷﺪه اﻧﺪ ‪.‬‬

‫ﺗﻨﻈﻴﻤﺎت ﻇﺎﻫﺮي ﻳﻚ ‪POU‬‬


‫روي ‪ pou‬ي ﻣﻮرد ﻧﻈﺮ ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﮔﺰﻳﻨـﻪ ‪ properties‬را اﻧﺘﺨـﺎب‬
‫ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫• در ﻗﺴﻤﺖ ‪ module text‬ﺗﮓ ﻣﺨﺘﺺ ﺑﻼك )‪ (pou‬ﻣـﻮرد ﻧﻈـﺮ را وارد ﻣـﻲ ﻛﻨـﻴﻢ ‪.‬در‬
‫ﺻﻮرت ﻟﺰوم ﻣﻲ ﺗﻮاﻧﻴﻢ ﺑﺎ زدن دﻛﻤﻪ ‪ Edit font‬ﻧﻮع ﻗﻠﻢ را ﺗﻐﻴﻴﺮ دﻫﻴﻢ ‪.‬‬
‫‪ Module text‬در ﺷﻨﺎﺳﺎﺋﻲ ﺑﻼك ﻣﻮرد ﻧﻈﺮ در ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺑﺰرﮔﺘﺮ ﺑﻪ ﻛﺎرﺑﺮ ﻛﻤﻚ ﻓﺮاواﻧﻲ ﻣﻲ‬
‫ﻛﻨﺪ‬
‫• ﺑﺮاي ﺗﻐﻴﻴﺮ ﻇﺎﻫﺮ ﮔﺮاﻓﻴﻜﻲ ‪ pou‬ﻣﻮرد ﻧﻈﺮ در ﻗﺴﻤﺖ ‪ graphic‬ﻣﻲ ﺗﻮان رﻧﮓ ﻳـﺎ ﺗـﺼﻮﻳﺮ‬
‫دﻟﺨﻮاه را اﻧﺘﺨﺎب ﻧﻤﻮده ‪ ،‬ﺑـﺮاي اﻧﺘﺨـﺎب ﺗـﺼﻮﻳﺮ دﻛﻤـﻪ ‪ Browse‬را زده و ﻣﺤـﻞ ﻓﺎﻳـﻞ‬
‫ﺗﺼﻮﻳﺮي را ﻣﺸﺨﺺ ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫‪33‬‬
‫ﺗﻐﻴﻴﺮ اﻧﺪازه ‪POU‬‬
‫ﺑﺮاي اﻳﻦ ﻛﺎر ﻛﺎﻓﻲ اﺳﺖ ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را روي ﮔﻮﺷﻪ ‪ pou‬ﻗﺮار دﻫﻴﺪ و اﻧﺪازه آن ﻛﻮﭼﻚ ﻳﺎ ﺑـﺰرگ‬
‫ﻛﻨﻴﻢ ‪.‬‬

‫ﺗﻮﻟﻴﺪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ در ﻣﺤﻴﻂ ﻃﺮاﺣﻲ ‪:‬‬

‫‪ -1‬اﺳﺘﻔﺎده از ‪ drag & drop‬ﺑﺮاي ﻗﺮار دادن ﻳﻚ ﺷﻲ از ﻛﺘﺎﺑﺨﺎﻧﻪ در ﻣﺤﻴﻂ ﻃﺮاﺣﻲ‬


‫• در ﺳﺎﺧﺘﺎر درﺧﺘﻲ ﭘﺮوژه روي ﻋﻼﻣﺖ "‪ "+‬ﻣﻘﺎﺑﻞ ‪ Library‬ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﺪ ‪.‬‬
‫• در ﺷﺎﺧﻪ ‪ Standard libs‬ﻛﺘﺎﺑﺨﺎﻧﻪ ‪ IEC1131-3‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ و ﺗﻮاﺑـﻊ ‪ Bitstr‬را‬
‫اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪34‬‬
‫• ﮔﻴﺖ ‪ AND‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ و آن را درون ﻣﺤﻴﻂ ﻃﺮاﺣﻲ ﺑﻜﺸﻴﺪ ‪.‬ﭘﺲ از رﻫﺎ ﺷﺪن دﻛﻤـﻪ‬
‫ﻣﺎوس ﺷﻲء ﻣﻮرد ﻧﻈﺮ در ﻣﺤﻴﻂ اﻳﺠﺎد ﻣﻲ ﮔﺮدد ‪.‬‬

‫‪ -2‬ﺗﻜﻤﻴﻞ ﺑﺮﻧﺎﻣﻪ ﺑﺎ اﺿﺎﻓﻪ ﻧﻤﻮدن اﺷﻴﺎء‬


‫• اﺿﺎﻓﻪ ﻧﻤﻮدن ﺗﻮاﺑﻊ و اﺟﺰاي ﻣﻨﻄﻘﻲ ﻣﻮرد ﻧﻈﺮ از ﻛﺘﺎﺑﺨﺎﻧﻪ ‪Elop‬‬
‫ﻛﭙﻲ ﻧﻤﻮدن ﻳﻚ ﺷﻲء ﻣﻮﺟﻮد در ﺻﻔﺤﻪ ‪:‬‬
‫ﺑﺮاي اﻳﻦ ﻛﺎر ﻛﺎﻓﻲ اﺳﺖ ﻛﻠﻴﺪ ‪ Ctrl‬را ﻧﮕﻪ داﺷﺘﻪ و ﺷﻲء ﻣﺮد ﻧﻈﺮ را ﺑﺎ ﻣﺎوس ‪drag &drop‬‬
‫ﻧﻤﺎﻳﻴﻢ ‪.‬ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﻳﻚ ﺷﻲ ء را ﻧﻤﻲ ﺗﻮان روي ﺷﻲ ء دﻳﮕﺮي اﻳﺠﺎد ﻧﻤﻮد ‪.‬‬

‫‪Zoom , Grid -3‬‬


‫ﺑﺮاي ﻧﻤﺎﻳﺶ ﺻﻔﺤﻪ ﺑﻪ ﺻﻮرت ‪ grid‬و ﻳﺎ ﺟﻬﺖ ﺑﺰرگ و ﻛﻮﭼﻚ ﻧﻤﻮدن آن از اﺑﺰارﻫﺎي ﻣﻮﺟﻮد ﻃﺒـﻖ‬
‫ﺷﻜﻞ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ‪.‬‬

‫‪ -3‬اﺿﺎﻓﻪ ﻧﻤﻮدن ﻣﺘﻐﻴﺮ ﺑﻪ ﺑﺮﻧﺎﻣﻪ‬


‫در ﻗﺴﻤﺖ ﻟﻴﺴﺖ ﻣﺘﻐﻴﺮ ﻫﺎ ‪،‬ﻣﺘﻐﻴـﺮ ﻣـﻮرد ﻧﻈـﺮ را اﻧﺘﺨـﺎب ﻧﻤـﻮده و آن را در ﺻـﻔﺤﻪ ﻃﺮاﺣـﻲ ﻣـﻲ‬
‫ﻛﺸﻴﻢ ‪.‬‬
‫™ ﻧﻤﻲ ﺗﻮان ﻣﺘﻐﻴﺮ را روي ﻳﻚ ﺷﻲ ء ﻣﻮﺟﻮد در ﺻﻔﺤﻪ ﻗﺮار داد ‪.‬‬
‫‪35‬‬
‫‪ -4‬اﻳﺠﺎد ارﺗﺒﺎط ﻣﻴﺎن ﻣﺘﻐﻴﺮﻫﺎ ‪ ،‬ﺗﻮاﺑﻊ و ﺑﻼﻛﻬﺎ‬
‫• ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را روي ﺳﺮ ﻣﺘﻐﻴﺮ ﻗﺮار داده و ﺑﻪ ﻗﺴﻤﺖ اﺗﺼﺎل ﻳﻚ ﺑﻼك ﻳﺎ ﺗﺎﺑﻊ ﻣﻲ ﻛﺸﻴﻢ ‪.‬‬

‫ﻧﻜﺘﻪ ‪ :‬اﻣﻜﺎن ارﺗﺒﺎط دو ﻣﺘﻐﻴﺮ ﺑﺎ ﻧﻮع داده ﻫﺎي ﻣﺘﻔﺎوت وﺟﻮد ﻧﺪارد و رﻧﮓ ﺧﻂ ارﺗﺒﺎﻃﻲ ﺑﻴﻦ دو ﺷـﻲ‬
‫ء ﺑﻪ ﻧﻮع داده آن ﺑﺴﺘﮕﻲ دارد ‪.‬‬

‫اﻳﺠﺎد ﻳﻚ ‪: Program‬‬
‫ﻧﻤﺎﻳﻴﺪ ﺗﺎ ﻣﺤﻴﻂ وﻳﺮاﻳﺸﻲ ﻇﺎﻫﺮ ﮔﺮدد‪.‬‬ ‫ﺷﻲء ‪ Program‬را ﺑﺎ دو ﺑﺎر ﻛﻠﻴﻚ روي ﺑﺎز‬
‫ﻣﺮاﺣﻞ ﻗﺒﻞ در ﺗﻌﺮﻳﻒ ﻳﻚ ﺑـﻼك ﻋﻤـﻞ ﻣـﻲ‬ ‫ﺑﺮاي اﻳﺠﺎد ﻣﺘﻐﻴﺮ و ﺗﻌﺮﻳﻒ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻣﺎﻧﻨـﺪ‬
‫ﻛﻨﻴﻢ ‪.‬‬
‫‪36‬‬
‫اﻳﺠﺎد ‪Configuration‬‬
‫• روي ﭘــﺮوژه در ﻗــﺴﻤﺖ ﺳــﺎﺧﺘﺎر درﺧﺘــﻲ ﻛﻠﻴــﻚ راﺳــﺖ ﻧﻤﺎﻳﻴــﺪ از ﻣﻨــﻮي ﻇــﺎﻫﺮ ﺷــﺪه‬
‫‪ NewConfiguration‬را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫• ﻧﺎم ‪ configuration‬ﺟﺪﻳﺪ را ﺑﺎ ﻓﺮﻣﺎن ‪ rename‬ﺗﻐﻴﻴﺮ ﻣﻲ دﻫﻴﻢ ‪.‬‬

‫اﻳﺠﺎد ‪Resource‬‬
‫• در ﻗﺴﻤﺖ ﺳﺎﺧﺘﺎر درﺧﺘﻲ روي ‪ configuration‬ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده‬
‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ NewResource‬را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬

‫ﻧﻜﺘﻪ ‪ :‬اﮔﺮ ﺷﻤﺎ ﻣﺎﻳﻞ ﺑﻪ ﺗﻐﻴﻴﺮ ﻧﺎم ‪ Resource‬ﻣـﻲ ﺑﺎﺷـﻴﺪ ﻧﺒﺎﻳـﺪ ﻓﺮاﻣـﻮش ﻛﻨﻴـﺪ ﻛـﻪ ﻧـﺎم آن از ‪8‬‬
‫ﻛﺎراﻛﺘﺮ ﺑﻴﺸﺘﺮ ﺷﻮد ‪.‬‬

‫‪37‬‬
‫‪Resource‬‬ ‫دادن ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﻪ‬

‫• روي ‪ Resource‬ﻣﻮرد ﻧﻈﺮ ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده‬


‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ New Instance‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫• ﺣﺎل ﺑﺮﻧﺎﻣﻪ اي را ﻛﻪ ﻗﺮار اﺳﺖ در ‪ Resource‬ﭘﺮدازش ﺷﻮد را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬


‫ﻧﻜﺘﻪ‪ :‬اﻟﺰاﻣﺎ ﺑﺮﻧﺎﻣﻪ ﻣﺬﻛﻮر ﻣﻲ ﺑﺎﻳﺴﺖ در ﻳﻚ ‪ Library‬اﻳﺠﺎد ﺷﺪه ﺑﺎﺷﺪ ‪.‬‬

‫‪38‬‬
‫ﺳﺎﺧﺘﺎر ﭘﺮوژه ﺑﻌﺪ از ﻣﺮاﺣﻞ ﻓﻮق ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺧﻮاﻫﺪ ﺷﺪ ‪:‬‬

‫اﻛﻨﻮن ﺑﺮﻧﺎﻣﻪ ﻣﻮﺟﻮد در ‪ Resource‬ﺑﺮﻧﺎﻣﻪ اي اﺳﺖ ﻛﻪ ﻗﺮار اﺳﺖ ‪ controller‬آن را اﺟﺮا ﻧﻤﺎﻳﺪ ‪.‬‬
‫اﻳﺠﺎد ‪Task‬‬
‫• در ﺳﺎﺧﺘﺎر درﺧﺘﻲ ﭘﺮوژه روي ‪ Resource‬ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﺪ ‪.‬‬
‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ New Task‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪39‬‬
‫ﺗﺨﺼﻴﺺ ‪ Task‬ﺑﻪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ‪:‬‬
‫• در ﺳﺎﺧﺘﺎر درﺧﺘﻲ ﭘﺮوژه روي ﺑﺮﻧﺎﻣﻪ ﻣﻮﺟﻮد در ‪ Resource‬ﻛﻠﻴﻚ ﻛﻨﻴـﺪ از ﻣﻨـﻮي ﻇـﺎﻫﺮ‬
‫ﺷﺪه ‪ Properties‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬

‫‪Task‬‬ ‫• در ﻛـــﺎدر ﻣﺤـــﺎوره اي ‪ properties‬روي دﻛﻤـــﻪ ‪ Browse‬در ﻗـــﺴﻤﺖ‬


‫‪ Assignment‬ﻛﻠﻴﻚ ﻛﻨﻴﺪ ‪.‬‬

‫ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻛﺎدر ‪ Assign Task‬ﺑﺎز ﺧﻮاﻫﺪ ﺷﺪ اﻛﻨﻮن در اﻳﻦ ﻗﺴﻤﺖ ‪ Task‬ﻣﺮد ﻧﻈﺮ را ﺑـﻪ‬
‫ﺑﺮﻧﺎﻣﻪ ﻣﺰﺑﻮر ﺗﺨﺼﻴﺺ ﻣﻲ دﻫﻴﻢ و دﻛﻤﻪ ‪ OK‬را ﻣﻲ زﻧﻴﻢ ‪.‬‬

‫‪40‬‬
‫ﻧﻜﺘﻪ ‪ :‬ﻳﻚ ‪ Task‬ﻓﻘﻂ ﺑﺮاي ﺷﺒﻴﻪ ﺳﺎزي ﺑﺮﻧﺎﻣﻪ روي ‪ PC‬ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻴﮕﻴﺮد و ﮔﺮ ﻧﻪ ﻫـﻴﭻ‬
‫اﺛﺮي روي ﺑﺮﻧﺎﻣﻪ در ‪ PLC‬ﻧﺪارد ‪.‬‬

‫‪Offline Simulation:‬‬
‫• روي ‪ Resource‬ﻛﻠﻴﻚ راﺳﺖ ﻛﻨﻴـﺪ از ﻣﻨـﻮي ﻇـﺎﻫﺮ ﺷـﺪه ‪ Offline Simulation‬را‬
‫اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫• ﻣﻄﺎﺑﻖ ﺷﻜﻞ زﻳﺮ دﻛﻤﻪ ‪)Cold boot‬آﺑﻲ رﻧﮓ( را ﻣﻲ زﻧﻴﻢ ‪.‬‬


‫• وﺿﻌﻴﺖ از ﺣﺎﻟﺖ ‪ stopped‬ﺑﻪ ‪ Running‬ﻣﻲ رود ‪.‬‬
‫• اﻛﻨﻮن ﺑﺮاي ﻣﺸﺎﻫﺪه ﻧﺤﻮه ﻛﺎر ﺗﺎﺑﻊ ﻣﻮرد ﻧﻈﺮ ﻛﺎﻓﻲ اﺳﺖ دو ﺑﺎر روي آن ﻛﻠﻴﻚ ﻧﻤﺎﻳﻴﺪ ﺗﺎ ﺑـﺎز‬
‫ﮔﺮدد اﻳﻦ ﻛﺎر را ﻣﻴﺘﻮاﻧﻴﺪ ﺑﺎ دو ﺑﺎر ﻛﻠﻴﻚ درون ﺑﺮﻧﺎﻣﻪ روي ﺧﻮد ﺗﺎﺑﻊ اﻧﺠﺎم دﻫﻴﺪ ‪.‬‬

‫‪41‬‬
‫ﺧﺮوﺟﻲ و‬ ‫ﻧﻜﺘﻪ ‪ :‬ﺷﻤﺎ ﻣﻴﺘﻮاﻧﻴﺪ ﭼﻨﺪﻳﻦ ﺗﺎﺑﻊ را ﺑﻪ ﺻﻮرت ﻫﻤﺰﻣﺎن ﺑﺎز ﻧﻤﺎﻳﻴﺪ و ﺳﻴﮕﻨﺎﻟﻬﺎي ورودي ‪،‬‬
‫ﻳﺎ داﺧﻠﻲ آﻧﻬﺎ را ردﻳﺎﺑﻲ ﻛﻨﻴﺪ ‪.‬‬

‫ﺗﻐﻴﻴﺮ وﺿﻌﻴﺖ ﺳﻴﮕﻨﺎﻟﻬﺎ و ﺗﺴﺖ ﻛﺮدن ﻣﺪار ‪ Logic‬ﺑﺎ ‪: OLT‬‬


‫• روي ﻳﻚ ﻋﻨﺼﺮ ﺑﺮﻧﺎﻣﻪ ﻛﻪ ﺣﺎوي ﻳﻚ ﻣﻘﺪار اﺳﺖ راﺳﺖ ﻛﻠﻴﻚ ﻛﻨﻴﺪ ) ﻳﻚ ﻣﺘﻐﻴﺮ (‬
‫• ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را ﺑﻪ ﻃﺮف ﭘﺎﻳﻴﻦ ﺑﻜﺸﻴﺪ ‪.‬‬
‫• ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻓﻴﻠﺪ ‪ OLt‬ﺑﻪ ﻃﺮف ﺑﻴﺮون ﻛﺸﻴﺪه ﺷﺪه اﺳﺖ ‪.‬‬
‫• ﺣﺎل ﺑﺎ دو ﺑﺎر ﻛﻠﻴﻚ روي آن ﻣﻲ ﺗﻮان ﺳﻴﮕﻨﺎل ﻣﺮﺑﻮﻃﻪ را ﺗﻐﻴﻴﺮ داد ‪.‬‬

‫‪42‬‬
‫ﺗﻐﻴﻴﺮ ﺳﻴﮕﻨﺎﻫﺎ ﺑﻄﻮر ﻣﺴﺘﻘﻴﻢ روي ﺧﻮد ﻣﺘﻐﻴﺮ ‪:‬‬
‫• ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را روي ﻋﻨﺼﺮ ﻣﺮد ﻧﻈﺮ ﻗﺮار داده‬
‫• ﻛﻠﻴﺪ ‪ ALT‬را ﻧﮕﻪ داﺷﺘﻪ ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻣﻘﺪار ﻣﺘﻐﻴﺮ ﻳﺎ ﻋﻨﺼﺮ ﻣﻮﺟﻮد در ﺑﺮﻧﺎﻣـﻪ ﺑـﻪ ﺷـﻤﺎ‬
‫ﻧﺸﺎن داده ﺧﻮاﻫﺪ ﺷﺪ ‪.‬‬
‫• اﻛﻨﻮن ﺑﺎ ﻛﻠﻴﻚ ﻛﺮدن روي آن ﻣﻲ ﺗﻮان ﻣﻘﺪار آن را ﺗﻐﻴﻴﺮ داد ‪.‬‬

‫ﺑﺮاي ﺑﺴﺘﻦ ‪ Offline simulation‬دﻛﻤﻪ ‪ close‬را ﻃﺒﻖ ﺷﻜﻞ ﻓﺸﺎر دﻫﻴﺪ‬

‫‪43‬‬
‫ﺗﻌﻴﻴﻦ ‪Controller‬‬

‫• روي ‪ Resource‬راﺳﺖ ﻛﻠﻴﻚ ﻛﻨﻴﺪ‬


‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ RT assignment‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬
‫• اﻛﻨﻮن از ﻟﻴﺴﺖ ﻇﺎﻫﺮ ﺷﺪه ﻧﻮع ﻛﻨﺘﺮﻟﺮ ﺧﺎﻧﻮاده ‪ HIMA PLC‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‬

‫ﺗﻐﻴﻴﺮات در ﻛﺎﺑﻴﻨﺖ‬
‫• روي ‪ Resource‬راﺳﺖ ﻛﻠﻴﻚ ﻛﻨﻴﺪ‬
‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ Edit cabinet layout‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‬

‫‪44‬‬
‫‪ HIMA‬را ﺧﻮاﻫﻴﺪ دﻳﺪ ‪.‬‬ ‫در ﺷﻜﻞ ﻇﺎﻫﺮ ﺷﺪه ﻳﻚ ﻛﺎﺑﻴﻨﺖ ﺧﺎﻟﻲ‬

‫ﺗﻌﺮﻳﻒ ‪ Rack‬در ﻛﺎﺑﻴﻨﺖ‬


‫• ﻟﺒﻪ ‪ Rack‬را ﻃﺒﻖ ﺷﻜﻞ اﻧﺘﺨﺎب ﻛﻨﻴﺪ‬
‫• ‪ Rack‬ﻣـﻮرد ﻧﻈـﺮ را ازﻟﻴـﺴﺖ اﻧﺘﺨـﺎب ﻛـﺮده و آن را در ﻛﺎﺑﻴﻨـﺖ ‪Drag &drop‬‬
‫ﻧﻤﺎﻳﻴﺪ ‪.‬‬

‫‪45‬‬
‫ﻗﺮار دادن ﻣﺎژوﻟﻬﺎي ‪IO‬‬
‫اﻧﺘﺨـﺎب ﻛﻨﻴـﺪ و در ﻣﻜـﺎن‬ ‫• ﻣﺎژول ﻣﻮرد ﻧﻈﺮ را از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﻟﺒـﻪ ‪Modules‬‬
‫ﻣﻮرد‬
‫ﻧﻈﺮ و روي ‪ Rack‬دﻟﺨﻮاه ‪ Drag & drop‬ﻛﻨﻴﺪ ‪.‬‬

‫ﺗﺨﺼﻴﺺ ﻣﺘﻐﻴﺮﻫﺎ ﺑﻪ ﻣﺎژوﻟﻬﺎي ‪IO‬‬


‫روي ﻣﺎژول ‪ IO‬ﻛﻠﻴﻚ ﻛﻨﻴﺪ ﺗﺎ ﭘﻨﺠﺮه ‪ Edit tag name‬ﺑﺎز ﺷﻮد ‪.‬‬

‫‪46‬‬
‫در ﺳﻤﺖ ﭼﭗ ﺷﻜﻞ زﻳﺮ ﺷﺎﻧﺰده ﻛﺎﻧﺎل ورودي از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷـﺪه ﻣـﺎژول ‪ F3236‬ﻧـﺸﺎن‬
‫داده ﺷﺪه اﺳﺖ در ﻗﺴﻤﺖ راﺳﺖ ﺷﻜﻞ ﻣﺘﻐﻴﺮﻫﺎﻳﻲ از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﻧﻮع ‪ BOOL‬ﻛـﻪ‬
‫ﺑﺎ ﻛﺎﻧﺎﻟﻬﺎي ورودي ﻣﺎژول ‪ F3236‬ﻣﻄﺎﺑﻘﺖ دارﻧﺪ ﻧﺸﺎن داده ﺷﺪه اﻧﺪ ‪.‬‬
‫اﻛﻨﻮن ﺑﺮاي ﺗﺨﺼﻴﺺ ﻣﺘﻐﻴﺮ ﺑﻪ ﻣﺎژول ﻛﺎﻓﻲ اﺳﺖ ‪.‬‬
‫روي ﻧﺎم ﻣﺘﻐﻴﺮ ﻣﻮرد ﻧﻈﺮ ﻛﻠﻴﻚ ﻛﻨﻴﻢ و آن را روي ﻛﺎﻧﺎل ﻣﻮرد ﻧﻈﺮ ‪ Drag &drop‬ﻛﻨﻴﻢ‪.‬‬

‫‪47‬‬
‫ﻧﻜﺘﻪ ‪ :‬ﻫﺮ ﻣﺘﻐﻴﺮ ﻓﻘﻂ ﺑﻪ ﻳﻚ ﻛﺎﻧﺎل ﺗﺨﺼﻴﺺ داده ﻣﻴﺸﻮد ‪.‬‬

‫ﺗﺒﺪﻳﻞ ﻛﺪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ‬
‫• روي ‪ Resource‬راﺳﺖ ﻛﻠﻴﻚ ﻛﻨﻴﺪ ‪.‬‬
‫• از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ Cod generator‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪48‬‬
‫ﮔﺰارش ﺗﺒﺪﻳﻞ ﻛﺪ ﺑﺮﻧﺎﻣﻪ در ﻗﺎﻟﺐ ﻳﻚ ﺟﺪول در ﭘﻨﺠﺮه ﺟﺪا ﮔﺎﻧﻪ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد‪.‬‬

‫‪.‬‬
‫ﭘﺲ از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﺗﺒﺪﻳﻞ ﻛﺪ ﺑﺮﻧﺎﻣﻪ ﺳﻪ ﻓﺎﻳﻞ ﺑﻪ ﭘﺮوژه اﺿﺎﻓﻪ ﻣﻲ ﮔﺮدﻧﺪ ﻛﻪ ﻋﺒﺎرﺗﻨﺪ از ‪:‬‬

‫‪NAME.VGL‬‬
‫‪NAME.COD‬‬
‫‪NAME.ERR‬‬

‫اﺗﺼﺎل ﺑﻴﻦ ‪ pc‬و ‪Controller‬‬


‫روي ‪ configuration‬ﻛﻠﻴﻚ راﺳـﺖ ﻧﻤـﻮده و از ﻣﻨـﻮي ﻇـﺎﻫﺮ ﺷـﺪه ‪ properties‬را اﻧﺘﺨـﺎب‬
‫ﻛﻨﻴﺪ‪.‬‬

‫‪49‬‬
‫اﺿﺎﻓﻪ ﻧﻤﻮدن ‪ BUS‬ﺟﺪﻳﺪ‬
‫• در ﭘﻨﺠﺮه ‪ ، Properties : Configuration‬ﻟﺒﻪ ‪ BUSES‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬
‫• روي دﻛﻤﻪ ‪ Add‬ﺑﺮاي ﺗﻌﺮﻳﻒ ‪ Bus‬ﺟﺪﻳﺪ ﻛﻠﻴﻚ ﻛﻨﻴﺪ ‪.‬‬
‫• از ﻛﺎدر ﻣﺤﺎوره اي " ‪ " Add Communication system‬ﻧﺎم ‪ BUS‬ﺟﺪﻳﺪ را وارد‬
‫ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬
‫• در ﻗﺴﻤﺖ ‪ TYPE‬ﻧﻮع ‪ HIBUS‬را ﻣﺸﺨﺺ ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬
‫دﻛﻤﻪ ‪ OK‬را ﺑﺰﻧﻴﺪ‪.‬‬ ‫•‬

‫‪50‬‬
‫ﻣﻌﺮﻓﻲ ‪ Controller‬ﺑﺮاي ‪ BUS‬ﺗﻌﺮﻳﻒ ﺷﺪه‬
‫• در ﻟﻴﺴﺖ ﺷﻜﻞ ﻓﻮق روي‪ bus‬ﺗﻌﺮﻳﻒ ﺷﺪه ﻛﻠﻴﻚ ﻛﻨﻴﺪ و دﻛﻤﻪ ‪ Edit‬را ﺑﺰﻧﻴﺪ ‪.‬‬
‫• ﭘﻨﺠﺮه "‪ "Edit Hibus – bus name‬ﺑﺎز ﻣﻴﮕﺮدد‪.‬‬
‫• در ﭘﻨﺠﺮه ﺑﺎز ﺷﺪه ﻟﺒﻪ ‪ station‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬
‫• دﻛﻤﻪ ‪ Add‬را ﺑﺰﻧﻴﺪ‪.‬‬

‫• در ﻗﺴﻤﺖ ‪ ،Name‬ﻛﻨﺘﺮﻟﺮي را ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻪ آن ﻣﺘﺼﻞ ﮔﺮدﻳﻢ را ﻣﻌﺮﻓﻲ ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬


‫• در ‪ BSN‬ﺷﻤﺎره ‪ bus‬را ﻣﻌﻴﻦ ﻣﻲ ﻛﻨﻴﻢ ‪.‬‬
‫• در ﻗﺴﻤﺖ ‪ type‬ﻧﻮع ‪ slave‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪51‬‬
‫ﻣﻌﺮﻓﻲ ﻳﻚ ‪ PC‬ﺑﻪ ﻟﻴﺴﺖ ‪ Station‬ﻫﺎي ‪Bus‬‬

‫‪ pc‬را در ﻗـﺴﻤﺖ ‪ name‬وارد‬ ‫‪ " Edit Hibus – bus name‬ﻧـﺎم‬ ‫• در ﭘﻨﺠـﺮه "‬
‫ﻛﻨﻴﺪ‪.‬‬
‫• ﺷﻤﺎره ‪ bus‬را ﺑﺮاي ‪ pc‬ﻋﺪد "‪ "31‬اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬
‫)‪ PADT (PC‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬ ‫• در ﻗﺴﻤﺖ ‪، type‬‬

‫‪PADT :PROGRAMING AND DEBUGGING TOOL‬‬

‫ﻣﻌﺮﻓﻲ ﭘﺎراﻣﺘﺮﻫﺎي ‪BUS‬‬


‫• در ﭘﻨﺠـﺮه " ‪ " Edit Hibus –bus name‬ﻟﺒـﻪ ‪ parameter‬را اﻧﺘﺨـﺎب ﻛﻨﻴـﺪ و‬
‫ﺗﻨﻈﻴﻤﺎت ﻻزم را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪52‬‬
‫ﺗﻐﻴﻴﺮ وﻳﮋﮔﻴﻬﺎي ‪Resource‬‬
‫روي ‪ Resource‬ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ properties‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪53‬‬
‫• ﻟﺒﻪ )‪ PADT(PC‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬
‫• در ﻓﻴﻠﺪ ‪ ، BUS‬ﮔﺬرﮔﺎه )‪ (bus‬ﻣﻮرد ﻧﻈﺮ را از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﻟﻴﺴﺖ اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬
‫• در ﻓﻴﻠﺪ ‪ PC ، PADT‬ﻣﻮرد ﻧﻈﺮ را از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ﻟﻴﺴﺖ ‪ PADT‬ﻫﺎ ي ﻣﻌﺮﻓـﻲ‬
‫ﺷﺪه اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬
‫• در ﻗﺴﻤﺖ ‪ ، PC INERFACE‬درﮔﺎه ﻣﻮرد ﻧﻈﺮ را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬

‫‪Download and Start‬‬

‫روي ‪ Resource‬ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷـﺪه ‪ Control panel‬را اﻧﺘﺨـﺎب‬
‫ﻛﻨﻴﺪ ‪.‬‬

‫‪54‬‬
‫ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻟﺒﻪ ‪ CP‬ﺑﻪ ﭘﻨﺠﺮه ﺳﺎﺧﺘﺎري ﭘﺮوژه اﺿﺎﻓﻪ ﺧﻮاﻫﺪ ﺷﺪ ‪.‬‬
‫• در ‪ Control panel‬دﻛﻤﻪ ‪ .Download/Reload‬را ﺑﺰﻧﻴﺪ ‪.‬‬
‫• دﻛﻤﻪ ‪ ok‬را ﺑﺰﻧﻴﺪ ‪.‬‬

‫‪:Start the controller‬‬


‫• در ‪ cp‬دﻛﻤﻪ ‪ start‬را ﺑﺰﻧﻴﺪ ‪.‬‬
‫• ﺑﺮاي ﭘﺮوژه ﺟﺪﻳﺪ ‪ Cold start‬را ﺑﺰﻧﻴﺪ ‪.‬‬

‫‪55‬‬
‫‪Online Test‬‬
‫‪ Online Test‬را اﻧﺘﺨـﺎب‬ ‫• روي ‪ Resource‬ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇـﺎﻫﺮ ﺷـﺪه‬
‫ﻛﻨﻴﺪ ‪.‬‬

‫ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻟﺒﻪ ‪ OLT‬ﺑﻪ ﭘﻨﺠﺮه ﺳﺎﺧﺘﺎري اﺿﺎﻓﻪ ﻣﻲ ﺷـﻮد و ﺗﻤـﺎم ﺑﻼﻛﻬـﺎ در ﻟﻴـﺴﺖ ﻇـﺎﻫﺮ‬
‫ﺷﺪه ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدﻧﺪ‪.‬‬

‫‪56‬‬
‫در ﻟﻴﺴﺖ روي ﺑﻼﻛﻲ را ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﺪ ﺗﺴﺖ ﻛﻨﻴﺪ ﻛﻠﻴﻚ ﻛﻨﻴﺪ ‪.‬‬

‫‪57‬‬
‫دﻛﻤﻪ ‪ close‬را ﺑﺰﻧﻴﺪ ‪.‬‬ ‫ﺑﺮاي ﺑﺴﺘﻦ ‪OLT‬‬

‫‪Documentation‬‬

‫• رو ي ﭘﺮوژه ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ New ---documents‬را اﻧﺘﺨـﺎب‬
‫ﻛﻨﻴﺪ ‪.‬‬

‫• ﻧﺎم ‪ document‬ﺟﺪﻳﺪ را ﺗﻐﻴﻴﺮ دﻫﻴﺪ ﺑﺮاي اﻳﻦ ﻛﺎر ﻛﺎﻓﻲ اﺳﺖ دو ﺑﺎر ﻛﻠﻴﻚ آﻫﺴﺘﻪ ﺑﻜﻨﻴﺪ و‬
‫ﻳﺎ ﻓﺮﻣﺎن ‪ Rename‬را ﺻﺎدر ﻧﻤﺎﻳﻴﺪ‬

‫ﻗﺮار دادن اﻃﻼﻋﺎت ﺗﻤﺎم اﺷﻴﺎ ء در ‪Document‬‬


‫‪ Document‬را ﺑﺎز ﻛﻨﻴﺪ‬ ‫•‬
‫• روي ﻧﺎم ﭘﺮوژه ﻛﻠﻴﻚ ﻛﻨﻴﺪ و ﻛﻠﻴﺪ ﻣﺎوس را ﭘﺎﻳﻴﻦ ﻧﮕﻪ دارﻳﺪ ‪.‬‬
‫• اﻛﻨﻮن ﭘﺮوژه را داﺧﻞ ‪ drag ، document‬ﻛﻨﻴﺪ ‪.‬‬

‫‪58‬‬
‫ﻧﻜﺘﻪ ‪ :‬ﺷﻤﺎ ﻣﻲ ﺗﻮاﻧﻴﺪ ﻳﻚ ﺷﻲ را ﺑﻪ ﺗﻨﻬﺎﻳﻲ وارد ‪ document‬ﻛﻨﻴﺪ ‪.‬‬

‫ﭼﺎپ ‪Document‬‬
‫ﺑﺮاي اﻳﻦ ﻛﺎر از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه اﺑﺰار ‪ print‬ﻣﻮﺟﻮد در ﻧﻮار اﺑﺰار اﺳﺘﻔﺎده ﻛﻨﻴﺪ و ﻳﺎ اﻳﻨﻜـﻪ ﻛﻠﻴـﻚ‬
‫راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ print All‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ‪.‬‬

‫‪59‬‬
‫ﺑﺎ ز ﻛﺮدن ﻣﺴﺘﻨﺪات ‪Resource‬‬
‫• روي ‪ Resource‬ﻛﻠﻴﻚ راﺳﺖ ﻧﻤـﻮده و از ﻣﻨـﻮي ﻇـﺎﻫﺮ ﺷـﺪه ‪Document Îres-‬‬
‫‪ doc‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬

‫• ﺑﺮاي ﭼﺎپ اﻳﻦ ﻣﺴﺘﻨﺪات ﻛﺎﻓﻲ اﺳﺖ ﻳﻜﻲ از ﻟﺒﻪ ﻫﺎ را اﻧﺘﺨﺎب ﻛﻨﻴﺪ )ﻣﺜﻼ ﻟﺒﻪ ‪( Rack‬‬
‫و دﻛﻤﻪ ‪ print‬را ﺑﺰﻧﻴﺪ‬
‫• ﺷﻤﺎ ﻣﻲ ﺗﻮاﻧﻴﺪ اﻳﻦ ﻣﺴﺘﻨﺪات را در ﻗﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ ذﺧﻴﺮه ﻛﻨﻴﺪ ‪.‬‬

‫ﺑﺎﻳﮕﺎﻧﻲ‬
‫• روي ‪ project‬ﻛﻠﻴﻚ راﺳﺖ ﻧﻤﻮده و از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه ‪ Back up‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‪.‬‬

‫‪60‬‬
‫• در ﻛﺎدر ﻣﺤﺎوره اي " ‪) " Back up‬ﺷﻜﻞ زﻳﺮ ( ﻣﺴﻴﺮ ﻣﻮرد ﻧﻈﺮ را در ﻗﺴﻤﺖ – ‪target‬‬
‫‪ file‬ﺑﺮاي ﻧﺴﺨﻪ ﭘﺸﺘﻴﺒﺎن وارد ﻛﻨﻴﺪ ‪.‬‬
‫• در ﻗﺴﻤﺖ ‪ Description‬ﺗﻮﺿﻴﺢ ﻣﺨﺘﺼﺮي وارد ﻧﻤﺎﻳﻴﺪ و دﻛﻤﻪ ‪ Back up‬را ﺑﺰﻧﻴﺪ‪.‬‬

‫اﮔﺮ ﻣﻴﺨﻮاﻫﻴﺪ ﻣﺴﻴﺮ ﻣﻮرد ﻧﻈﺮ را ﺟﺴﺘﺠﻮ ﻧﻤﺎﻳﻴﺪ دﻛﻤﻪ ‪ Brows‬را ﺑﺰﻧﻴﺪ‬

‫‪61‬‬
‫ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﭘﺮوژه‬

‫ﺑﺮاي اﻳﻦ ﻛﻪ ﻳﻚ ﭘﺮوژه را ﺑﺎز ﻧﻤﺎﻳﻴﺪ ﺑﺎﻳﺪ ﻫـﻴﭻ ﭘـﺮوژه اي در ‪ Elop‬ﺑـﺎز ﻧﺒﺎﺷـﺪ‪ .‬ﻟـﺬا ﺻـﺪور ﻓﺮﻣـﺎن‬
‫‪close‬‬
‫ﭘﺮوژه ﺑﺎز ﺷﺪه را ﻣﻲ زﻧﻴﻢ ‪.‬‬

‫ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﭘﺮوژه ﻛﺎﻓﻲ اﺳﺖ از ﻣﻨﻮي ‪ Project‬ﻓﺮﻣﺎن ‪ Restore project‬را اﻧﺘﺨﺎب ﻛﻨﻴﺪ‬
‫در ﭘﻨﺠﺮه " ‪ "Restore‬ﭘﺮوژه ﻣﻮرد ﻧﻈﺮ را ﺟﺴﺘﺠﻮ ﻧﻤﻮده و دﻛﻤﻪ ‪ Restore‬را ﺑﺰﻧﻴﺪ ‪.‬‬

‫‪62‬‬
‫اﮔﺮ ﺑﺨﻮاﻫﻴﺪ ﻧﺴﺨﻪ ﭘﺸﺘﻴﺒﺎن را ﺑﺎزﻳﺎﺑﻲ ﻛﻨﻴﺪ در ﺷﻜﻞ ﻓﻮق در ﻗﺴﻤﺖ ‪ Archive name‬ﻣـﺴﻴﺮ ﻣـﺮد‬
‫ﻧﻈﺮ را وارد ﻧﻤﺎﻳﻴﺪ ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻛﺎدر زﻳﺮ ﺑﺎز ﺧﻮاﻫﺪ ﺷﺪ ‪.‬‬

‫ﭘﺲ از ﻣﻨﻮي ﻇﺎﻫﺮ ﺷﺪه اﻳﻨﻜﻪ ﭘﺮوژه ﻣﻮرد ﻧﻈـﺮ را ﺑﺎزﻳـﺎﺑﻲ ﻧﻤﻮدﻳـﺪ ﺑـﻪ ﺻـﻮرت ﺧـﻮد ﻛـﺎر در ﭘﻨﺠـﺮه‬
‫ﺳﺎﺧﺘﺎري ﻧﺸﺎن داده ﻣﻲ ﺷﻮد ‪.‬‬

‫‪63‬‬
‫ﺗﻤﺮﻳﻦ ‪2‬‬
‫اﻳﺠﺎد ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﻨﺘﺮﻟﻲ ﻧﻤﻮﻧﻪ‬
‫دﻳﺎﮔﺮام ارﺗﺒﺎﻃﻲ ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠﻒ ﭘﺮوژه‬

‫‪64‬‬
1 ‫ﺿﻤﻴﻤﻪ‬

‫ﻟﻴﺴﺖ ﻋﻼﺋﻢ اﺧﺘﺼﺎري‬

BSN Bus Subscriber Number

CB Coprocessor module

CFG Configuration (bus documentation(

CG Code Generator

CONST Constant

CRC Cyclic redundancy check

CRF Cross reference (Info on inputs and outputs(

CSV Data format for import / export function, ASCII format

with comma separated value

CU Central Unit

DXF Standard-AutoCAD graphic format for printing copy

IO Input / output

FB Function block

FBD Function Block Diagram

FUN Function type object

GV Global variable

HIPRO-N / S Hibus communication not safety-related / safety-

related

HW Hardware
65
LgP Logic plan - controlled protocolling

OLS Offline simulation

OLT Online Test

PADT Programming and debugging Tool (PC(

PES Programmable Electronic System

PFR Product Feedback Report

POU Program Organization Unit (object(

RES Resource

RETAIN Retention performance

RTResource Type

RWP Read / write parameter

66
2 ‫ﺿﻤﻴﻤﻪ‬

Supported data types

Type H41/H51, H41q/H51q Comment


H11, A1
ANY any data type
ANY_NUM any number
ANY_REAL any real
REAL X X Real according to
IEC 559
LREAL - - long real
according to IEC
559
ANY_INT any integer
SINT X X short integer (-
128...127)
INT X X integer (-
32768...32767)
DINT - X double integer
(-2147483648 ...
214783647)
LINT - - long integer (-
263 ... 263 -1)
USINT X X unsigned short
integer (0...255)
UINT X X unsigned integer
(0...65535)
UDINT - X unsigned double
integer
(0...4294967295)
ULINT - - unsigned long
integer (0...264 -1)
ANY_BIT any bit
BOOL X X 1 Bit (FALSE,
67
TRUE)
BYTE X X Byte, 8 Bit
WORD X X Word, 16 Bit
DWORD - X Double Word, 32
Bit
LWORD - - Long Word, 64
Bit
STRING - - String
ANY_DATE Any Date
TIME_OF_DAY - - Time (TOD)
DATE - - Date
DATE_AND_TIME - X Date and Time
(DT)
TIME X X Time

68
3 ‫ﺿﻤﻴﻤﻪ‬

Supported functions and function blocks


Function H41/H51, H11, H41q/H51q
A1
ANY_TO_BOOL - X
ANY_TO_BYTE - X
ANY_TO_WORD - X
ANY_TO_DWORD - X1)
ANY_TO_LWORD - -
ANY_TO_STRING - -
ANY_TO_SINT - X
ANY_TO_INT X2) X
ANY_TO_DINT - X1)
ANY_TO_LINT - -
ANY_TO_USINT - X
ANY_TO_UINT X2) X
ANY_TO_DINT - X1)
ANY_TO_ULINT - -
ANY_TO_REAL X2) X
ANY_TO_LREAL - -
ANY_TO_TIME_OF_DAY - X1)
ANY_TO_DATE - X1)
ANY_TO_DATE_AND_TIME - X1)
ANY_TO_TIME - X1)
TRUNC_SI - X
TRUNC_I X X
69
TRUNC_DI - -
TRUNC_LI - -
TRUNC_US - X
TRUNC_UI X1) X
TRUNC_UD - -
TRUNC_UL - -
BCD_TO_INT - X
BCD_TO_USINT - X
BCD_TO_UINT - X
BCD_TO_UDINT - X
INT_TO_BCD - X
USINT_TO_BCD - X
UINT_TO_BCD - X
UDINT_TO_BCD - X
ABS - X
MOVE X X
ADD X X
MUL X2) X
SUB X X
DIV X2) X
MOD - X
EXPT - -
SQRT X X
LN X X
LOG - -
EXP X X
SIN - -
COS - -
70
TAN - -
ASIN - -
ACOS - -
ATAN - -
SHL - X
SHR - X
ROL - X
ROR - X
AND X X
OR X X
XOR X X
NOT X X
SEL X X
MAX - X1)
MIN - X1)
LIMIT - X
MUX - X
GT X2) X
GE X2) X
EQ X X
LE X2) X
LT X2) X
LE X X
LEN - -
LEFT - -
RIGHT - -
MID - -
CONCAT - -
71
INSERT - -
DELETE - -
REPLACE - -
FIND - -
ADD_TOD_T - X
ADD_DT_T - X
ADD_T_T - X
SUB_TOD_T - X
SUB_DT_T - X
SUB_T_T - X
SUB_TOD_TOD - X
SUB_DT_DT - X
SUB_T_T - X
MUL_T - X1)
DIV_T - X1)
CONCAT_D_TOD - X
SR X X
RS X X
SEMA - X
R_TRIG X X
F_TRIG X X
CTU - X
CTD - X
CTUD - X
TP X X
TON X X
TOF X X
RTC - X
72
PACK - X
UNPACK2 - X
UNPACK4 - X
UNPACK8 - X
FORCEMRK - X
X: available
-: not available
1): except variables of data type REAL
2): only for REAL, INT, UINT

73
4 ‫ﺿﻤﻴﻤﻪ‬

System variables
UINT SIO.ZB1: SIO1 receive counter
• UINT SIO.ZB1: SIO2 receive counter
• UINT SIO.ZG1/CB1: SIO1 receive counter
• UINT SIO.ZG1/CB1: SIO2 receive counter
• UINT SIO.ZG1/CB2: SIO1 receive counter
• UINT SIO.ZG1/CB2: SIO2 receive counter
• UINT SIO.ZG1/CB3: SIO1 receive counter
• UINT SIO.ZG1/CB3: SIO2 receive counter
• UINT SIO.ZB2: SIO1 receive counter
• UINT SIO.ZB2: SIO2 receive counter
• UINT SIO.ZG2/CB1: SIO1 receive counter
• UINT SIO.ZG2/CB1: SIO2 receive counter
• UINT SIO.ZG2/CB2: SIO1 receive counter
• UINT SIO.ZG2/CB2: SIO2 receive counter
• UINT SIO.ZG2/CB3: SIO1 receive counter
• UINT SIO.ZG2/CB3: SIO2 receive counter
• BOOL I/O.error acknowledgment
• UINT I/O.error code 2nd I/O bus
• UINT I/O.error position 2nd I/O bus
• UINT I/O.error code 1st I/O bus
• UINT I/O.error position 1st I/O bus
• BOOL I/O.error
• BOOL SYSTEM.Logic-Emergency stop

74
• UINT SYSTEM.RAM/EPROM
• UINT SYSTEM.Runversion
• UINT SYSTEM.Codeversion
• BOOL SYSTEM.Force individual switch outputs
• BOOL SYSTEM.Force individual switch inputs
• BOOL SYSTEM.Force main switch outputs
• BOOL SYSTEM.Force main switch inputs
• UINT SYSTEM.Number of prohibited accesses
• BOOL SYSTEM.Prohibited access
• BOOL SYSTEM.Single-channel
• UINT SYSTEM.Errormask2
• UINT SYSTEM.Errormask1
• UINT SYSTEM.Errorcode
• BOOL SYSTEM.normal

75
76

You might also like