Пользовательский UI В новой версии Web

Стартовая страница Форумы Понять, как работает ПО Пользовательский UI В новой версии Web

Помечено: 

Просмотр 8 сообщений - с 16 по 23 (из 23 всего)
  • Автор
    Сообщения
  • #4862
    djbond07
    Участник

    Добрый день! Под макетом страницы Вы имеете в виду именно её визуальную отрисовку?
    Пока макета нет, набросаю на досуге. По большому счёту планируется подтягивать значения дискретных входных каналов, и пару аналоговых значений.
    Файлы cs на гитхабе видел. то есть их нужно загрузить на компьютер? Или они не играют роли при использовании проекта?

    #4864
    Mikhail
    Модератор

    Под макетом страницы Вы имеете в виду именно её визуальную отрисовку?

    Именно.

    то есть их нужно загрузить на компьютер? Или они не играют роли при использовании проекта?

    Они нужны для программирования, и то не всегда.

    #4865
    djbond07
    Участник

    Выкладываю примитивный пример страницы.
    https://drive.google.com/open?id=0Bzn5jzldeU-db3ZWM2ZLS0ZnVDQ

    Задача простая на данном этапе, попытаться вывести данные со скады на веб страницу. Хочу настроить индикацию:
    М1 — включён, выключен
    К1 — открыт, закрыт
    Б1 и Б2 — вытекает из них жидкость или нет
    Уровень — отобразить уровень хотя бы числом.

    И ещё, допустим, добавить одну кнопку, по нажатию которой отсылалась бы команда управления.

    Я понимаю, что данную схемку проще набросать в редакторе схем, но я хочу попробовать реализовать это всё при помощи веб страницы, в рамках углубления знаний в возможности скады.

    #4867
    Vyacheslav
    Участник

    Для реализации логики на обычной веб странице необходимо использовать 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.
    #4870
    Mikhail
    Модератор

    Согласен с Vyacheslav, JavaScript REST API наиболее правильный и простой путь. Он используется для мнемосхем и таблиц.

    При беглом ознакомлении с кодом API, сервиса для передачи команды не нашел.

    Команды не реализованы через REST API из соображений безопасности. Но зато есть JavaScript метод для вызова стандартной формы команды. Проще всего его найти на странице схемы, которая содержит в себе команду.

    #4910
    djbond07
    Участник

    Добрый день! Попробовал на днях использовать API, получилось считать данные с канала. Большое спасибо за подсказки и советы!

    Собственно пишу не по этому, а вот по какому поводу. Для отображения кастомной страницы нужно её поместить в scada/ScadaWeb/plugins/WebPage/Твоя_папка. Вроде так, боюсь ошибиться немного, но суть ссобщения в том, что если положить просто в scada/ScadaWeb/Твоя_папка, не работает. Посмотрю вечерком дома точный путь к папке, и отредактирую если что.

    В любом случае тему пока не закрываю, с вашего позволения) Думаю, ещё вопросы возникнут)

    #8632
    hizkiyau
    Участник

    Добрый день!
    Подскажите пожалуйста для новичков,
    Как использовать API что бы считать данные канала в свою html страничку в div. Как и куда прописать подключение clientAPI.js на своей html что бы тянуть функции.

    #8633
    Mikhail
    Модератор

    Добрый день!
    Ответ будет здесь.

Просмотр 8 сообщений - с 16 по 23 (из 23 всего)
  • Вы должны авторизироваться для ответа в этой теме.