طراحی مدیریت ایمن دستورپخت در Logix و PanelView
معماری دستورپختِ متمرکز بر کنترلر برای Logix و PanelView که ویرایش، اعتبارسنجی، ذخیرهسازی و فعالسازی را از هم جدا میکند و در عین حال محدودیتها، بازبینیه...
یک دستورالعمل میتواند دما، سرعت، فشار، زمانبندی، حرکت و کیفیت محصول را بدون دانلود برنامه جدید برای کنترلر تغییر دهد. بنابراین، دادههای دستورالعمل از نظر عملیاتی اهمیت دارند، حتی وقتی در یک آرایه معمولی UDT در Logix ذخیره شده باشند. هدف طراحی صرفاً ذخیره مقادیر نیست؛ بلکه جلوگیری از فعال شدن مقادیر ناقص، قدیمی، غیرمجاز یا ناسازگار است.
یک گردشکار کنترلشده، ویرایش اپراتور را از مقادیری که در حال حاضر ماشین را هدایت میکنند جدا میکند.
چهار نقش متمایز برای دادههای دستورالعمل تعریف کنید
برای دستورالعملهای ذخیرهشده، منبع انتخابشده، نسخه کاری قابل ویرایش و نسخه فرایندی فعال، ساختارهای جداگانه به کار ببرید. HMI فقط نسخه کاری را ویرایش میکند. درخواست ذخیره، نسخه کاری را اعتبارسنجی کرده و آن را در یک رکورد ذخیرهسازی منتخب ثبت میکند. درخواست فعالسازی جداگانه، دوباره اعتبارسنجی را انجام میدهد و یک رکورد کامل و تأییدشده را به ساختار فعال منتقل میکند.
این جداسازی مانع از آن میشود که هر کلیدزنی در HMI یک نقطه تنظیم زنده را تغییر دهد. همچنین از لغو، مقایسه، تأیید، بازگشت و پیامهای واضح برای اپراتور پشتیبانی میکند. دستورالعمل فعال، در حالی که دستورالعمل دیگری بررسی میشود، ثابت میماند.
سختافزار PanelView در مجموعه Allen-Bradley PanelView ارائه شده است و پلتفرمهای کنترلر از طریق سیستمهای PLC و PAC در دسترس هستند. انتخاب سختافزار جایگزین قوانین تراکنشی پیادهسازیشده در برنامه نمیشود.
UDT را بهعنوان یک رکورد تحت حاکمیت طراحی کنید
مقادیر مرتبط فرایند را در یک UDT گروهبندی کنید تا ذخیرهسازی، مقایسه و انتقال از یک قالب تعریفشده استفاده کنند. فرادادههایی مانند شناسه دستورالعمل، نام، نسخه قالب، کد محصول، ویرایش، زمان ایجاد، زمان تغییر، وضعیت اعتبار و نقش مسئول تغییر را اضافه کنید. وقتی وضعیت عملیاتی نباید همراه دستورالعمل کپی شود، آن را خارج از ساختار نقاط تنظیم نگه دارید.
هر عضو عددی به واحد مهندسی، محدوده مجاز و دلیلی برای آن محدوده نیاز دارد. برای حالتهای گسسته، بهجای متن آزاد از شمارشهای محدود یا کدهای اعتبارسنجیشده استفاده کنید. مقادیر پیشفرض را فقط زمانی تعریف کنید که آن پیشفرض ایمن و از نظر فنی معنادار باشد.
نسخه قالب در زمان ارتقای نرمافزار اهمیت زیادی دارد. اگر برنامه جدید کنترلر فیلدهایی اضافه کند یا واحدها را تغییر دهد، رکوردهای قدیمی باید عمداً رد یا مهاجرت داده شوند. کپی کردن یک قالب باینری قدیمی در UDT جدید، بدون وجود قانون سازگاری، میتواند نقاط تنظیمی ایجاد کند که ظاهراً معتبر اما در واقع نادرست هستند.
روابط را اعتبارسنجی کنید، نه فقط محدودیتهای جداگانه را
بررسی هر فیلد در برابر حداقل و حداکثر لازم است، اما کافی نیست. حد بالایی باید همچنان از حد پایینی بیشتر باشد. زمان افزایش تدریجی باید با نرخ و مسافت سازگار باشد. مدت فازها باید با توالی هماهنگ باشد. گزینههای متقابلاً انحصاری نباید همزمان فعال شوند. ممکن است یک سرعت برای یک اندازه محصول قابل قبول باشد، اما برای پیکربندی دیگری از ابزار خطرناک باشد.
اعتبارسنجی را در منطق کنترلر پیادهسازی کنید، زیرا کنترلر مالک پاسخ فرایند است. HMI میتواند برای بازخورد فوری، بررسیها را تکرار کند، اما نباید تنها لایه اعمال محدودیت باشد. یک کد اعتبارسنجی مشخص برگردانید و عضو یا رابطهای را که خطا داشته شناسایی کنید. پیام «دستورالعمل نامعتبر است» بهتنهایی کارکنان تعمیرات را وادار میکند دهها مقدار را بررسی کنند.
هشدار را از رد شدن متمایز کنید. هشدار ممکن است به تأیید یا بررسی سرپرست نیاز داشته باشد، در حالی که رکورد ردشده نباید ذخیره یا فعال شود. هرگز اجازه ندهید یک دکمه تأیید عمومی، محدودیت سختگیرانه تجهیزات یا ایمنی را نادیده بگیرد.
از یک ماشین حالت تراکنشی صریح استفاده کنید
فرمانهای لحظهای HMI ممکن است از دست بروند، تکرار شوند یا پس از قطع ارتباط فعال باقی بمانند. یک توالی درخواست و تأیید با شماره تراکنش پیادهسازی کنید. HMI دادههای کاری را مینویسد، شماره درخواست را افزایش میدهد و منتظر میماند. کنترلر یک کپی پایدار میگیرد، آن را اعتبارسنجی میکند، اقدام درخواستی را یکبار انجام میدهد و همان شماره تراکنش را همراه با نتیجه و کد خطا برمیگرداند.
تا زمانی که تراکنش دیگری در حال انجام است، درخواست جدید را رد کنید. در HMI زمانانقضا اعمال کنید و نتیجه کنترلر را بهاندازه کافی نگه دارید تا اپراتور بتواند آن را بخواند. پس از برقراری دوباره ارتباط، HMI باید شمارههای تراکنش را مقایسه کند، نه اینکه فرض کند ذخیره قبلی شکست خورده است.
کنترلر باید رکورد کامل اعتبارسنجیشده را در یک نقطه اجرای مشخص منتقل کند. جابهجاییهای پراکنده که با شرایط جداگانه کنترل میشوند، میتوانند ترکیبی از مقادیر قدیمی و جدید ایجاد کنند. اگر وظیفه دیگری یا مسیر ارتباطی دیگری بتواند دادهها را همزمان تغییر دهد، یک عکس پایدار طراحی کنید و بررسی کنید که شماره توالی آن در طول کپی تغییر نکرده باشد.
ذخیرهسازی را از فعالسازی جدا کنید
ذخیرهسازی، نسخه کاری بررسیشده را در حافظه ثبت میکند. فعالسازی، مقادیری را که فرایند استفاده میکند تغییر میدهد. این دو اقدام باید مجوزها، پیامها و اینترلاکهای جداگانه داشته باشند. ممکن است تکنسین اجازه آمادهسازی دستورالعمل را داشته باشد، اما مجاز به اجرای آن نباشد.
شرایط مجاز بودن فعالسازی را تعریف کنید: توقف ماشین، تکمیل چرخه، قرار داشتن عملگرها در وضعیت ایمن، تأیید ابزار صحیح، نبود خطای بحرانی و حضور نقش کاربری موردنیاز. اگر برخی مقادیر میتوانند در حین تولید تغییر کنند، آنها را صراحتاً فهرست کرده و انتقالشان را کنترل کنید. برای تشخیص ایمن بودن فیلدها در حین کار، به حافظه اپراتور متکی نباشید.
پس از فعالسازی، شناسه و ویرایش دستورالعمل فعال را به HMI برگردانید. نسخه فعال را با منبع تأییدشده مقایسه کنید و در صورت مشاهده اختلاف غیرمنتظره، هشدار دهید. منطق توالی پاییندستی باید فقط از نسخه فعال استفاده کند، نه از تگهای کاری HMI.
مجوزها و شواهد را متناسب طراحی کنید
حداقل بین اقدامات مشاهده، ویرایش، ذخیره، فعالسازی، حذف و بازیابی تمایز قائل شوید. حذف را محدودتر از انتخاب کنید. در مواردی که برنامه به پاسخگویی فردی نیاز دارد، از اعتبارنامههای مشترک اجتناب کنید. اگر پلتفرم از ممیزی پشتیبانی میکند، کاربر، زمان، اقدام، شناسه دستورالعمل، ویرایش قبلی، ویرایش جدید و نتیجه را ثبت کنید.
کنترلر همچنین باید شواهد عملیاتیای را که کاملاً به HMI وابسته نیستند حفظ کند: شناسه فعال، ویرایش، آخرین تراکنش، نتیجه اعتبارسنجی و زمان فعالسازی. گزارشهای HMI مفیدند، اما ممکن است هنگام تعویض ترمینال یا دانلود برنامه از بین بروند.
درباره محدودیتها شفاف باشید. تاریخچه معمولی دستورالعمل ماشین، خودبهخود یک سیستم ثبت الکترونیکی برای تولید تحت مقررات محسوب نمیشود. اگر امضا، شواهد دستکاری، نگهداری سوابق یا مسیرهای ممیزی اعتبارسنجیشده لازم است، کل معماری و رویهها را ارزیابی کنید.
رفتار هنگام راهاندازی و قطع ارتباط را طراحی کنید
مشخص کنید پس از راهاندازی مجدد کنترلر، دانلود برنامه، بازیابی حافظه یا تعویض HMI، کدام دستورالعمل فعال شود. بارگذاری کورکورانه رکورد صفر میتواند خطرناک باشد. دادههای ماندگار باید پیش از استفاده اعتبارسنجی شوند، از جمله نسخه قالب و همه روابط. اگر اعتبار را نتوان اثبات کرد، ماشین را در وضعیتی تعریفشده نگه دارید و انتخاب و تأیید را الزامی کنید.
قطع ارتباط HMI نباید باعث فعالسازی ناقص یک دستورالعمل شود. کنترلر با آخرین رکورد فعال کامل ادامه میدهد یا پاسخ ایمن مخصوص فرایند را اجرا میکند. هنگام بازگشت ارتباط، وضعیتهای ویرایش قدیمی را پاک کنید و پیش از فعال کردن فرمان دیگری، وضعیت واقعی تراکنش کنترلر را نمایش دهید.
مسیرهای خطا را آزمایش کنید
ذخیره عادی، فیلد نامعتبر، رابطه نامعتبر، اقدام غیرمجاز، فشردن مکرر دکمه، قطع شبکه هنگام انتقال، راهاندازی مجدد کنترلر، راهاندازی مجدد HMI، پر شدن حافظه، حذف، بازگشت و رکورد با قالب قدیمی را در مرحله راهاندازی آزمایش کنید. تأیید کنید که هیچیک از این موارد دستورالعمل فعال ترکیبی ایجاد نمیکند.
برای هر فیلد عددی مهم، آزمون مرزی انجام دهید و واحدها را در HMI و کنترلر بررسی کنید. همه اعضای فعال را پس از انتقال مقایسه کنید. نتایج را ثبت کنید و یک دستورالعمل سالم و شناختهشده را خارج از پشتیبان کنترلر نگه دارید تا بازیابی به یک دستگاه وابسته نباشد.
یک سیستم قدرتمند دستورالعمل، تغییرات پیشنهادی را قابل مشاهده میکند، آنها را در کنترلر اعتبارسنجی میکند، یک ویرایش کامل را در وضعیت کنترلشده فعال میسازد و شواهد کافی برای بازسازی رویدادها به جا میگذارد. این انضباط مهمتر از آن است که ذخیرهسازی ابتدا بهصورت یک آرایه UDT باشد یا یک مؤلفه دستورالعمل HMI.