Счетчик расхода воды на контроллере DELTA AS 200, для передачи информации в SCADA систему. — АСУ ТП: сообщество инженеров

Счетчик расхода воды на контроллере DELTA AS 200, для передачи информации в SCADA систему.

О чём видео

В ролике показана разработка программы часового расхода воды на контроллере DELTA AS 200. Реализуются два счётчика импульсов с таймерами, генератор импульсов для имитации сигнала расходомера, пересчёт импульсов в расход и вывод результата для считывания SCADA-системой или панелью оператора.

Что разбирается
  1. 00:01 Постановка задачи: счётчик расхода воды
  2. 00:25 Запуск симулятора контроллера DELTA AS 200
  3. 01:00 Создание проекта и программы
  4. 01:31 Два таймера по 10 секунд для цикличности
  5. 04:36 Счётчики импульсов и их сброс
  6. 06:06 Генератор импульсов для имитации расходомера
  7. 12:44 Вывод значения для SCADA и панели оператора
  8. 15:47 Настройка интервала 2 минуты и проверка
Оборудование и ПО
  • DELTA AS 200
  • SCADA

Кому полезно: Инженерам АСУ ТП, разрабатывающим программы для контроллеров DELTA

Описание составлено автоматически по расшифровке речи в ролике.

Расшифровка видео

0:01 Всем привет, сегодня поговорим про программу счетчика расхода воды, импульсного с Герконом. Значит, напишем часовой расход воды на контроле Ридельта. Вот так вот выглядит данный счетчик, вот. Напишем такую логику и выведем результат самом контроллере. Для этого запускаем наши соответствующие программы, то есть начало, командир, команда, это виртуальная машина. Так, значит, добавляете драйвер? Если у вас его нету, не убирайте тип контроллера данном случае, а С. 2000 Симулятор нажимаете, ну то есть выбираете, нажимаете применить и далее нажимайте старт. Все в этом моменте мы и закончили, далее нам нужно за по запустить программу, а из спицов не будем записывать нашу.

1:00 Скажем так, писать логику на наш контроль проект называем тест. Выбираем тип контроллера, модель контроллера, папку для сохранения нажимаем. Ок и видим меню, значит, заходим в вкладку программ с Нью называемые, то есть тест, 1 нажимаем ок в этом меню, будем писать программу.

1:26 Нам нужно сделать 2 счетчика расхода воды. Таймер в 1 минуту можно таймер выставлять в 1 2 3 минуты, но для точности чем больше минут. Тем точнее такой счетчик будет, мы будем писать на счетчик на. 1 Минуту и что нам для этого нужно, нам нужно написать 2 таймера каждый таймер по 10 секунд. То есть создаем 2 таймера, прописываем ТМР каждого счетчика.

1:54 То есть это не счетчика таймер именно значит? Давайте дадим название нашим таймером, т. 0 счетчик 1 и. В Адресе адрес пишем, т. 0 так. Тип таймер окей. И 2 название счетчика т 1 счетчик 2 адрес можно выбрать, т. т. 1 окей выбрали, теперь таймером нам нужно. Выставить время, значит, ВС 2 выставляется время данном случае, если мы хотим 1 минуту. Значит, нам нужно выставить 600 миллиардекунд, то есть выставляем 600 Миллисекунд. Это соответствует 1 минуте, так сдаем 2 контакта в этих 2 контакта, мы должны прописать. Счетчик, 1 счетчик, 2 значит, у нулевого счетчика ты 0 вставляем счетчик. Ты 1 а 2 т 0 и у счетчика т 0 нужно. То есть ты 1 должен быть нормально закрытый контакт? То есть таким образом мы реализуем нашу цикличность 2 таймеров, то есть, да мы сделать.

