Просмотр полной версии : Как подобное реализовать?
Kotov666
30.06.2022, 09:49
1. В консоле windows выполняю команду:
adb shell cat sys/class/thermal/thermal_zone1/temp
Получаю ответ следующего вида:
32000
2. Во первых как эту команду "выполнить" в Скаде. ну и как из этого значения рисовать график? Команда должна повторятся один раз в секунду
Очень давно не пользовался скадой, многое позабыл уже.
SCADAMaster
30.06.2022, 11:09
Используйте ФБ "Запуск процесса", в режиме "Ожидать завершения" она будет выдавать значение которое вернет программа.
Выход ФБ кидаете на тренд.
Но вообще довольная странная задача. Что делает это приложение?
Kotov666
30.06.2022, 11:38
Имеется два Андройд (Android 4.1) планшета. У них удалены аккумуляторы, питание у них от сети и используются в качестве "фоторамки".
Захотелось попробовать собирать с них значения температуры, на небольшой сервер на котором бы работала SCADA система (пока не определился).
Пока все чего смог добиться это с помощью команды: "adb shell cat sys/class/thermal/thermal_zone1/temp" получать в ответ значение 32000 что соответствует температуре 32 градуса по Цельсию.
Все устройство подключены к одной беспроводной сети.
В итоге хочется получить на экране "АРМ" :) графики температуры, суточный, месячный.
В дальнейшем может как то еще получится получить данный с остальных датчиков.
SCADAMaster
30.06.2022, 11:47
Не очень конечно понятно как планшет передает температуру, но скорее всего будет лучше решить задачу формирования запросов через Скрипт C#.
Можно слепить Андройд приложение, которое будет имитировать Modbus-сервер с поддержкой ModbusTCP. Главное настроить точку доступа на выделение статическойго IP-адреса планшету в момент его подключения к точке. Зная IP планшета в сети можно настроить любую скаду на считывание этих данных. Только вот зачем Вам температура процессора в планшете? Не вкурю?
Kotov666
30.06.2022, 17:25
Можно слепить Андройд приложение, которое будет имитировать Modbus-сервер с поддержкой ModbusTCP. Главное настроить точку доступа на выделение статическойго IP-адреса планшету в момент его подключения к точке. Зная IP планшета в сети можно настроить любую скаду на считывание этих данных. Только вот зачем Вам температура процессора в планшете? Не вкурю?
Ту пока больше интерес, как это сделать.
keysansa
30.06.2022, 21:28
Захотелось попробовать собирать с них значения температуры, на небольшой сервер на котором бы работала SCADA система (пока не определился).
Данные задачи решает SNMP протокол. Для Android - есть много решений. Если MfsterSCADA его поддерживает, тогда все просто.
SCADAMaster
30.06.2022, 21:42
У нас есть OPC для SNMP:
https://insat.ru/products/?category=1272
keysansa
30.06.2022, 21:57
У нас есть OPC для SNMP:
https://insat.ru/products/?category=1272
Да, это решение.
ЗЫ. Еще такие данные предоставляет HomeAssistant приложение для Android.
Kotov666
01.07.2022, 10:07
Немного сдвинулся с мертвой точки. )
На планшет установил программу HWmonitor, она по 25021 порту отдает данные (как на скриншоте). Ясно что они сырые, теперь пытаюсь понять как их загнать в скаду.
SCADAMaster
01.07.2022, 11:09
Просто валит на TCP порт?
Варианты:
1. В ОРС сервере. Создаете узел типа TCP в режиме "TCP сервер". В устройство с периодом например 100 мс читаете порт через функцию скрипта SendAndRecive или SendAndReciveDataByMask
2. В самой скаде с помощью ФБ "Скрипт C#" делаете TCP сервер и обрабатываете:
https://metanit.com/sharp/net/3.2.php
Только это нужно обязательно сделать в отдельном потоке, или хотя бы положить ФБ в отдельный объект и у поставить у объекта флаг "Собственный цикл" - тогда он тоже будет крутится в потоке.
Подробнее тут:
https://support.mps-soft.ru/MasterSCADAHelp/index.html?sluzhebnie_skript_rukovodstvo_i_primery _rabota_s_arhivom_dannyh_vypolnenie_asinhronnyh_za prosov.html
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot