Форум программистов, компьютерный форум, киберфорум
Наши страницы
SCADA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
МС Ток
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 19
1

Trace Mode 6: автоматизированная система управления работой насоса

11.10.2018, 08:50. Просмотров 1924. Ответов 13
Метки нет (Все метки)

Разработка проекта автоматизированной системы управления работой насоса. Помогите плиз, кто шарит в Trace Mode. А то нам препод не хочет объяснять эту тему, а самому не получается понять. Буду очень благодарен за помощь)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2018, 08:50
Ответы с готовыми решениями:

Автоматизированная система управления работой четырёхсекционного светофора
Помогите ! Тема " разработка автоматизированной системы управления работой четырёхсекционного...

Trace mode 6: автоматизированное управление работой эскалатора
Нужно сделать автоматизированное управление работой эскалатора, на котором, к примеру движется...

Trace mode: автоматизированная система управления светофором
Возможно ли сделать автоматизированную системы управления светофором в trace mode ?

Trace Mode 6: автоматизированная система управления загазованностью в помещении
Помогите сделать проект пожалуйста! не знаю как !." Разработка проекта автоматизированной системы...

Таймер в Trace Mode
Возможно ли в Trace mode в программе ST сделать таймер? К примеру есть сигнал управления который...

13
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
12.10.2018, 06:21 2
МС Ток, и как вы себе это представляете технически? сделать за вас? давайте начнем с ТЗ. насоса чего? перекачки, откачки, скважинного, другого? какие датчики, какие исполнительные устройства? что должно быть в проекте для того что бы он считался выполненным? видеограммы (сколько)? архивация? сигнализация? авторизация? графики? каков объем мониторинга и управления?
0
МС Ток
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 19
12.10.2018, 09:24  [ТС] 3
Я вас прекрасно понимаю, но нам сказали придумать самим и разработать, а я не пойму как это делать, препод прогу ваще не знает
0
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
13.10.2018, 19:47 4
МС Ток, ну тогда пусть будет так

Описание:
-есть резервуар объемом * куб м и высотой * м
-в него постоянно подается жидкость, расход жидкости * куб м / с
-при уровне * срабатывает датчик и автоматически включается откачивающий насос производительностью * куб м /с (производительность насоса больше подачи)
-при уровне * срабатывает датчик и откачивающий насос автоматически выключается

Делаем проект (о, у них на сайте все еще версия 6 значит, наверное, то что написано ниже будет очень похоже на правду):
-качаем и устанавливаем TM6
-открываем, создаем новый проект
-в контекстном меню узла Система выбираем Создать узел / RTM
-в контекстном меню узла RTM выбираем Создать компонент / Экран
-открываем экран двойным щелчком и рисуем (есть панелька вверху) на нем цилиндр похожий на резервуар, внутри него снизу вверх рисуем еще один практически полностью заполняющий первый (это будет жидкость)
-переключившись в режим выделения (есть кнопка со стрелочкой вверху) двойным щелчком по второму цилиндру открываем окно свойств и назначаем ему красивый базовый цвет
-в том же окне свойств на последней закладке ставим галочку Масштабировать и открываем настройки масштабирования нажав на заголовок настроек масштабирования
-убираем галочку горизонтально, назначаем начальный размер 0, конечный 100, щелкаем по кнопке выбора привязки и попадаем в окно аргументов экрана - создадим один с именем LEVEL и типом REAL
-переходим в режим эмуляции (есть кнопка с человечком вбегающим в синий экран вверху) и любуемся тем что получилось - высота цилиндра воды привязана к аргументу экрана, меняя который мы видим как нас затапливает: 0 - резервуар пуст, 100 - полон (если получилась фигня - не огорчайтесь, возможно ваш цилиндр масштабирует не в ту сторону, попробуйте поиграться с направлением рисования)
-рядом с верхом и низом резервуара рисуем и подписываем кружочки - это будут индикаторы срабатывания датчиков верхнего и нижнего уровня
-идем в их свойства и привязываем красную заливку к аргументам экрана LEVEL_HI и LEVEL_LO
-внизу аналогично рисуем и подписываем индикатор работы насоса, для красоты выбираем для него зеленую заливку и привязываем к аргументу экрана PUMP_ON
-теперь нам нужно составить программы и связать аргументы программ между собой и с аргументами экрана - одна программа будет имитировать физический процесс (изменений уровня в зависимости от того включен или выключен насос), другая - реакцию дискретных датчиков на изменение уровня, третья - собственно автоматическое управление насосом (фактически тупая реакция на дискретные датчики уровня)
-в контекстном меню узла RTM выбираем Создать компонент / Программа
-создаем нашей первой программе аргументы: несколько постоянных описывающих наш мирок, один входной от насоса и один выходной - значение уровня - пусть он будет в процентах
-выбираем тип программы ST и пишем нехитрую логику на языке похожем на паскаль, проверим не написали ли мы гадость нажав кнопку компиляции (есть вверху квадратик со стрелочками направленными вниз)
-в контекстном меню программы выбираем (внезапно!) Редактировать и попадаем на интересную закладку где можно настроить период пересчета нашей программы - зададим 1 раз в секунду
-свяжем уровень на нашем экране с уровнем выдаваемым нашей программой - откроем из контекстного меню экрана панель свойств и нажав на привязку аргумента LEVEL привяжем аргумент к аргументу программы
-в свойствах программы вызванных из контекстного меню программы назначим значения аргументов по умолчанию
-сохраним наш проект, соберем его для МРВ нажав на кнопку "дискета с красным человеком" и откроем проект в МРВ нажав на кнопку "красный человек" - в открывшемся окне МРВ нажмем кнопку "красный человек" запустив проект - если мы все сделали верно мы увидим как каждую секунду наш уровень увеличивается на 10%
-аналогично напишем простую программу про дискретные датчики - эта программа должна будет получить уровень от нашей первой программы и на его основе выдать ноль или единицу в выходной аргумент "верхний" или "нижний" достигнут которые мы так же привяжем к экрану
-аналогично напишем простую программу про насос - эта программа должна будет получить ноли или единицы "верхний" и "нижний" уровень достигнут от второй программы и выдать на их основе выходной аргумент "насос включен" который мы так же привяжем к экрану и первой программе
-наш проект готов
0
13.10.2018, 19:47
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
13.10.2018, 19:53 5
как то так
0
Изображения
Тип файла: jpg 01.jpg (116.0 Кб, 44 просмотров)
Тип файла: jpg 02.jpg (126.5 Кб, 37 просмотров)
Тип файла: jpg 03.jpg (98.6 Кб, 45 просмотров)
Тип файла: jpg 04.jpg (129.6 Кб, 44 просмотров)
Тип файла: jpg 05.jpg (85.1 Кб, 29 просмотров)
Тип файла: jpg 06.jpg (110.3 Кб, 31 просмотров)
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
13.10.2018, 20:00 6
...а еще можно достаточно часто нажимать кнопку справка в тех или иных окнах или верхнем меню, читать и думать, вбивать в гугл что не понятно, ну а когда на часах уже 2 часа ночи и ничего не помогает приходить сюда)
0
МС Ток
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 19
17.10.2018, 15:53  [ТС] 7
Вообщем получилась вот такая фигня. Как думаешь, из-за чего не получилось?
0
Изображения
Тип файла: png й.png (63.4 Кб, 26 просмотров)
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
18.10.2018, 08:35 8
МС Ток, выглядит неплохо но уровень нулевой и все дискретные сигналы пришли - причин может быть 1001 - что следует предпринять:
1 проверить работу экрана в режиме эмуляции - так мы поймём что аргументы экрана привязаны к графическим объектам корректно
2 проверить работу программы имитирующей изменение уровня отключив остальные - уровень на экране должен расти
3 проверить работу программы имитирующей дискретные датчики отключив программу насоса - по мере роста уровня должен уйти сигнал нижнего уровня и потом прийти сигнал верхнего
4 ну и потом проверить программу насоса - может она качает всегда даже если воды уже нет
0
МС Ток
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 19
19.10.2018, 22:16  [ТС] 9
слушай, а я могу тебя попросить написать программу про дискретные датчики и про насос. а то что-то не получилось у меня(
0
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
22.10.2018, 10:53 10
МС Ток, дискреты наверное так:
Аргументы level (in), level_hi (out), level_lo (out)
Текст:
level_hi := level > 90;
level_lo := level < 10;
Правда сложный код)?
Насос как-то так:
Аргументы level_hi (in), level_lo (in), pump_on (in out)
Текст:
if level_hi then
pump_on := true;
end_if;
if level_lo then
pump_on := false;
end_if;
0
МС Ток
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 19
24.10.2018, 16:48  [ТС] 11
Блин, дружище, я уже несколько дней пробую сделать этот проект и всё равно никак не получается. я не понимаю, что не так. может ты просто скинешь то, что ты сделал? просто я уже вообще без понятия, что делать..
0
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
26.10.2018, 08:36 12
МС Ток, что не заработало то?
1
huhuuhuu
0 / 0 / 0
Регистрация: 28.12.2019
Сообщений: 1
28.12.2019, 07:32 13
Вы еще здесь? У меня тоже не пашет, уровень не поднимается просто серый экран...
0
vxg
Модератор
3303 / 2096 / 331
Регистрация: 13.01.2012
Сообщений: 8,148
28.12.2019, 07:56 14
huhuuhuu, я иногда здесь но не умею «лечить по фото»
0
28.12.2019, 07:56
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2019, 07:56

Trace mode: не запускается проект
Не запускается проект, в чем причина? проект прилагается

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.