Стартовая страница › Форумы › Понять, как работает ПО › Пользовательский UI В новой версии Web
Помечено: UI
- В этой теме 22 ответа, 4 участника, последнее обновление 6 лет, 1 месяц назад сделано Mikhail.
-
АвторСообщения
-
17.03.2017 в 12:04 #4862djbond07Участник
Добрый день! Под макетом страницы Вы имеете в виду именно её визуальную отрисовку?
Пока макета нет, набросаю на досуге. По большому счёту планируется подтягивать значения дискретных входных каналов, и пару аналоговых значений.
Файлы cs на гитхабе видел. то есть их нужно загрузить на компьютер? Или они не играют роли при использовании проекта?17.03.2017 в 14:26 #4864MikhailМодераторПод макетом страницы Вы имеете в виду именно её визуальную отрисовку?
Именно.
то есть их нужно загрузить на компьютер? Или они не играют роли при использовании проекта?
Они нужны для программирования, и то не всегда.
17.03.2017 в 16:37 #4865djbond07УчастникВыкладываю примитивный пример страницы.
https://drive.google.com/open?id=0Bzn5jzldeU-db3ZWM2ZLS0ZnVDQЗадача простая на данном этапе, попытаться вывести данные со скады на веб страницу. Хочу настроить индикацию:
М1 — включён, выключен
К1 — открыт, закрыт
Б1 и Б2 — вытекает из них жидкость или нет
Уровень — отобразить уровень хотя бы числом.И ещё, допустим, добавить одну кнопку, по нажатию которой отсылалась бы команда управления.
Я понимаю, что данную схемку проще набросать в редакторе схем, но я хочу попробовать реализовать это всё при помощи веб страницы, в рамках углубления знаний в возможности скады.
19.03.2017 в 15:35 #4867VyacheslavУчастникДля реализации логики на обычной веб странице необходимо использовать JS.
В первом приближении можно попробовать поработать с APIДоступ к функциям API осуществляется через объект с именем scada.
При этом необходимо учитывать, что представление является дочерним элементом и доступ к этому объекту необходимо получить через родительское окно.
Например так: var rssrv = window.parent.scada;Теперь можно читать внимательно API и вызывать необходимые функции.
Например так: rssrv.clientAPI.getCurCnlData(602,fcnldata);
Данная функция возвращает текущее значение канала, номер которого передается в первом аргументе функции (в тек примере это 602). Второй аргумент это функция обратного вызова. Формат вызова коллбак функции описан для каждого метода API. В текущем примере функция должна принимать 2 параметра, первый это успешность выполнения запроса, второй результат запроса.
Пример коллбак функции:
function fcnldata(status,data){
console.log(data);
}Если открыть панель логирования то можно будет увидеть примерно следующее:
Object { Val: -38.09412816557468, Stat: 1 }
Где Val это значение канала, а Stat его статус.В описании вызова каждого из методов также приводится прямая ссылка шаблон для вызова вебсервиса. Перед тем как вызвать методы из скрипта было бы неплохо проверить работоспособность соответствующих методов сервиса при вызове их напрямую через адресную строку браузера.
При беглом ознакомлении с кодом API, сервиса для передачи команды не нашел. Возможно он реализуется где то в других частях проекта.
Альтернативный вариант (я использую именно такой подход, на мой взгляд он более гибкий) написать собственный веб сервис.
- Этот ответ был изменен 7 лет, 1 месяц назад от Vyacheslav.
20.03.2017 в 09:29 #4870MikhailМодераторСогласен с Vyacheslav, JavaScript REST API наиболее правильный и простой путь. Он используется для мнемосхем и таблиц.
При беглом ознакомлении с кодом API, сервиса для передачи команды не нашел.
Команды не реализованы через REST API из соображений безопасности. Но зато есть JavaScript метод для вызова стандартной формы команды. Проще всего его найти на странице схемы, которая содержит в себе команду.
27.03.2017 в 13:17 #4910djbond07УчастникДобрый день! Попробовал на днях использовать API, получилось считать данные с канала. Большое спасибо за подсказки и советы!
Собственно пишу не по этому, а вот по какому поводу. Для отображения кастомной страницы нужно её поместить в scada/ScadaWeb/plugins/WebPage/Твоя_папка. Вроде так, боюсь ошибиться немного, но суть ссобщения в том, что если положить просто в scada/ScadaWeb/Твоя_папка, не работает. Посмотрю вечерком дома точный путь к папке, и отредактирую если что.
В любом случае тему пока не закрываю, с вашего позволения) Думаю, ещё вопросы возникнут)
06.03.2018 в 17:46 #8632hizkiyauУчастникДобрый день!
Подскажите пожалуйста для новичков,
Как использовать API что бы считать данные канала в свою html страничку в div. Как и куда прописать подключение clientAPI.js на своей html что бы тянуть функции.06.03.2018 в 19:17 #8633 -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.