Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по InTouch.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
1.02 Mб
Скачать

2 Ход работы

  1. Обеспечить автоматический режим работы объекта, состоящий из следующих этапов:

- заполнение емкости 1 из двух трубопроводов. Заполнение емкости начинается после открытия одного из клапанов.

- при достижении заданного оператором уровня в емкости 1, начинается режим отстаивания.

- после окончания заданного времени реакции, начинается опорожнение емкости 1 в емкость 2 при помощи клапана 3, и одновременно открываются клапана подачи компонентов сверху емкости 2.

- при достижении заданного оператором уровня в емкости 2, начинается режим перемешивания.

- после окончания заданного времени перемешивания, начинается режим отстаивания в емкости 2.

- после окончания заданного времени реакции, начинается опорожнение емкости 2 при помощи клапана 6. После опорожнения емкости 2 начинается заново заполнение емкости 1.

Для модели работы объекта используйте скрипты типа Condition.

Сценарий по условию Condition

Условие: Klapan_1

On False:

Flow_1_old = Flow_1;

Flow_1 = 0;

On True:

Flow_1 = Flow_1_old;

While True 100 Msec:

Level_1 = Level_1 + Flow_1/600;

IF Level_1 >= Level_set_1 THEN

Klapan_1 = 0;

Klapan_2 = 0;

Start_ots_1 = 1;

ENDIF;

Условие: Klapan_2

On False:

Flow_2_old = Flow_2;

Flow_2 = 0;

On True:

Flow_2 = Flow_2_old;

While True 100 Msec:

Level_1 = Level_1 + Flow_2/600;

IF Level_1 >= Level_set_1 THEN

Klapan_1 = 0;

Klapan_2 = 0;

Start_ots_1 = 1;

ENDIF;

Условие: Start_ots_1

On True:

Time_1 = 0;

While True 1000 Msec:

Time_1 = Time_1 + 1;

IF Time_1 >= Time_set_1 THEN

Start_ots_1 = 0;

Klapan_3 = 1;

Klapan_4 = 1;

Klapan_5 = 1;

ENDIF;

Условие: Klapan_3

On False:

Flow_3_old = Flow_3;

Flow_3 = 0;

On True:

Flow_3 = Flow_3_old;

While True 100 Msec:

Level_2 = Level_2 + Flow_3/600;

Level_1 = Level_1 - Flow_3/600;

IF Level_1 <= 1 THEN

Klapan_3 = 0;

ENDIF;

Условие: Klapan_4

On False:

Flow_4_old = Flow_4;

Flow_4 = 0;

On True:

Flow_4 = Flow_4_old;

While True 100 Msec:

Level_2 = Level_2 + Flow_4/600;

Условие: Klapan_5

On False:

Flow_5_old = Flow_5;

Flow_5 = 0;

On True:

Flow_5 = Flow_5_old;

While True 100 Msec:

Level_2 = Level_2 + Flow_5/600;

Условие: Level_1 >= Level_set_1

On True:

Start_ots_1 = 1;

While True 100 Msec:

Klapan_1 = 0;

Klapan_2 = 0;

Условие: Level_2 >= Level_set_2

On True:

Start_ots_2 = 1;

While True 100 Msec:

Klapan_3 = 0;

Klapan_4 = 0;

Klapan_5 = 0;

Условие: Start_ots_2

On True:

Time_2 = 0;

While True 1000 Msec:

Time_2 = Time_2 + 1;

IF Time_2 >= Time_set_2 THEN

Start_ots_2 = 0;

Start_ots_3 = 1;

ENDIF;

Условие: Start_ots_3

On True:

Time_3 = 0;

While True 1000 Msec:

Time_3 = Time_3 + 1;

IF Time_3 >= Time_set_3 THEN

Start_ots_3 = 0;

Klapan_6 = 1;

ENDIF;

Условие: Klapan_6

On False:

Flow_6_old = Flow_6;

Flow_6 = 0;

On True:

Flow_6 = Flow_6_old;

While True 100 Msec:

Level_2 = Level_2 - Flow_6/600;

Level_all = Level_all + Flow_6/600;

IF Level_2 <= 1 THEN

Klapan_6 = 0;

Klapan_1 = 1;

Klapan_2 = 1;

ENDIF;

2. По формуле зависимости объема заполнения бака от уровня наполнения с помощью QuickFunction вычислить объем заполнения емкостей 1 и 2, а также общий объем готовой продукции за все циклы работы объекта.

Создайте новую Quick – функцию с одним действительным аргументом (имя аргумента не должно совпадать с именем какого-либо тэга). Для возврата в вызывающий сценарий используйте оператор вида: «RETURN Аналоговое выражение для расчета объема;». В вызывающем сценарии используйте оператор следующего вида: «Тэг объема = CALL ИмяФункции(Тэг уровня);».

Пример:

Quick Function

Функция – Volume

Аргумент – TankLevel (Real)

RETURN PI()*0.5*0.5* TankLevel

3. Для клапанов задать открытие и закрытие и цветом показать работу клапана.

На клапан задайте анимационную связь Touch PushbuttonsDiscrete и в поле Tagname введите тэг работы клапана: Klapan_1, с условием Action - Toggle. Для цветовой визуализации используйте анимационную связь Fill ColorDiscrete и задайте Tagname: Klapan_1.