PDA

Просмотр полной версии : Как получить данные с ПЛК через Ethernet?



Tald
12.12.2016, 10:35
Имеется ПЛК-100, с помощью Modbus по RS485 он опрашивает зависимые устройства как Master.
Нужно эти данные вывести на компьютер.
Для этого создал отдельную ветку в ПЛК Modbus Slave
И присвоил значения прописав вот так для каждого значения: R1:=IR1;

Не знаю как написать программу на Qt, чтобы опрашивать переменные. Толи нужно сервер написать, толи нужно OPC сервер написать. Но как сервер будет опрашивать клиентов? Это же клиент посылает запросы, а не сервер.
В идеале, достать бы литературку по этой теме и примеры.

В последствии может появиться необходимость как-то влиять из ПК на работу ПЛК.

melky
12.12.2016, 10:38
А опрашивать и управлять через Modbus TCP уже не модно ?

murdemon
12.12.2016, 11:29
Вот вам пример. На ПК должен быть Modbus Master TCP (он будет опрашивать) на ПЛК Modbus Slave TCP http://doc.qt.io/qt-5/qtserialbus-modbus-master-example.html

Вольд
12.12.2016, 11:59
Вот вам пример. На ПК должен быть Modbus Master TCP (он будет опрашивать) на ПЛК Modbus Slave TCP http://doc.qt.io/qt-5/qtserialbus-modbus-master-example.html

А правда что Qt - интерпретируемый язык программирования ?

Tald
12.12.2016, 15:32
Есть маленькая проблема, этот пример считывает 0 и 1, как их в десятичную систему перевести?

murdemon
12.12.2016, 18:19
ну наверное надо в выпадающем мену вместо Coils выбрать Holding Register, а еще неплохо бы почитать про основы Modbus что такое Coils что такое Input register, что такое Holding register