سلام
ایا میشه وقتی سیگنال انالوگ 4تا 20میلی امپر افزایشی (از 4 بره به سمت 20 میلی آمپر) بود تو یه حافظه ذخیره بشه وقتی هم کاهشی (از 20بره به سمت 4میلی امپر) تو یه یک حافظه دیگه ذخیره بشه؟
-پی ال سی هم 1200 ریمنس یا اسلیم دلتا
رضا سعیدی فرسرباز
سلام بله
شما پردازش رو انجام ميدى براى تبديل ورودى بر حسب مقدار سنسور و 27648
بعد اگر نياز دارى يه مقايسه كننده استفاده ميكنى
مقدار سيگنال با مقدار قبليش مقايسه بشه
اگر كمتر شد بريزه توى يكـ حافظه
اگر بيشتر شد بريزه توى يكـ حافظه
در هر سیکل برنامه:
مقدار فعلی سیگنال آنالوگ با مقدار قبلی مقایسه میشود.
اگر مقدار فعلی بزرگتر از مقدار قبلی باشد → در حافظه مربوط به افزایش ذخیره میشود.
اگر مقدار فعلی کوچکتر از مقدار قبلی باشد → در حافظه مربوط به کاهش ذخیره میشود.
در پایان، مقدار فعلی بهعنوان مقدار قبلی برای سیکل بعدی ذخیره میگردد.
مشکلم همینه نمی دونم چجوری این سیکل رو ایجاد کنم
سلام
بله، میشه. منطق کلی برای هر دو PLC یکیه:
برای S7-1200 (Siemens):
1. سیگنال آنالوگ رو بخون (مثلاً IW64 بعد از Scale کردن).
2. مقدار قبلی رو ذخیره کن (مثلاً Prev_Value).
3. مقایسه کن:
اگه Actual_Value > Prev_Value → بریز تو Increasing_DB
اگه Actual_Value < Prev_Value → بریز تو Decreasing_DB
4. مقدار فعلی رو به عنوان مقدار قبلی ذخیره کن برای سیکل بعدی.
—
برای Delta Slim:
1. سیگنال آنالوگ رو بخون (مثلاً با FROM دستور).
2. با مقدار قبلی مقایسه کن.
3. نتیجه رو تو دو رجیستر جدا ذخیره کن (مثلاً D100 برای افزایش، D101 برای کاهش).
4. مقدار فعلی رو تو D102 بذار برای مقایسه بعدی.
همین مقدار قبلی رو نمی دونم چجوری باید ذخیره کنم، از بلوک mov و مقایسه کننده استفاده کردم مقدار قبلی با فعلی برابر میشه
حتی اومدم از یک سیکل یه ثانیه ای استفاده کردم تا هر یه ثانیه مقایسه ها انجام بشه