Просмотр полной версии : Данные с ПР200 по Modbus в ПК
Вадим2881
26.09.2019, 18:42
Помогите пожалуйста. Сделал весы-дозатор на ПР200 но возникла задача передать одну переменную, собственно вес на компьютер для учёта и мониторинга.
Пробовал OPC-сервер Lectus, да, может в excel выдавать данные. Но важно что бы пр200 само давало разрешение на запись данных. Т.е. при нажатии на кнопку значение должно уйти и сохраниться на ПК.
Хотя бы направление решение задачи, возможно с ПР200 она и не решаема... Может с помощью Scada это возможно. Но хотелось бы простое решение.
Ревака Юрий
26.09.2019, 19:59
Помогите пожалуйста. Сделал весы-дозатор на ПР200 но возникла задача передать одну переменную, собственно вес на компьютер для учёта и мониторинга.
Пробовал OPC-сервер Lectus, да, может в excel выдавать данные. Но важно что бы пр200 само давало разрешение на запись данных. Т.е. при нажатии на кнопку значение должно уйти и сохраниться на ПК.
Хотя бы направление решение задачи, возможно с ПР200 она и не решаема... Может с помощью Scada это возможно. Но хотелось бы простое решение.
Со SCADA легко, при нажатии кнопки делаем посылку по модбас, а дальше сохраняем в зависимости от SCADA. А что за состав оборудования и что дозируется, какие требования?
Вадим2881
26.09.2019, 20:16
Так). Весовая платформа с тензодатчиком, подключена к модулю МВ110-1ТД, далее по modbus к ПР200. Вес на экране есть. Так же реализована функция дозирования по рецептам. При нажатии кнопки рецепта ПР200 включает клапан и отключает по мере набора заданного в рецепте значения. Собственно и надо когда вес достиг и клапан отключился то данные скинуть на компьютер. К тому же modbus подключен АС4 то USB и на комп. А как скада определит что посыл произошёл? Я думал что ещё нужно битовый сигнал послать на скаду что надо записать. Скаду какую проще взять, SCADA-система ОВЕН Телемеханика ЛАЙТ?
Сейчас разбираюсь с OPC lectus.
Ревака Юрий
26.09.2019, 20:59
Так). Весовая платформа с тензодатчиком, подключена к модулю МВ110-1ТД, далее по modbus к ПР200. Вес на экране есть. Так же реализована функция дозирования по рецептам. При нажатии кнопки рецепта ПР200 включает клапан и отключает по мере набора заданного в рецепте значения. Собственно и надо когда вес достиг и клапан отключился то данные скинуть на компьютер. К тому же modbus подключен АС4 то USB и на комп. А как скада определит что посыл произошёл? Я думал что ещё нужно битовый сигнал послать на скаду что надо записать. Скаду какую проще взять, SCADA-система ОВЕН Телемеханика ЛАЙТ?
Сейчас разбираюсь с OPC lectus.
У меня есть примеры работы с Simp и Simple скадами обмен регистрами,
https://www.youtube.com/playlist?list=PLTJJg6aLoOUqACBhRf4E0JjoGxozxhwkX а также мобильными версиями Virtuino, с ней кстати данная задача решается вообще просто, но нужен Modbus TCP, по вариантам для ПК, можно передавать целочисленный регистр с ПР200 когда необходимо произвести запись, а далее в самой SCSDA смотреть, как можно этим управлять, я с таким режимом не работал, обычно настраивал просто запись архива по времени, циклически.
1. Пользуйтесь Lectus или любую Scada, читайте постоянно
2. ПР200 может в другом регистре формировать команду - теперь можно читать вес, даже не можно, а НУЖНО
так что можете воспользоваться этим..
В одной из указанных Юрием Scada систем есть Modbus slave, ну правда в энтерпрайз версии, тыщ за 70...
Сергей0308
27.09.2019, 04:36
Можно в этом же регистре использовать например старший бит для команды записи скадой, ну если диапазона хватит, без старшего бита!
Вадим2881
29.09.2019, 10:57
Ребята, а такой момент. Сейчас ПР200 в режиме Master по RS485 с модулем MB. Получится взять с этой же сети сигнал в Scada или OPS Lectus или ставить второй интерфейс RS485 для режима slave у ПР200?
стоимость второго интерфейса 1,5 тысячи (примерно, посмотрите на сайте)
Стоимость Scada с режимом Modbus Slave (Кажется у SimpLigth Enterprase есть) чуть более 70 тысяч.
Не знаю пока, у кого еще есть такой режим. Может в следующем году появится еще в одной Scada но стоимость не знаю какая будет.
второй интерфейс оправдан и экономически и физически в принципе.
Упс, вот нарыл. Сами попробуйте
https://owen.ru/forum/showthread.php?t=12874&page=2
Если запустите версию на 32 точки и у вас все заработает, то не будете тратиться на интерфейс.
Вот Scada тогда любую. Единственно вопрос, вам как именно в Exel надо сбрасывать и для каких целей ?
Просто обычно это отчеты в ручном режиме, чтобы в автомате я не видел. В различные БД есть вариант скидывать.
на 100 тегов только с драйвером Modbus Симплайт с файлом лицензии всего 4 тысячи. ну это для локальной задачи если... что тоже не так дорого.
Вадим2881
29.09.2019, 13:15
melky спасибо за подсказки, будем разбирать). Кстати подрубился в сеть Лектусом, т.е. два мастера и качество сети падает до 42% но в принципе работает)). Это дозатор. т.е. кнопку нажал - определённый вес задозировался и вот эти данные должны уйти в архив. В сутки 50 измерений всего. А постоянно писать это конечно лучше чем ничего и это на крайний случай естественно но не хотелось бы заваливаться лишними данными. Плата rs485 есть ещё но надо выковырять из рабочего оборудования, не используется).
Двумя мастерами не советую подключаться, будет много потерь данных, так как слейв начинает разрываться кому отвечать, постоянно будут ошибки.
Вадим2881
29.09.2019, 18:50
уфф, получил данные в Excel теперь надо придумать как сохранять по событию. Видимо надо макрос думать...
Ревака Юрий
29.09.2019, 21:48
Двумя мастерами не советую подключаться, будет много потерь данных, так как слейв начинает разрываться кому отвечать, постоянно будут ошибки.
Это подтверждено, или догадки, что-то не замечал ничего подобного. Это при том, что в догонку еще и по USB опрос ведется.
Ну во-первых ТС написал что качество связи упало до 42%
Во-вторых, на конце у нас устройство с RS485 шиной и работой в режиме Мастер-Слейв, где один спрашивает, а второй за указанное время отвечает, и всегда произойдет наложение времени, когда спросят два мастера, если мы туда прицепим второго мастера.
Пробовал читать ПР200
1. Два ПК со Scada системами через USB-RS485
2. Два ПК со Scada системами как TCP клиенты у преобразователя интерфейса Ethernet-RS485(TCP сервер) и когда преобразователем выступал ПК на Linux с USB-RS485 и так же был TCP сервером
Так вот, Юрий расскажите как вы читали одно RS485 устройство и у вас не было проблем ? логи передачи смотрели что там происходит ? а я смотрел, происходит каша, если два мастера не вовремя вместе посылают запросы.
Ревака Юрий
30.09.2019, 09:26
Ну во-первых ТС написал что качество связи упало до 42%
Во-вторых, на конце у нас устройство с RS485 шиной и работой в режиме Мастер-Слейв, где один спрашивает, а второй за указанное время отвечает, и всегда произойдет наложение времени, когда спросят два мастера, если мы туда прицепим второго мастера.
Пробовал читать ПР200
1. Два ПК со Scada системами через USB-RS485
2. Два ПК со Scada системами как TCP клиенты у преобразователя интерфейса Ethernet-RS485(TCP сервер) и когда преобразователем выступал ПК на Linux с USB-RS485 и так же был TCP сервером
Так вот, Юрий расскажите как вы читали одно RS485 устройство и у вас не было проблем ? логи передачи смотрели что там происходит ? а я смотрел, происходит каша, если два мастера не вовремя вместе посылают запросы.
Как правило для отладки на столе так использую, мастер читает нужные мне переменные для отладки (Modbus TCP, WEB), по второму слоту панель или Modbus Poll в зависимости от потребности, до Вашего сообщения не обращал внимания на проблемы одновременного доступа, понаблюдаю при случае более пристально. На прошлой неделе работал вообще через сетевых порта, один из них на USB, тоже не заметил проблем.
https://www.youtube.com/watch?v=TTfLJ8CUFXE
Смешно, вы не видите разницы работы по разным портам и по ОДНОМУ.
Подключитесь к RS485 двумя разными ПК и на каждом запустите ModbusPoll, ну и логи всего этого пишите чтобы потом посмотреть...
Два мастера могут работать только в одном случае, при синхронизации времени между собой и посылать запросы и получать ответы за промежуток времени, выделенный для каждого отдельно.
На практике это практически невозможно, так как сложно рассчитать время с учетом timeout и паузы ожидания между запросами.
например один опрашивает каждые 9 сек, второй каждые 11 секунд, на 99 секунде совпадет время. В общем какой бы период мы не выбрали, всегда произойдет совпадение.
Ревака Юрий
30.09.2019, 09:37
Смешно, вы не видите разницы работы по разным портам и по ОДНОМУ.
Подключитесь к RS485 двумя разными ПК и на каждом запустите ModbusPoll, ну и логи всего этого пишите чтобы потом посмотреть...
Без логов вижу что ошибки не регистрируются, читаю по двум слотам и через USB одновременно. Думаю два ПК или один с двумя программами разницы не будет. Первое предложение не понял что имелось ввиду.
По видео вы опрашиваете на ДВУХ РАЗНЫХ ИНТЕРФЕЙСАХ одним ПК. Вы опросите ДВУМЯ ПК через ОДИН интерфейс, например через один RS485 ПР200-го.
Тогда поймете в чем разница...
Фактически у вас получится ДВА мастера на одной шине. Что собственно и проделал автор темы.
Мастер 1 - сам ПР200 опрашивает модуль
Мастер 2 - ПК с запущенным Lectus так же опрашивал модуль
Качество связи сразу в два раза упало, потому что пошли наверняка ошибки.
Ревака Юрий
30.09.2019, 09:54
По видео вы опрашиваете на ДВУХ РАЗНЫХ ИНТЕРФЕЙСАХ одним ПК. Вы опросите ДВУМЯ ПК через ОДИН интерфейс, например через один RS485 ПР200-го.
Тогда поймете в чем разница...
Я правильно понял, что Вы подключаетесь двумя мастерами на один слот, и жалуетесь что начинаются коллизии в обмене?
Ревака Юрий ну так у автора темы и был вопрос, возможно ли два мастера на одном слоте, на что я и написал, что будет каша :)
А вы, немного не поняв, начали говорить что все прекрасно :)
Ревака Юрий
30.09.2019, 10:03
Возможно читал по диагонали, не думал что и такие идеи возникают, подсознательно представлял два слота;:D
Вполне частая идея кстати, когда устройства с RS485 сидят за Ethernet-RS485 преобразователями. В лоб ее решить не получится понятно почему, оконечное устройство с RS485 просто не поймет, когда в один момент времени прилетает два одинаковых запроса, ну или не одинаковых, не важно. Мастер так же теряется, если получает данные не от слейва и мусор от второго мастера. Но вот в обход можно. Я на RapidScada могу попробовать, есть там возможности провернуть такой фокус. Но если разработчик добавит более легкий путь, вообще будет шикарно.
Если не вдаваться в возможности Scada систем, то так можно сделать, используя не преобразователь интерфейса, а шлюз из Modbus RTU в Modbus TCP, который допускает подключение по нескольким сокетам. Шлюз читает данные у устройства, а у него читают данные уже Scada системы. з.ы. есть один купленный такой, но все руки не доходят проверить....
Вадим2881
30.09.2019, 12:29
Ладно, это всё хорошо). Расскажите как теперь данные хранить, пока зашёл в тупик... Как лучше идти в направлении SQL или excel...
Кстати можно же и в самом реле организовать хранение по идее...
А в 1С реально?
Сергей0308
30.09.2019, 12:46
Я правильно понял, что Вы подключаетесь двумя мастерами на один слот, и жалуетесь что начинаются коллизии в обмене?
Для начала бы устранили известные коллизии, чтобы вручную не разводить регистры на двух слейв интерфейсах! Вот недавно сам на это попал, хотя раньше читал об этом, но вскоре забыл!
Вадим2881 я у вас и спрашивал, что в конечном итоге вы хотите. Если в 1С, то можно из Scada сбрасывать данные в какую-нибудь БД, например MySQL или PostgreSQL и забирать эти данные в 1С. Кстати ессли не ошибаюсь, то в RapidScada выгрузка в БД происходит по изменению сигнала, но все равно думаю можно добавить переменную для реальной выгрузки.
Тогда отчеты и формируйте в Exel из 1С
Сергей0308 и вы не о том говорите... нельзя разрулить двух мастеров при циклическом опросе. и слейв интерфейс в данном случае ОДИН.
Вадим2881
30.09.2019, 20:54
В принципе все данные можно сохранять и в ПР200, а потом уже выводить на ПК. Но столкнулся с проблемой. Применил сумматор из базы макросов, всё отлично складывает и накапливает в переменной, но она обнуляется при отключении питания, несмотря на то что маркер энергонезависимой. Т.е. выходная переменная не может быть сохранена?
У Сергй308 есть макрос ПЗУ. з.ы. вам сильно это не поможет, так как устанете потом выводить в Scada. Проще читать Scada постоянно и по команде со стороны ПР200 или по изменению скидывать в БД. Это проще будет реализовать, так как у Scada как правило больше возможностей по скриптам, и более гибче.
ПР200 это вам не ПЛК какой-нибудь, где можно записывать в файлы а потом их считывать...
я бы начал с того, что настроил бы OPC сервер от Инсат в режиме Modbus Slave и любой Scada прочитал бы данные.
кстати сам ПР может отправлять данные по изменению или по команде из программы. Если что.
Ревака Юрий
30.09.2019, 21:11
Т.е. выходная переменная не может быть сохранена?
Может, главное правильно ее обработать, что бы при старте она не перезаписывалась. Тут
https://youtu.be/LrpQqC7F9d4 есть пример в описании для всех типов переменных в OWENLogic.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot