آموزش زبان STL -دستورات ریاضی و ADDRESS REGISTER
آموزش زبان STL زیمنس؛ دستورات ریاضی، ACCU و Load و Transfer
آموزش STL در PLC زیمنس با مثالهای کاربردی
در این فصل وارد بخش محاسباتی STL میشویم. برای انجام عملیات ریاضی، CPU از رجیسترهای ACCU استفاده میکند. بنابراین درک درست ACCU1 و ACCU2 پیشنیاز کار با دستورات ریاضی است.
وقتی یک مقدار جدید با دستور L وارد میشود، مقدار قبلی ACCU1 به ACCU2 منتقل میشود و مقدار جدید در ACCU1 قرار میگیرد.
یک مثال ساده از ACCU1 و ACCU2
L MW10 L MW12
بعد از دستور اول:
مقدار MW10 داخل ACCU1 قرار گرفته است.
بعد از اجرای دستور دوم:
بنابراین ترتیب نوشتن دستورات L در STL اهمیت زیادی دارد.
جمع Integer
L MW10 L MW12 +I T MW20
اگر MW10 برابر 100 و MW12 برابر 50 باشد، نتیجه 150 در ACCU1 قرار گرفته و سپس در MW20 منتقل میشود.
تفریق Integer
L MW10 L MW12 -I T MW20
اگر MW10 برابر 100 و MW12 برابر 30 باشد، نتیجه برابر 70 خواهد بود.
ضرب Integer
L MW10 L MW12 *I T MW20
تقسیم Integer
L MW10 L MW12 /I T MW20
جمع Double Integer
L MD10 L MD14 +D T MD20
تفریق Double Integer
L MD10 L MD14 -D T MD20
ضرب Double Integer
L MD10 L MD14 *D T MD20
تقسیم Double Integer
L MD10 L MD14 /D T MD20
باقیمانده تقسیم
L 13 L 4 MOD T MD20
Overflow چیست؟
L 30000 L 30000 +I JO OVER
Stored Overflow چیست؟
L MW10 L MW12 +I JOS ERROR
CC0 و CC1
CPU علاوه بر OV و OS، با بیتهای CC0 و CC1 وضعیت نتیجه عملیات ریاضی را مشخص میکند. این وضعیتها برای تشخیص صفر بودن، مثبت بودن یا منفی بودن نتیجه و تصمیمگیری توسط دستورهای Jump اهمیت دارند.
JZ JP JM JPZ JMZ
بنابراین میتوان بعد از یک محاسبه، بر اساس وضعیت نتیجه مسیر اجرای برنامه را تغییر داد.
در این فصل عملیات ریاضی روی اعداد اعشاری یا REAL بررسی میشود. در عملیات دو ورودی REAL نیز ابتدا مقادیر در ACCU1 و ACCU2 قرار میگیرند و سپس عملیات انجام میشود.
جمع REAL
L MD10 L MD14 +R T MD20
تفریق REAL
L MD10 L MD14 -R T MD20
ضرب REAL
L MD10 L MD14 *R T MD20
تقسیم REAL
L MD10 L MD14 /R T MD20
قدر مطلق
L MD10 ABS T MD20
مربع عدد
L MD10 SQR T MD20
جذر
L MD10 SQRT T MD20
تابع نمایی
L MD10 EXP T MD20
لگاریتم طبیعی
L MD10 LN T MD20
سینوس
L MD10 SIN T MD20
کسینوس
L MD10 COS T MD20
تانژانت
L MD10 TAN T MD20
ArcSin
L MD10 ASIN T MD20
ArcCos
L MD10 ACOS T MD20
ArcTan
L MD10 ATAN T MD20
دو دستور بسیار مهم در STL یعنی L و T تقریباً در تمام برنامههای واقعی دیده میشوند.
علاوه بر این دو دستور، در برنامههای پیشرفتهتر با AR1 و AR2 نیز کار میکنیم. Address Registerها برای نگهداری Pointer و انجام آدرسدهی غیرمستقیم کاربرد دارند.
دستور Load
L MW10
خواندن Status Word
L STW T MW20
دستور Transfer
L MW10 T MW20
AR1 و AR2 چیستند؟
AR1 و AR2 دو Address Register در CPU هستند که برای نگهداری Pointer استفاده میشوند. Pointer در اینجا به معنای «آدرس یک داده» است، نه خودِ داده.
به عنوان مثال اگر مقدار معمولی 100 را داشته باشیم، این عدد میتواند یک داده باشد. اما اگر Pointer مربوط به M20.0 را داشته باشیم، معنی آن این است که CPU باید بداند آدرس موردنظر از کجا شروع میشود.
بنابراین یک نکته اساسی را به خاطر بسپارید: AR1 و AR2 برای نگهداری آدرس هستند، نه برای نگهداری مقدار داده.
چرا AR1 و AR2 مهم هستند؟
در برنامههای ساده ممکن است مستقیماً بنویسیم:
L MW10 T MW20
اما فرض کنید بخواهیم روی چندین آدرس پشت سر هم کار کنیم. اگر بخواهیم هر آدرس را جداگانه بنویسیم، برنامه طولانی خواهد شد.
Address Register این امکان را میدهد که یک Pointer را داخل AR1 یا AR2 قرار داده و سپس با استفاده از آدرسدهی غیرمستقیم، به محلهای مختلف حافظه دسترسی پیدا کنیم.
AR1 یا AR2 را میتوان مانند یک «نشانی متحرک» در نظر گرفت. به جای اینکه هر بار آدرس کامل را بنویسیم، Pointer را در Register نگه میداریم و از آن برای دسترسی به داده استفاده میکنیم.
انتقال Pointer به AR1
L P#M20.0 LAR1
یعنی بعد از اجرای LAR1، آدرس Pointer در AR1 ذخیره شده است.
انتقال مستقیم Pointer به AR1
LAR1 MD24
انتقال Pointer به AR2
L P#M40.0 LAR2
انتقال مستقیم Pointer به AR2
LAR2 MD24
انتقال AR2 به AR1
LAR1 AR2
خواندن Pointer از AR1
TAR1 T MD30
ذخیره مستقیم Pointer مربوط به AR1
TAR1 MD24
خواندن Pointer از AR2
TAR2 T MD30
ذخیره مستقیم Pointer مربوط به AR2
TAR2 MD24
جابهجایی AR1 و AR2
CAR
تفاوت دستورات AR1 و AR2
| دستور | عملکرد | مسیر انتقال |
|---|---|---|
LAR1 |
انتقال Pointer از ACCU1 به AR1 | ACCU1 → AR1 |
LAR2 |
انتقال Pointer از ACCU1 به AR2 | ACCU1 → AR2 |
TAR1 |
خواندن Pointer از AR1 در ACCU1 | AR1 → ACCU1 |
TAR2 |
خواندن Pointer از AR2 در ACCU1 | AR2 → ACCU1 |
LAR1 AR2 |
انتقال Pointer از AR2 به AR1 | AR2 → AR1 |
TAR1 AR2 |
انتقال Pointer از AR1 به AR2 | AR1 → AR2 |
CAR |
جابهجایی AR1 و AR2 | AR1 ↔ AR2 |
تفاوت Pointer با Data
یکی از مهمترین نکات Address Register همین تفاوت است:
اگر مثلاً مقدار 250 در MW10 وجود داشته باشد، عدد 250 یک Data است. اما اگر Pointer مربوط به MW10 را داشته باشیم، آن Pointer به CPU میگوید دادهای که میخواهیم به آن دسترسی داشته باشیم در چه آدرسی قرار دارد.
بنابراین AR1 و AR2 بیشتر در برنامههایی کاربرد دارند که آدرسها ثابت نیستند و برنامه باید بتواند به صورت پویا روی بخشهای مختلف حافظه حرکت کند.
مثال ترکیبی Load و Transfer
L MW10 L MW12 +I T MW20
مراحل اجرای این برنامه:
MW10 وارد ACCU1 میشود.
MW12 Load میشود و مقدار قبلی ACCU1 به ACCU2 میرود.
دستور +I دو مقدار را جمع میکند و نتیجه در ACCU1 قرار میگیرد.
با اجرای T MW20، نتیجه ACCU1 در MW20 قرار میگیرد. ACCU1 و ACCU2 در اثر T تغییر نمیکنند.
خرید و تعمیرات تجهیزات زیمنس
برق موشن ارائهدهنده خدمات فروش، مشاوره، راهاندازی و تعمیرات درایوهای زیمنس است. برای خرید تجهیزات زیمنس یا دریافت خدمات تعمیرات درایو زیمنس، بخش موردنظر خود را انتخاب کنید.
خرید، تعمیرات و اجرای پروژه SIEMENS
جهت خرید HMI زیمنس، PLC زیمنس، اینورتر SIEMENS و سایر محصولات اتوماسیون صنعتی یا برای تعمیرات و اجرای پروژههای اتوماسیون صنعتی زیمنس با برق موشن تماس بگیرید.
فروش محصولات SIEMENS 09331234717 تعمیرات تجهیزات SIEMENS 09011234717 اجرای پروژههای اتوماسیون صنعتی 09381234717پروتکل های ارتباطی زیمنس و معرفی شبکه های صنعتی Siemens در دنیای اتوماسیون صنعتی، ارتباط بین تجهیزات مختلف اهمیت بسیار زیادی دارد. شرکت زیمنس (Siemens) به عنوان یکی از بزرگترین تولیدکنندگان تجهیزات اتوماسیون صنعتی، سالهاست که شبکهها و پروتکلهای ارتباطی متنوعی را برای اتصال PLC، درایو، HMI، سنسورها و سیستمهای کنترل ارائه کرده است. پروتکل […]
تنظیم پارامتر درایو زیمنس SINAMICS G120 درایو SINAMICS G120 شرکت زیمنس یکی از درایوهای پرکاربرد برای کنترل دور و حرکت موتورهای الکتریکی در پروژههای صنعتی است. این سری به عنوان یکی از جایگزینهای نسل MICROMASTER شناخته میشود و امکانات گستردهای برای کنترل موتور، تنظیم سرعت و مدیریت فرآیندهای صنعتی ارائه میدهد. یکی از مهمترین ویژگیهای […]
آموزش Modbus اینورتر اشنایدر ATV320 تنظیمات Modbus RTU، پارامترهای ارتباطی، آدرس رجیسترها و Communication Scanner Modbus در اینورتر اشنایدر چیست؟ Modbus RTU یکی از پروتکلهای رایج ارتباطی در اتوماسیون صنعتی است که امکان ارتباط بین PLC، اینورتر، HMI و تجهیزات صنعتی را فراهم میکند. اینورترهای سری Schneider Altivar ATV320 امکان ارتباط Modbus RTU را از […]
پین اوت PLC فتک، کابل RS232 و انواع مبدل FATEK کابل PLC فتک و پین اوت RS232 PLCهای فتک برای برنامهنویسی، مانیتورینگ و ارتباط با کامپیوتر و تجهیزات صنعتی از رابطهای مختلفی مانند RS232، USB و RS485 استفاده میکنند. در سری FBs، بسته به مدل CPU، پورت 0 میتواند به صورت RS232 یا USB در […]
اینورتر اشنایدر ATV930 | معرفی کامل Schneider ATV930 معرفی اینورتر اشنایدر ATV930 اینورتر ATV930 یکی از پیشرفتهترین محصولات خانواده Altivar Process شرکت Schneider Electric است که برای کاربردهای سنگین صنعتی و فرآیندهای پیوسته طراحی شده است. اینورتر ATV930 با بهرهگیری از فناوریهای روز دنیا، علاوه بر کنترل دقیق سرعت موتور، امکانات گستردهای در زمینه مدیریت […]
خرید پی ال سی فتک -PLC FATEK جهت خرید پی ال سی فتک کلیک کنید جزای اصلی سختافزار PLC فتک سختافزار PLC فتک از بخشهای مختلفی تشکیل شده است که هر کدام وظیفه مشخصی دارند: -CPU (واحد پردازش مرکزی) -ورودی و خروجیهای دیجیتال -ورودی و خروجیهای آنالوگ -ماژولهای توسعه -ماژولهای ارتباطی -کابل پروگرام -کابل توسعه […]
آموزش زبان STL زیمنس؛ دستورات و مثالهای کاربردی آموزش دستورات مهم زبان برنامهنویسی STL در PLC زیمنس جستوجوی سریع آدرس در برنامه PLC زیمنس یکی از مهمترین مهارتها هنگام کار با برنامههای PLC زیمنس، پیدا کردن سریع محل استفاده از یک آدرس در برنامه است. در پروژههای کوچک شاید بتوان آدرسها را بهصورت دستی پیدا […]
OB های PLC S7-1200 OB در TIAPORTALچیست؟ در PLCهای SIMATIC S7-1200، بلوکهای سازماندهی یا Organization Block (OB) نقطه ورود سیستمعامل PLC به برنامه کاربر هستند. هر OB توسط یک رویداد (Event) اجرا میشود و نمیتوان آن را از داخل FC یا FB فراخوانی کرد. بلوک OB1 اولین بلوکی است که در آن برنامه نوشته میشود.میتوانیم […]
PLC چیست؟ در دنیای امروز که سرعت و دقت در تولید حرف اول را میزند، دیگر نمیتوان با روشهای سنتی و سیمکشی های پیچیده رله ای، خطوط تولید را مدیریت کرد. اینجاست که قهرمان دنیای اتوماسیون، یعنی PLC وارد میدان میشود. اگر میخواهید بدانید PLC چیست، چگونه کار میکند و چرا قلب تپنده صنایع مدرن […]
نظری برای این وجود ندارد.