زیمنس کنترل

کد : 38149

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس
استفاده از دستورات عملیات منطقی روی بیت
این دستورات ، همانطور که از نامشان پیداست ، عملیاتی را روی یک بیت انجام می­دهند. برای دسترسی به آنها کافیست که از قسمت Program Elements در برنامه LAD / STL / FBD پوشه ی Bit Logic را باز کنید. تصویر رو به رو ، زیر مجموعه ی پوش Bit Logic را در زبان برنامه نویسی LAD نشان میدهد.

 
دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 1

بیت آدرس داده شده میتواند بصورت جدول زیر باشد:

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 2


دستورات موجود در این پوشه بسیار پر کاربرد هستند ، بنابراین برخی از آنها بصورت Shortcut در Toolbar نیز قرار گرفته ­اند.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 3


کنتاکت Normal Open (NO): از این دستور ، برای خواندن مقادیر بیت ها استفاده می­شود. برای وارد کردن آنها به قسمت Code Section بر اساس زبان برنامه نویسی انتخاب شده عمل خواهیم کرد. اگر زبان LAD انتخاب شده باشد ، لازم است ابتدا بر روی خط وسط Network مورد نظر کلیک کرده و سپس ، المان مورد نظر را با دابل کلیک ، وارد کنید.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 4

در قسمت علامت سوال لازم است آدرس متناسب وارد شود.


اگر بخواهیم این کنتاکت را با یک کنتاکت NO دیگر  به صورت سری  قرار دهیم ، اصطلاحاً شرط AND  را به وجود آورده ایم. برای اینکار ، در زبان LAD کافیست که یکبار دیگر بر روی دستور NO دابل کلیک کنید. تصویر زیر ، دستور AND را در زبان FBD و STL نشان میدهد.


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 5


کنتاکت Normal Close(NC): این دستور بر خلاف NO است ، یعنی عکس مقدار آدرسی که به آن اختصاص داده شده است را نشان میدهد. به عنوان مثال ، اگر به یک کنتاکت NC آدرس I 0.0 اختصاص دهیم ، مقدار I 0.0 را میخواند و عکس آن را نشان میدهد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 6


اگر یک دستور NO و یک دستور NC را با یکدیگر به صورت سری ببندیم ، شرط And Not را به وجود آورده ایم که در زبان FBD به صورت زیر خواهد بود:

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 7


همانطور که میبینید ، با قرار دادن علامت Not در یکی از پایه ها شرط And Not به وجود می­آید. شرط And Not در زبان STL به صورت زیر خواهد بود:

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 8


اگر بخواهیم المانی از Bit Logic را به صورت موازی با المانی دیگر وارد کنیم ، لازم است مطابق شکل زیر ، ابتدا روی خط وسط Network و قبل از المان کلیک کرده و سپس ، از گزینه ی Open Branch استفاده کنیم. المان را قرار داده و با گزینه ی Close Branch خط برنامه را میبندیم. این دو گزینه در Toolbar وجود دارند.

 

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 10
موازی شدن دو NO را با یکدیگر ، شرط OR و موازی شدن یک NO و یک NC را شرط OR Notمیگویند. تصویر زیر ، شرط OR را در زبان FBD و STL نشان میدهد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 11


شرط OR Not در سه زبان STL,LAD و FBD در تصویر زیر:

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 12



شرط XOR: هرگاه دو متغیر به صورت روبه رو با یکدیگر ترکیب شوند ،شرط XOR به وجود آمده است. با توجه به حالات مختلف ورودی ها که در جدول مشاهده میکنید ، اگر فقط یکی از ورودی ها "1" شود ، خروجی نیز 1 میشود. در عمل ، یعنی اینکه خروجی فقط به یک کلید حساس است. اگر دو کلید بطور همزمان فشار داده شوند ، خروجی فعال نمیشود.
دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 13


در زبان STL این دستور با حرف X نوشته میشود و در زبان FBD بلاکی بنام XOR وجود دارد. همانطور که مشاهده میکنید ، در زبان LAD شرط XOR با ترکیب المان ها ساخته میشود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 13

