OpenModelica/C3/Block-Component-Modeling/Bengali

From Script | Spoken-Tutorial
Revision as of 15:54, 15 January 2018 by Satarupadutta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 Block component modeling এর টিউটোরিয়ালে আপনাদের স্বাগত।
00:06 এখানে আমরা শিখব: blocks পরিভাষিত করা।
00:12 Blocks যুক্ত করা।
00:15 Modelica Library থেকে blocks ব্যবহার করা।
00:19 টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি: OpenModelica সংস্করণ 1.9.2
00:26 আপনি নিম্ন যে কোনো অপারেটিং সিস্টেম ব্যবহার করতে পারেন।
00:30 টিউটোরিয়ালটি বুঝতে এবং অনুশীলন করতে Modelica তে component oriented modeling এর জ্ঞান দরকার।
00:38 পূর্বাবশ্যক টিউটোরিয়াল আমাদের ওয়েবসাইটে উল্লিখিত। সেগুলি দেখুন।
00:44 Blocks সম্পর্কে শিখি।
00:48 Block, Modelica তে একটি বিশেষ ক্লাস।
00:52 এটি কন্ট্রোল অ্যাপ্লিকেশনের জন্য দরকারী।
00:56 উদাহরণস্বরূপ, Modelica Library তে PI এবং PID কন্ট্রোলারের জন্য ব্লক রয়েছে যা প্রায়ই কেমিক্যাল ইঞ্জিনিয়ারিং কন্ট্রোল অ্যাপ্লিকেশনে দেখায়।
01:08 একটি ব্লক ক্লাসের ভ্যারিয়েবলের সঠিক কারণ হওয়া উচিত নয়তো ইনপুট বা আউটপুট।
01:15 Blocks কে connect স্টেটমেন্ট ব্যবহার করে যোগ করা যায়।
01:19 আমরা পূর্বের টিউটোরিয়ালে connect স্টেটমেন্ট সম্পর্কে শিখেছি।
01:24 Connectors, blocks এর মাঝে ইন্টারফেস হিসাবে কাজ করে।
01:28 সেটি মডেল ইনপুট এবং আউটপুট সিগন্যালের জন্য ব্যবহৃত হয়।
01:33 উদাহরণস্বরূপ, এটি block connector এর জন্য ঘোষিত যা real ইনপুট সিগন্যাল মডেল করে।
01:41 এখন একটি উদাহরণ দ্বারা block component modeling বোঝার চেষ্টা করি।
01:47 আমরা একটি ক্লাস লিখি যা নিম্ন কাজ সঞ্চালন করতে ব্লকগুলি ব্যবহার করে: ইনপুট এবং আউটপুট হিসাবে দুইবার ভিন্ন ভিন্ন সিগন্যাল নিন।
01:59 একটি সিগন্যাল ভিন্ন ভিন্ন ইনপুট হিসাবে নিন এবং কনস্ট্যান্ট দ্বারা এমপ্লিফাই করুন।
02:05 schematics ব্যবহার করে এই প্রব্লেম স্টেটমেন্ট সংজ্ঞায়িত করি।
02:11 এই চিত্রটি ব্লকের জন্য schematic দেখায় যা ইনপুট হিসাবে দুটি সিগন্যাল নিয়ে তাদের সমষ্টি ফেরৎ দেয়।
02:19 জিনিসগুলি সহজ করতে, সিগন্যাল 1 চয়ন করুন যা সময় দেখায়।
02:26 সিগন্যাল 2 কে 2 (times) t (squared) করুন।
02:31 এটি signal এর এমপ্লিফিকেশনের জন্য schematic.
02:35 এটি দুটি ইনপুট এবং এক আউটপুট সহ আগের কেসের অনুরূপ।
02:41 নিজের signal এর জন্য এক ইনপুট চয়ন করুন।
02:46 অন্য ইনপুট অর্থাৎ signal 2 হল কনস্ট্যান্ট K যা সিগন্যাল এম্পলীফাই করে।
02:54 এই দুটি inputs প্রোডাক্টের আউটপুট প্রয়োজন।
02:59 আমরা signal 2 চয়ন করেছি অর্থাৎ K হল 5 ইউনিট।
03:06 লক্ষ্য করুন উভয় সিগন্যাল এবং এমপ্লিফিকেশনের সমষ্টির 2 টি ইনপুট এবং 1 টি আউটপুট সহ ব্লক প্রয়োজন।
03:16 Modelica library তে ইতিমধ্যে একটি MISO ব্লক রয়েছে যা Multiple Input Single Output.
03:24 এটি Modelica.Interfaces.block প্যাকেজে উপলব্ধ।
03:30 এই ব্লক u এর জন্য ইনপুট ভেক্টর কারণ এটি ইনপুট হিসাবে একাধিক সিগন্যাল নিতে পারে।
03:38 y হল আউটপুট যা হল scalar.
03:42 এখন আলোচনা করি OMEdit দ্বারা আমাদের সমস্যা কিভাবে সমাধান করে।
03:48 Sum নামে একটি ব্লক বানাতে MISO ব্লক বিস্তৃত করুন।
03:53 আমরা আগের টিউটোরিয়ালে একটি ক্লাস বিস্তৃত সম্পর্কে শিখেছি।
03:59 Product নামে একটি ব্লক বানাতে MISO বিস্তৃত করুন।
04:04 main নামে ক্লাস বানান।
04:08 main ক্লাসে Sum এবং Product ব্লকের উদাহরণ বানান।
04:14 অবশেষে, ইনপুট এবং আউটপুট ভ্যারিয়েবল সম্পর্কিত প্রয়োজনীয় সমীকরণ প্রোগ্রাম করুন।
04:22 লক্ষ্য করুন Sum সিগন্যালের সমষ্টির সাথে মিল খায় যখনকি Product সিগন্যালের এমপ্লিকেশনের সাথে মিল খায়।
04:32 আমি ইতিমধ্যে আবশ্যক blocks বানিয়েছি এবং তাদের arithmeticOperationsUsingBlocks নামক ফাইলে প্যাকেজ করেছি।
04:42 এই ফাইলটি আমাদের সাইটে দেখে ডাউনলোড করতে পারবেন।
04:46 এখন OMEdit এ যান।
04:49 আমি প্রথমে arithmeticOperationsUsingBlocks প্যাকেজ দেখাবো এবং তারপর MISO ব্লকের সিনট্যাক্স দেখাবো।
04:59 আমি ইতিমধ্যে OMEdit এ arithmeticOperationsUsingBlocks প্যাকেজ খুলেছি।
05:06 আমি এটি Libraries Browser এ বিস্তৃত করি।
05:10 উল্লেখ্য, প্যাকেজে ব্লকের নাম Sum, Product এবং main ক্লাস।
05:18 তাদের সকলের উপর ডাবল ক্লিক করুন।
05:24 আমি MISO ব্লককেও Modelica Library তে খুলি।
05:29 Modelica library বিস্তৃত করুন।
05:32 Blocks → Interfaces এ যান। একটু নীচে স্ক্রোল করুন।
05:39 MISO তে ডাবল ক্লিক করুন।
05:43 ইন্টারফেস প্যাকেজে অন্য কয়েকটি ব্লকও রয়েছে যা কার্যকারিতাতে MISO এর অনুরূপ।
05:51 এখন ভাল দৃশ্যতার জন্য OMEdit উইন্ডোটি বাম দিকে সরাবো।
05:57 প্রথমে আমরা Sum ব্লক দেখি।
06:01 এটি Diagram View তে খোলা থাকলে Text View তে যান।
06:05 এটি block ঘোষণার করার জন্য সিনট্যাক্স।
06:10 এই স্টেটমেন্ট MISO block কে তার স্থান থেকে Modelica library তে পেতে প্রয়োগ করা হয়।
06:16 আমরা পূর্ববর্তী টিউটোরিয়ালে Class inheritance বা Class extension সম্পর্কে শিখেছি।
06:23 এখন আমি একটু পিছিয়ে যাই এবং MISO ব্লক দেখাই।
06:29 MISO ট্যাবে যান। Text View তে যান।
06:35 MISO একটি আংশিক ব্লক যার মানে এটি শুধুমাত্র ইনহেরিট করা যেতে পারে কিন্তু ইনস্টানসিয়েট করা যাবে না।
06:43 এটি Block class ইনহেরিট করে।
06:46 আপনি এটি Modelica library তে দেখানো পাথ ব্যবহার করে সনাক্ত করতে পারেন।
06:51 এখানে এই ক্লাস শুধুমাত্র Diagram View এর জন্য ব্যবহার করা হয় এবং তাই এর চর্চা করা উচিত নয়।
06:58 nin ইনপুট সংখ্যা প্রদর্শন করে।
07:02 এই প্যারামিটার তখন বদলানো যেতে পারে যখন ব্লক ইনহেরিট হয়।
07:08 RealInput একটি কনেক্টর যা স্পষ্টত একটি real ইনপুট সিগন্যাল দেখায়।
07:14 এই ক্ষেত্রে, ইনপুট হল ভেক্টর u যা আমরা ইতিমধ্যে আলোচনা করেছি।
07:20 একইভাবে, RealOutput একটি কনেক্টর যা real ইনপুট সিগন্যাল দেখায়।
07:27 এখানে, y রিয়েল ভ্যালু আউটপুট সিগন্যাল।
07:31 RealInput এবং RealOutput, Modelica Library এর একই প্যাকেজে MISO রূপে উপস্থিত।
07:38 এগুলি দেখুন।
07:41 এখন, MISO block এর Diagram View কেমন দেখায় তা দেখাই।
07:46 Sum ব্লকে ফিরে যান এবং যেখানে ছেড়ে ছিলাম সেখান থেকে শুরু করি।
07:52 ভ্যারিয়েবল y এবং u এই ব্লকের একটি অংশ কারণ এটি MISO ইনহেরিট করে।
07:59 যেমনকি আমরা আগের টিউটোরিয়ালে শিখেছি, Sum একটি array ফাংশন।
08:05 এটি ইনপুট হিসাবে array নেয় এবং তার এলিমেন্টের যোগফল দেয়।
08:11 Product ব্লকে যান। Text View তে যান।
08:17 এই ব্লক MISO কে ভালোমত ইনহেরিট করে।
08:21 যেমনকি আমরা আগের টিউটোরিয়ালে দেখেছি, Product একটি অ্যারে ফাংশন যা array কে ইনপুট হিসাবে নেয়।
08:29 এটি তার এলিমেন্টের প্রোডাক্ট ফেরৎ দেয়।
08:33 এখন আমি main ক্লাসে যাই।
08:37 Text View তে যান।
08:39 এই স্টেটমেন্ট Sum এবং Product ব্লকের ইন্সট্যানসিয়েশন দেখায়।
08:44 এই উদাহরণ OMEdit এর ড্র্যাগ এবং ড্রপে কার্যকারিতা ব্যবহার করেও বানানো করা যায়।
08:51 আমরা আগের টিউটোরিয়ালে এই বৈশিষ্ট্য নিয়ে আলোচনা করেছি।
08:56 nin, MISO তে ইনপুট ভেক্টর u এর মাত্রার জন্য একটি প্যারামিটার।
09:03 আমরা এই প্যারামিটারের জন্য 2 এর ভ্যালু নির্দিষ্ট করেছি।
09:07 এটি সমীকরণ সিগন্যালের Sum এর জন্য signal 1 এবং signal 2 এর ভ্যালু দেখায় যা স্লাইডে আলোচনা করেছি।
09:17 একইভাবে, এটি সিগন্যালের এমপ্লিফিকেশনের জন্য signal 1 এবং signal 2 এর ভ্যালু দেখায় যা স্লাইডে আলোচনা করেছি।
09:29 এখন ক্লাসটি সিমুলেট করি। Simulate বোতামে ক্লিক করুন।
09:33 পপ আপ উইন্ডো বন্ধ করুন।
09:36 Libraries Browser এ mySum বিস্তৃত করুন। y চয়ন করুন।
09:43 লক্ষ্য করুন এটি এমন একটি প্লট বানায় যা প্রদত্ত সিগন্যালের ভ্যালু অনুযায়ী হয়।
09:51 এর সাথেই আমরা টিউটোরিয়ালের শেষে এসেছি।
09:54 অনুশীলনী হিসাবে, RealInput, RealOutput, SI, SO এবং MIMO ব্লকের কোড দেখুন।
10:04 আপনি তাদের Modelica.Blocks.Interfaces প্যাকেজে দেখতে পারেন।
10:10 RealInput এবং RealOutput হল কনেক্টর যা ঘন ঘন ব্যবহৃত হয়।
10:17 তাই তাদের বোঝা জরুরী।
10:21 নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি দেখুন। এটি প্রকল্পকে সারসংক্ষেপে দেখায়।
10:27 স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে এবং প্রশংসাপত্র দেয়। আরো জানতে আমাদের লিখুন।
10:33 আপনার এই স্পোকেন টিউটোরিয়ালে কোন প্রশ্ন থাকলে নিম্ন সাইটে যান।
10:40 আমরা জনপ্রিয় বইগুলির সমাধানকৃত উদাহরণের কোডিং নির্দেশ করি। মানদণ্ড এবং সার্টিফিকেট দেই। আরো জানতে এই সাইটে যান।
10:50 আমরা কমার্শিয়াল সিমুলেটর ল্যাবগুলি OpenModelica তে মাইগ্রেট করতে সহায়তা করি।
10:56 Spoken Tutorial প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত।
11:03 আমরা OpenModelica উন্নয়ন দলকে তাদের সমর্থনের জন্য ধন্যবাদ জানাই।
11:09 আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। অংশগ্রহনের জন্যে ধন্যবাদ।

Contributors and Content Editors

Satarupadutta