0
Отвечен

Не поступают данные в виртуальный канал.

Михаил Р. 1 месяц назад в Редактор каналов обновлен СИМП Лайт (тех поддержка) 4 недели назад 13

Есть установка для горячей навивки пружин. Требуется оценить количество электроэнергии на изготовление пружины. Для мониторинга используется прибор Omix P99-ML-3-0.5-RS485. Прибор подключен по ModBus RTU. Для подсчета электроэнергии создал виртуальный канал, с блочной диаграммой, для суммирования мгновенной мощности. Протестировал виртуальный канал, все работает. Запускаю тест каналов, физические каналы передают данные, а виртуальный не активен.

Image 1712

Image 1711

Image 1710

Я не техподдержка. Простите, вставлю свои 5 копеек. Тест каналов включает контроль физических каналов. Виртуальный выведите на мнемосхему. Если так и есть, проблема в мгновенном переполнении счетчика. ФБ ADD работающий с прямой обратной связью, через разветвление, забивает счетчик (установленный диапазон переменной) на переполнение. Вставьте ФБ отвечающий за интервал записи (задержку) между входом 2 и разветвлением. Бесконечность нельзя поделить. Но и здесь у вас ничего не выйдет. Т.к. вы хотите выполнить расчет основываясь на мгновенном значении мощности не являющейся const (резонный вопрос - дискретность отсчета какую возьмете? раз в сек? или мс? какую точность необходимо получить? тогда ваять надо рассматривая модель процесса...бр.р..) Искомая же величина среднеквадратичная. Может лучше считать из 31Н Омикса готовую суммарную активную мощность выведенную мат. моделью прибора с его паспортной погрешностью и найти разность (т.е. затраченную активную мощность) между значением начала и конца эксперимента?

Странно , что у вас в настройках скрипта нет интервала выполнения.

Скрипт выполняется по записи в канал Мощность, опрос канала 1000 мс. ФБ ADD не счетчик, а сумматор. Переполнения нет. На нем сделан подсчет суммы мгновенных мощностей. На мониторе цифровой индикатор на нулях. Тренд тоже на нулях.

Тестирую, дома, на однофазном приборе Omix MX-1(R)-0.5-RS485. Нагрузка светодиодная лампа 9 Вт, ток около 0,036 мА. Так что скрипт должен запускаться. Тестировал тоже константами. Но у вас монитор работает, а у меня нет. Тип данных  c прибора float.  

Удалил свой предыдущий комментарий. То же вижу проблему по событию записи в канал. По времени работает. Мой монитор работал по запуску скрипта по времени. Эмулировал com, запуск скрипта по записи в канал, подключился и упс... Такое же состояние как и у вас, индикатор молчит. Ставлю по времени - все нормально.

+1
Отвечен

Добрый вечер.

1. Тест каналов работает только с физическими каналами.

2. В приведенном вопросе - скрипт должен быть по таймеру. Поясню, скрипт по событию записи - будет запущен при записи из другого скрипта, или элемента управления. 

Подскажите, как реализовать ситуацию "скрипт по событию записи - будет запущен при записи из другого скрипта, или элемента управления". Заинтриговала ситуация. Не могу сообразить, как запустить скрипт из другого скрипта. Очень интересует такая возможность из под ФБ

Два виртуальных канала - канал А и Канал Б. В канале Б скрипт по событию записи - из скрипта в канале А пишем в канал Б, соответственно скрипт в канале Б запускается.

Простите, потревожу. Написал, что получилось запустить из канала А, канал В работающий по событию. Повторно запустить не смог..... Записываю в канал "Virtual_channel" работающий по событию два значения "Устройство" и значение канала "Генератор запуска" раб. по таймеру для запуска. Итогом должен быть запуск Virtual_channel . Что не так?

День добрый.

На вскидку простой тест: (как вариант почему может не работать у Вас, переменная которую Вы пишите в канал Б возможно не изменяется, т.е. первая запись запустила скрипт, вторая запись этого же значения скрипт не будет запущен, т.к. переменная не изменилась и событие записи не было вызвано.)

Спасибо за пояснения. Запуск скрипта по таймеру помог. Монитор заработал.

Попробую сделать по событию.

Михаил, думаю вам смысла нет делать по событию, т.к. получится простое дублирование той же ситуации. Ведь запускающим, будет также скрипт, но по таймеру. Как все-таки насчет регистра 31Н, разница показаний начала и конца замера . Это разве не решение вашей задачи? Я тоже хотел этот прибор купить.

Спасибо, разобрался. Работает.

Не очень удобно, что логические ФБ для корректной работы требуют подключения всех входов. Допустим OR не будет работать пока вы не обвяжете его. Отсутствие сигнала на одном из входов, думаю должно восприниматься как "0", а не ошибка. Схема в этом случае будет проще.

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

Писать регистр 31Н можно, но есть нюансы. Калькулятор расхода может рассчитать только минимум за 2 часа и только кратно часу. А у меня процесс нагрева прутка от 10 минут до 2 часов. Скрипт считает энергию от порогового значения тока нагрузки. Ток холостого хода трансформатора и навивочного станка около 30 А, а ток нагрева прутка 4000 А. Так-что поймать момент начала нагрева и конец проще простого. График нагрева, в течении рабочей смены, будет иметь вид пилы. Верхняя точка зубца пилы - затраченная энергия в кВт*часах. Осталось придумать как выводить на мнемосхему значение энергии и время.

Сервис поддержки клиентов работает на платформе UserEcho