با توجه به برنامه فوق ، در شرط XOR جدول زیر شرایط منطقی برای یک شدن خروجی را نشان میدهد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 15


شرط XN: این شرط شبیه شرط OR است ، ولی با چهار المان Bool ساخته میشود. در زبان FBD بلاک مخصوصی برای این شرط وجود ندارد ، بلکه با ترکیب المان ها ساخته میشود. شرط XN به صورت زیر میباشد:

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 16

جدول زیر ، شرایط منطقی و صفر و یک شدن خروجی را بر اساس شرط XN نشان میدهد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 17

تا اینجا با دستور NC و NO نرم افزاری و شرایط مختلف به کارگیری آنها ، آشنا شدید. در سخت افزار نیز کلید ها و سنسور های مختلفی وجود دارد. Push button ها نمونهدای از شستی های قابل تحریک با دست هستند که به دو صورت Start و Stop ارائه شده اند. کلید Start یک کنتاکت Normally Open است که با تحریک آن فعال خواهد شد و کلید Stop یک کنتاکت Normally Close است که با تحریک آن باز خواهد شد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 18


بدیهی است سیگنالی که از کلید Stop عبور میکند ، در حالت عادی بر روی کارت DI یک بوده و LED نشان دهنده آن روی کارت روشن است. ولی سیگنال کلید های Start در حالت عادی صفر هستند. حال ، اگر برای هرکدام از ورودی ها در برنامه نویسی کنتاکت NC تعریف شود ، مقدار فعلی روی بیت را خوانده و عکس میکند. جدول زیر ، بیانگر تمام حالات است.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 19


به عبارت دیگر ، متناسب با جدول فوق در هر قسمت که از کنتاکت.... استفاده شود ، مقدار آدرس مربوطه را عکس میکند.
هر خط از برنامه میتواند شامل چندین شرط And و Or باشد. بدین ترتیب Network قابل گسترش است. نکته ای که وجود دارد این است که پس از اعمال شرایط مختلف برای کنتاکت ها ، لازم است مقادیر آنها به یک Coil ارسال شود ، یعنی اگر شرایط فوق بدون Coil انجام شود ، برنامه ذخیره نخواهد شد. شکل زیر ، شرط AND را برای کنترل خروجی با آدرس Q4.0 نشان میدهد. بدیهی است زمانی خروجی Q4.0 یک میشود که هردو ورودی یک باشند.


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 20

همانطور که در تصویر فوق دیده میشود ، با قرار دادن Coil خط برنامه نویسی به پایان میرسد و بسته میشود. بنابراین ، برای نوشتن برنامه ای دیگر لازم است Network جدیدی باز شود. این کار توسط منوی Insert > Network یا گزینه ی.... در Toolbar انجام شود.


تصویر زیر ، شرط Or را در سه زبان STL,LAD,FBD نشان میدهد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 21


مطابق تصویر فوق ، در زبان STL دستور Coil یا بوبین با علامت = نشان داده می­شود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 22

مثال 1: برنامه ای بنویسید که در آن با فعال شدن یک لحظه کلید Start موتور روشن شود و روشن بماند تا زمانی که کلید Stop یک لحظه فعال شده در آن حالت موتور خاموش شود.
پاسخ: در این برنامه به یک ورودی Start و یک ورودی Stop نیاز است. همچنین ، یک خروجی دیجیتال که یک رله و در نهایت بتواند یک موتور را فعال کند. نکته ای که وجود دارد این است که خروجی باید توسط خود نگهدار پایدار بماند. همچنین ، تمام شستی ها از لحاظ سخت افزاری به صورت NO در نظر گرفته شده اند. آدرس های Stop , Start و Motor بر اساس آدرس های PLC تعیین میشود.
 
این برنامه به صورت زیر نوشته میشود:


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 23

