پیادهسازی منطق نردبانی XOR سهکلیده با بیت داخلی
مدار روشنایی XOR با کلید ۳-SPST را در LogixPro یا RSLogix 500 با استفاده از یک بیت رله داخلی پیادهسازی کنید. شامل جدولهای درستی، معادلات بولی و تأییدشده است.
تمرین کلاسیک—سه کلید SPST یک چراغ را کنترل میکنند، بهگونهای که هر کلید بهتنهایی خروجی را تغییر دهد—به XOR سهورودی (پاریتی فرد) کاهش مییابد. XOR دوورودی، الگوی آشنای دو شاخه XIC/XIO متقاطع است. تعمیم این الگو با افزودن شاخه موازی سوم، تعمیم درستی نیست: این کار مجموع XORهای جفتی را پیادهسازی میکند و وقتی هر سه کلید بستهاند چراغ را روشن میکند، در حالی که مشخصات فقط پاریتی فرد را میطلبد. راهحل پذیرفتهشده استفاده از یک رله داخلی است که A⊕B را نگه میدارد؛ سپس مرحله دوم (A⊕B)⊕C را محاسبه میکند.
پاریتی فرد در سه ورودی نگهداشتهشده، XOR است، نه یک ساختار سهشاخهای فراگیر.
جدول صحت (۱ = بسته)
| S1 | S2 | S3 | چراغ | پاریتی |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | زوج |
| 0 | 0 | 1 | 1 | فرد |
| 0 | 1 | 0 | 1 | فرد |
| 0 | 1 | 1 | 0 | زوج |
| 1 | 0 | 0 | 1 | فرد |
| 1 | 0 | 1 | 0 | زوج |
| 1 | 1 | 0 | 0 | زوج |
| 1 | 1 | 1 | 1 | فرد |
مبنای دوورودی
|--[S1 XIC]-+-[S2 XIO]-+ | | +--( Light )--| |--[S1 XIO]-[S2 XIC]---+ |
در شبیهسازهای LogixPro/RSLogix 500، ورودیهای I:1/0 و I:1/1 را به O:2/0 نگاشت کنید (یا در Logix Designer از تگهای BOOL استفاده کنید). پیش از افزودن S3، چهار ردیف را بررسی کنید.
چرا شاخه موازی سوم شکست میخورد
Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) در ردیفِ هر سه کلید بسته، مقدار درست میدهد، زیرا هر جفت با هم متفاوت است. دانشجویان این علامت را بهصورت «روشن ماندن» چراغ پس از بسته شدن دو کلید توصیف میکنند. این رفتار جفتیِ OR فراگیر است، نه XOR.
XOR را از طریق B3:0/0 (یا یک تگ BOOL) بهصورت آبشاری پیادهسازی کنید—مراحل جفتی را بهصورت موازی با OR ترکیب نکنید.
پیادهسازی با بیت داخلی
رونگ ۲ — S1 XOR S2 -> B3:0/0 |--[I:1/0 XIC]-+-[I:1/1 XIO]-+ | | +--( B3:0/0 )--| |--[I:1/0 XIO]-[I:1/1 XIC]---+ | رونگ ۳ — B3:0/0 XOR S3 -> O:2/0 |--[B3:0/0 XIC]-+-[I:1/2 XIO]-+ | | +--( O:2/0 )--| |--[B3:0/0 XIO]-[I:1/2 XIC]---+ |
از آنجا که XOR شرکتپذیر است، ترتیب کلیدها اهمیتی ندارد. در Logix Designer، همین معادلات به شکل زیر درمیآیند: XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; برای متن ساختیافته، یا الگوهای کنتاکتی یکسان روی تگهای BOOL. بیت میانی در یک رونگ نوشته و در رونگ بعدی، در همان اسکن، خوانده میشود؛ این کار برای این الگو عمدی و پایدار است.
روند کار در LogixPro / RSLogix 500
- ماژولهای ورودی و خروجی گسسته را در شبیهساز تأیید کنید (نگاشت پیشفرض I:1 / O:2)
- مطمئن شوید فایل باینری B3 دارای بیتهای آزاد است، یا در Logix Designer تگی از نوع BOOL با نام XOR_Mid ایجاد کنید
- رونگ ۲ را با استفاده از کنتاکتهای XIC/XIO متقاطع برای راهاندازی B3:0/0 از S1 و S2 بسازید
- رَنگ ۳ را بسازید؛ بهگونهای که O:2/0 را از B3:0/0 و S3 با استفاده از همان الگوی ضربدری راهاندازی کند
- دانلود کنید، پردازنده را در حالت RUN قرار دهید و پیش از بررسی جدول صحت، همه نیروگذاریها را پاک کنید
- هر LED ورودی و چراغ خروجی را یکبار بهطور موقت نیروگذاری کنید تا سیمکشی را ثابت کنید، سپس نیروگذاریها را پاک کنید
طرح آدرس و گزینهها
| پلتفرم | واسطه | یادداشتها |
|---|---|---|
| RSLogix 500 / SLC | B3:0/0 | بیت فایل دودویی |
| Logix Designer | XOR_Mid BOOL | محدوده برنامه یا کنترلر |
| LogixPro | B3:0/0 | با آزمایشگاههای RSLogix 500 مطابقت دارد |
عیبیابی اختیاری هر دو واسطه را نگه میدارد: B3:0/0 = S1 XOR S2 و B3:0/1 = mid XOR S3؛ سپس چراغ را از B3:0/1 راهاندازی کنید تا مانیتورهای آنلاین بتوانند زنجیره را در هر مرحله قطع کنند. دستورهای XOR در سطح کلمه میتوانند ورودیهای زیادی را برای بررسی زوجیت در یک کلمه بستهبندی کنند، اما الگوی آموزشی برای سه کلید را مبهم میکنند. از بسطهای دمورگان که تلاش میکنند «نبود هر دو ورودیِ درست» را بهصورت جنگلی از کنتاکتها بیان کنند، اجتناب کنید—زنجیره بیتهای داخلی هم در میزهای آموزشی و هم در انتخابگرهای حالت تولیدی، همچنان شکل قابلنگهداری است.
پیش از تأیید نهایی، هر هشت ردیف زوجیت را بررسی کنید
- هر هشت ردیف جدول صحت را با نیروگذاریهای پاکشده بررسی کنید
- تأیید کنید که سه کلید بسته چراغ را روشن میکنند (زوجیت فرد)
- هر کلید را بهتنهایی تغییر دهید و ثابت کنید خروجی تغییر میکند
- اگر چراغ با دو ورودی روشن میماند، هنوز منطق OR زوجی دارید
- اختیاری: اگر پس از حذف نوسان، دو کلید حالت تثبیتشونده در ماشینهای واقعی مقدار درست داشتند، هشدار فعال کنید
- هویت بولی (A XOR B) XOR C را برای ویرایشگر بعدی در توضیحات رَنگ مستند کنید
نامگذاری واسطهها را بر اساس عملکردشان انجام دهید (XOR_Mid، ModeParity)، نه با بیتهای بینام، تا ویرایش بعدی همچنان خوانا بماند. همین نظم را در سراسر ناوگانهایی که تحت سیستمهای PLC و PAC استانداردسازی شدهاند، رعایت کنید.
درباره نویسنده
مارک تاونزند | مهندس ارشد اتوماسیون – سیستمهای آلن-بردلی
مارک تاونزند مهندس ارشد اتوماسیون است و بیش از ۱۸ سال با پلتفرمهای آلن-بردلی، از جمله ControlLogix، CompactLogix و SLC-500 قدیمی، کار کرده است. کار روزمره او شامل منطق RSLogix / Studio 5000 و راهاندازی HMI در FactoryTalk View روی ناوگانهای قدیمی و ترکیبی است.