You are on page 1of 28

‫اﻝﻔﺼل اﻝﺨﺎﻤس‬

‫ﻤﻜﺘﺒﺔ ﻋﻨﺎﺼر اﻻﺴﺘﺨداﻤﺎت اﻝﻌﺎﻤﺔ‬


‫‪The Commonly Used Blocks Libratory‬‬

‫ﺴﻴﺘم اﻝﺘﻌرف ﻓﻲ ﻫذا اﻝﻔﺼل ﻋﻠﻰ اﻝﺼﻨﺎدﻴق واﻷدوات ذات اﻻﺴﺘﺨدام اﻝﻌﺎم‪.‬‬
‫ﻋﻨﺎﺼر اﻻﺴﺘﺨدام اﻝﻌﺎم ﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪ .(١-٥‬ﺴﻴﺘم ﺘﻘدﻴم وﺼف ﻝﻠﺘﺎﺒﻊ اﻝذي‬
‫ﻴﻤﺜﻠﻪ ﻜل ﺼﻨدوق وﺘوﻀﻴﺢ اﺴﺘﺨداﻤﻪ ﻤن ﺨﻼل أﻤﺜﻠﺔ ﺘطﺒﻴﻘﻴﺔ‪.‬‬

‫اﻝﺸﻜل )‪ : (١-٥‬اﻝﺼﻨﺎدﻴق ذات اﻻﺴﺘﺨدام اﻝﻌﺎم‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٨٦ -‬‬


‫‪ – ٣‬ﻨﺤﺼل ﻋﻠﻰ اﻝﺸﻜل )‪.(٦-٥‬‬

‫اﻝﺸﻜل )‪(٦-٥‬‬
‫‪ – ٤‬ﺒﺎﻝﻨﻘر اﻝﻤزدوج ﻋﻠﻰ اﻝﻨﻤوذج ﻨﺤﺼل اﻝﻤﺨطط اﻝﺘﻔﺼﻴﻠﻲ ﻝﻠﻨظﺎم ﺒﺨطوط‬
‫وﺼﻠﻪ وﻴظﻬر ﻋﻠﻴﻬﺎ ﻤﻨﺎﻓذ اﻝدﺨل ‪ In1‬وﻤﻨﻔذ اﻝﺨرج ‪.Out1‬‬

‫اﻝﺸﻜل )‪(٧-٥‬‬

‫‪ -٢-٥‬ﺼﻨدوق اﻷرﻀﻲ ‪: The Ground Block‬‬


‫ﺘﺴﺘﺨدم وﺼﻠﺔ اﻷرﻀﻲ ﻝوﺼل اﻝﺼﻨﺎدﻴق اﻝﺘﻲ دﺨﻠﻬﺎ ﻏﻴر ﻤوﺼول إﻝﻰ‬
‫ﺼﻨﺎدﻴق أﺨرى‪ .‬ﻋﻨد ﺘﺸﻐﻴل اﻷﻨظﻤﺔ اﻝﺘﻲ ﺘﺤوي ﺼﻨﺎدﻴق ﺒﻤﻨﺎﻓذ دﺨل ﻏﻴر‬
‫ﻤوﺼوﻝﺔ إﻝﻰ ﺼﻨﺎدﻴق أﺨرى‪ ،‬ﺴﻴﻌطﻲ اﻝﺒرﻨﺎﻤﺞ ‪ Simulink‬رﺴﺎﻝﺔ ﺘﺤذﻴر‬
‫)‪ . (warning message‬ﻴﻤﻜن ﺘﺤﺎﺸﻲ رﺴﺎﺌل اﻝﺘﺤذﻴر ﻫذﻩ ﺒﺎﺴﺘﺨدام وﺼﻠﺔ‬
‫اﻷرض ﻫذﻩ‪ .‬وذﻝك ﻷن ﺨرج وﺼﻠﺔ اﻷرض ﻫو اﻝﻘﻴﻤﺔ ﺼﻔر‪.‬‬
‫وﺼﻠﺔ اﻷرﻀﻲ ﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪.(٨-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٨٩ -‬‬


‫اﻝﺸﻜل )‪(٨-٥‬‬
‫ﻤﺜﺎل ‪٢- ٥‬‬
‫ﺒﻔرض أﻨﻪ ﻝدﻴﻨﺎ اﻝﻨﻤوذج اﻝﻤﺒﻴن ﻓﻲ اﻝﺸﻜل )‪ (٩-٥‬واﻝذي ﻴﺴﺘﺨدم ﻝﺠﻤﻊ‬
‫ﻋددﻴن ‪ k1, k2‬ﺘﻌطﻰ ﻗﻴﻤﻬﻤﺎ ﻤن ﻨﺎﻓذة أواﻤر ‪. Matlab‬‬

‫اﻝﺸﻜل )‪ (٩-٥‬ﻨﻤوذج ﻝﺠﻤﻊ ﻋددﻴن‬


‫إذا ﺘم إﺴﻨﺎد اﻝﻘﻴم اﻝﺘﺎﻝﻴﺔ ﻤن ﻨﺎﻓذة أواﻤر ‪ Matlab‬ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪(١٠-٥‬‬

‫اﻝﺸﻜل )‪ (١٠-٥‬اﺴﻨﺎد اﻝﻘﻴم ﻝﻠﻤﺘﺤوﻻت ﻤن ﻨﺎﻓذة اﻷواﻤر‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٠ -‬‬


‫ﺴﻨﺤﺼل ﻋﻠﻰ اﻝﻨﺘﻴﺠﺔ اﻝﻤﺒﻴﻨﺔ ﻋﻠﻰ اﻝﻤﻘﻴﺎس اﻝرﻗﻤﻲ ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪.(١١-٥‬‬

‫اﻝﺸﻜل )‪(١١-٥‬‬

‫اﻵن إذا ﺘم ﺤذف اﻝدﺨل ‪ K2‬ﺴﻴﺒدو اﻝﻨظﺎم ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪ (١٢-٥‬وﻋﻨد‬


‫ﺘﺸﻐﻴل اﻝﻨظﺎم ﺴﻴﻌطﻲ رﺴﺎﻝﺔ اﻝﺨطﺄ اﻝﺘﺎﻝﻴﺔ ‪:‬‬
‫‪Warning: Unconnected input line found on block‬‬
‫‪).'untitled/Sum' (input port: 2‬‬

‫اﻝﺸﻜل )‪(١٢-٥‬‬
‫ﻝﺘﺤﺎﺸﻲ رﺴﺎﻝﺔ اﻝﺨطﺄ ﻫذﻩ ﻨﻀﻊ ﻤﻜﺎن اﻝدﺨل ﻏﻴر اﻝﻤوﺠود ﺼﻨدوق اﻷرﻀﻲ‪،‬‬
‫اﻝﺸﻜل )‪.(١٣-٥‬ﻋﻨدﺌذ ﻴﻤﻜن ﺘﺸﻐﻴل اﻝﻨظﺎم وﻝن ﺘظﻬر إﺸﺎرة اﻝﺨطﺄ‪.‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩١ -‬‬


‫اﻝﺸﻜل )‪(١٣-٥‬‬

‫‪ -٣-٥‬ﺼﻨدوق اﻝﻨﻬﺎﻴﺔ ‪: The Terminator Block‬‬


‫ﺼﻨدوق اﻝﻨﻬﺎﻴﺔ ﻤﺒﻴن ﻓﻲ اﻝﺸﻜل )‪.(١٤-٥‬‬

‫اﻝﺸﻜل )‪ (١٤-٥‬ﺼﻨدوق ﻨﻬﺎﻴﺔ‬


‫وﻫو ﻴوﻀﻊ ﻤﻜﺎن اﻝﻤﺨﺎرج اﻝﺘﻲ ﻻ ﺘوﺼل إﻝﻰ ﺼﻨﺎدﻴق ﺨرج وذﻝك ﻝﺘﺤﺎﺸﻲ‬
‫ظﻬور رﺴﺎﺌل اﻝﺘﺤذﻴر ﻋن اﻝﺨطﺄ‪.‬‬
‫ﻤﺜﺎل ‪ : ٣ – ٥‬ﻝو ﺤذﻓﻨﺎ ﺼﻨدوق اﻝﺨرج )اﻝﻤﻘﻴﺎس اﻝرﻗﻤﻲ( ﻤن اﻝﺸﻜل )‪،(١١-٥‬‬
‫ﺴﻴﺒدو ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪ (١٥-٥‬وﻋﻨد اﻝﺘﻨﻔﻴذ ﺘظﻬر إﺸﺎرة اﻝﺨطﺄ اﻝﺘﺎﻝﻴﺔ‪:‬‬
‫‪Warning: Unconnected output line found on block‬‬
‫‪'untitled/Sum' (output port: 1).‬‬

‫اﻝﺸﻜل )‪ : (١٥-٥‬ﺼﻨدوق ﺨرج ﻤﺤذوف‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٢ -‬‬


‫أﻤﺎ ﻋﻨد وﻀﻊ ﺼﻨدوق ﻨﻬﺎﻴﺔ ﻤﻜﺎن ﺼﻨدوق اﻝﺨرج اﻝﻤﺤذوف ﺴﻴﺘم اﻝﺘﻨﻔﻴذ دون‬
‫ظﻬور إﺸﺎرة ﺨطﺄ‪ ،‬اﻝﺸﻜل )‪.(١٦-٥‬‬

‫اﻝﺸﻜل )‪(١٦-٥‬‬

‫‪ -٣-٥‬ﺼﻨﺎدﻴق اﻝﻘﻴﻤﺔ اﻝﺜﺎﺒﺘﺔ واﻝﻀرب‪:‬‬


‫‪: The Constant and Product Blocks‬‬
‫ﺼﻨﺎدﻴق اﻝﻘﻴﻤﺔ اﻝﺜﺎﺒﺘﺔ ‪ Constant‬واﻝﻀرب ‪ Product‬ﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل‬
‫)‪.(١٧-٥‬‬

‫‪-a-‬‬ ‫‪-b-‬‬
‫اﻝﺸﻜل )‪(١٧-٥‬‬
‫‪ : a‬ﺼﻨدوق اﻝﻘﻴﻤﺔ اﻝﺜﺎﺒﺘﺔ ‪ : b ،‬ﺼﻨدوق اﻝﻀرب‬
‫‪ -‬ﺼﻨدوق ‪ :Constant‬ﻴﻘﺒل ﻫذا اﻝﻌﻨﺼر اﻝﻘﻴم اﻝﺜﺎﺒﺘﺔ اﻝﺤﻘﻴﻘﻴﺔ )‪،(real‬‬
‫واﻝﻌﻘدﻴﺔ )‪ ، (complex‬ﻜﻤﺎ ﻴﻘﺒل اﻷﻨﺴﺎق )‪ ، (array‬واﻝﻤﺼﻔوﻓﺎت )‪.(matrix‬‬
‫ﻹدﺨﺎل ﻗﻴم ﻝﺼﻨدوق اﻝﻘﻴﻤﺔ اﻝﺜﺎﺒﺘﺔ وﻹظﻬﺎرﻫﺎ ﻋﻠﻰ ﻋﻨﺼر ﺨرج ﻨﻘوم‬
‫ﺒﺎﻝﺨطوات اﻝﺘﺎﻝﻴﺔ‪:‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٣ -‬‬


‫‪ - ١‬ﻨﻨﻔذ اﻝﻨﻤوذج اﻝﻤﺒﻴن ﻓﻲ اﻝﺸﻜل )‪.(١٨-٥‬‬
‫‪ – ٢‬ﻨﻨﻘر ﻨﻘ اًر ﻤزدوﺠﺎً ﻋﻠﻰ ﺼﻨدوق اﻝﻌﻨﺼر اﻝﺜﺎﺒت ﻓﺘظﻬر ﻝدﻴﻨﺎ ﻨﺎﻓذة اﻝﺤوار‬
‫اﻝﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪.(١٩-٥‬‬

‫اﻝﺸﻜل )‪(١٨-٥‬‬

‫اﻝﺸﻜل )‪ (١٩-٥‬ﻨﺎﻓذة ﺤوار إدﺨﺎل اﻝﻘﻴﻤﺔ اﻝﺜﺎﺒﺘﺔ‬


‫‪ – ٣‬ﻹدﺨﺎل ﻗﻴم ﺼﻨدوق اﻝﻘﻴم اﻝﺜﺎﺒﺘﺔ ﻨﻨﻘر ﻓﻲ ﻨﺎﻓذة ‪ Constant value‬وﻨدﺨل‬
‫اﻝﻘﻴم ﺤﺴب اﻝﻤطﻠوب ﺸﻜل )‪.(٢٠-٥‬‬
‫‪ – ٤‬ﻋﻨد ﺘﺸﻐﻴل اﻝﺒرﻨﺎﻤﺞ ﺘظﻬر اﻝﻨﺘﺎﺌﺞ ﻋﻠﻰ ﺼﻨدوق اﻝﺨرج ‪. Display‬‬
‫‪ – ٥‬ﻹظﻬﺎر اﻝﻨﺘﺎﺌﺞ ﻗد ﻨﺤﺘﺎج إﻝﻰ ﺘﻤدﻴد ﺼﻨﺎدﻴق اﻝدﺨل واﻝﺨرج ﻋﻤودﻴﺎً وأﻓﻘﻴﺎً‪،‬‬
‫ﻋﻨدﺌذ ﺴﺘظﻬر اﻝﻨﺘﺎﺌﺞ وﻓق اﻝﺼور اﻝﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪. (5-21‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٤ -‬‬


‫‪a‬‬
‫‪5+6i‬‬
‫إدﺨﺎل‬
‫ﻗﻴﻤﺔ ﻋﻘدﻴﺔ‬

‫‪b‬‬
‫]‪[1 2 4‬‬
‫إدﺨﺎل ﻨﺴق‪.‬‬

‫‪c‬‬
‫‪[1 2 3; 5‬‬
‫]‪7 9‬‬
‫إدﺨﺎل‬
‫ﻤﺼﻔوﻓﺔ‪.‬‬

‫‪d‬‬
‫‪0:2:10‬‬
‫ﻹدﺨﺎل ﻨﺴق‬
‫ﺒﺨطوة‬
‫ﺜﺎﺒﺘﺔ‪.‬‬

‫اﻝﺸﻜل )‪ (٢٠-٥‬إدﺨﺎل ﻗﻴم ﺼﻨدوق اﻝﻘﻴم اﻝﺜﺎﺒﺘﺔ‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٥ -‬‬


‫‪a‬‬

‫‪b‬‬

‫‪c‬‬

‫‪d‬‬
‫اﻝﺸﻜل )‪(٢١-٥‬‬

‫ﺼﻨدوق ‪ : Product‬ﻴﻘوم ﻫذا اﻝﺼﻨدوق ﺒﺈﺠراء ﻋﻤﻠﻴﺔ اﻝﻀرب أو اﻝﻘﺴﻤﺔ ﻝﻘﻴم‬


‫اﻝدﺨل ﻝﻪ‪.‬‬
‫ﻤﺜﺎل ‪: ٥ – ٥‬‬
‫أ ‪ -‬اﻝﻤطﻠوب ﻀرب اﻝﻘﻴم اﻝﺜﻼث اﻝﺘﺎﻝﻴﺔ‪.3+4i, 4+3i, 5-8i :‬‬
‫ب – اﻝﻤطﻠوب ﻗﺴﻤﺔ اﻝﻌدد ‪ 3+4i‬ﻋﻠﻰ اﻝﻌدد ‪.4+3i‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٦ -‬‬


‫اﻝﺤل‪:‬‬
‫أ – ﻀرب اﻷﻋداد اﻝﺜﻼﺜﺔ‪.‬‬
‫‪ – ١‬ﻨﺴﺤب اﻝﻌﻨﺎﺼر اﻝﺘﻲ ﺴﻨﺸﻜل اﻝﻨﻤوذج ﻜﻤﺎ ﻫو ﻤﺒﻴن ﻓﻲ اﻝﺸﻜل )‪.(٢٢-٥‬‬

‫اﻝﺸﻜل )‪(٢٢-٥‬‬
‫‪ – ٢‬ﻨﻨﻘر ﻨﻘ اًر ﻤزدوﺠﺎً ﻋﻠﻰ ﺼﻨدوق اﻝﻀرب ‪ Product‬وذﻝك ﻹﻀﺎﻓﺔ ﻤدﺨل‬
‫ﺜﺎﻝث إﻝﻴﻪ ﻝﻴﺘﻨﺎﺴب ﻤﻊ ﻋدد ﻋﻨﺎﺼر اﻝدﺨل وذﻝك ﺒﺘﻐﻴﻴر ‪Number of inputs‬‬
‫إﻝﻰ اﻝﻌدد ‪ . ٣‬ﺸﻜل )‪.(٢٣-٥‬‬

‫اﻝﺸﻜل )‪ (٢٣-٥‬ﻨﺎﻓذة ﺘﺤدﻴد ﻋدد ﻋﻨﺎﺼر اﻝدﺨل ﻝﻌﻨﺼر اﻝﻀرب‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٧ -‬‬


‫‪ ٣‬ﻨﻜﻤل وﺼل اﻝﻌﻨﺎﺼر وﻋﻨد اﻝﺘﻨﻔﻴذ ﻨﺤﺼل ﻋﻠﻰ اﻝﺸﻜل )‪.(٢٤-٥‬‬

‫اﻝﺸﻜل )‪(٢٤-٥‬‬

‫ب – ﻗﺴﻤﺔ اﻷﻋداد‪.‬‬
‫‪ – ١‬ﻨﺸﻜل اﻝﻨﻤوذج اﻝﻤﺒﻴن ﻓﻲ اﻝﺸﻜل )‪.(٢٥-٥‬‬
‫‪ – ٢‬ﻨﻨﻘر ﻨﻔ اًر ﻤزدوﺠﺎً ﻋﻠﻰ ﺼﻨدوق اﻝﻀرب وذﻝك ﻝﺘﻐﻴﻴر إﺸﺎرة اﻝﻤدﺨل اﻝﺜﺎﻨﻲ‬
‫إﻝﻰ ﺘﻘﺴﻴم ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪.(٢٦-٥‬‬

‫اﻝﺸﻜل )‪(٢٥-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٨ -‬‬


‫اﻝﺸﻜل )‪(٢٦-٥‬‬

‫‪ -٤ -٥‬ﺼﻨدوق اﻝﻌرض )راﺴم اﻹﺸﺎرة( ‪: The Scope Block‬‬


‫ﺼﻨدوق راﺴم اﻹﺸﺎرة ﻴﻘوم ﺒﻌرض اﻹﺸﺎرات ﻜﺘﺎﺒﻊ ﻝزﻤن اﻝﺘﻤﺜﻴل‪ .‬ﻴﻤﻜن ﻝﻬذا‬
‫اﻝﻌﻨﺼر أن ﻴﻤﻠك ﻋدة ﻤﺤﺎور ‪ Y‬ﻤﻊ ﻤﺤور ﻤﺸﺘرك ﻝﻠزﻤن‪ ،‬وﻴﻤﻜن اﻝﺘﺤﻜم‬
‫واﻝﻀﺒط ﻝﻤﺤور اﻝزﻤن وﻜذﻝك ﻝﻘﻴم ﻋﻨﺎﺼر اﻝدﺨل اﻝﻤﻌروﻀﺔ‪ .‬ﻜﻤﺎ ﻴﻤﻜن أن‬
‫ﻨﺤرك ﻨﺎﻓذة ﻋﻨﺼر اﻝﻌرض وﻨﻐﻴر ﺤﺠﻤﻬﺎ‪ .‬ﻜذﻝك ﻴﻤﻜن ﺘﻌدﻴل وﺘﻜﻴﻴف اﻝﻘﻴم أﺜﻨﺎء‬
‫اﻝﺘﻤﺜﻴل‪ .‬ﻝرؤﻴﺔ اﻹﺸﺎرات اﻝﺘﻲ ﺘم ﻋرﻀﻬﺎ ﻋﻠﻰ ﻋﻨﺼر اﻝﻌرض ‪ Scope‬ﻻﺒد ﻤن‬
‫اﻝﻨﻘر اﻝﻤزدوج ﻋﻠﻰ ﻋﻨﺼر اﻝﻌرض ﺒﻌد اﻨﺘﻬﺎء ﻋﻤﻠﻴﺔ اﻝﺘﻤﺜﻴل‪ .‬اﻷﻝوان اﻝﺘﻲ‬
‫ﻴﺴﺘﺨدﻤﻬﺎ ﻫذا اﻝﻌﻨﺼر ﻝﺘﻤﺜﻴل اﻹﺸﺎرات ﻫﻲ ‪ :‬اﻷﺼﻔر ‪) ، yellow‬أﺤﻤر ﻋﻠﻰ‬
‫ﺒﻨﻲ( ‪ ، magenta‬أزرق ﺴﻤﺎوي ‪ ، cyan‬أﺤﻤر ‪ ، red‬أﺨﻀر ‪ ، green‬وأزرق‬
‫ﻏﺎﻤق ‪ . dark blue‬وﻓﻲ ﺤﺎل وﺠود أﻜﺜر ﻤن ﺴﺘﺔ إﺸﺎرات ﺴﻴﺘم اﺨﺘﻴﺎر أﻝوان‬
‫إﻀﺎﻓﻴﺔ ﻤن ﻗﺎﺌﻤﺔ اﻷﻝوان‪.‬‬
‫ﺴﻴﺘم ﺸرح إﻤﻜﺎﻨﺎت وطرﻴﻘﺔ اﺴﺘﺜﻤﺎر ﻫذا اﻝﻌﻨﺼر ﻓﻲ ﻓﺼل ﻤﺴﺘﻘل ﺒﻌﻨوان‪:‬‬
‫ﺼﻨﺎدﻴق ﻋﻨﺎﺼر اﻝﺨرج ‪. The Sinks Library‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ٩٩ -‬‬


‫‪ -٥ -٥‬ﺒﺎﺴﺒﺎر اﻝﺘﺠﻤﻴﻊ ‪ Bus Creator‬وﺒﺎﺴﺒﺎر اﻝﺘوزﻴﻊ ‪:Bus Selector‬‬
‫ﻴﺒﻴن اﻝﺸﻜل )‪ (٢٧-٥‬ﺸﻜل ﺼﻨﺎدﻴق ﺒﺎﺴﺒﺎر اﻝﺘﺠﻤﻴﻊ وﺒﺎﺴﺒﺎر اﻝﺘوزﻴﻊ‪.‬‬

‫‪(a) Bus Creator‬‬ ‫‪(b) Bus Selector‬‬


‫اﻝﺸﻜل )‪(٢٧-٥‬‬
‫ﻴﺴﺘﺨدم ﺒﺎﺴﺒﺎر اﻝﺘﺠﻤﻴﻊ )‪ ، (Bus Creator‬ﺸﻜل )‪ (a – ٢٧-٥‬ﻝﺘﺠﻤﻴﻊ‬
‫ﻤﺠﻤوﻋﺔ ﻤن اﻹﺸﺎرات ﻓﻲ ﺒﺎر واﺤد وﻫذا ﻴﻤﻜن ﺘﺸﺒﻴﻬﻪ ﺒﻤﺠﻤوﻋﺔ ﻤن اﻷﺴﻼك‬
‫اﻝﻜﻬرﺒﺎﺌﻴﺔ ﻤدﻤﺠﺔ ﻤﻊ ﺒﻌﻀﻬﺎ اﻝﺒﻌض ﺒواﺴطﺔ رﺒﺎط ﻴﺤزﻤﻬﺎ ﻤﻊ ﺒﻌﻀﻬﺎ اﻝﺒﻌض‪.‬‬
‫ﻤﻬﻤﺔ ﻫذا اﻝﺼﻨدوق ﻫو ﺘﻘﻠﻴل ﻋدد ﺨطوط ﻨﻘل اﻹﺸﺎرات ﻓﻲ اﻝﻨﻤوذج ﺤﻴث ﻴﻤ ‪‬ﻜﻨﻨﺎ‬
‫ﻫذا اﻝﺼﻨدوق ﻤن اﺴﺘﺒدال ﻤﺠﻤوﻋﺔ ﻤن ﺨطوط ﻨﻘل اﻹﺸﺎرة ﺒﺨط واﺤد ﻤﻤﺎ ﻴﺴﺎﻫم‬
‫ﻓﻲ ﺘﺒﺴﻴط اﻝﻨﻤوذج‪.‬‬

‫ﺸﻜل )‪(٢٨-٥‬‬

‫أﻤﺎ ﺒﺎﺴﺒﺎر اﻝﺘوزﻴﻊ ﻓﻴﺴﺘﺨدم )‪ (Bus Selector‬ﻻﺴﺘﺨﻼص اﻹﺸﺎرات‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٠ -‬‬


‫اﻝﻤﺠﻤﻌﺔ )ﻴﺘﻠﻘﻰ اﻹﺸﺎرات ﻤن ﺼﻨدوق )‪ (Bus Creator‬أو ﻤن ﺼﻨدوق ‪(Bus‬‬
‫)‪ Selector‬آﺨر وﺘوزﻴﻌﻬﺎ ﻤن ﺠدﻴد وﻓق اﻝوظﻴﻔﺔ أو اﻝﻤﻬﻤﺔ اﻝﻤطﻠوﺒﺔ‪ .‬ﺸﻜل )‪-٥‬‬
‫‪.(٢٨‬‬
‫ﻤﻼﺤظﺔ ‪ : ١‬ﻋﻨد ﻨﺴﺦ ﺼﻨﺎدﻴق ‪ Bus Creator‬و ‪ Bus Selector‬ﻤن‬
‫ﻤﻜﺘﺒﺔ اﻷدوات إﻝﻰ ﻨﺎﻓذة اﻝﻨﻤوذج ﻴﺘم إﺨﻔﺎء ﻋﻨﺎوﻴﻨﻬﺎ وﺘظﻬر ﺒدون ﻋﻨوان‪.‬‬
‫ﻤﻼﺤظﺔ ‪ : ٢‬ﺘﺘﻘﺒل ﺼﻨﺎدﻴق ‪ Bus Creator‬و ‪ Bus Selector‬اﻝﻘﻴم‬
‫اﻝﺤﻘﻴﻘﻴﺔ واﻝﻌﻘدﻴﺔ‪.‬‬
‫‪ - ١ -٥ -٥‬ﺒﺎﺴﺒﺎر اﻝﺘﺠﻤﻴﻊ ‪: Bus Creator‬‬
‫‪ -‬ﺘﺴﻤﻴﺔ اﻹﺸﺎرات ‪ :‬إن ﺼﻨدوق ‪ Bus Creator‬ﻴﺴﻨد اﺴم ﻝﻜل إﺸﺎرة‬
‫ﻤوﺠودة ﻀﻤن اﻝﺒﺎﺴﺒﺎر‪ ،‬ﻫذا اﻷﻤر ﻴﺴﺎﻋد ﻓﻲ اﻝﻌودة إﻝﻰ ﻫذﻩ اﻹﺸﺎرات ﻋن‬
‫طرﻴق أﺴﻤﺎءﻫﺎ وذﻝك ﻋﻨد اﻝﺒﺤث ﻋن ﻤﺼﺎدرﻫﺎ أو ﻝﺘﺤدﻴد إﺸﺎرات ﻝوﺼﻠﻬﺎ ﻤﻊ‬
‫ﺼﻨﺎدﻴق أﺨرى‪.‬‬
‫ﻴﺘم ﺘﺨﺼﻴص اﺴم ﻝﻜل إﺸﺎرة ﺒﺸﻜل اﻓﺘراﻀﻲ ﺤﻴث ﺘﻌطﻰ اﻹﺸﺎرات اﻷﺴﻤﺎء‬
‫‪ signal1n‬ﺤﻴث ﻴﻤﺜل اﻝرﻗم ‪ n‬رﻗم اﻝﻤﺄﺨذ اﻝﻤوﺼﻠﺔ إﻝﻴﻪ إﺸﺎرة اﻝدﺨل‪.‬‬
‫• ﺘﺘﻴﺢ ﻨﺎﻓذة اﻝﺤوار ‪ Block Parameters: Bus Creator‬ﺘﻐﻴﻴر اﺴم أي إﺸﺎرة‬
‫ﻤن وذﻝك وﻓق اﻝﺨطوات اﻝﺘﺎﻝﻴﺔ ﺸﻜل )‪:(٢٩-٥‬‬
‫‪ – ١‬ﻤن ﺨﺎﻨﺔ ‪ Parameters‬ﻨﺨﺘﺎر‪Require input signal names to match :‬‬
‫‪. signals below‬‬
‫‪ – ٢‬ﻨﺤدد اﻹﺸﺎرة اﻝﻤطﻠوب ﺘﻐﻴﻴر اﺴﻤﻬﺎ ﻓﻲ ﺨﺎﻨﺔ ‪.Signal in Bus‬‬
‫‪ – ٣‬ﻨﻜﺘب اﻻﺴم اﻝﺠدﻴد ﻓﻲ ﺨﺎﻨﺔ ‪ Rename selected‬ﺜم ﻨﻨﻘر ‪Ok‬أو‬
‫‪.Apply‬‬
‫• ﻴﻤﻜن إﻋﺎدة ﺘرﺘﻴب اﻹﺸﺎرات ﺒﺎﺴﺘﺨدام اﻷزرار ‪.Up, Down‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠١ -‬‬


‫• ﻴﺘﻴﺢ اﻝزر ‪ Find‬اﻝﺒﺤث ﻋن إﺸﺎرة ﻓﻲ اﻝﻨﻤوذج ﺤﻴث ﻴﺘم ﺘﺤدﻴدﻫﺎ ﻓﻲ ﻨﺎﻓذة‬
‫ٍ‬
‫ﻋﻨدﺌذ ﻴﺘم ﺘﻤﻴﻴز اﻹﺸﺎرة اﻝﻤﺤددة‬ ‫‪ Signals in Bus‬ﺜم اﻝﻨﻘر ﻋﻠﻰ اﻝزر ‪Find‬‬
‫ﺒﻠون ﻤﻤﻴز ﻋﻠﻰ اﻝﻨوذج‪.‬‬

‫ﺸﻜل )‪(٢٩-٥‬‬

‫‪ - ٢ – ٥ – ٥‬ﺒﺎﺴﺒﺎر اﻝﺘوزﻴﻊ ‪:Bus Selector‬‬


‫ﻴﻤﻠك ﺼﻨدوق ﺒﺎﺴﺒﺎر اﻝﺘوزﻴﻊ ﻤدﺨل واﺤد أﻤﺎ ﻋدد اﻝﻤﺨﺎرج ﻓﻴﺘوﻗف ﻋﻠﻰ‪:‬‬
‫ﻤﻔﻌﻠﺔ‪ ،‬ﺸﻜل )‪ (٣٠-٥‬ﻓﻠﻪ ﻤﺨرج‬
‫‪ -‬إذا ﺨﺎﻨﺔ اﻝﺒﻨد ‪ Muxed output‬ﻏﻴر ّ‬
‫واﺤد ﻴﻀم ﺠﻤﻴﻊ إﺸﺎرات اﻝﺨرج‪.‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٢ -‬‬


‫ﻤﻔﻌﻠﺔ ﻓﻠﻪ ﻋدد ﻤن اﻝﻤﺨﺎرج‬
‫‪ -‬أﻤﺎ إذا ﻜﺎﻨت اﻝﺨﺎﻨﺔ ‪ Muxed output‬ﻏﻴر ّ‬
‫ﻴﺴﺎوي ﻋدد إﺸﺎرات اﻝﺨرج اﻝﻤﺤددة )‪.(selected‬‬
‫ﻤﻜوﻨﺎت ﺼﻨدوق ﺤوار ‪: Bus Selector‬‬
‫ﻴﺘﻜون ﺼﻨدوق اﻝﺤوار ﻫذا ﻜﻤﺎ ﻴﺒﻴن اﻝﺸﻜل )‪ (٣٠-٥‬ﻤن ﻨﺎﻓذﺘﻴن‪:‬‬

‫ﺸﻜل )‪(٣٠-٥‬‬

‫‪ : Signals in the Bus – ١‬ﺘﺒﻴن ﻫذﻩ اﻝﻨﺎﻓذة ﺠﻤﻴﻊ إﺸﺎرات دﺨل اﻝﺒﺎﺴﺒﺎر‪.‬‬
‫ﻴﻤﻜن اﺴﺘﺨدام اﻝزر >>‪ select‬ﻝﺘﺤدﻴد إﺸﺎرات اﻝﺨرج‪ .‬وﻹﻴﺠﺎد ﻤﺼدر أي إﺸﺎرة‬
‫ﻤن اﻹﺸﺎرات ﻓﻲ اﻝﺼﻨدوق‪ ،‬ﻴﺘم ﺘﺤدﻴد ﻫذﻩ اﻹﺸﺎرات ﻓﻲ ﻨﺎﻓذة ‪Signals in the‬‬
‫ٍ‬
‫ﻋﻨدﺌذ ﺘﻔﺘﺢ اﻝﻨﺎﻓذة اﻝﻔرﻋﻴﺔ اﻝﺘﻲ ﺘﺤوي‬ ‫‪ Bus‬ﺜم ﻴﺘم اﻝﻨﻘر ﻋﻠﻰ اﻝزر ‪، Find‬‬
‫اﻝﻨﻤوذج وﻴﺘم ﺘﻤﻴﻴز اﻹﺸﺎرات اﻝﻤطﻠوﺒﺔ ﺒﻠون ﻤﻤﻴز‪.‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٣ -‬‬


‫‪ : Selected Signals – ٢‬ﺘﺒﻴن ﻫذﻩ اﻝﻨﺎﻓذة إﺸﺎرات اﻝﺨرج اﻝﻤﺤددة‪ ،‬ﻜﻤﺎ‬
‫ﺘﺴﻤﺢ ﻫذﻩ اﻝﻨﺎﻓذة ﺒﺘرﺘﻴب اﻹﺸﺎرات ﺒواﺴطﺔ اﻷزرار ‪ . Down ، Up‬وﻴﻤﻜن‬
‫ﺤذف اﻹﺸﺎرات ﻏﻴر اﻝﻤرﻏوب ظﻬورﻫﺎ وذﻝك ﺒﺘﺤدﻴدﻫﺎ ﺜم اﻝﻨﻘر ﻋﻠﻰ اﻝزر‬
‫‪. Remove‬‬
‫‪ -‬إذا ﻜﺎن ﻫﻨﺎك إﺸﺎرات ﺨرج ﻓﻲ ﻗﺎﺌﻤﺔ اﻝﻨﺎﻓذة ‪ Selected Signals‬ﻏﻴر‬
‫ﻤوﺠودة ﻓﻲ دﺨل ‪ ، Bus Selector‬ﻓﺈن أﺴﻤﺎء ﻫذﻩ اﻹﺸﺎرات ﺘﺘﺒﻊ ﺒﺈﺸﺎرات‬
‫اﺴﺘﻔﻬﺎم )؟؟؟(‪.‬‬
‫‪ -‬ﻴﺘم وﻀﻊ أﺴﻤﺎء إﺸﺎرات اﻝﺨرج ﺒﺸﻜل آﻝﻲ‪ٕ .‬واذا أﺠرﻴت ﻤﺤﺎوﻝﺔ ﻝﺘﻐﻴﻴر‬
‫اﻷﺴﻤﺎء ﻓﺴﺘظﻬر رﺴﺎﻝﺔ ﺨطﺄ ﺘﻨﺒﻪ أﻨﻪ ﻻ ﻴﻤﻜن ﺘﻐﻴﻴر ﻫذﻩ اﻷﺴﻤﺎء‪:‬‬
‫‪you cannot change the signal label of a line connected to the‬‬
‫‪..output of a Bus Selector block‬‬
‫ﻋﻨد ﺘﺸﻐﻴل اﻝﻨﻤوذج اﻝﻤﺒﻴن ﻓﻲ اﻝﺸﻜل )‪ (٢٨-٥‬ﺘظﻬر ﻋﻠﻰ رواﺴم اﻹﺸﺎرة‬
‫اﻷﺸﻜﺎل اﻝﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪.( a, b, c – ٣١-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٤ -‬‬


‫اﻝﺸﻜل )‪.( a – ٣١-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٥ -‬‬


‫اﻝﺸﻜل )‪( b – ٣١-٥‬‬

‫اﻝﺸﻜل )‪( c – ٣١-٥‬‬


‫‪ -٦ -٥‬ﺼﻨﺎدﻴق اﻝﺘﺠﻤﻴﻊ ‪ Mux‬واﻝﺘﻔرﻴق ‪: Demux‬‬
‫ﻴﺒﻴن اﻝﺸﻜل )‪ (٣٢-٥‬أﺸﻜﺎل اﻝﺼﻨﺎدﻴق ‪ Mux‬و ‪ Demux‬وذﻝك ﻜﻤﺎ ﺘظﻬر‬
‫ﻓﻲ ﻤﻜﺘﺒﺔ أدوات اﻝﻨظﺎم ‪. Simulink‬‬

‫‪ -a‬ﺼﻨدوق ﺘﺠﻤﻴﻊ‬ ‫‪ -b‬ﺼﻨدوق ﺘوزﻴﻊ‬


‫اﻝﺸﻜل )‪(٣٢-٥‬‬
‫‪ – ١ – ٦ – ٥‬ﺼﻨدوق اﻝﺘﺠﻤﻴﻊ ‪:Mux‬‬
‫إن اﻝﺼﻨدوق ‪ Mux‬ﻴﻘوم ﺒدﻤﺞ إﺸﺎرات دﺨﻠﻪ ﻓﻲ إﺸﺎرة واﺤدة ﻝﻠﺨرج‪ .‬ﻴﻤﻜن‬
‫أن ﺘﻜون إﺸﺎرات اﻝدﺨل ﻋﺒﺎرة ﻋن‪ :‬ﺴﻠﺴﻠﺔ ‪ ، Scalar‬ﺸﻌﺎع ‪ ، Vector‬أو‬
‫ﻤﺼﻔوﻓﺔ ‪. Matrix‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٦ -‬‬


‫ﻤﺜﺎل ‪: ٦ – ٥‬‬
‫اﻝﻤطﻠوب إدﺨﺎل اﻷﻨﺴﺎق اﻝﺜﻼﺜﺔ اﻝﺘﺎﻝﻴﺔ ]‪ [1 2 3 4], [5 6], [7 8 9‬ﻋﻠﻰ‬
‫ﻤدﺨل ﺼﻨدوق دﻤﺞ ٕواﺨراﺠﻬﺎ ﻋﻠﻰ ﺸﻜل ﻨﺴق واﺤد‪.‬‬
‫اﻝﺤل‪:‬‬
‫ﻨﻔﺘﺢ ﻨﻤوذج ﺠدﻴد وﻨﻨﺴﺦ إﻝﻴﻪ ﻤن ﻤﻜﺘﺒﺔ ﻋﻨﺎﺼر ‪: Simulink‬‬ ‫‪-١‬‬
‫ﻋﻨﺼر اﻝﺠﻤﻊ ‪ ، Mux‬وﻨﻨﻘر ﻋﻠﻴﻪ ﻨﻘ اًر ﻤزدوﺠﺎً ﻝﻔﺘﺢ ﻨﺎﻓذة ﺤوار‬
‫ﺨﺼﺎﺌص اﻝﺼﻨدوق ‪ Mux‬وذﻝك ﻝﺘﺤدﻴد ﻋدد اﻝﻤداﺨل )‪ (٣‬ﺒﻜﺘﺎﺒﺔ‬
‫اﻝرﻗم )‪ (٣‬ﻓﻲ ﺨﺎﻨﺔ ‪. (٣٣- ٥) Number of inputs:‬‬
‫ﻨﻨﺴﺦ ﺼﻨدوق اﻝﻘﻴﻤﺔ اﻝﺜﺎﺒﺘﺔ ﺜم ﻨﻜررﻩ ﺜﻼث ﻤرات وﻨﻜﺘب ﻓﻴﻬﺎ اﻝﻘﻴم‬ ‫‪-٢‬‬
‫اﻝﺘﺎﻝﻴﺔ ﻋﻠﻰ اﻝﺘواﻝﻲ‪. [1 2 3 4], [5 6], [7 8 9] :‬‬
‫ﻨﻨﺴﺦ ﺼﻨدوق ‪ Disply‬ﻤن ﻋﻨﺎﺼر ﻤﻜﺘﺒﺔ ‪. Source‬‬ ‫‪-٣‬‬
‫ﻨﺠري ﺘوﺼﻴل اﻝﻌﻨﺎﺼر ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل وﻋﻨد ﺘﺸﻐﻴل اﻝﻨﻤوذج ﻨﺤﺼل‬ ‫‪-٤‬‬
‫ﻋﻠﻰ اﻝﻨﺘﻴﺠﺔ اﻝﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪.(٣٤-٥‬‬

‫ﺸﻜل )‪ (٣٣-٥‬ﺘﺤدﻴد ﻋدد ﻤداﺨل اﻝﺼﻨدوق‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٧ -‬‬


‫ﺸﻜل )‪ (٣٤-٥‬ﻋﻤل اﻝﻌﻨﺼر ‪Mux‬‬
‫ﻤﺜﺎل ‪: ٧ – ٥‬‬
‫ﻝدﻴﻨﺎ اﻹﺸﺎرات اﻝﺘﺎﻝﻴﺔ‪:‬‬
‫‪1-y1=10sin(314t); 2 - y2=5sin(942t); 3 - y3=y1+y2.‬‬
‫اﻝﻤطﻠوب إظﻬﺎر ﻫذﻩ اﻹﺸﺎرات ﻋﻠﻰ راﺴم إﺸﺎرة واﺤد‪:‬‬
‫اﻝﺤل‪:‬‬
‫ﻨﺸﻜل اﻝﻨﻤوذج اﻝﻤﺒﻴن ﻓﻲ اﻝﺸﻜل وﻓق اﻝﺘﺎﻝﻲ‪:‬‬
‫‪ - ١‬ﻨﻨﺴﺦ ﻤن ﻤﻜﺘﺒﺔ ‪ Simulink‬ﺼﻨدوق اﻝدﻤﺞ ‪ Mux‬ﺜم ﻨﺤدد ﻝﻪ ﻤن‬
‫ﻨﺎﻓذة اﻝﺤوار ﺜﻼﺜﺔ ﻤداﺨل‪.‬‬
‫‪ – ٢‬ﻨﻨﺴﺦ ﻤن ﻤﻜﺘﺒﺔ اﻝرﻴﺎﻀﻴﺎت ﻋﻨﺼر اﻝﺠﻤﻊ‪.‬‬
‫‪ – ٣‬ﻨﻨﺴﺦ ﻤن ﻤﻜﺘﺒﺔ ‪ Source‬ﻋﻨﺼر اﻹﺸﺎرة اﻝﺠﻴﺒﻴﺔ وﻨﺤدد ﻗﻴﻤﺔ ﻤطﺎﻝﻬﺎ‬
‫ﻤن ﻨﺎﻓذة اﻝﺤوار اﻝﺨﺎﺼﺔ ﺒﻬﺎ واﻝﺘﻲ ﻨﺤﺼل ﻋﻠﻴﻪ ﺒﺎﻝﻨﻘر اﻝﻤزدوج ﺒـ ‪ 10‬وﺘرددﻫﺎ ﺒـ‬
‫‪ ٣١٤‬رادﻴﺎن‪/‬ﺜﺎ ‪ .‬ﺜم ﻨﻜررﻫﺎ ﻤرة ﺜﺎﻨﻴﺔ وﻨﻐﻴر ﺘردد اﻹﺸﺎرة ‪ sine wave1‬إﻝﻰ‬
‫‪ ٩٤٢‬رادﻴﺎن‪/‬ﺜﺎ وﻤطﺎﻝﻬﺎ إﻝﻰ )‪.(٥‬‬
‫‪ – ٤‬ﻨدﺨل اﻹﺸﺎرﺘﻴن إﻝﻰ ﻤدﺨل ﻋﻨﺼر اﻝﺠﻤﻊ‪.‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٨ -‬‬


‫‪ – ٥‬ﻨوﺼل اﻹﺸﺎرات ‪ y1‬و ‪ y2‬وﻤﺨرج ﻋﻨﺼر اﻝﺠﻤﻊ إﻝﻰ اﻝﻤداﺨل اﻝﺜﻼﺜﺔ‬
‫ﻝﻠﻌﻨﺼر ‪. Mux‬‬
‫‪ - ٦‬ﻝﻌرض إﺸﺎرات اﻝدﺨل ‪ y1‬و ‪ y2‬و إﺸﺎرة ﺨرج ﻋﻨﺼر ‪ Mux‬واﻝﺘﻲ‬
‫ﺘﻀم ﺠﻤﻴﻊ اﻹﺸﺎرات ﻨﻨﺴﺦ ﺜﻼﺜﺔ أﺠﻬزة ﻋرض ﻤن ﻤﻜﺘﺒﺔ ‪ Sink‬ﻓﻲ ﻤﻜﺘﺒﺔ‬
‫‪ . Simulink‬وﻨوﺼل اﻷول إﻝﻰ اﻝﻤﺨرج اﻷول واﻝﺜﺎﻨﻲ إﻝﻰ اﻝﻤﺨرج اﻝﺜﺎﻨﻲ‬
‫وﻋﻨﺼر اﻝﻌرض اﻝﺜﺎﻝث إﻝﻰ اﻝﻤﺨرج اﻝﺜﺎﻝث ﺸﻜل )‪.(٣٥-٥‬‬
‫‪ - ٧‬ﻋﻨد ﺘﺸﻐﻴل اﻝﻨﻤوذج ﻨﺤﺼل ﻋﻠﻰ اﻝﺸﻜل )‪.(٣٦-٥‬‬

‫ﻤﻼﺤظﺔ ‪ : ١‬ﻝﺘﻐﻴﻴر ﺸﻜل اﻝﺼﻨدوق ‪ Mux‬ﻨﻨﻘر ﻋﻠﻴﻪ ﻓﻲ ﻨﺎﻓذة اﻝﻨﻤوذج ﻨﻘ ارً‬


‫ﻤزدوﺠﺎً وﻓﻲ ﻨﺎﻓذة اﻝﺤوار ﻨﺨﺘﺎر أﺤد اﻝﺨﻴﺎرات اﻝﻤﺘﺎﺤﺔ وﻫﻲ ‪– ٢ ، non – ١ :‬‬
‫‪. bar – ٣ ، signals‬ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪: (٣٧-٥‬‬

‫ﺸﻜل )‪(٣٥-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١٠٩ -‬‬


‫ﺸﻜل )‪(a - ٣٦-٥‬‬

‫ﺸﻜل )‪(b - ٣٦ -٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١١٠ -‬‬


‫ﻨﺎﻓذة ﺤوار ﺘﻐﻴﻴر ﺸﻜل اﻝﺼﻨدوق ‪Mux‬‬

‫اﻝﺸﻜل )‪ (٣٧-٥‬ﺘﻐﻴﻴر ﺸﻜل ﻋﻨﺼر اﻝدﻤﺞ‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١١١ -‬‬


‫‪ – ١ – ٦ – ٥‬ﺼﻨدوق اﻝﺘوزﻴﻊ ‪:Demux‬‬
‫إن ﺼﻨدوق اﻝﺘوزﻴﻊ ﻋﺒﺎرة ﻋن ﻋﻨﺼر ﺘوزﻴﻊ ﻴﻘوم ﺒﺎﺴﺘﺨﻼص إﺸﺎرة اﻝدﺨل‬
‫وﺘوزﻴﻌﻬﺎ ﻋﻠﻰ ﻤﻨﺎﻓذ اﻝﺨرج‪.‬‬
‫ﻴﻘﺒل ﺼﻨدوق اﻝﺘوزﻴﻊ ‪ Demux‬ﺸﻌﺎع ﺒﺒﻌد واﺤد‪ .‬ﺒﻴﻨﻤﺎ ﻴﺤدد ﻋدد اﻝﻤﺨﺎرج‬
‫ﻤن ﻨﺎﻓذة اﻝﺤوار اﻝﺘﺎﺒﻌﺔ ﻝﻪ‪ .‬وﺘﺤدد اﻝﻌﻼﻗﺔ ﺒﻴن ﻋﻨﺎﺼر اﻝدﺨل واﻝﺨرج وﻓق اﻝﺘﺎﻝﻲ‪:‬‬
‫‪ – ١‬إذا ﻜﺎﻨت ‪ P = n‬ﺤﻴث ‪ : n‬ﻋدد ﻋﻨﺎﺼر اﻝدﺨل و ‪ P‬ﻋدد ﻤﻨﺎﻓذ اﻝﺨرج‪ ،‬ﻓﺈن‬
‫ﻗﻴم ﻋﻨﺎﺼر اﻝدﺨل ﺘوزع ﺒﺎﻝﺘﺴﻠﺴل ﻋﻠﻰ ﺼﻨﺎدﻴق اﻝﺨرج‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﺒﻔرض ﻜﺎن اﻝدﺨل ﻋﺒﺎرة ﻋن ﺴﻠﺴﻠﺔ ﺒﺜﻼﺜﺔ ﻋﻨﺎﺼر وﻋدد اﻝﻤﺨﺎرج ﺜﻼﺜﺔ‬
‫ﻓﻌﻨد ﺘﺸﻐﻴل اﻝﻨﻤوذج ﻴذﻫب اﻝﻌﻨﺼر اﻷول إﻝﻰ اﻝﺼﻨدوق اﻷول واﻝﻌﻨﺼر اﻝﺜﺎﻨﻲ‬
‫إﻝﻰ اﻝﺼﻨدوق اﻝﺜﺎﻨﻲ واﻝﺜﺎﻝث إﻝﻰ اﻝﺜﺎﻝث‪ ،‬اﻝﺸﻜل )‪.(٣٨-٥‬‬

‫ﺸﻜل )‪(٣٨-٥‬‬

‫‪ – ٢‬إذا ﻜﺎن ﻋدد ﻤﻨﺎﻓذ اﻝﺨرج أﻜﺒر ﻤن ﻋدد ﻋﻨﺎﺼر اﻝدﺨل ‪ ،P > n‬ﺸﻜل‬
‫)‪ .(٣٩-٥‬ﻓﻌﻨد ﺘﺸﻐﻴل اﻝﻨﻤوذج ﻴﻌطﻲ رﺴﺎﻝﺔ اﻝﺨطﺄ اﻝﺘﺎﻝﻴﺔ‪:‬‬
‫‪Invalid setting for input port dimensions of Demux block‬‬
‫‪'untitled/Demux'. The dimensions are being set to 3. This is not valid‬‬
‫‪because the input has fewer elements than the total number of output‬‬
‫‪ports of this block.‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١١٢ -‬‬


‫ﺸﻜل )‪(٣٩-٥‬‬

‫‪ – ٣‬إذا ﻜﺎن ﻋدد ﻋﻨﺎﺼر اﻝدﺨل ﻤن ﻤﻀﺎﻋﻔﺎت ﻋدد اﻝﻤﻨﺎﻓذ‪ ،‬ﻓﺈن ﻋﻨﺎﺼر اﻝدﺨل‬
‫ﺘوزع ﺒﺎﻝﺘﺴﺎوي وﻋﻠﻰ اﻝﺘﺴﻠﺴل ﻋﻠﻰ ﺼﻨﺎدﻴق اﻝﺨرج‪.‬‬
‫ﻤﺜﺎل ‪ :‬إذا ﻜﺎن ﻓﻲ اﻝدﺨل ﺴﻠﺴﻠﺔ ﻤن ﺘﺴﻌﺔ ﻋﻨﺎﺼر وﻋدد ﻤﻨﺎﻓذ اﻝﺨرج ﺜﻼﺜﺔ ﻓﻌﻨد‬
‫اﻝﺘﺸﻐﻴل ﺘوزع ﻋﻨﺎﺼر اﻝدﺨل ﺒﺎﻝﺘﺘﺎﻝﻲ ﺒﺤﻴث ﺘذﻫب اﻝﻌﻨﺎﺼر اﻝﺜﻼﺜﺔ اﻷوﻝﻰ إﻝﻰ‬
‫اﻝﺼﻨدوق اﻷول‪ ،‬واﻝﻌﻨﺎﺼر اﻝﺜﻼﺜﺔ اﻝﺘﺎﻝﻴﺔ إﻝﻰ اﻝﺼﻨدوق اﻝﺜﺎﻨﻲ واﻝﻌﻨﺎﺼر اﻝﺜﻼﺜﺔ‬
‫اﻝﺒﺎﻗﻴﺔ إﻝﻰ اﻝﺼﻨدوق اﻝﺜﺎﻝث وﺘﻜون اﻝﻨﺘﻴﺠﺔ ﻜﻤﺎ ﻓﻲ اﻝﺸﻜل )‪.(٤٠-٥‬‬

‫اﻝﺸﻜل )‪(٤٠-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١١٣ -‬‬


‫‪ – ٤‬إذا ﻜﺎن ﻋدد اﻝﻤﺨﺎرج أﻗل ﻤن ﻋدد ﻋﻨﺎﺼر اﻝدﺨل أي ‪ P < n‬أو ‪P < kn‬‬
‫ﺤﻴث ‪ k‬ﻋدد ﺼﺤﻴﺢ ﻓﺈن ﻋﻨﺎﺼر اﻝدﺨل ﺘﻘﺴم ﻋﻠﻰ ﻋدد اﻝﻤﺨﺎرج وﻨﺘﻴﺠﺔ اﻝﺘﻘﺴﻴم‬
‫‪n‬‬
‫‪،‬ﺤﻴث ‪ p1‬ﺒﺎﻗﻲ اﻝﻘﺴﻤﺔ‪ ،‬ﺒﺎﻝﺘﺎﻝﻲ ﻴﺘم إﺴﻨﺎد ‪ n1‬إﻝﻰ‬ ‫ﺘﻜون ﻤﺴﺎوﻴﺔ ‪= n1 + p1‬‬
‫‪P‬‬
‫ﻤﻨﺎﻓذ اﻝﺨرج ﺒﺎﺴﺘﺜﻨﺎء اﻝﻤﺨرج اﻷﺨﻴر ﻓﻴﺴﻨد إﻝﻴﻪ ﺒﺎﻗﻲ اﻝﻘﺴﻤﺔ ‪. p1‬‬
‫ﻤﺜﺎل ‪:‬ﻋﻨﺼر ﺘوزﻴﻊ طﺒق ﻋﻠﻰ اﻝدﺨل ﻨﺴق ﺒﺜﻼﺜﺔ ﻋﻨﺎﺼر وﺤدد ﻝﻪ ﻤﺨرﺠﺎن أي‪:‬‬
‫‪ n = 3 ;p = 2‬ﻓﻌﻨد اﻝﺘﻨﻔﻴذ ﻨﺤﺼل ﻋﻠﻰ اﻝﻨﺘﻴﺠﺔ اﻝﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪.(٤١-٥‬‬

‫اﻝﺸﻜل )‪(٤١-٥‬‬

‫ﻤﺜﺎل ‪:‬‬
‫ﻝدﻴﻨﺎ اﻷﻨﺴﺎق اﻝﺜﻼﺜﺔ اﻝﺘﺎﻝﻴﺔ‪. A=[1 3 8] ; B=[1 3 4]; C=[33 88] :‬‬
‫اﻝﻤطﻠوب دﻤﺠﻬﺎ ﻓﻲ ﻨﺴق واﺤد ﺜم ﺘوزﻴﻌﻬﺎ ﻤرة أﺨرى إﻝﻰ ﺜﻼﺜﺔ أﻨﺴﺎق‪.‬‬
‫اﻝﺤل‪:‬‬
‫‪ – ١‬ﻨﻨﺴﺦ اﻝﻌﻨﺎﺼر اﻝﻼزﻤﺔ إﻝﻰ ﻨﺎﻓذة ﻤودﻴل ﺠدﻴدة‪ ،‬واﻝﻌﻨﺎﺼر ﻫﻲ )ﻋﻨﺼر‬
‫‪ ، Mux‬ﻋﻨﺼر ‪ Demux‬ﻋﻨﺎﺼر ‪ display‬ﻋﻨﺼر دﺨل اﻝﻘﻴﻤﺔ‬
‫اﻝﺜﺎﺒﺘﺔ ‪.Constantant‬‬
‫‪ – ٢‬ﻨﺤدد ﻋدد ﻤداﺨل ﻋﻨﺼر ‪ Mux‬ﻤن ﻨﺎﻓذة ﺤوارﻩ ﺒـ ‪. ٣‬‬
‫‪ – ٣‬ﻨﺤدد ﻋدد اﻝﻤﺨﺎرج ﻝﻌﻨﺼر ‪ Demux‬ﻤن ﻨﺎﻓذة ﺤوارﻩ ﺒـ ‪٣.‬‬
‫‪ – ٤‬ﻨدﺨل اﻷﻨﺴﺎق ﻓﻲ ﺼﻨﺎدﻴﻘﻬﺎ‪.‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١١٤ -‬‬


‫‪ – ٥‬ﻨوﺼل ﺨرج ‪ Mux‬إﻝﻰ دﺨل ‪. Demux‬‬
‫‪ – ٦‬ﻨوﺼل ﻋﻨﺎﺼر ﺼﻨﺎدﻴق اﻝﺨرج إﻝﻰ ﻜل ﻤن ﺨرج ﻋﻨﺼر ‪Mux‬‬
‫وﻋﻨﺎﺼر ﺨرج ‪. Demux‬‬
‫‪ – ٧‬ﻋﻨد اﻝﺘﺸﻐﻴل ﻨﺤﺼل ﻋل اﻝﻨﺘﻴﺠﺔ اﻝﻤﺒﻴﻨﺔ ﻓﻲ اﻝﺸﻜل )‪.(٤٢-٥‬‬

‫ﻣﺤﺎﻛﺎة وﻧﻤﺬﺟﺔ‬ ‫‪- ١١٥ -‬‬

You might also like