با بررسی RLO در برنامه فوق ، میتوان آن را بدین صورت تحلیل نمود:
در حالت عادی RLO تا قبل از کلید Start یک است. با فعال شدن Start ، خروجی نیز فعال میشود. (Motor = 1) با یک شدن موتور کنتاکت آن نیز یک شده و مسیر را از خط پائین نیز فعال میکند. حال ، اگر Start  را رها کنیم ، مسیر از طریق کنتاکت خود بوبین برقرار خواهد بود تا زمانی که یک لحظه Stop فعال شده و مدار را باز کند.
 
مثال 2: برنامه ای بنویسید که در آن یک موتور از دو نقطه استارت شود. همچنین ، از دو نقطه ی متفاوت بتوان موتور را خاموش کرد.

پاسخ: در این مثال نیز تمام شستی های ورودی از لحاظ سخت افزاری به صورت NO در نظر گرفته شده اند ، بنابراین برای ساختن Stop از کنتاکت NC نرم افزاری استفاده شده است.


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 24

دستور NOT: این دستور Not کننده ی RLO است. وقتی در نقطه ای از برنامه قرار میگیرد ، مقدار RLO را چک کرده و آن را عکس میکند و در طرف دوم ، مقدار عکس شده ی RLO را نشان میدهد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 25

در مثال بالا ، در صورتی که مقدار RLO در نقطه ی a یک باشد ، خروجی غیر فعال است و در صورتی که صفر باشد ، خروجی Q 5.4 فعال میشود. به طور کلی ، از دستور NOT میتوان برای عکس کردن مقدار RLO استفاده نمود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 26

دستور کانکتور (Midline Output): این دستور یک المان میانی برای ذخیره سازی RLO میباشد و آخرین نتیجه ی عملیات منطقی قبل از این بلوک را در خود ذخیره میکند. به عبارت دیگر ، این دستور مانند جعبه ی تقسیم کننده RLO کار میکند.
فرض کنید که برنامه ی پیچیده ای شامل شرایط AND و OR و... نوشته ایم. حال ، قرار است که قسمتی از این برنامه را مجدداً تکرار کنیم. با وجود دستور Midline میتوان مقدار RLO را در نقطه ی مورد نظر را در آن ذخیره نموده و سپس به نقطه ای دیگر انتقال داد.


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 27

برای دستور کانکتور ، فرمت های زیر قابل استفاده هستند ، ولی اکثراً از Bit Memory استفاده میشود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 28

دستور Set: این دستور در زبان LAD به شکل یک بوبین ارائه میشود که داخل پرانتز آن حرف S نوشته شده است. دستور Set با مشاهده ی لبه ی مثبت RLO ، مقدار آدرس خود را یک میکند. در صورت صفر شدن RLO تاثیری روی آن ندارد و مقدار آن یک خواهد ماند. به عبارت دیگر ، دستور Set یک خودنگهدار داخلی دارد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 29

دستور Reset: این دستور ، مکمل دستور Set است. وقتی متغیری توسط دستور Set یک شود ، با دستور Reset میتواند به حالت اولیه خود بازگردد (صفر شود ). دستور Reset با مشاهده ی لبه ی مثبت RLO مقدار آدرس خود را صفر میکند.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 30

در زبان LAD ، دستور های Set و Reset هر یک باید به صورت جداگانه در دو Network مختلف قرار گیرند. حال ، اگر مقدار RLO برای دستور Set و Reset همزمان یک شود ، اولویت با دستوری است که نسبت به دیگری پایین تر قرار دارد. بر این اساس ، در شکل زیر اولویت با دستور Reset خواهد بود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 31

دستورات فلیپ فلاپ ها: در برنامه نویسی به زبان های FBD , STL و LAD دو فلیپ فلاپ به نام های SR و RS وجود دارد. این دو مانند ترکیب دو دستور Set و Reset هستند که د ر یک بلاک ارائه شده اند. در فلیپ فلاپ SR اولویت با Reset بوده و در RS اولویت با Set می­باشد.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 32

