Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chempik1234/pyrtutrends
Программа на PyQt5, позволяющая записывать данные с регистров, получаемые по протоколу Modbus, в виде графиков, а потом сохранять их и импортировать с привязкой по времени и логами.
https://github.com/chempik1234/pyrtutrends
json modbus modbus-rtu modbus-tcp pymodbus pymodbustcp pyqt pyqt5 pyqt5-desktop-application pyqtgraph pythom python3 qt-designer qtdesigner
Last synced: 5 days ago
JSON representation
Программа на PyQt5, позволяющая записывать данные с регистров, получаемые по протоколу Modbus, в виде графиков, а потом сохранять их и импортировать с привязкой по времени и логами.
- Host: GitHub
- URL: https://github.com/chempik1234/pyrtutrends
- Owner: chempik1234
- Created: 2023-07-21T17:44:54.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-07-22T14:59:33.000Z (over 1 year ago)
- Last Synced: 2024-01-26T10:12:41.887Z (10 months ago)
- Topics: json, modbus, modbus-rtu, modbus-tcp, pymodbus, pymodbustcp, pyqt, pyqt5, pyqt5-desktop-application, pyqtgraph, pythom, python3, qt-designer, qtdesigner
- Language: Python
- Homepage:
- Size: 87.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# :chart_with_upwards_trend:PyRtuTrends
:question: Программа на __PyQt5__, позволяющая записывать данные с регистров, получаемые по протоколу Modbus, **в виде графиков**, а потом _сохранять_ их и _импортировать_ с **привязкой по времени** и логами.
## :boom:Преимущества связаны с настройками:
* все они _(как и файлы сохранения)_ хранятся в легко читаемом формате в **отдельном файле**, который можно **быстро отредактировать** под нужное Modbus-устройство
* изменения сохраняются и загружаются в несколько кликов
* настроек много: цвета графиков, их названия и обозначения входов, формат хранения значений в регистрах (среди них: 32- и 64-битные float, 16-битные int, float в виде int, дискретные входы/выходы)> Заметьте, что данные для подключения из настроек просто являются __значениями__ полей ввода __по умолчанию__, подключение и изменение настроек связи проводится в программе, это редактировать не обязательно. Подключение можно осуществить по Modbus TCP и Modbus RTU.
### :file_folder: Автосохранение
Присутствует возможность **автосохранения** каждые несколько часов (помогает избежать потери несохранённых данных и разделить график на части). Для этого надо создать в текущей директории папку `Autosave` :exclamation:В файле _settings.json_, который загружается по умолчанию и поэтому __не должен быть удалён__, хранятся **примеры** всех настроек, но для понимания стоит изучить следующее:
| Хранение | Формат записи | Пример |
|-|-|-|
| Целое число | _адрес регистра_ как число или строка | 14874 или "V35032" или "H3A1A" - результат один |
| Дробь в виде целого числа, которое надо разделить на 1000 (16 бит) |[_адрес_, " / 1000"]
|[14874, " / 1000"]
|
| Дробное число в 2 или 4 регистрах (32 или 64 бита вместо 16) |[_адрес_, _кол-во регистров_]
|[14874, 2]
- это 14874 и 14875 |
| Дискреты (1 из 16 битов в регистре) |[_адрес регистра_, _номер бита_, значение-если-0, значение-если-1]
| пусть в регистре `14874` записано `0000000000000001`, тогда[14874, 0, 1, 2]
прочитает __1__, но так как приложение связано с построением графиков, они не должны наслаиваться друг на друга из-за одних и тех же возможных значений `(0 и 1)`, поэтому их надо _заменить на другие_, в данном случае - 1 и 2 (например, если один график по оси Y лежит на `[1, 2]`, следующий можно вынести на `[3, 4]`) |