بررسی مدل 06XA
سخت افزار 06XA
- دارای 4 ورودی آنالوگ و 2 خروجی آنالوگ. در ورودی، جریان یا ولتاژ می گیرد. خروجی نیز ولتاژ یا جریانی تولید می کند. خروجی این کارت 10-0 ولت و جریان 20-0 میلی آمپر تولید می کند.
- سنسورهای با رنج 4-20 mA ، 0-20 mA،0-10 ولت ، -10-10 ولت، -10-0 ولت را می توانیم وصل کنیم.
- این کارت بسیار مقرون به صرفه بوده و رزولوشن قابل قبولی دارد. منظور دقت و پله های ورودی و خروجی جریان است؛ به صورتی که این کارت -10-10 ولت را در داخل خودش -2000-2000 می شناسد. -20 – 20 میلی آمپر را به صورت -1000-1000 می شناسد. در خروجی 0-10 ولت را به صورت 0-4000 و 0-20 میلی آمپر را به صورت 0-4000 می شناسد.
- باید دقت کنید که به هر PLC دلتا، نهایتا 8 کارت آنالوگ از قبیل 06XA، کارت دما، 04A/D و 04D/A وصل کنیم.
- این کارت می تواند به صورت مجزا در شبکه مدباس به صورت RTU باشد و توسط پورت سبز رنگ RS485 وصل شود و برای تغذیه خود نیاز به 24 ولت دارد.
- برای این که این کارت را بتوانیم به یک PLC وصل کنیم، باید حتما از پورت سمت چپ به PLC اتصال داده شده و از دستور from و to جهت برنامه نویسی استفاده کنیم.
سخت افزار 14ss2
- پایه S/S جهت تعیین Sink یا Source .
- C0 بین y0 ، y1 ، y2 مشترک است. C1 بین y3،y4،y5 مشترک است.
- پورت گرد: Com1 جهت برنامه دادن به PLC و یا ارتباط با سایر ادواتی که تحت مدباس کار می کنند.
- در قسمت زیر این PLC، یک عدد پورت سبزرنگ می بینیم، RS485 جهت ارتباط با HMI و یا هر تجهیز دیگری که در شبکه مدباس می توانند کار کنند.
- R نشانگر رله ای بودن این PLC است.
- در سمت راست، یک قسمتی هست برای وصل کردن هر کارت افزایش اعم از آنالوگ یا دیجیتال.
- خروجی ها می توانند در 50/60 Hz سوئیچ کنند چون رله ای هستند.
در قسمت order number، عدد 14 بیانگر مجموع ورودی و خروجی می باشد. عدد 11 بیانگر 24 ولت بودن ورودی ها است. R رله ای بودن ورودی ها را نشان می دهد.
یکی از قابلیت های PLC دلتا، کارآیی بسیار بالا در ابعاد بسیار کوچک می باشد.
اتصال 06XA و 14ss2
همانطور که در تصویر ملاحظه می کنید، 14SS2 توسط 24 ولت تغذیه شده و چراغ Power روشن است.
حالا این دو ماژول را به هم وصل می کنیم،همانطور که مشاهده می شود چراغ ERR روشن است، این به خاطر این است که تغذیه ولتاژ خودش را از مسیر داخلی سوکت 14ss2می گیرد. برای اینکه ارور خاموش شود، تغذیه کارت 06XA را وصل می کنیم؛ در این صورت چراغ ERR تغییر وضعیت می دهد و به حالت سبز رنگ می شود، همچنین چراغ A to D روشن می شود. اکنون این قابلیت را به سیستم دادیم که با استفاده از یک PLC، 14SS2 و یک کارت آنالوگ، از طریق دستور from و to، اقدام به تولید ولتاژ و جریان و خواندن ولتاژ و جریان می کنیم.
کاتالوگ خوانی 06XA
کارت آنالوگ 06XA کارتی تلفیقی از آنالوگ های ورودی و خروجی است، به این صورت که 4 کانال به عنوان ورودی و 2 کانال به عنوان خروجی دارد.
- کانال ورودی می تواند 0-10v و -10-0v را بخواند و به ازاء آن، عدد 2000-2000- را به ما نمایش دهد.
- کارت در قسمت ورودی ولتاژ از نوع 12bit است. 12bit یعنی اگر عدد 2 را به 12 برسانیم، برابر 4096 خواهد شد با تقسیم بر 2 به عدد 2048 می رسیم. از 48 صرف نظر می کنیم، می شود 2000 – 2000 – ؛ اما ورودی جریانی از نوع 11bit است و می تواند 20 – 20- میلی آمپر را بخواند. برابر 2048 است، با تقسیم بر 2 می شود 1024. با صرف نظر کردن از 24، می شود -1000 – 1000
- در قسمت خروجی، 2 کانال داریم که فقط می تواند 10-0 ولت را تولید کند. رزولوشن آن 12bit است و عدد 4000-0 یعنی 4000 را به عنوان 10 ولت می شناسد و در قسمت جریان، 4000 -0 یعنی 4000 را 20میلی آمپر می شناسد.
سیم بندی 06XA
- برای ورودی ها کافی است که برای مثال برای کانال1 ، ورودی -10 – 10v را بین com و V+ قرار بدهیم. در برنامه نویسی جهت خواندن مقدار ولتاژ ورودی، از دستورات to و from استفاده می کنیم.
- برای وصل کردن نیز همانند 10SX ، در قسمت وایرینگ، نیاز داریم که جریان را به ولتاژ اتصال دهیم تا بتوانیم جریان را بخوانیم.
- در قسمت تولید ولتاژ، ولتاژ 0-10v را از پایه های v+ ، از کانال 5 و comمی توانید تولید کنید و یا با تغییر برنامه نویسی می توانید از همین کانال، ولتاژهای بین 0-10v را با تغییر عدد 0-4000 تولید کنید.
- در قسمت تولید جریان مشاهده می کنید جریان 0-20mA از پایه I+ و com تولید میشود. در قسمت خروجی نیازی به اتصال V+ به جریان I+ نمی باشد. فقط برای خواندن جریان، نیاز به اتصال V+ و I+ می باشد.
نحوه وایرینگ را در تصویر زیر مشاهده می کنید. برای مثال یک پرشر ترانسمیتر(سنسور فشار) را به پایه های ورودی وصل کردیم و از خروجی ولتاژ برای تغییر سرعت یک اینورتر استفاده کردیم.
مدارخوانی 06XA
در قسمت مدارخوانی می رسیم به CR ها یا code register ها. اگر manual را باز کنیم به جداول فوق می رسیم. بخش هایی که این جدول دارد: اسم رجیستر را نوشته یعنی عملکردی که این رجیستر می تواند در فراخوانی دستورات from و to داشته باشد. Latch دار بودن و نبودن این رجیستر را مشخص کرده است. R خواندنی یا RW خواندنی و نوشتنی بودن این رجیستر را مشخص کرده برای مثال مدل کارت، H CC است که بیانگر 06XA بودن این کارت است. در PLC های دلتا اگر این دستور CR0 را فراخوانی کنیم، شما خواهید دید HCC نمایش داده می شود.
در جدول، آدرس پارامتر شبکه و شماره رجیستر نمایش داده شده است که در بخش های آینده در شبکه مدباس توضیح داده می شود.
رجیستر شماره صفر که در برنامه می خواهد فراخوانی شود، مدل کارت را برای ما نمایش می دهد. همانطور که می بینید این رجیستر یک رجیستر خواندنی است. برای رجیسترهایی که R(READ) هستند، شما فقط باید از دستور from استفاده کنید، چون شما نمی توانید هیچ عددی یا مقداری داخل این رجیستر بریزید و فقط می توانید رجیستر را بخوانید.
اما رجیستر شماره یک ، CR1 هم خواندنی و هم نوشتنی است. شما می توانید برای خواندن این رجیستر و یا نوشتن یک مقدار داخل این رجیستر، هم از دستور from و هم از دستور to استفاده کنید. رجیستر شماره یک، رجیستر مهمی است که تعیین کننده ی عملکرد 6 کانال ماست. به این صورت که از صفر تا سه برای ورودی های آنالوگ است و از صفر تا سه نیز حالت های خروجی کارت آنالوگ است.
بیت هایی که در جدول میبینید مربوط به کانال های 1، 2، 3 و 4 به عنوان ورودی و 5 و 6 به عنوان خروجی است.
در اینجا به نحوه ی برنامه نویسی اشاره کوچکی می کنیم، بعدتر در مورد آن بیشتر توضیح خواهیم داد. فرض کنید می خواهیم ورودی اول که 3 بیت را اشغال می کند، یک ورودی 0-10v باشد. در این صورت کافی است عدد 000 را داخل این رجیستر قرار دهید. به چه صورت؟ از کجا فهمیدیم که باید 000 را وارد کنیم، چون Mode مربوط به ولتاژی بودن 000 است.
اگر می خواستیم ولتاژ 6v-0 را به آن وصل کنیم، عدد یک را به باینری تبدیل می کردیم، می شد 001 یا اگر برای مثال می خواستیم برای این کانال، ورودی -20-20mA را برای کانال یک، تعیین کنیم، عدد 3 را به باینری تبدیل می کردیم، می شد 011 ؛ بنابراین به همین ترتیب برای اینکه کانال های خود را بخواهید تعریف کنیم، چه از نوع ورودی و چه از نوع خروجی باشند، با توجه به جدول، می توانیم این کار را انجام دهیم.
در قسمت بعدی، یک مثال حل شده جهت تعیین ورودی ها و خروجی ها ارائه می شود. بعد از اینکه تمام صفر و یک های این شانزده بیت را چیدید، می توانید از طریق ماشین حساب موجود در کامپیوتر اقدام به تبدیل این کد به کد HEX کنید.
مثال: چون ماشین حساب از سمت چپ می چیند، از کانال 6 شروع می کنیم. فرض کنید از کانال 6 یک جریان 4-20mA تولید می شود؛ مد مربوط به آن، عدد 2 است بنابراین می شود 01، یعنی برای بیت 15 صفر گذاشتیم و برای بیت 14، یک گذاشتیم . فرض کنید از کانال 5، یک جریان 0-20mA تولید کنم، در اینصورت عدد 3 را به باینری تبدیل می کنیم، می شود 11. سپس برای کانال 4 که به عنوان ورودی است، می خواهیم از مد 2 استفاده کنیم یعنی جریان -12-20 mA را تولید کنیم، کد مربوطه می شود 010 ، چون 3 بیت را اشغال کرده، 0 را برای بیت 11، 1 را برای بیت 10 و 0 برای بیت 9 قرار می دهـیم. برای کانال 3 برای مثال می خواهـیم کانال از نوع -20-20mA را برای ما بخواند، عدد 3 را به باینری تبدیل می کنیم، می شود 011. می خواهیم کانال 2، ورودی ولتاژی داشـته باشـد، می شـود 000. فرض کنـید کانال یک می خواهـیم ولتاژ -6-10v را بدهیم، کافی است عدد یک را در مبنای باینری قرار دهیم، می شود 001. حال عددی که از چینش مقدار همه کانال ها به دست آمده یعنی عدد 111010011000001 را به HEX تبدیل می کنیم.
کد به دست آمده (74c1)، کد مربوط به دستور to خـواهد بود که داخل رجیستر CR1 ریخته می شود. این بخش به جهت معرفی بیان شد، بعدا در نرم افزار WPLsoft نشان می دهیم که می توانیم کد را از طریق نرم افزار بسازیم. یک ترفند برای محاسبه ذهنی کد هگزادسیمال این است که اعداد را 4 تا 4تا جدا می کنیم.
نکته: یکی از قابلیت های بزرگ PLC های دلتا این است که با تغییر یک هگزا دسیمال به راحتی می توانید ورودی و خروجی خود را تعریف کنیم، اما در PLC های مدل دیگر، شما لازم است که سخت افزار PLC را در قسمت آنالوگ باز کنید و با تغییر دادن dip switch ها اقدام به تغییر نوع ورودی ها (که جریانی باشند یا ولتاژی) کنید.
نکته: یکی دیگر از مزیت هایی که PLCهای دلتا دارد این است که سخت افزاری مانند 10SX، 20SX2، EX دارای آنالوگ روی خودشان هستند. PLC های دیگر این امکان را ندارند و حتما باید از کارت آنالوگ استفاده کنند.
در ادامه، توضیحات بقیه رجیسترها بیان می شود:
کد رجیستر 2 که می خواهیم فراخوانی کنیم، کد شبکه اش برابر با H40CA ، latch دار بودن یا نبودنش با علامت ضربدر و دایره مشخص شده است. خواندنی و نوشتنی بودن با R/W مشخص شده. کد رجیستر 2 میانگین نمونه گیری کانال 1 است؛ به همین ترتیب کانال 2،3،4 برای CR3،CR4، CR5 .کد رجیستر CR6میانگین مقدار ورودی کانال 1، به همین ترتیب میانگین کانال 4 برای CR9 . CR10 مربوط به تولید سیگنال آنالوگ از خروجی اول یا همان کانال 5 است. CR11 نیز مربوط به تولید سیگنال آنالوگ از خروجی دوم یا همان کانال 6 است. CR12 تا CR15 مربوط به مقدار سیگنال موجود در کانال 1 تا 4 صرف نظر از Average time است.
یک تفاوت بین Average Value و Presen Value هست. Average Time در ثانیه نمونه گیری می کند. برای مثال 10بار در یک ثانیه نمونه گیری می کند، مقادیر را جمع می کند و تقسیم بر تعداد می کند، بدین ترتیب میانگین را می گیرد و نمایش می دهد؛ اما Present Value مقدار لحظه ای همان لحظه را با توجه به Scan Time داخل PLC، نشان می دهد.
توجه داشته باشید در برنامه نویسی from و to، تمام برنامه ها در قسمت NPU یا CPU نوشته می شود و هیچ برنامه ای برای انتقال به کارت آنالوگ از طریق خود کارت موجود نیست، مگر اینکه کارت ما تحت شبکه مدباس کار کند.
ادامه ی رجیستر ها را در جدول زیر ملاحظه می کنید:
از CR18 تا CR23آفست دادن به مقدار ورودی ها و خروجی ها است. ضریب دادن به آنها مربوط به CR24 تا CR29 است. اگر چراغ خطای روی کارت آنالوگ روشن شود، می توانیم کد خطا را از طریق CR30 بخوانیم که در ادامه در قسمت برنامه نویسی خطایی رو ایجاد می کنیم و از جدول مربوطه کد آن را نمایش می دهیم و توضیح می دهیم که چطور باید از آن استفاده کنید.
برای بحث شبکه، CR31 می توانید extension number تعریف کنید که این قطعه 06XA است، در شبکه ی مدباس extension چند است؟
در CR32 شما می توانید communication baud rate انجام دهید که مربوط به پروتکل ارتباطی بین تجهیزات داخل شبکه مدباس هر سیستمی، نه تنها PLC که می خواهید قرار دهید. تحت شبکه مدباس RTU یا ASCII دارید کار می کنید، باید تمام تجهیزات موجود در شبکه دارای baud rate مساوی، stop bit همه را باید یکی در نظر بگیرید. فقط تنها چیزی که در شبکه ها با هم دیگر باید متفاوت باشد، شماره extension هر قطعه یا Device است.
برنامه نویسی 06XA و 14SS2
در این بخش، قصد داریم وارد محیط برنامه نویسی شویم و مدل کارت 06XA را بخوانیم و از دستور from و to استفاده کنیم. ابتدا وارد manual می شویم ، مدل تایپی که می خواهیم بخوانیم، می بینیم که یک دستوری است که R دارد، فقط خواندنی است، پس از دستور from یا “از” استفاده می کنیم. به چه صورت؟ وارد محیط برنامه نویسی می شویم، CR نامبر را نگاه می کنیم که صفر است، از کنتاکت باز m1000 استفاده می کنیم که با run شدن PLC، بسته می شود. دستور را دقت کنید، از چند بخش تشکیل شده. From یعنی “از”. عملوند بعدی چیه؟ from K0 . K0 نشانگر چیه؟ یعنی اینکه از محل کارت اول. اینجا یک PLC،14SS2 داریم و یک کارت آنالوگ 06XA را از سمت راست بهش expand کردیم. پس چیکار می کنیم؟ میگیم از محل کارت اول، کارت اول در بحث آنالوگ که نهایتا 8تا کارت آنالوگ می توانیم به یک PLC اکسپند کنیم، آدرسش صفر است یعنی اولین کارت از صفر شروع می شود. حالا سوال پیش می آید اگر چند تا کارت دیجیتال داشته باشیم مثل 16SB، 8SN چه اتفاقی می افتد؟ هیچ مشکلی پیش نمی آید. اول شما کارت های دیجیتال را می چینید. برای مثال یک PLC، 14SS2 داریم، یک کارت 16SB داریم، یک کارت 8SN داریم، یک کارت آنالوگ 06XA داریم. درسته که در سیستم ما، کارت آنالوگ، سومین ماژول وصل شده است ولی چون به عنوان اولین کارت آنالوگ حساب می شود، آدرسش می شود صفر، میگم from k0 یعنی از k0 چه چیزی را بخوان؟ طبق جدول CR0 را بخوان که مربوط به مدل تایپ است. به چه صورت بخوان؟ یعنی from k0 k0. K0 اول، شماره رجیستر داخل جدول است و k0 دوم، محل قرارگیری کارت ماست. مقدار خوانده شده را در کجا ذخیره کن؟ در هر رجیستری که دوست دارید، برای مثال داخل d0 ذخیره می کنیم. عملوند آخر به چه صورت است؟ میگه چندتا از این رجیسترها رو بخوانم. یعنی چی؟ برای اکثر عزیزان سوال است؟ اگر من k1 بگذارم چه اتفاقی می افتد، فقط مقدار CR0 را می خونم و داخل d0 ذخیره می کنم. اگر k2 بذاریم، چی میشه؟ مقدار CR0 را داخل d0 ذخیره می کند و مقدار CR1 من را داخل رجیستر d1 ذخیره می کند. معمولا شما این کار رو میکنید. این نکته را مدنظر داشته باشید که همیشه مقدار عملوند from و یا to را عدد یک بذارید که در برنامه نویسی درکش راحت تر باشد و دچار اشتباه نشوید. پس چی شد؟ گفتیم از محل کارت اول یعنی k0 اول، مقدار رجیستر CR0 که اینجا با K0 نمایش داده می شود، بخوان و داخل رجیستر d0 ذخیره اش کن. آخری را هم گفتیم همیشه یک می گذاریم. برنامه نوشته شده رو کدش می کنیم، هیچ مشکلی ندارد. داخل PLC می ریزیم و مود آنلاین را می زنیم. PLC را از طریق سخت افزار RUN و STOP می کنیم. ملاحظه می کنید؟ من باید چه عددی را ببینم، من باید عدد CC را ببینیم. هر کارت آنالوگ در کمپانی دلتا، یک کدی برای خودش دارد، کد CC . اگر کارت دما بود، کدش متفاوت بود. اگر 04 A/D بود، کدش متفاوت بود و اگر 04D/A بود، کدش متفاوت بود. ما قرار بود CC را ببینیم، چرا 204 نمایش داده میشود، چون مبنای آن دسیمال است. میخواهیم CC را ببینیم، کافی است از منوی View گزینه monitoring data format انتخاب کنیم و تبدیل کنیم به کد hexadecimal . برای چی این کار را می کنیم؟ ببینیم آیا ارتباط ما درسته. از نظر سخت افزار ارتباط side by side ماژول های 14SS2 است با 06XA برقراره ؟ که بقیه برنامه را بنویسیم، ولتاژی تولید کنم یاولتاژی بخونم.
خواندن Error Code
در بخش های بعدی، می خواهیم یک ارور ایجاد کنیم و شماره مربوط به اِرور را خوانده و از جدول نگاه کنیم، ببینیم این اِرور مربوط به چیه؟.
در ادامه ی آشنایی با دستور from ، می خواهیم به صورت عمد، اروری را در سیستم ایجاد کنیم و ببینیم این ارور کجا ذخیره می شود و چگونه می توان این ارور را عیب یابی کرد. در بخش قبل دیدیم که از طریق برنامه توانستیم مدل کارت را توسط دستور from بخوانیم. در این قسمت قصد داریم مجددا یک رجیستر دیگر، از CR کدهای مربوط به کارت آنالوگ 06XA را بخوانیم. اگر در منوال کارت 06XA نگاه کنید، ارور کدها در CR30 ذخیره می شود، بنابراین باید از دستور زیر استفاده کرد:
From k0 k30 d2 k1
برنامه را اوکی و داخل PLC دانلود می کنیم و سپس مود آنلاین را می زنیم. ملاحظه می کنید که هیچ کدی نمی بینیم. اگر جدول را به شما نمایش دهم، H0 جزو هیچکدام از ارورها نیست یعنی وضعیت کار PLC نرمال است.
به محض اینکه منبع تغذیه کارت آنالوگ را قطع کنیم، علاوه بر اینکه چراغ ارور روشن می شود، در قسمت برنامه نویس هم کدش با H1 نمایش داده می شود.
فرض کنید ما نمی دانیم H1 چیه؟ اگر به جدول مراجعه کنیم، می بینیم که Low Voltage alarm است، یعنی تغذیه کارت آنالوگ قطع شده است.
کدهای دیگه چی میگه؟ H2 مقدار ورودی یا خروجی آنالوگ را اشتباه برنامه نویسی کرده باشید. H4، Setting mode error یعنی چی؟ یعنی اون CR1 بود که شما ورودی و خروجی جریان را براش تعریف و بعد تبدیل به کد هگزادسیمال می کردیم. در قسمت قبل زدیم به 74C1 رسیدیم، آن را اشتباه تعریف کرده باشیم و ارورهای بعدی ، سخت افزار خراب شده باشد و offset/gain را اشتباه تعریف کرده باشیم، average time را اشتباه داده باشیم و از این قبیل. بنابراین این جدول توسطCR30 کمک می کند، برنامه را به راحتی عیب یابی کنید. حال مجددا تغذیه کارت آنالوگ را وصل می کنیم، مشاهده می شود چراغ ارور از قرمز رنگ به سبز رنگ تغییر وضعیت داد و داخل برنامه در قسمت آنلاین که نگاه کنیم، می بینیم وضعیت و محتوای رجیستر d0 از H1 به H0 تغییر وضعیت داد.
تولید ولتاژ صفر تا ده ولت
در ادامه بحث کارت 06XA، کارت آنالوگ PLC های دلتا، قصد داریم در این قسمت شما را با نحوه تولید 0-10v از خروجی کانال 6 یا همان خروجی دوم کارت آشنا کنیم.
ابتدا به جدول CRکدها مراجعه می کنیم، برای مثال میخواهیم از کانال 6، مقدار ولتاژ 0-10v را تولید کنیم. فرض می کنیم که به کانال های 1 تا 5 هیچ کاری نداریم. تمام مقادیر بیت 0 تا بیت 13 را صفر می چینیم.
در جدول نگاه می کنیم، برای کانال 6، اگر می خواهیم ولتاژ 0-10v را تولید کنیم، باید عدد بگذاریم. پس تبدیل 16 عدد صفر در مبنای باینری به مبنای هگزادسیمال، می شود عدد صفر. به این ترتیب کد را نگاه کردیم و خروجی را تولید کردیم و بعد در داخل رجیستر CR1 می ریزیم.
میریم دنبال رجیستر خروجی کانال 6 می گردیم. در این جدول اگر نگاه کنید CR11 مربوط به CH6 output signal value . پس ما باید داخل CR11 یا همان K11 در کارت آنالوگ یک مقداری بریزیم. چه مقداری باید بریزیم؟
اگر در جدول خروجی ها نگاه کنیم، در قسمت output گفته که 0-10v را 0-4000 میشناسد چون 12 بیتی است. اگر عدد4000 را در خروجی بریزیم، مقدار 10 ولت و اگر 2000 را بریزیم، در خروجی 5 ولت نمایش داده می شود.
در ادامه به محیط نرم افزار می رویم و برنامه را شروع به نوشتن می کنیم. در ابتدا دستور ld m1000 وارد می کنیم. اول مدل را می خوانیم، برای اینکار از دستور from استفاده می کنیم:
k0کارت اولk0، مدل تایپ CR0، d0 رجیستر، k1 که همیشه یک است.
حالا می خواهیم ولتاژ را تولید کنیم، از کجا قرار بود تولید کنیم؟ از کارت آنالوگ، خروجی شش. به چه صورت تولید کنیم؟ اول باید کارت ما، کارتی است که می خواهد همیشه آنالوگ تولید کند و از نوع ولتاژی بخواند. کارت 10v باشد.
k0 کارت اول، k0 مدل تایپ CR1،h0 یعنی تمام ورودی ها و خروجی ها 10v باشد، k1 که همیشه یک است.
در ادامه برنامه نویسی، میخواهیم دوباره ولتاژ تولید کنیم. ابتدا می نویسیم ld m1000. کجا تولید کند؟ از دستور to استفاده می کنیم.
K0 کارت شماره اول که به PLC وصل شده،k11 با توجه به جدول CRها انتخاب شده، کانال 6 میخواهیم تولید کنیم، k3000 برای مثال در نظر گرفته شده است، با توجه به نسبت 0-10v که 0-4000 است، تقریبا 7.5 ولت است. داخل PLC برنامه را می ریزیم. مدل PLC یعنی Hcc نمایش داده می شود.
مقدار عدد 3000 داخل کارت اول، به رجیستر 11 که مربوط به کانال 6 است، ریخته می شود. از این طریق همانطور که در تصویر ملاحظه می کنید پایه یcom و قسمت V+ خروجی، ولتاژ 7 ولت را می بینیم.
در ادامه قصد داریم که از خود نرم افزار WPLsoft استفاده کنیم، برای اینکه بتوانیم کد هگز مربوط به ورودی و خروجی جهت move کردن به رجیستر CR1 یا همان k1 در کارتمون استفاده کنیم و همچنین ورودی ها و خروجی ها را تعریف کنیم؛ یعنی شما نیاز ندارید به اینکه ورودی و خروجی خودتان را در همین مبنای باینری نوشته و آنها را به هگزا دسیمال تبدیل کنید. به چه صورت عمل می کنیم؟ در قسمت Auxiliary Setup for Extension Modules یک صفحه ای باز می شود. کارت 06XA، اولین کارت ماست، یعنی محل قرارگیری آن k0 است. کارت را انتخاب می کنیم، setup را می زنیم. خوب میخواهیم چیکار کنیم؟ می خواهیم بگوییم چه سنسورهایی برای ورودی و چه سطح ولتاژی از خروجی تولید کنیم.
تیک گزینه Read Register را می زنیم، شرط را M100 میگذاریم. تیک گزینه ی Write Register را می زنیم، چون دستور برای خواندن و نوشتن است، هر دو تیک را روشن می کنیم، فرض می کنیم می خواهیم به کانال 1، -6-10 v وصل کنیم. به کانال 2، -12-20v، به کانال 3، -20-20 و به کانال 4، -10-10v. از خروجی 5، 0-10v و برای خروجی کانال 6، 0-20mA تولید کنیم. بر گزینه Add to List کلیک می کنیم، برنامه برای ما نوشته میشود.
فرض کنید به کانال 1، -6-10v وصل است، میخواهم این ولتاژ را بخوانیم، کافیه که تیک 12# را بزنیم. مقدار شرط را میگذارم M1000 در رجیستری ذخیره شود، به عنوان مثال d10 را به لیست اضافه می کنیم.
حال می خواهیم از کانال خروجی، ولتاژی را تولید کنیم؛ برای این کار برای مثال می خواهم از کانال 5 ولتاژ تولید کنم، میگم من دارم یعنی M1000 اگر 0-4000 باشد، که خودش راهنمایی کرده، من باشه که میخوام تولید کنم -10 – 10 v باشد، عدد 2000، 5 ولت را تولید می کند.
با زدن OK ملاحظه می کنید که برنامه نوشته شد؛ یعنی شما نیاز ندارید که چگونگی محاسبه این کد و رجیستر ها را حفظ کنید. از طریق گزینه Auxiliary Setup for Exemsion Modules که موجود است، می توان به راحتی برنامه را نوشت.
- خط اول برنامه: یعنی از کارت اول، از رجیستر یک، مقادیر را بخوان و در d0 ذخیره کن.
- خط دوم برنامه: یعنی به کارت اول، رجیستر 1 بگو HC0D1. یعنی چی؟ همانطور که گفتیم ورودی ها و خروجی هایی که تعیین کردیم 0-10vیا -10-10vیا 4-20mA یا … باشد متناسب با آن کد رو بچیند. در بخش های قبل اشاره کردیم که به صورت این کد قابل محاسبه است.
- خط سوم برنامه: یعنی از کانال 1 ورودی را بخوان و داخل d10 ذخیره کن.
- خط چهارم برنامه: در این خط گفتم که به کانال 1 خروجی ، یعنی همون کانال 5، عدد 2000 انتقال پیدا کند ، یعنی 5 ولت را تولید کن.