3:11 Прерывание то есть. Грубо говоря, сделать цикличность хорошо создаем следующую. Пишем, то есть пишем ты 0 счетчик 1 и выставляем м кубит расход воды. Видим такой мани модификатор м 0 расход воды по нему. Мы будем записывать таймеры или 1 таймер через минуту, или 2 таймер в течение 1 минуты создаем. М 0 расход воды создали, так? Давайте попробуем продемонстрировать, если мы пока что в течение 1 секунды посмотрим, как этот расход работает. И видим каждую секунду, у нас расход начинает работать.

4:05 Моргать, то есть у нас оба счетчика работают, то есть таймера, и к через 1 секунду они начинают меняться. Хорошо, давайте выставим обратно наши 600 миллиардекунд и продолжим писать программу. Значит, следующим этапом мы написать должны 2 счетчика уже счетчик не таймера, а 2 счетчика. Значит, для того чтобы написать в счетчик, нам нужно написать команду ЦНТ, нажимаем ок.

4:36 И создать их таких нужно, 2 значит, 1 счетчик. Нас же вызываем буквой Ц, то есть ц 0 и так далее. Так давайте напишем ценой, 2 напишем ц 1. Заметьте, название другие нельзя использовать. То есть если это счетчик, то можно использовать букву Ц, добавим сюда контакты. Нулевое и нулевой расход, и нулевой расход, 1 замыкающий, 2 размыкающий контакт. Для цену Лего нормально открытые для отцы 1 нормально закрытый контакт и выставим количество импульсов. В данном случае это 1000 импульсов, то есть нажимаем сохранить, то есть в течение минуты. Ну, 1000 импульсов у нас обычно не происходит.

5:29 Для того чтобы обнулить наши счетчики, мы должны добавить коммандерс и добавить 2 контакт выходных. Значит, там, где циной счетчик выставляем ц 1 по пиццы 1 счетчику, а там дельце 1 по це нулевому, делаем сброс и выставляем ресет каждого 1 и 2.

5:50 То есть, когда досчитает 1 счетчик, у нас произойдет сброс 2 счетчика и наоборот, то есть, когда досчитает 2 счетчик, произойдет сброс 1 счетчика. То есть, я думаю, здесь понятной сложности нет, значит. Теперь нам нужно выполнить, сделать генератор импульсов. В данном случае обычно это происходит по дискрете от. Счетчика расхода воды, но мы сделаем виртуально, то есть пишем команду ТМР, счетчик не счетчика. Таймер назовем вот т, 0 ставим 10 секунд.

6:30 Значит, этот тайм от 10 секунд будет выдавать на импульс? Как будто бы это срабатывает счетчик расхода воды. Значит, поставим м 10 нормально открытый контакт в течение 10 секунд у? У нас будет происходить 1 импульс, значит, добавим еще 1 логику. Здесь поставим наш таймер, т 8 так и в течение 10 секунд у нас должен срабатывать эмка импульса, давайте ее создадим. Назовем ее. Им 1 то есть импульс, так адрес в нее будет м 1. Так добавим ее сюда. Таком виде, с кем оставлять не можем, потому что при достижении камеры секунд у нас просто загорится импульс. Поэтому нам нужно делать сброс этого импульса, поэтому добавляем выходной контакт.

7:32 Будем по таймеру ты 8 это делать, раз рис от добавляем этот выход и 8 и выбираем рост. Все, то есть, через 10 секунд у нас будет постоянно сброс таймера и зацикленная программа, то есть в течение 10 секунд. Теперь добавим этот импульс для каждого таймера 3 нулевого эти 1 значит. И у нас работает импульс, запишем эту программу, наш контроллер виртуально. И продемонстрируем работоспособность схемы. Значит, видим, значит, 1 счетчик начал отсчитывать 1 минуту импульсов сейчас нету. Давайте сделаем, допустим, генератор импульсов, то есть в течение 10 секунд у нас будет создаваться 1 импульс. Об видим, да, то есть на 1 счетчике импульса появилась единица. Спустя еще 10 секунд появилась двоечка, и пока идет 1 минута, у нас будет записываться, как то есть количество импульсов в В. данном случае ждем 1 минуту у нас, мы успели записать уже 4 импульса. 2 Счетчик не считает, то есть, как только минута проходит. Мы видим, что 1 счетчик переключился, записал 4 импульса и сбросился. На 0 сейчас работает 2 счетчик, также записываю. Хорошо, давайте теперь пересчитаем наши импульсы примеру 1. Импульс равен 1 кубу воды, значит, что для этого нужно, значит, нам нужно узнать.