برای استفاده از آنها معمولاً به خود بلاک آدرس یک بیت از Memory  داده می­شود. بدین معنی که یک بیت از Memory را Set و Reset کرده و سپس ، نتیجه ی حاصله را در خروجی Q مشاهده میکنیم. در پایه Q می­توان آدرس یک خروجی دیجیتال را وارد کرد.


همچنین ، می­توان مستقیماً آدرس خروجی مورد نظر را در قسمت بالای بلاک وارد کرد ، که در اینصورت ، پایه ی Q خالی خواهد ماند.
مثال 3: برنامه ای بنویسید که در آن دو نوار نقاله به صورت ترتیبی با استفاده از کلید های استارت جداگانه فعال شوند. هر نوار نقاله یک کلید Stop جداگانه برای خود داشته باشد و یک کلید Stop به صورت اضطراری (EMS) که در صورت تحریک آن ، هر دو نوار نقاله خاموش شوند.


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 33

نکته ی مهم در این مثال این است که نوار نقاله ها باید به صورت ترتیبی و طوری روشن شوند که مطابق تصویر فوق ، تا زمانی که نوار نقاله 1 روشن نشده است ، نوار نقاله 2 روشن نشود. برنامه ی آن به صورت زیر خواهد بود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 34

استفاده از دستورات تشخیص لبه
  • دستورات تشخیص لبه ی RLO:
دستور --(P)--: این دستور میتواند در تمام نقاط به غیر از ابتدا و انتهای خط برنامه نویسی ، قرار گیرد. وظیفه ی آن تشخیص لبه ی مثبت یا لبه ی بالا رونده RLO است. وقتی مقدار RLO در قسمتی که دستور (P) در آن قرار گرفته است ، از صفر به یک تغییر وضعیت دهد ، این دستور مقدار را تشخیص داده و در طرف دوم خود یک پالس با پهنای بسیار کم ( ایمپالس ) که عرض آن به اندازه یک سیکل اسکن است ، تولید می­کند.
 
 
 
نکته 1: برای دستورات تشخیص لبه باید یک آدرس Bit Memory به آن بدهیم که در واقع ، مقدار ایمپالس در آن آدرس ذخیره می­شود.


دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 35

پهنای ایمپالس بسیار کم است ، به طوری که اگر خروجی یک بوبین ساده باشد ، روشن نخواهد شد مگر اینکه از دستور Set استفاده شود ، زیرا Set لبه ی مثبت RLO را می­بیند و در خود ذخیره می­کند.
دستور --(N)--: این دستور مانند دستور (P) است ، ولی برای تشخیص لبه منفی RLO استفاده میشود. در نقطه ای که قرار میگیرد ، با مشاهده ی لبه منفی یا پایین رونده RLO یک ایمپالس در طرف دوم خود ایجاد میکند.



دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 36
نکته: پهنای ایمپاس تولید شده در دستورات تشخیص لبه ، به اندازه یک سیکل اسکن CPU است.

مثال 4: برنامه ای بنویسید که در آن توسط یک شستی استارت و فشردن یک مرتبه ی آن ، یک موتور روشن شده و با فشردن مجدد آن ، موتور مذکور خاموش شود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 37

دستور Save: دستور Save مقدار RLO را در بیت BR (از بیت های Status Word) ذخیره میکند. در این شرایط ، بیت First Check یعنی /FC ریست نمیشود. از اینرو ، میتوان بیت BR را در Network جدید برنامه با دستور AND استفاده نمود.
یکی از کاربردهای دستور SAVE در بلاک هایی است که از برنامه ی اصلی فراخوان میشوند. اگر در انتهای این بلاک ها و قبل از خروج از آنها دستور SAVE را بکار ببریم ، RLO در BR ذخیره شده و با بازگشت به برنامه ی اصلی ، اگر چه RLO تغییر میکند ولی BR همان مقدار قبلی را دارد. بدین طریق میتوان از اجرا شدن یا اجرا نشدن بلاک مطمئن شد. به عبارت دیگر ، این روش برای عیب یابی بلاک ها بکار میرود.

دستورات برنامه نویسی اتوماسیون صنعتی در نمایندگی زیمنس 38