Skip to main content
LibreTexts - Ukrayinska

5.2: Програми логічного управління - ЯКЩО... ПОТІМ... ПОКИ...

  • Page ID
    32731
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Вступ

    Логічна керуюча програма являє собою набір умовних операторів, що описують відповідь контролера на різні входи. Контролер - це комп'ютер, який використовується для автоматизації промислових процесів. Інженери-технологи використовують логіку управління, щоб повідомити контролеру в процесі, як реагувати на всі входи датчиків з відповідною реакцією для підтримки нормального функціонування процесу. Логіка управління (іноді її називають логікою процесів) базується на простих логічних принципах, що регулюються такими твердженнями, як IF X, THEN Y, ELSE Z, але може бути використана для опису широкого спектру складних зв'язків у процесі. Хоча різні контролери та процеси використовують різні мови програмування, застосовуються поняття логіки управління і умови, виражені в програмі логічного управління, можуть бути адаптовані до будь-якої мови.

    Поняття, що стоять за програмами логічного управління, зустрічаються не тільки в хімічних процесах; насправді логіка управління використовується в повсякденному житті. Наприклад, людина може регулювати власну температуру тіла і рівень комфорту за допомогою наступних умовних логічних тверджень: ЯКЩО температура трохи занадто тепла, ТО ввімкніть вентилятор; ЯКЩО температура занадто тепла, ТО включіть кондиціонер; ЯКЩО температура трохи занадто холодна, ТО поставте на світшоті; ЯКЩО температура занадто холодна, ТО увімкніть камін. Людина приймає вхід з навколишнього середовища (температура), і якщо він відповідає певній встановленій умові, вона виконує дію, щоб тримати себе комфортно. Аналогічним чином хімічні процеси оцінюють вхідні значення процесу проти встановлених значень, щоб визначити необхідні дії для забезпечення безперебійного та безпечного функціонування процесу (вищезгаданий приклад проілюстрований нижче).

    Логічні програми Введення HumanTempControl.JPG

    У наступних розділах детально розглянуто побудову умовних логічних тверджень та наведено приклади розробки програм логічного керування хімічними процесами.

    Логічні елементи управління

    Логічні елементи керування (IF, THEN, ELSE та WHILE) порівнюють значення від датчика до встановленого стандарту для значення, щоб оцінити змінну як True/False, щоб продиктувати відповідну відповідь для фізичної системи. Програма управління хімічним процесом містить багато тверджень, що описують реакції клапанів, насосів та іншого обладнання на датчики, такі як датчики витрати та температури. Відповіді, описані системою, можуть бути дискретними, такими як перемикач включення/вимикання, або можуть бути безперервними, наприклад, відкриття клапана між 0 і 100%. Мета програми управління полягає в підтримці значень, що контролюються датчиками, на прийнятному рівні для роботи технологічного процесу з урахуванням таких факторів, як якість продукції, безпека та фізичні обмеження обладнання. Крім опису нормальної активності процесу, програма управління також описує, як процес буде ініціалізуватися на початку кожного дня і як контролер буде реагувати на аварійну ситуацію поза нормальними умовами роботи системи. На відміну від лінійної комп'ютерної програми, логічні програми безперервно контролюють і реагують без певного порядку. Перш ніж будувати логічні керуючі програми, важливо зрозуміти умовні оператори, такі як IF-THEN і WhiLe оператори, які керують логікою процесів.

    Наступні логічні елементи управління, знайдені нижче, написані в псевдокоді. Псевдокод - це компактний і неформальний спосіб написання комп'ютерних програмних алгоритмів. Він призначений для людського читання замість машинного читання, і не вимагає суворого синтаксису для розуміння людьми. Псевдокод зазвичай використовується для планування розробки комп'ютерних програм та окреслення програми до фактичного кодування.

    ЯКЩО-ТО заяви

    IF-THEN заяви порівнюють значення від датчика до встановленого значення і описують, що повинно статися, якщо зв'язок тримається. IF-THEN оператор набуває вигляду IF X, THEN Y де X і Y можуть бути одиночними змінними або комбінаціями змінних. Для прикладу розглянемо наступні твердження 1 і 2. У заяві 1 обидва X і Y є одиничними змінними, тоді як в операторі 2 X - це комбінація двох змінних. Здатність в умовній логіці поєднувати різні умови робить його більш гнучким, ніж графи випадковості, які можуть описувати лише монотонні відносини між двома змінними (див. Графіки випадковості). Монотонний зв'язок - це той, де, якщо X збільшується, Y завжди зменшується або якщо X збільшується, Y завжди збільшується. Для складних процесів важливо вміти виражати немонотонні відносини.

    1. ЯКЩО T> 200 C, ТО відкрийте V1
    2. ЯКЩО T> 200 C і P> 200 фунтів на квадратний дюйм, ТО відкрийте V1.

    Де T - температура, P - тиск, а V являє собою клапан.

    У заяві 1, якщо температура виявиться вище 200 С, відкриється клапан 1.
    У заяві 2, якщо температура вище 200 С і тиск вище 200 фунтів на квадратний дюйм, то клапан буде відкритий.

    В іншому випадку ніяких дій по клапану 1 не буде вжито.

    Якщо умови в операторі IF виконуються, виконується оператор THEN, і в залежності від команди діє фізична система. В іншому випадку ніяких дій у відповідь на вхід датчика не проводиться. Для опису альтернативної дії, якщо умова IF не має true, необхідні оператори ELSE.

    Заяви ELSE

    Проста форма заяви IF-THEN-ELSE - ЯКЩО X, ТО Y, ELSE Z, де знову X, Y і Z можуть бути одиночними змінними або комбінаціями змінних (як пояснено в розділі якщо-ТО вище). Змінні в операторі ELSE виконуються, якщо умови в операторі IF не відповідають дійсності. Ця заява працює аналогічно заявам IF-THEN, в тому, що виписки обробляються по порядку. Оператор ELSE посилається на останнє, і це умова, яка часто вказується, щоб програма працювала. Прикладом може служити наступний:

    ЯКЩО P>200 фунтів на квадратний дюйм, ТО закрийте V1
    ELSE відкритий V4

    У цьому твердженні, якщо тиск буде 200psi або менше, оператор THEN буде пропущений і оператор ELSE буде виконаний, відкриваючи клапан 4.

    Іноді, якщо X, Y або Z представляють багато змінних і використовуються кілька операторів AND або OR, може бути використаний оператор WHILE.

    Виписки CASE

    Оператор CASE - це альтернативний синтаксис, який може бути чистішим, ніж багато операторів IF.. THEN і ELSE. Приклад, показаний в таблиці нижче, показує його важливість.

    ВИПАДОК ЯКЩО.. ТО і ІНАКШЕ

    Т> Тсет+2:

    v2 = v2+0.1

    T> Тсет+1:

    v2 = в2+0,05

    Т<Цет-1:

    v2 = в2-0.05

    Т<Цет-2:

    v2 = v2-0.1

    ІФ Т> Тсет+1:

    ІФ Т> Тсет+2:

    v2 = v2+0.1

    ЩЕ:

    v2 = в2+0,05

    ІНАКШЕ, ЯКЩО T<Цет-1:

    ІФ Т<Цет-2:

    v2 = v2-0.1

    ЩЕ:

    v2 = в2-0.05

    Таким чином, оператори CASE полегшують читання коду для налагодження.

    WHILE заяви

    Умова WHILE використовується для порівняння змінної з діапазоном значень. Оператор WHILE використовується замість заяви форми (IF A>B І IF A<C). Заяви WHILE спрощують програму управління, усуваючи кілька IF-AND заяв. Це часто корисно при моделюванні систем, які повинні працювати в певному діапазоні температур або тиску. Використання оператора WHILE може дозволити вам включити сигнал тривоги або сигнал відключення, якщо процес досягне нестабільних умов, таких як межі діапазону, в якому працює оператор WHILE. Простий приклад, що ілюструє використання оператора WHILE, наведено нижче.

    Приклад:
    Резервуар, який спочатку порожній, повинен бути заповнений 1000 галонами води через 500 секунд після початку процесу. Швидкість потоку води становить рівно 1 галон/секунду, якщо V1 повністю відкритий, а V1 контролює потік води в резервуар.

    Використовуючи оператор IF... THEN програма може бути записана наступним чином:
    ЯКЩО t > 500 і t < 1501 ПОТІМ встановити V1 для відкриття
    ELSE встановити V1 для закриття.

    Оператор WHILE, який використовується для опису цього зв'язку, виглядає наступним чином

    : WHILE 500 < t < 1501 встановити V1 для відкриття
    ELSE, встановленого V1 для закриття.

    Це може здатися не значною зміною між двома формами коду. Однак це дуже проста модель. Якщо моделювання процесу з декількома змінними вам може знадобитися багато операторів IF... THEN для написання коду, коли одна умова WHILE може замінити його.

    Приклад:
    V1 контролює реагенти, що надходять в реактор, який може безпечно працювати лише в тому випадку, якщо температура нижче 500K.

    WHILE можна використовувати для управління процесом наступним чином:
    WHILE T < 500 встановити V1 для відкриття
    ELSE встановити V1 для закриття. СИГНАЛІЗАЦІЯ.

    Цей приклад показує, як умова WHILE може бути використана як запобіжний захід, щоб запобігти нестабільності або небезпечності процесу.

    Крім списків операторів IF-THEN-ELSE-WHILE, логіка управління може бути поперемінно представлена таблицями істинності і діаграмами переходу стану. Таблиці істинності показують всі можливі стани моделі, що регулюються умовними операторами, а діаграми переходу станів графічно представляють таблиці істинності. Часто вони використовуються в поєднанні з булевими, змінні, які можуть мати тільки два значення, TRUE АБО FALSE. Булева модель або логічна функція слідує формату операторів IF-THEN, описаних тут. Тут наведено опис булевих моделей, таблиць істинності та діаграм переходу стану.

    ПЕРЕЙТИ ДО ВИПИСКИ

    Оператор GO TO допомагає вийти з поточного запуску, щоб перейти до іншої конфігурації. Це може бути важливим оператором у логічному програмуванні, оскільки багато загальних функцій доступні за допомогою GO TO. Однак багато програмістів вважають, що оператори GO TO не повинні використовуватися в програмуванні, оскільки це додає додатковий і часто непотрібний рівень складного, який може зробити код нечитабельним і важко аналізувати. Незважаючи на те, що оператор GO TO має свої недоліки, він все ще є важливим оператором, оскільки він може допомогти спростити основні функції. Це може спростити код, дозволяючи функції, такі як fail safe, посилаються кілька разів без необхідності переписати функцію кожного разу, коли вона викликається. Оператор GO TO також важливий, оскільки навіть просунуті мови, які не мають функції GO TO, часто мають інший оператор, який функціонує подібним чином, але з обмеженнями. Наприклад, мови C, C ++ і java мають функції break і continue які схожі на оператор GO TO. Перерва - це функція, яка дозволяє програмі вийти з циклу до того, як він досягне завершення, тоді як функція continue повертає управління циклу без виконання коду після команди continue. Функція - це частина коду всередині більшої програми, яка виконує певну задачу і є відносно незалежною від коду, що залишився. Деякі приклади функцій такі:

    ФУНКЦІЯ ІНІЦІАЛІЗАЦІЯ: Він працює на початку процесу, щоб переконатися, що всі клапани та двигун знаходяться в правильному положенні. Робота цієї функції могла полягати в закритті всіх клапанів, скиданні лічильників і таймерів, включенні двигунів і відключення обігрівачів.

    ФУНКЦІЯ ПРОГРАМИ: Це основний запуск процесу.

    ФУНКЦІЯ FAIL SAFE: Він працює лише тоді, коли виникає надзвичайна ситуація. Робота цієї функції може полягати в тому, щоб відкрити або закрити клапани для зупинки системи, гасіння реакцій за допомогою охолодження, розведення, змішування або іншого методу.

    FUNCTION SHUTDOWN: Він запускається в кінці процесу для того, щоб вимкнути.

    ФУНКЦІЯ IDLE: Він запускається для відключення живлення процесу.

    Всі функції, згадані вище, крім FUNCTION IDLE, використовуються у всіх хімічних процесах.

    ЗАЯВИ ТРИВОГИ

    Оператор ALARM використовується для попередження операторів у випадку виникнення проблеми в процесі. Сигналізація може не представляти достатньої небезпеки для завершення процесу, але вимагає сторонньої уваги. Деякі приклади, коли в процесі використовуються оператори ALARM, наведено нижче:

    • Якщо резервуар для зберігання реагенту низький, то ALARM.
    • Якщо тиск реактора низький, то ALARM.
    • Якщо потік не виявляється навіть при відкритому клапані, то ALARM.
    • Якщо температура реактора низька навіть після нагрівання, то ALARM.
    • Якщо надлишкові датчики не згодні, то ALARM.

    На закінчення функції ALARM дуже важливі для безпечного запуску процесу.

    Мова контролю в промисловості

    Як зазначено раніше, всі ці команди знаходяться в псевдокоді, і не специфічні для будь-якої мови програмування. Після того, як загальна структура контролера визначена, псевдокод може бути закодований на певну мову програмування. Хоча в промисловості існує багато власних мов, деякі популярні з них:

    • Візуальний базовий
    • C ++
    • Програмування баз даних (напр. Структуровані Мова запитів/SQL)
    • Паскаль
    • Фортран

    Паскаль і Фортран - це старі мови, на яких базується багато новіших мов, але вони все ще використовуються з деякими контролерами, особливо на старих заводах. Будь-який досвід роботи з різними комп'ютерними мовами є безперечним плюсом у промисловості, і деякі інженеры-хіміки роблять перехід на вдосконалені елементи управління проектування, написання та впровадження коду, щоб переконатися, що завод продовжує працювати безперебійно.

    Логічні функції в Microsoft Excel

    Microsoft Excel має основні логічні інструменти, які допомагають у побудові простих логічних тверджень і при необхідності більш складних логічних систем. Список функцій наведено нижче.

    TRUE ()... Повертає логічне значення TRUE.

    FALSE ()... Повертає логічне значення, FALSE.

    І (Logical_expression_a, B, C)... Повертає TRUE, якщо всі вирази є істинними.

    OR (Logical_expression_a, B, C)... Повертає TRUE, якщо одне з виразів є істинним.

    NOT (logical_expression)... Повертає протилежне очікуваному логічному значенню. Якщо вираз TRUE, він поверне FALSE

    IFERROR (значення, value_if_error)... Повертає значення, якщо немає помилки, при якій воно поверне значення_if_error.

    IF (logical_expression, value_if_true, value_if_false)... Перевіряє дійсність виразу і повертає TRUE або FALSE аналогічно.

    Функція IF () буде найбільш корисною в логічному програмуванні. Це, по суті, функція IF THEN або IF ELSE, що повертає одне з двох значень на основі логічного виразу, який він тестує. Excel також дозволяє логічні функції всередині функцій. Це дозволяє логічні вирази, що включають більше одного оператора IF всередині себе, наприклад. Використання цих інструментів буде практичним при швидкому налаштуванні керуючих програм та інших систем в Microsoft Excel.

    Побудова програми логічного управління

    Розуміння умовних операторів, що використовуються в логіці управління, є першим кроком у побудові логічної керуючої програми. Другий крок - розробка ґрунтовного розуміння процесу, який потрібно контролювати. Необхідні знання обладнання, трубопроводів та приладів (що містяться на схемі P&ID), умов експлуатації, хімічних сполук, використовуваних та проблем безпеки. Особливо важливо знати виміряні та контрольовані змінні. Наприклад, межі тиску в резервуарі повинні бути відомі, щоб розробити план управління для забезпечення безпеки; ігнорування цього обмеження може призвести до вибуху та травм. Після того, як необхідні елементи управління будуть відомі, можна розробити план, використовуючи логічні твердження, описані раніше. Третім кроком є побудова логічної програми управління - це розуміння того, що не завжди є правильна відповідь, тобто існує багато різних способів забезпечити однаковий бажаний результат.

    Опрацьовані приклади 1, 2 і 3 демонструють побудову простих програм логічного управління. Чим складніше ситуація, тим довше стає логічний план управління, але процес все той же. Тут наведено приклад більш складної програми логічного контролю. Цей приклад з класу 2005 ChE 466 в Мічиганському університеті і описує весь хімічний процес від доставки сировини до виходу кінцевого продукту.

    Визначення відмовобезпечних умов

    Fail safe - це практика проектування системи за замовчуванням для безпечних умов, якщо щось або все піде не так. Цілями відмовобезпечних умов є:

    • Захистіть особисту рослину
    • Захистіть місцеву громаду навколо заводу
    • Захистіть навколишнє середовище
    • Захистіть обладнання заводу

    Для того, щоб встановити безпечні умови, відмовостійкі програми повинні вказати бажані положення всіх клапанів і стан всіх двигунів і керованого обладнання. Наприклад, в екзотермічному реакторі відмовобезпечні умови вказували б відкриття всіх клапанів охолоджуючої води, закриття всіх клапанів подачі, перекриття двигунів живильного насоса, включення двигуна мішалки та відкриття всіх вентиляційних клапанів.

    Керуючі програми часто визначають відмовобезпечні умови на початку програми. Ці умови потім активуються за допомогою команди GO TO, коли умови процесу перевищують максимальні або падають нижче мінімально допустимих значень.

    Всі процеси повинні бути оцінені для умов, які можуть спричинити небезпеку і відмовостійка процедура повинна бути розроблена протидіяти наслідкам.

    Приклад\(\PageIndex{1}\): Reboiler

    Рекотли використовуються в промисловості для охолодження технологічних потоків шляхом створення пари з води. Цей хімічний процес передбачає зміну фази від рідини (води) до газу (пари), і важливо контролювати витрати, температуру та тиск. Нижче наведена схема ребойлера. Керованими змінними є F1, F2 та F3; вони контролюються маніпулюванням відповідними клапанами. Виміряні змінні - Р1, Т1 і Т2. З огляду на умови експлуатації і обмеження, наведені нижче, напишіть логічну програму управління ребойлером.

    Логіка управління EX1.JPG

    Операційні обмеження такі:

    • T1 не повинен перевищувати 350 ˚C
    • T2 повинен бути від 100 до 200 ˚C
    • Р1 не може перевищувати 150 фунтів на квадратний дюйм

    Нормальні умови роботи контрольованих змінних такі:

    • F1 становить 20 гал/хв
    • F2 становить 10 гал/хв
    • F3 закритий

    Рішення

    Перший крок - розуміння системи, яку потрібно контролювати. Дивлячись на діаграму, можна побачити, що F1 контролює витрату технічної води, F2 контролює швидкість потоку технологічного потоку, а F3 управляє вентиляційним отвором в атмосферу. T1 - температура технологічного потоку, що надходить в ребойлер, а Т2 - температура технологічного потоку, що виходить з ребойлера. P1 - тиск всередині ребойлера.

    Нижче наведено можливу програму управління для забезпечення виконання операційних обмежень; можуть бути й інші рішення для досягнення тієї ж мети:

    • ЯКЩО Т2 > 200 ˚C, ТО F1 = 30 гал/хв
    • ЯКЩО T2< 100 ˚C, ТО F1 = 10 гал/хв
    • ЯКЩО P1 > 150 фунтів на квадратний дюйм, ТО відкрийте F3
    • ЯКЩО Т1 > 350 ˚C, ТО F2 = 2 гал/хв

    Для того щоб контролювати температуру виходу технологічного потоку, можна збільшити або зменшити робочу воду з нормальної витрати. Відкриття вентиляційного отвору в атмосферу знижує тиск, якщо воно досягає небезпечного значення. Якщо температура входу занадто висока для технологічного потоку, зменшення вхідної швидкості потоку забезпечить не надто високу температуру виходу для решти процесу. Примітка: зменшення технологічного потоку може негативно позначитися на решті частини рослини.

    Приклад\(\PageIndex{2}\): Thermostat

    Інженери-хіміки все частіше залучаються до біологічних застосувань. У багатьох біологічних процесах контроль температури може бути дуже критичним для процесу. Візьмемо, наприклад, імітовану осередок на комп'ютерному чіпі. Припустимо, що в обов'язковому порядку чіп залишався на рівні 97 o F ± 1 o F, дуже схожий на температуру людського тіла. Деякі реакції і процеси на мікросхемі не будуть функціонувати при температурах поза цим діапазоном і можуть стати необоротно пошкодженими, якщо живлення мікросхеми не буде вимкнено. Харчування включається і вимикається вимикачем S1. Існують потоки холодної води з автоматичним клапаном V1 і теплої води з автоматичним клапаном V2 для цілей охолодження і обігріву. Чіп кріпиться до термостата, щоб відчувати і контролювати температуру, Т. Випишіть керовану логічну схему для підтримки температури чіпа і запобігання пошкодженню.

    Підказка: Нагрійте або охолодіть чіп до досягнення меж (близько половини градуса)

    Рішення

    Для контролю температури чіп повинен нагріватися або охолоджуватися в залежності від навколишнього середовища

    ЯКЩО (T<96.5) ТОДІ V2 відкритий

    ELSE V2 закрито

    ЯКЩО (T> 97.5) ТОДІ V1 відкритий

    ELSE V1 закрито

    Контроль виконується до досягнення граничної температури, щоб забезпечити час затримки в потоці нагрівальної або охолоджуючої води.

    Крім того, щоб мікросхема не пошкодилася, живлення потрібно відключити, якщо температура йде вище 98 o F або нижче 96 o F

    У ТОЙ ЧАС ЯК (96 <T <98) ТОДІ S1 увімкнено

    ELSE S1 вимкнено

    Приклад\(\PageIndex{3}\): Chemical Reactor

    Існує екзотермічна хімічна реакція, що відбувається в CSTR (Continuous Mistrated Tank Reactor), яка включає два реагенти, що подаються у співвідношенні 1:1. Всі клапани встановлені на 50% відкритими нормально. Напишіть програму управління, яка утримує рівень в посудині CSTR менше 8 метрів (резервуар 10 метрів заввишки) і температуру реактора нижче 450 градусів Цельсія.

    xample3.jpg

    Рішення

    У той час як L1> 8 встановити V3 на 100% відкрити і закрити V1 і V2

    В іншому випадку встановити V1 і V2 і V3 на 50% відкриті

    Якщо T2 > 450 ТОДІ встановіть V5 і V4 на 100% відкритий

    В іншому випадку встановити V5 і V4 на 50% відкриті

    Це рішення дає приклад використання операторів AND для управління декількома клапанами лише з однією умовою.

    Приклад\(\PageIndex{4}\): Programming and Alarms

    Існує процес, який запускається P&ID, показаним нижче.

    xample4.jpg

    Виходячи з цього процесу і перерахованих нижче кроків, випишіть детальну програму управління процесом. Використовуйте коментарі (позначаються #), якщо необхідно, щоб пояснити логіку кроків.

    1. Виміряйте одиниці Qw води в резервуарі
    2. Додати Qc одиниці сушеного нуту
    3. Дайте сушеному нуту просочитися протягом 20 годин, не перемішуючи
    4. Злити вимочувану воду до відходів (припустимо, фільтр в баку не пропустить весь нут через насос) 5) Додати в бак одиниці Qw прісної води.
    5. Нагрійте бак до Tcook і підтримуйте тиск на рівні 4 атм. Зверніть увагу, що ваш танк розрахований на витримку тиску від 0,5 до 6 атм, тоді як за межами цього діапазону резервуар може підірватися або вибухнути.
    6. Варити нут 20 хвилин.
    7. Після приготування вимкніть тепло і дайте системі повернутися до температури навколишнього середовища (Tamb) і тиску навколишнього середовища. Остерігайтеся сильного вакууму, що утворюється в резервуарі, оскільки водяна пара конденсується!
    8. Злити воду для приготування їжі, щоб стікати.
    9. Насос в одиницях Qs суміші спецій тахіні
    10. Суміш збивайте протягом 10 хвилин, щоб вийшла однорідна паста хумус.
    11. Відкачати продукт в упаковку.
    12. Наповніть резервуар чистою водою і перемішуйте, щоб очистити реактор.
    13. Насос промивають водою для зливу.



    ІНІЦІАЛІЗАЦІЯ ФУНКЦІЇ РІШЕННЯ

    Вимкніть M1, M2, M3, M4
    Закрити V1, V2, V3, V5, V6, V7, SV1
    Встановіть всі таймери на нуль
    Встановіть всі суматори на нуль

    БЕЗВІДМОВНА ФУНКЦІЯ

    Вимкніть М1, М2, М3, М4
    Закрити V1, V2, V3, V5, V7, SV1
    Відкрити V6

    ФУНКЦІЯ ПРОГРАМА

    #Step 1 - Виміряйте Qw об'єднання води в резервуар

    Увімкніть M1
    Відкрити V1
    У ТОЙ ЧАС ЯК FC1ToT < Qw:

    Налаштуйте V1 до FC1set

    ЯКЩО ЛК1 <ЛК1хв:

    СИГНАЛІЗАЦІЯ

    Закрити V1

    Вимкніть M1

    #FC1tot - загальна кількість рідини, яка пройшла через витратомір

    #FC1set - це уставка (сума, яку клапан відкритий) для V1, який FC1 вже запрограмував у нього

    #LC1min - мінімально прийнятний рівень рідини в S001

    #Step 2 - Додати Qc одиниць сушеного нуту

    Відкрити SV1
    ПОКИ FC4 < Qc:

    Налаштуйте SV1 на FC4set

    ЯКЩО ЛК4 <ЛК4 хв:

    СИГНАЛІЗАЦІЯ

    Закрити SV1

    #FC4set - це задана точка для SV1, яку FC4 вже запрограмував у нього

    #LC4min - мінімально прийнятний рівень рідини в S003. LC4 не знаходиться на P&ID, однак має сенс мати його на ньому, щоб рівень на резервуарі можна було належним чином контролювати

    #Step 3 - Дайте сушеному нуту просочитися протягом 20 годин, не перемішуючи

    ЗАЧЕКАЙТЕ 20 годин

    #Step 4 - Злийте замочувальну воду для відходів

    Відкрийте V7
    Увімкніть M3
    ПІД ЧАС FC3Tot < Qw:

    Налаштуйте V7 на FC3set2

    Вимкніть M3

    Закрити V7

    #FC3tot - загальна кількість рідини, яка пройшла через витратомір

    #FC3set2 - це задана точка для V7, яку FC3 вже запрограмував у нього

    #Step 5 - Додайте в резервуар одиниці прісної води Qw

    Очистити FC1Tot
    Увімкніть M1
    Відкрити V1,
    ПОКИ FC1Tot < Qw:

    Налаштуйте V1 до FC1set

    ЯКЩО ЛК1 <ЛК1хв:

    СИГНАЛІЗАЦІЯ

    Закрити V1

    Вимкніть M1

    #Step 6 - Нагрійте бак до Tcook і підтримуйте тиск на рівні 4 атм.

    У ТОЙ ЧАС ЯК TC1 < Tcook:

    Налаштуйте v5 на Tcook

    ЯКЩО АБО (PC1 < 0.5, PC1 > 6):

    ПЕРЕЙТИ ДО БЕЗВІДМОВНОГО

    ЯКЩО ПК1 < ПК1 комплект:

    Закрити V6

    ЩЕ:

    Налаштуйте V6 до PC1set

    ЯКЩО LC3> LC3макс:

    ПЕРЕЙТИ ДО БЕЗВІДМОВНОГО

    #PC1set - це налаштування, на яке потрібно встановити V6, щоб резервуар мав 4 атм тиску в ньому

    #LC3max - це максимальний рівень, до якого дозволено потрапити вміст резервуара. Все вище вказує на проблему з одним із витратомірів.

    #Step 7 - Готуйте нут 20 хвилин#

    ЗАЧЕКАЙТЕ 20 хвилин

    #Step 8 —Після приготування, вимкніть тепло і дайте системі повернутися до температури навколишнього середовища і тиску

    ЯКЩО ПК1> ПК1амб:

    Налаштуйте V6 на PC1set2

    ЯКЩО АБО (PC1 < 0.5, PC1 > 6):

    ПЕРЕЙТИ ДО БЕЗВІДМОВНОГО

    У ТОЙ ЧАС ЯК TC1 > Утрамбувати:

    Закрити V5

    #PC1amb - тиск навколишнього середовища в 1 атм, до якого система повинна дістатися

    #PC1set2 - це другий параметр на PC1, який впливає на те, наскільки відкритий V6

    #Step 9 - Злити воду для приготування їжі для зливу

    Очистити FC3Tot
    Відкрити V7
    Увімкніть M3
    ПІД ЧАС FC3Tot < Qw:

    Налаштуйте V7 до FC3set

    Вимкніть M3

    Закрити V7

    #Step 10 - Насос в одиницях Qs суміші спецій тахіні

    Очистити FC2Tot
    Увімкніть M2
    Відкрити V2,
    ПОКИ FC2Tot < Qs:

    Налаштуйте V2 до FC2Set

    ЯКЩО ЛК2 <ЛК2хв:

    СИГНАЛІЗАЦІЯ

    Закрити V2

    Вимкніть M2

    #FC2tot - загальна кількість рідини, яка пройшла через витратомір

    #FC2set - це задана точка для V2, яку FC2 вже запрограмував у нього

    #Step 11 - Змішайте суміш протягом 10 хвилин, щоб отримати гладку пасту хумус

    Увімкніть M4
    ЧЕКАЙТЕ 10 хвилин
    Вимкніть M4

    #Step 12 - Відкачати продукт до упаковки

    Відкрийте V3
    Увімкніть M3,
    поки LC3> 0:

    Налаштуйте V3 до FC3Set

    Вимкніть M3

    Закрити V3

    #FC3set - це задана точка для V3, яку FC3 вже запрограмував у нього

    #Step 13 - Наповніть резервуар чистою водою та перемішуйте для очищення реактора

    Увімкніть M1
    Відкрити V1,
    ПОКИ LC3 < LC3max:

    Налаштуйте V1 до FC1set

    ЯКЩО ЛК1 <ЛК1хв:

    СИГНАЛІЗАЦІЯ

    Закрити V1
    Вимкніть M3
    Увімкніть M4
    ЗАЧЕКАЙТЕ 10 хвилин

    Вимкніть M4

    #Step 14 - Насос був водою для зливу

    Відкрийте V7
    Увімкніть M3,
    поки LC3> 0:

    Налаштуйте V7 на FC3set2

    Вимкніть M3

    Закрити V7

    Опрацьований приклад 4: Програмування та тривоги

    Розроблений приклад 5: Інший хімічний реактор (взято з лекції професора Баркеля 29.09.09)

    PEx5.jpg

    НАПИСАННЯ КОНТРОЛЬНОЇ ПРОГРАМИ

    Номенклатура:
    x A = вхідна кількість A
    y B = вхідна кількість B

    Показання:
    L L = низький рівень
    L H = високий рівень
    Lmax = максимальний високий рівень
    Lmax = максимальний низький рівень

    Що слід зазначити:
    Обов'язково використовуйте заяви If, Then.
    Рядки курсивом - це коментарі, які використовуються для організації програми.

    ПРОГРАМА УПРАВЛІННЯ

    Рівний означає в межах +/- 0,05% від значення, яке тримається рівним.

    Ініціалізувати. Використовується для встановлення всіх пристроїв керування у потрібне положення.
    1. Вимкніть всі клапани
    2. Вимкніть всі двигуни

    Fail Safe Це використовується для завершення процесу у випадку, якщо щось піде не так, і його потрібно негайно припинити.
    1. Вимкніть всі клапани, крім V5, V7, V9, V6
    2. Вимкніть всі двигуни, крім M2

    Універсальні заяви
    Якщо T1> Tmax, то перейдіть Fail Safe.

    1. Ініціалізувати
    2. Відкрийте V6, V9, V1. [щоб системи не нарощували тиск]
    3. Якщо L1> L L, то включіть M1. [заповнити A]
    4. Якщо L2> = Лаг, увімкніть M2. [запуск мішалки]
    5. Якщо F1> = x A, вимкніть V1, вимкніть M1. [Зупинка потоку A]
    6. Відкрийте V5, V7. [Дозволити для охолодження]
    7. Якщо P1>= P L, то відкрийте V2. [заповнити B]
    8. Якщо L4> = L4min, відкрийте V8, увімкніть M4. [реліз продукту AB]
    9. Якщо L2< Лаг, то відключіть М2. [так двигун не працює сухим]
    10. Якщо L4< L 4 л, закрийте V8. [зупинити відтік продукту АВ]
    11. Якщо T1>< T H, то відкрийте V5. [температура охолоджуючого реактора]
    12. Якщо T2>< T H, то відкрийте V5. [прохолодний верхній потік продукту]
    13. Якщо T1<< T L, то закрийте V5. [зупинити охолодження реактора]
    14. Якщо F2>=< y B, то вимкніть V2. [Зупинка потоку B]
    15. Закрийте V8, M4, залиште V6, V9 відкритими. [закрити процес, але дозволити йому вентиляцію]
    16. Відкачати БАБ.

    Опрацьований приклад 6

    Логіка управління Example.jpg

    \[\ce{A + B -> AB} \nonumber \]

    Реакція екзотермічна
    A, B, AB всі рідини
    Він йде до 100% завершення
    X A = загальна кількість використаного A
    Y B = загальна кількість використовуваного В

    В додається повільно в повний заряд А
    . Температура підтримується на T R.
    По завершенні реакції АВ охолоджують до Т Р
    Z C, кількість розчинника C додається до AB, щоб зробити кінцевий продукт

    Використовуючи лише показане обладнання та контрольно-вимірювальні прилади, напишіть логіку управління для цієї реакції BATCH. Використовуйте якщо, то логіку.

    Використання індексів:
    Ag для мішалки
    L для низького дна діапазону управління
    H для верхньої частини діапазону управління
    Min для мінімального - найнижчого рівня дозволено
    Max для максимального - найвищого рівня дозволеного
    tot для суматора Логіка управління

    технологічним процесом

    • Рівний означає в межах +/- 0,05% від значення, яке тримається рівним.

    1) Ініціалізувати

    Закрити всі клапани
    Вимкнути всі двигуни
    Встановити всі FC tot = 0

    2) Відмовно-безпечний

    Вимкніть V1, V2, V3, V4
    Відкрити V5
    Вимкніть
    M1, M2, M3
    Вимкніть M4, Відкрийте V4
    Увімкніть M5, якщо LC4> Відставання, інакше вимкніть M5

    3) Якщо T1> T max, то йти Fail Safe
    4) Якщо L2> L 2 хв, то увімкніть M2, відкрийте V2
    5) Якщо L2< L 2 хв, то вимкніть M2, вимкніть V2
    6) Якщо FC 2 tot = X A, потім вимкніть M2, вимкніть V2
    7) Якщо L4>Лаг, то увімкніть M5
    8) Якщо L1> L 1 макс, то перейдіть Fail Safe
    9) Якщо L1> L 1 хв , потім увімкніть M1, відкрийте V1
    10) Якщо L1 < L 1 хв, то вимкніть M1, вимкніть V1
    11) Якщо FC 1 tot = Y B, то вимкніть M1, вимкніть V1
    12) Якщо T1> Т 1 Н, то відкрийте V5
    13) Якщо T1 < T 1 L, то закрийте V5
    14) Якщо L4> L 4 H, то закрийте V1, вимкніть M1
    15) Якщо T1> T P , потім відкрийте V5
    16) Якщо T1= T P, то закрийте V5
    17) Якщо L3> L 3 хв, то включите М3, відкрийте V3
    18) Якщо L3< L 3 хв, то вимкніть M3, вимкніть V3
    19) Якщо FC 3 tot = Z C, то вимкніть M3, вимкніть V3
    20) Якщо LC4 <лаг, то вимкніть M5
    21) Відкрийте V4
    22) Включаємо M4
    23) Якщо L4< L 4 хв, потім вимкніть M4, вимкніть V4

    Посилання

    • Савіч, Вальтер. «Вирішення проблем з C ++ Об'єкт програмування». Бостон: Пірсон Освіта, Inc. 2005.
    • Стенфордська енциклопедія філософії
    • Вульф, Пітер. «Можливі корисні примітки», Примітки для логічної логіки, 22 вересня 2005 року.
    • Вульф, Пітер. «Проект 1 Зразок рішення», 6 жовтня 2005 р.
    • Вульф, Пітер. «Корисні визначення», Огляд термінів, 11 жовтня 2005 р.

    Дописувачі та атрибуція

    Автори: Стефані Фрейлі, Майкл Ум, Бенджамін Тер'єн, Джон Залевскі
    Стюарди: Росс Бредевег, Джессіка Морга, Райан Секол, Райан Вонг