Ответы в темах
-
АвторЗаписи
-
АлексейУчастник
АлексейУчастникОгромное спасибо, заработало !
Все кому не понятно, в настройках почтового профиля Яндекс отключаем портальный пароль и создаем пароль для приложения. Приложение назвал Scada.
В настройках КП выставляем сервер smtp.yandex.ru , порт 25, SSL — галочку ставим. В качестве пароля указываем пароль именно приложения, который создали а не от пользователя почты — не перепутайте !
Всем спасибо, с уважением Алексей !
АлексейУчастникДоброго времени суток !
Пытаюсь отправить через yandex, выставил настройки как на скриншоте в сообщении выше , то есть 25 порт, использовать SSL, сервер smtp.yandex.ru все равно не получается , в журнале линии пишет :
Ошибка при отправке письма на xxxxxx0@yandex.ru: Неправильная последовательность команд. Отклик сервера: 5.5.4 Error: send AUTH command first. 1659428067-WgR98EfBqY-ERhKYMkU
если выставлять 465 порт как по инструкции от самого Яндекса , тогда в журнале пишет :
Ошибка при отправке письма на хххххх@yandex.ru: Время ожидания операции истекло.
В настройках профиля почты ничего не запрещено, стоит портальный пароль. Почтовый клиент Thunderbird работает без затыков. Есть у кого идеи ?
Спасибо, с уважением Алексей
АлексейУчастникВсем привет , аналогичная ситуация. Хочу написать как я решил такую проблему. Может кто и подскажет как по другому более просто это сделать. Пишу своими словами, я не особо про в этом, прошу не пинать. В общем имеем :
Гараж с освещением и сигнализацией. Имеем мониторинг освещения и мониторинг снятия и установки на охрану. И имеем управление включением\выключением освещения.
Задача : если забыл выключить свет в гараже, то при постановке на охрану свет выключается автоматически.
Имеем входные каналы :
Канал 100 — контроль освещения ( приходит 0 если свет включен, приходит 1 если свет выключен)
Канал 200 — контроль сигнализации ( приходит 1 если охрана взята, приходит 0 если охрана снята)Имеем канал управления 150 — включить или выключить свет, стоит импульсное реле, поэтому в любом случае отправляем 1.
Так как модуль автоматического управления не может брать данные с разных каналов и применять к ним логическое «И» я сделал следующее :
Создал на пустом КП входной до расчетный канал 170 и использовал на нем формулу :
Val(100) — Val(200). Зразу вопрос, правильно ли я сделал что использовал такой канал на пустом КП, так как каналы 100 и 200 используются на разных КП.В общем у меня получилась в моем условии что при установленной охране и включенном освещении канал 170 выдает значение (-1). В модуле автоматического управления я добавил триггер на данные канал , указал канал 170 и в значении указал значение =-1 после добавил команду ТУ и отправил на канал 150 значение 1. В общем все работает. Правильный ли этот метод ? Так же хотель узнать параметры Задержка и период повтора. Что под этим подразумевается ? Задержка я так понял он отправляет команду ТУ не сразу а с задержкой. Повтор — он повторно проверяет данные канала и уже анализируя значение отправляет команду ТУ или просто повторно отправляет команду ТУ ???
Собственно как то так, всем Спасибо. Если есть другие предложения обязательно, прочитаю и проверю . Всем с уважением Алексей
АлексейУчастникРеализация удержания кнопки в любом случае не должна быть на уровне веб-интерфейса, т.к. связь между веб-приложением и SCADA-Сервером не является надёжным звеном. Команда 0 через заданное время удобно настраивается с помощью Модуля автоматического управления — триггер на команду.
Спасибо за разъяснение, то есть Вы предполагаете что может случайно возникнуть обрыв связи после отправки команды 1 ? Ну да, я с Вами согласен. Но это на страх и риск каждого. Кому важно чтоб кнопка обязательно отпустилась, пусть применяют триггеры. Но есть и много вариантов отпустить кнопку потом без нанесения ущерба. Это было лишь мое пожелание .. Нет дак нет.. Обидно, досадно, но ладно 🙂
АлексейУчастникКакая причина использовать именно шлюз Modbus?
В моем случае шлюз исполняет доставку пакетов до сервера СКАДА. У меня имеются 5 устройств с ModBus-RTU и находятся далеко от сервера, но там имеется сеть. Я просто эти все устройства подключил к одной шине RS-485 а шлюзом передаю пакеты по сети как ModBus-TCP Master . Очень удобно.
А что делает Moxa NPort ? По поиску интернета я так понял она просто конвертирует из RS-485 в RS-232 и так же передает по сети . Но в этом случае мне придется брать 2 штуки — 1 как передатчик и 2 — как приемник, при этом на сервере придется задействовать физически COM порт. Или я чего то не допонимаю ???
С уважением Алексей
-
Ответ изменён 5 лет, 10 месяцев назад пользователем
Алексей.
АлексейУчастникДоброго времени суток. Итак, я немного сам разобрался и вот что я сделал.
Установил эмулятор МодБас от ARDSOFT и создал точно-такую же картину как и у меня, только вместо шлюза использовал свой рабочий комп. Запустил и пробовал всяко, полет нормальный и в логах не разу не увидел ничего про MBAP и прочего …
Тут я понял что дело походу в шлюзе. Залез в настройки шлюза и стал играться с переменными временных тайм-оутов. В итоге я нашел переменную, от которой зависит появление ошибки «Некорректные данные MBAP Header!» , а именно :
MSG TimeOut(ms) — которая по дефолту стояла 2000
Что она означает я не в курсе — может из Вас кто — что подскажет. В итоге игрался и нашел значение в 700 — самый оптимал. 600 Ставишь вообще связь со шлюзом постоянно отваливается, 800 начинает появляться ошибка по MBAP .. Как то так.
Думаю менять шлюз … На данный момент использую шлюз NetCom-6000 от китайской компании Fineco Electric, который достался мне с ихним же эл. счетчиком. Думаю купить tGW-725i от компании ICP DAS (https://ipc2u.ru/catalog/tgw-725i) — НЕ РЕКЛАМА, как Вы думаете или что посоветуете ?
Всем спасибо ! Может кому помог, а может нет. Но причины я так и не выяснил, как бы такая же проблема не начла вываливать с новыми шлюзами …
С уважением Алексей
АлексейУчастникПожелание, я думаю оно многим поможет решить уйму проблем, а именно в редактор схем добавить кнопку с возвратом, которая будет содержать в себе 3 основных настриваемых параметра :
1. При нажатии что и куда отправить
2. Время удержания (до 10 сек , можно и больше) — некоторое оборудование требует нажатия до 10 сек, для того что бы что-то активизировалось.
3. При отпускании что и куда отправитьПримеров куча, но могу привести реальный :
Имеется привод промывки фильтров холодной воды. установленный где-то в насосной и имеется релейный модуль, который работает по MD-BUS TCP.
Для того что бы запустить привод нужно замкнуть его сухие контакты на 4 секунды минимум . Делать это удаленно можно чрез модуль, который замыкает контакты при отправке «1» и держит замкнутым пока не пошлешь на него «0» и привод не запуститься пока не отожмешь кнопку 🙂 Собственно вырисовывается алгоритм:1. При нажатии отправляем «1»
2. Ждем 5 сек
3. Отпускаем и отправляем «0»Как то так, спасибо за внимание . С уважением Алексей
АлексейУчастникДоброго времени суток дорогие формучане. Дабы не плодить темы по ошибке «Некорректные данные MBAP Header!» я решил написать свою проблему сюда.
Имеются 2 КП. При работе одного КП (Насос №3) все хорошо, ответ приходит и так далее. Вот лог линии связи :
2020-09-17 16:35:56 Установка TCP-соединения с 192.168.0.228:502 2020-09-17 16:35:05 Сеанс связи с КП 4 "Насос №3", тип: KpModbus, адрес: 12 Запрос значений группы элементов "Чтение" Отправка (12): 03 02 00 00 00 06 0C 03 00 66 00 01 Приём (7/7): 03 02 00 00 00 05 0C Приём (4/4): 03 02 00 00 OK! Запрос значений группы элементов "Чтение 2" Отправка (12): 03 03 00 00 00 06 0C 03 00 D3 00 03 Приём (7/7): 03 03 00 00 00 09 0C Приём (8/8): 03 06 00 37 00 E7 02 EF OK! Запрос значений группы элементов "Чтение 3" Отправка (12): 03 04 00 00 00 06 0C 03 00 D7 00 02 Приём (7/7): 03 04 00 00 00 07 0C Приём (6/6): 03 04 0F A5 00 EE OK! Запрос значений группы элементов "Чтение 4" Отправка (12): 03 05 00 00 00 06 0C 03 00 DB 00 03 Приём (7/7): 03 05 00 00 00 09 0C Приём (8/8): 03 06 00 14 00 A9 00 49 OK!Как только я добавляю второй КП (Насос №4), но его физически еще не подключив у меня соответственно валиться ошибка связи — это нормально . Вот продолжение лога все той же линии связи :
2020-09-17 16:35:57 Сеанс связи с КП 6 "Насос №4", тип: KpModbus, адрес: 24 Запрос значений группы элементов "Чтение" Отправка (12): 02 C5 00 00 00 06 18 03 00 66 00 01 Приём (0/7): Ошибка связи! Запрос значений группы элементов "Чтение" Отправка (12): 02 C6 00 00 00 06 18 03 00 66 00 01 Приём (7/7): 02 C6 00 00 00 03 18 Приём (2/2): 83 0A Ошибка устройства: [0A] GATEWAY PATH UNAVAILABLE! Запрос значений группы элементов "Чтение" Отправка (12): 02 C7 00 00 00 06 18 03 00 66 00 01 Приём (0/7): Ошибка связи! 2020-09-17 16:36:01 Отключение от 192.168.0.228Но беда в другом ! Почему то показания первого КП (Насос №3) начинают давать сбой, а именно все в той же линии связи пишет следующее :
2020-09-17 16:36:02 Установка TCP-соединения с 192.168.0.228:502 2020-09-17 16:36:02 Сеанс связи с КП 4 "Насос №3", тип: KpModbus, адрес: 12 Запрос значений группы элементов "Чтение" Отправка (12): 03 26 00 00 00 06 0C 03 00 66 00 01 Приём (7/7): 03 26 00 00 00 03 18 Некорректные данные MBAP Header! Запрос значений группы элементов "Чтение" Отправка (12): 03 27 00 00 00 06 0C 03 00 66 00 01 Приём (7/7): 83 0A 03 27 00 00 00 Некорректные данные MBAP Header! Запрос значений группы элементов "Чтение" Отправка (12): 03 28 00 00 00 06 0C 03 00 66 00 01 Приём (7/7): 05 0C 03 02 00 00 03 Некорректные данные MBAP Header! 2020-09-17 16:36:04 Отключение от 192.168.0.228В этот момент соответственно я не вижу показаний. Пройдя несколько кругов с ошибкой связи второго КП, показания первого КП встают в норму . Пройдя пару циклов с нормальными показаниями, опять сбиваются.
То есть получается что если в одной линии RS-485 будет подключено допустим 5 КП и одно из этих устройств будет отключено, то у меня будут вставать показания остальных 4 . Самое интересное, что если 2 КП подключены — то и показания все хорошо опрашиваются. Стоит только одно из них отключить, начинается свистопляска.
Использую RTU устройства через ШЛЮЗ. Помогите пожалуйста решить проблему. Все выше советы я перепробовал. Пробовал заменить тестовый файл в данной теме выше KpModbus.dll — не работает. Использую версию SCADA 5.8.0
С уважением Алексей
АлексейУчастникmanjey73 , Спасибо. Так и сделаю наверно.
АлексейУчастникmanjey73 , Спасибо . Значит буду приобретать плагин.
АлексейУчастникРебята Всем огромнейшее спасибо, респект и уважуха. Все заработало, применил формулу : Val(301) > 0 ? 0 : 1
Я просто нуб в этом языке С# , я так понимаю он смотрит значение входного канала , в моем случае 301 и если больше 0, то значение 0 становится 1 … Знак вопроса «?» это ответ условию я так понимаю .Дабы не плодить тему, хотелось бы усовершенствовать кнопку, а именно добавить функцию
«автовозврата» , то есть при нажатии кнопки:1. Отправить команду «1»
2. Сделать паузу 1 секунду
3. Отправить команду «0»То есть с имитировать физическое нажатие кнопки на пульте 🙂
Как нибудь можно такую формулу сделать ? Ну или в моем случае с применением вышеупомянутой формулы Val(301) > 0 ? 0 : 1
1. Нажать кнопку
2. Сделать паузу 1 секунду
3. Нажать кнопкуСпасибо всем !
АлексейУчастникСпасибо за ответы .
manjey73 Проверял, я даже скрины приложил. С паролем все хорошо проходит в том то и дело, я уже не знаю куда копать.
Romiros а можно по подробней ? Какую формулу писать ? Я Скрин с каналом управления скинул. Канал управления 301, при нажатии кнопки должно отправляться значение 1 . Рубильник справляется на ура.
Есть еще идеи ?
АлексейУчастникДа Михайл, сейчас все работает. Спасибо огромное всем за помощь. Щас буду продолжать, надо вывести теперь получаемое в нормальные цифры . Если что-то получаться не будет, можно в этой теме продолжить обсуждение или новую создать ?
С уважением Алексей
АлексейУчастникRomiros , да было добавлено RTU . Поменял на TCP и все заработало. Спасибо огромнейшее, что вы подтолкнули меня в эту сторону.
С уважением Алексей
-
Ответ изменён 5 лет, 10 месяцев назад пользователем
-
АвторЗаписи