با ادامه سری آموزشهای برنامه نویسی PLC در نرمافزار سیماتیک منیجر در خدمت شما هستیم.
همانطور که احتمالا در قسمتهای قبل مشاهده کردید، به پیکربندی سخت افزاری در نرمافزار، معرفی محیط کلی نرمافزار سیماتیک منیجر، بیتهای منطقی، مقایسه کنندهها، تبدیل کنندهها و شمارندهها پرداخیتم و آنها را مورد بحث و بررسی قرار دادیم. به همین منظور پیشنهاد میشود حتما و لطفا اگر مقالات سری قبل را مشاهده نکردهاید، برای درک بهتر این موضوع ابتدا آنها را مطالعه بفرمایید.
توصیه میشود پیش از مطالعه این مقاله، ابتدا کلیپ زیر را مشاهده کنید:
در این جلسه قصد داریم به بررسی و توضیح بلوکهای انجام عملیات ریاضی بر روی اعداد صحیح بپردازیم.
بلوکهای توابع ریاضی، اعمال ریاضی ساده را بر روی اعداد صحیح همانطور که از نامش مشخص است انجام میدهد. این توابع به دو دسته تقسیم می شوند که عبارتند از؛
- بلوک چهار عمل اصلی بر روی اعداد صحیح 16 بیتی
- بلوکهای چهار عمل اصلی بر روی اعداد صحیح 32 بیتی و محاسبه باقی مانده تقسیم
به بررسی اولین بلوک میپردازیم. بلوک جمع کردن دو متغیر عدد صحیح 16 بیتی. همانطور که مشاهده میفرمایید این بلوک دارای دو ورودی و یک خروجی میباشد. همچنین دارای یک ورودی فعال ساز در ابتدای بلوک میباشد. مشخصات آدرسی که باید در این ورودی و خروجیها قرار گیرد را میتوانید در تصویر بالا به شکل کامل مشاهده بفرمایید.
بلوک مورد نظر بعدی، عملیات تفریق دو متغیر 16 بیتی میباشد که مانند بلوک جمع، دارای دو ورودی و یک خروجی و یک ورودی فعال ساز میباشد. آدرسهای مورد نیاز آن را میتوانید در تصویر بالا مشاهده کنید.
عنصر بعدی بلوک ضرب بین دو متغیر عدد صحیح 16 بیتی میباشد. در خروجی، نتیجه عمل ضرب نباید تقریبا از عدد 32000 بیشتر شود. در این صورت مقدار خروجی نامعتبر خواهد بود.
و همانطور که حدس میزنید، بلوک بعدی، عملیات تقسیم بین دو متغیر عدد صحیح 16 بیتی را انجام میدهد. و مانند قبل دارای دو ورودی، یک خروجی و یک ورودی فعال ساز یا پایه فعال ساز برای شروع برنامه میباشد.
خب در اینجا به بخش توابع ریاضی مربوط به اعداد 32 بیتی میرسیم و آنها را مورد بحث و بررسی قرار خواهیم داد. اولین بلوک مانند اعداد 16 بیتی، بلوک جمع است با همان مشخصات در ورودی و خروجیها که تنها تفاوت آنها در فرمت و مقادیر آدرسهای آنها میباشد.
حال به بلوک عمل تفریق بین دو متغیر عدد صحیح 32 بیتی میرسیم. تفاوت آن با بلوک 16 بیتی این است که در ورودی دوم باید برای نوشتن یک عدد صحیح 32 بیتی، از فرمت L# استفاده نماییم. اگر نمیدانید که این فرمت چیست، میتوانید مقالات قبلی را مطالعه بفرمایید.
حال نوبت پرداختن به بلوک ضرب بین دو متغیر عدد صحیح 32 بیتی رسیده است. این بلوک هم در خروجی یک شرط مهم دارد؛ نتیجه عملیات ریاضی میتواند تا حدود 2 میلیارد باشد و در غیر این صورت مقدار خروجی نامعتبر خواهد بود.
به بلوکهای تقسیم و باقی میرسیم که میتوانید بلوک تقسیم دو متغیر را عدد صحیح 32 بیتی را در تصویر بالا مشاهده کنید. در ورودی دوم دقت کنید که فرمت L# را حتما به کار ببرید.
و در نهایت به آخرین بلوک اعداد صحیح یعنی بلوک باقیمانده تقسیم دو عدد صحیح 32 بیتی میرسیم. در تصویر بالا میتوانید این بلوک را مشاهده بفرمایید.
این مقاله آموزشی هم به پایان میرسد. امیدواریم که استفاده لازم از این جلسه آموزشی را برده باشید و در روند برنامهنویسی شما کمکی کرده باشیم.