9:10 Расход воды в час, следовательно, что для этого нужно. Нам нужна 1 минута, то есть 600 миллиардекунд, так? Перевести то есть сколько это будет импульсов в час? Следовательно, для этого давайте добавим блок умножения, то есть звездочка, так и здесь с 1 выставляем 1. Счетчик 1 счетчик у нас ценой, следовательно, ставим ценой. Так добавили и должны умножить на 1 час, то есть час равен 60 минутам, следовательно, пишем, 60 выставляем.

9:48 И получаем на выходе д число, то есть это Ворд значение Ворд. Следовательно, нужно наставить д 0, к примеру, так как у нас других чисел нет, поэтому, д. 0 Значит, мы умножаем счетчик импульсом на 60 и получаем число, берут сначала умножение.

10:13 Так как у нас количество времени 600 Миллисекунд, следовательно, нам это число за час. Количество импульса нужно разделить на количество минут, за которые мы считаем, следовательно, нужно разделить на 1 минуту. Поэтому нужно иметь в виду, что сейчас у меня стоит 600 миллиардекунд. То есть 1 минута, то здесь может быть не 600, а 2 минуты 3 и 5 и так далее, следовательно, нужно делить на число. Соответствующее, которая выставлена в 1 тайме, значит, в данном случае мы делим на единицу, так как у нас 600 миллиардекунд равно 1 минуте и выставляем следующую Дэшку, то есть д 1 да, ну.

10:59 Значит, то же самое нужно сделать и для 2 счетчика. Добавляем умножение, вставляем цепь 1 и делим на 60 и свободную дешку. То есть д 2 именно так добавляем блок деления, так? Выставляем д 2 делим на единицу и свободную дэшку д 3 все. То есть еще раз, если нам нужно? За 1 минуту посчитать то нужно делить на единицу, то есть на 1 минуту. Если за 5 минут, то соответствующая на 5 минут напишем программу в контроллер и проверим. Значит, сейчас вот счетчик пошел читать? Импульсы запустим наш генератор импульсов импульсов, сейчас нету.

11:57 Запускаем нашу. Генератор импульсов так видим, каждые 10 секунд у нас должен формироваться импульс. Видим, да вот 1 появился 1 импульс. Значит, это число передается в этот блок умножения, то есть умножается на 60 сейчас, показывается неверное число. То есть, ну, грубо говоря, сейчас шестнадцатеричной системе показывать, но при поставлении д 0 в другой блок у нас все правильно получается.

12:34 Значит, видите, то есть 2 на 60 это 120 120 делить на 1, то есть, ну те же 120. Значит, следующим этапом нам нужно выводить 1 число, то есть если в Скаду или, допустим, на панель оператора нам нужно вводить 1 число? Пишем следующую команду можно мов, это передача значения. Через эту команду. Свободную Дэшку, то есть Дэшку, это будем считывать панелью оператора или Скада система. То есть у нее есть Мобас, адрес спокойно можем? Ее считывать, то есть это число будет меняться раз в 1 минуту, которую мы выставили раз 2 минуты или раз 5 минут, то есть смотря как. Написали программу, в данном случае у нас оно должно меняться раз в 1 минуту. Значит, для 1 выставляем д 1 выходное значение, а для 2 мов? Выставляем д 3 так все здесь понятно и для того, чтобы перезаписывать это число или триггер для перезаписи, нам нужно добавить 2 контакта.

13:44 Делать это будем по счетчику. Значит, делаем т 0 1 счетчик и т 1 2 счетчик, и здесь обязательно выбираем по верхнему фронту. Вот так. И в принципе наша программа прочненькая готова. Давайте попробуем ее загрузить контроллер и проверить. Как работает логика? Поднимаемся выше, мы видим таймер, пошел 1 счет 1 минуты. Давайте запустим наш генератор импульса. Значит, камер пошел, запускаем генераторы импульсов. Теперь каждые 10 секунд надо формироваться импульс и выписываться значения, так и, значит, пройдет сейчас 1 минута.

14:48 И можем увидеть, что на 1 таймере у нас 2 импульса сформировалась. И начал работать 2 таймер. Ну, давайте посчитаем, то есть 2 импульса должны были умножены быть на 60 и деленное на единицу, то есть в сумме у нас получалось. 120 Вот видим, что скаду система или на панель оператора мы. Можем считать число, 120 то есть 20 м кубических час расход. Сейчас считает 2 таймер, 1 минута, так как импульсов стало больше то, что и позже раньше включил импульс, значит, видим 5 импульсов.

15:27 То есть умножаем 60 на 5 делим на единицу, то есть получаем? Ну, уже 6 импульсов, то есть 3 600. 3 360 М кубических час мы получаем на выдохе таким. Вот такая вот простая программка для написания. Расходованы, но смотрите, если отсек 2 минуты использовать, то есть смотрите 2 минуты. Это 1200 Миллисекунд, следовательно, выставляем здесь 1200 миллиардекунд, так? Значит, в этом блоке здесь уже нужно делить не на 1 минуту. Она 2 так, как тыщу 200 сад составляет 2 минуты, сохраняем. Запишем, контроллер, давайте посмотрим.

16:13 Загружаем. Смотрим, так, значит, запускаем генератор импульсов, все работает все точно так же, ну. Ну, имеется ввиду вот этот генератор импульсов, я сделал его. Не должно быть в программе этот генератор импульсов чисто для демонстрационной версии. Значит, смотрим, а сейчас сформировалось 2 импульса. То есть 3 уже умножаем, на 60 получаем? 180 Симпульсов у нас станет больше, делим на 2 то есть. По истечении 2 минут то число, которое в пересчете, получится от количества импульсов, то запишется уже в скаду. Система, то есть когда система или в данном случае панель оператора будет получать данные. Раз в 2 минуты ждем, 2 минуты осталось немножко.

17:22 И увидим, какое число запишется через спустя 2 минуты. Значит, осталось подождать, смещусь, то есть 20 секунд. 5 Секунд посмотрим и видим 300 записалось, то есть следующее значение, сколько импульсов у нас будет запишется через 2 минуты. Поэтому обязательно в этом блоке нужно прописывать количество минут здесь, может быть, и 5 минут, так как интервалы импульсов могут быть очень долгими примеру. Там 3 минуты только 1 импульс, поэтому интервал этот нужно увеличивать вот.

18:03 Имейте ввиду, это в виду, вот если же импульсов много можно использовать меньше значения. Если же интервал импульсов очень долгие на там 1 импульс раз в минуту, поэтому нужно увеличивать все же вот этот таймер.

18:25 Вот следовательно, если используем 5 минут, то здесь уже делим на 5 верхнем блоке, ставим 3000 миллиардекунд. Вот такая вот программка. Значит, счетчик импульсик, давайте отключим. Не видим, сегодня после дальше не проходят, но таймер работает. Следовательно, если пройдет все эти 2 минуты, у нас таймер будет равен, 0 то есть расхода нет. Вода никакая не потребляется, то есть расход будет равен. 0 Вот, следовательно, то есть это число, которое сейчас записано, но будет обновляться каждые 2 минуты, если импульсов нет, следовательно, будет уже.

19:12 По такой логике работы работают все, но не все, то есть в данном случае нашего программа, вот всем спасибо всем пока.

Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.

Пишу программу счетчика расхода воды на контроллере DELTA

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх