একটি প্রোগ্রামযোগ্য নিয়ামকের জন্য একটি নিয়ন্ত্রণ প্রোগ্রাম কম্পাইল করুন
প্রোগ্রামেবল কন্ট্রোলারগুলি ধাতব-কাটিং মেশিন এবং বিভিন্ন প্রযুক্তিগত সরঞ্জামগুলির চক্রাকারে প্রোগ্রাম করা নিয়ন্ত্রণের জন্য ডিজাইন করা হয়েছে, সেন্সর এবং অ্যাকুয়েটর দিয়ে সজ্জিত যা "অন-অফ" নীতিতে কাজ করে। নিবন্ধে, একটি নিয়ন্ত্রণ প্রোগ্রাম কম্পাইল করার প্রক্রিয়া MKP-1 মডেলের একটি নিয়ামকের উদাহরণে বিবেচনা করা হয়।
সংস্করণের উপর নির্ভর করে, এই নিয়ামক আপনাকে 16, 32 বা 48 টি ডিভাইস নিয়ন্ত্রণ করতে দেয়। সেন্সর সংযোগের জন্য ইনপুট সার্কিটের সংখ্যা আউটপুট সংখ্যার সাথে মিলে যায়। প্রতিটি ইনপুট এবং আউটপুট এর নিজস্ব ঠিকানা আছে।
কন্ট্রোলার ড্রাইভের নিয়ন্ত্রণ প্রদান করে, সরঞ্জামের অবস্থা সম্পর্কে সেন্সর থেকে তথ্য গ্রহণ করে, বিলম্ব তৈরি করে, নিয়ন্ত্রণ প্রোগ্রাম অনুসারে শর্তসাপেক্ষ এবং শর্তহীন রূপান্তর সংগঠিত করে এবং অন্যান্য ফাংশনও সম্পাদন করে।
কন্ট্রোল ডিভাইসের ডিজাইন দুটি পর্যায়ে কমানো হয়েছে: 1 — নিয়ামকের সাথে সেন্সর এবং অ্যাকচুয়েটর সংযোগ করার জন্য একটি ডায়াগ্রাম আঁকা, 2 - অ্যালগরিদমিক স্কিম অনুযায়ী একটি নিয়ন্ত্রণ প্রোগ্রাম আঁকা।
সংযোগকারী সেন্সর
ডিআইপি বোতাম এবং সেন্সর সারণি 1 অনুযায়ী কন্ট্রোলারের ইনপুট সংযোগকারীর সাথে সংযুক্ত রয়েছে। প্রতিটি ইনপুটের নিজস্ব ঠিকানা রয়েছে।
ইনপুট সার্কিটগুলিকে পাওয়ার জন্য, আউটপুট ভোল্টেজ আন = 20 … 30 V সহ একটি পাওয়ার সাপ্লাই প্রয়োজন৷ সেন্সরটি ট্রিগার করা ইনপুট সার্কিট (বাইনারী স্তর 1) বন্ধ হওয়ার সাথে মিলে যায়, সার্কিটের খোলা অবস্থা বাইনারি স্তর 0 এর সমতুল্য .
নিয়ামক ইনপুটের সাথে সেন্সর যোগাযোগের সংযোগের একটি উদাহরণ চিত্রে দেখানো হয়েছে। 1
ডুমুর 1. সেন্সর যোগাযোগের সংযোগ চিত্র
টেবিল 1. কন্ট্রোলার ইনপুট সার্কিট
এক্সিকিউটিভ ডিভাইসের সংযোগ
অ্যাকচুয়েটর (রিলে কয়েল, নন-কন্টাক্ট ডিভাইসের ইনপুট সার্কিট) টেবিল 2 অনুযায়ী কন্ট্রোলারের আউটপুট সংযোগকারীর সাথে সংযুক্ত থাকে।
সারণি 2. কন্ট্রোলারের আউটপুট সার্কিট
কন্ট্রোলার আউটপুটগুলির সাথে রিলে কয়েলগুলিকে সংযুক্ত করার একটি উদাহরণ চিত্রে দেখানো হয়েছে। 2.
ডুমুর 2. রিলে কয়েলের ওয়্যারিং ডায়াগ্রাম
নিয়ামকের সাথে বাহ্যিক ডিভাইসগুলিকে সংযুক্ত করার জন্য একটি সম্পূর্ণ স্কিমের একটি উদাহরণ
ডিজিটাল সিস্টেম কন্ট্রোলার
কন্ট্রোলার হেক্সাডেসিমেল নোটেশনে প্রকাশিত সংখ্যার সাথে কাজ করে। সিস্টেমের ভিত্তি হল দশমিক সংখ্যা 16, বর্ণমালা দশটি সংখ্যা (0 ... 9) এবং ছয়টি ল্যাটিন অক্ষর (A, B, C, D, E, F) নিয়ে গঠিত। অক্ষরগুলি দশমিক সংখ্যা 10, 11, 12, 13, 14, 15 এর সাথে মিলে যায়।
হেক্সাডেসিমেল সংখ্যা পদ্ধতি সম্পর্কে আরও জানুন: সংখ্যা সিস্টেম
প্রোগ্রামিংয়ের সময়, সমস্ত সংখ্যাসূচক মান হেক্সাডেসিমেলে নির্দিষ্ট করা হয়। সারণি 3 হেক্সাডেসিমেল N16 এবং তাদের দশমিক সমতুল্য Nl0-এ সংখ্যার পরিসর দেখায়।
সারণি 3. হেক্সাডেসিমেল নোটেশনে সংখ্যা
কন্ট্রোলার কমান্ডের একটি সেট
প্রোগ্রামেবল কন্ট্রোলারটি সফ্টওয়্যার নিয়ন্ত্রণ সমস্যা সমাধানের জন্য ডিজাইন করা একটি নিয়ন্ত্রণ ব্যবস্থার সাথে সজ্জিত। সারণি 4 কন্ট্রোলার কমান্ডের একটি ছোট অংশ দেখায়।
কমান্ডটি দুটি অংশ নিয়ে গঠিত: সঞ্চালিত অপারেশনের কোড (CPC) এবং অপারেন্ড, যা অপারেশনটি সম্পাদিত বস্তুর ঠিকানা নির্দেশ করে। এই ক্ষেত্রে, সেন্সর এবং অ্যাকচুয়েটর এবং প্রোগ্রামের কমান্ড উভয়ই এমন একটি বস্তু হিসাবে কাজ করে। সময় ব্যবধান নির্দিষ্ট করার সময়, অপারেন্ড হল সেই ব্যবধানের সময়কাল।
সারণি 4. কন্ট্রোলার কমান্ড সেট
অ্যালগরিদমের ডায়াগ্রাম
প্রতিটি ডিভাইসের অপারেশনের ক্রম গ্রাফিক চিহ্ন ব্যবহার করে বর্ণনা করা যেতে পারে যা একটি অ্যালগরিদম ডায়াগ্রাম তৈরি করে। একটি চিত্র (চিত্র 3) নির্মাণের সময় শীর্ষবিন্দু নামক চার ধরনের চিহ্ন ব্যবহার করা যেতে পারে।
ভাত। 3. অ্যালগরিদমিক স্কিমের শীর্ষবিন্দু
"স্টার্ট" শীর্ষবিন্দুটি নিয়ন্ত্রণ দ্বারা প্রভাবিত হওয়ার আগে নিয়ন্ত্রণ ডিভাইসের প্রাথমিক অবস্থার সাথে মিলে যায়, উদাহরণস্বরূপ "স্টার্ট" বোতাম।
"শেষ" শীর্ষবিন্দু নিয়ন্ত্রণ প্রক্রিয়ার শেষের সাথে মিলে যায়, উদাহরণস্বরূপ, "স্টপ" বোতাম টিপানোর পরে।
অপারেটিং পয়েন্টটি নিয়ন্ত্রণ ডিভাইস তৈরি করে এমন ডিভাইসগুলির একটি নির্দিষ্ট প্রাথমিক ক্রিয়াকলাপ সম্পাদনের সাথে সম্পর্কিত, উদাহরণস্বরূপ, একটি রিলে চালু বা বন্ধ করা। সঞ্চালিত অপারেশন উপরের আইকনের ভিতরে চার্টে রেকর্ড করা হয়।
একটি শর্তসাপেক্ষ শীর্ষবিন্দু একটি অপারেটিং শীর্ষ থেকে অন্য শীর্ষে যাওয়ার শর্তকে সংজ্ঞায়িত করে। শর্ত সেন্সর দ্বারা সেট করা হয়, নিয়ন্ত্রণ বোতাম বা অন্য ডিভাইস। সেন্সর বা বোতামের অবস্থা এবং শীর্ষবিন্দুগুলির আউটপুটগুলি যথাক্রমে 1 বা 0 সংখ্যা দ্বারা নির্দেশিত হয়।
উদাহরণস্বরূপ: মোশন সুইচ «চালু» — 1; "বন্ধ" — ০।
একটি অ্যালগরিদম ডায়াগ্রাম কম্পাইল করা স্বয়ংক্রিয় ডিভাইসের অপারেশনের প্রয়োজনীয় ক্রম অনুসারে সংযোগকারী শীর্ষবিন্দুতে হ্রাস করা হয়। অ্যালগরিদমের ডায়াগ্রামের একটি খণ্ড চিত্রে দেখানো হয়েছে। 4. ডায়াগ্রামে, X1 চিহ্নটি সুইচকে বোঝায়, Δt হল সময়ের ব্যবধান।
একটি নিয়ন্ত্রণ প্রোগ্রামের সংকলন
প্রোগ্রামের প্রতিটি কমান্ড তার নিজস্ব সিরিয়াল নম্বরের অধীনে লেখা হয়, যা তার ঠিকানা। প্রোগ্রামটি অ্যালগরিদমের স্কিম অনুযায়ী কম্পাইল করা হয়েছে এবং এতে অবশ্যই কমান্ডের একটি সেট থাকতে হবে যা স্কিমে উল্লেখিত সমস্ত ক্রিয়াকলাপ সম্পাদন করে।
প্রোগ্রামটি বিকাশ করার আগে, সেন্সর এবং ড্রাইভগুলির একটি সংযোগ চিত্র আঁকতে হবে। এই ডিভাইসগুলি কোথায় সংযুক্ত রয়েছে তার উপর নির্ভর করে, তারা তাদের নিজস্ব নম্বর পায়, যা প্রোগ্রামে তাদের ঠিকানা।
প্রোগ্রাম তৈরি করা উচিত "স্টার্ট" ডায়াগ্রামের শীর্ষ থেকে শুরু করা এবং তারপরে ক্রমানুসারে অপারেশনগুলিকে শীর্ষে "শেষ" পর্যন্ত প্রোগ্রাম করা উচিত।
যদি একটি বোতাম, লিমিট সুইচ বা অন্যান্য সেন্সর চালু করার পরে একটি অপারেশন করা হয়, তাহলে কমান্ড 02 সেট করা হয় এবং সেই সেন্সরের সংখ্যাটি অপারেন্ড হিসাবে লেখা হয়। এই ক্ষেত্রে, নিয়ন্ত্রক এই সেন্সর থেকে একটি ট্রিগার সংকেত পাওয়ার পরেই এক্সিকিউটিভ ডিভাইসগুলিকে চালু বা বন্ধ করার আদেশটি কার্যকর করবে।
ডিভাইসগুলি যথাক্রমে 05 বা 06 কমান্ড দিয়ে চালু বা বন্ধ করা হয়। চালু করা ডিভাইসের সংখ্যা অপারেন্ডে লেখা হয়
সময়ের ব্যবধান 07 কমান্ড ব্যবহার করে সেট করা হয়। সহগটি অপারেন্ডে লেখা হয়, যা 0.1 সেকেন্ড দ্বারা গুণ করা হলে। প্রয়োজনীয় বিলম্ব সময় দেয়।
উদাহরণস্বরূপ, t = 2.6 সেকেন্ড সেট করার সময়।অপারেন্ড সংখ্যা 1A (দশমিক স্বরলিপিতে 26) ধারণ করে। একটি একক 07 কমান্ড দ্বারা নির্ধারিত সর্বোচ্চ সময় বিলম্ব হল 25.5 সেকেন্ড (07 FF কমান্ড)। যদি 25.5 সেকেন্ডের বেশি বিলম্বের প্রয়োজন হয়, তাহলে বেশ কয়েকটি 07 কমান্ড ধারাবাহিকভাবে নিয়ন্ত্রণ প্রোগ্রামে অন্তর্ভুক্ত করতে হবে, একসাথে প্রয়োজনীয় সময়ের ব্যবধান প্রদান করে।
প্রোগ্রামে শর্তসাপেক্ষ লাফ প্রয়োগ করতে (অ্যালগরিদম ডায়াগ্রামে, একটি শর্তসাপেক্ষ শীর্ষবিন্দু যা «1» এবং «0» উভয় অপারেশন সহ), আপনাকে প্রথমে চেক কমান্ডটি এই শীর্ষ 04-এ সেট করতে হবে।
এই শীর্ষবিন্দুর সাথে সংশ্লিষ্ট সেন্সরটি যদি «1» অবস্থায় থাকে, তাহলে শর্ত বিট BU = 1 তৈরি হবে। সেন্সরটি যদি «0» অবস্থায় থাকে, তাহলে BU = 0 উৎপন্ন হবে।
OA কমান্ডটি তারপর জারি করা হয়, যা, যদি পূর্ববর্তী কমান্ডে BU = 1 সেট করা থাকে, তাহলে সেই কমান্ডের অপারেন্ডে নির্দিষ্ট করা কমান্ড কার্যকর করতে কন্ট্রোলারকে সুইচ করবে।
BU = 0 দিয়ে, কন্ট্রোলার OA কমান্ডের পরে কমান্ডটি কার্যকর করবে।
একটি প্রোগ্রাম কম্পাইল করার সময়, OA কমান্ডে অপারেন্ড উল্লেখ না করেই কন্ট্রোলারের জন্য প্রথমে BU = 0 চালানোর জন্য কমান্ডের একটি ক্রম লেখার সুপারিশ করা হয়। তারপর "0" শর্ত অনুসারে নিয়ামক দ্বারা কার্যকর করা সমস্ত কমান্ড লিখিত, "1" শর্ত অনুসারে পূর্ণ কমান্ডটি প্রোগ্রামে প্রবেশ করানো হয়। এই কমান্ডের ঠিকানা OA কমান্ডের অপারেন্ডে নির্দিষ্ট করা আছে।
দ্রষ্টব্য: কন্ডিশন বিটের জন্য, প্রাথমিক অবস্থা হল BU = 1, যা কন্ট্রোলার চালু হওয়ার পরে এবং কন্ডিশনাল জাম্প কমান্ড কার্যকর করার পরে সেট করা হয়।
চিত্রে অ্যালগরিদম ডায়াগ্রামের একটি অংশের জন্য একটি প্রোগ্রাম লেখার একটি উদাহরণ। 4 সারণি 5 এ দেখানো হয়েছে।
ভাত। 4. অ্যালগরিদমের চিত্রের খণ্ড
সারণী 5. ব্যবস্থাপনা প্রোগ্রামের খণ্ড
