Страница 19 из 252 ПерваяПервая ... 917181920212969119 ... ПоследняяПоследняя
Показано с 181 по 190 из 2512

Тема: CODESYS V3.5. Визуализация

  1. #181

    По умолчанию

    Понял, спасибо

  2. #182
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    Евгений, выложите, пожалуйста пример со сменой визуализации методом:
    VisuElems.VisuElemBase.g_VisuManager.SetMainVisu(p ClientData, sVisuName);

    Проверяю на SP7 - контроллер улетает в исключение, хотя глобальная смена SetMainVisuGlobally работает прекрасно.

  3. #183
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от NightBeer Посмотреть сообщение
    Евгений, выложите, пожалуйста пример со сменой визуализации методом:
    VisuElems.VisuElemBase.g_VisuManager.SetMainVisu(p ClientData, sVisuName);

    Проверяю на SP7 - контроллер улетает в исключение, хотя глобальная смена SetMainVisuGlobally работает прекрасно.
    Да, у меня тоже. Поясню ситуацию. pClientData берется у клиента визуализации. Соответственно, непосредственно в коде с ней работать практически невозможно. Можно повесить на кнопку в визуализации, но смысла в этом особого нет, т.к. точно такой же эффект даст обычная кнопка с действием Изменить отображаемую визуализацию.

    В целом, можно лишь констатировать, что обработка текущей визуализации в программе возможна только через CurrentVisu, как это ни печально.

    С переключением визуализаций ситуация лучше - клиенты используют кнопки, а если надо показать что-то всем им сразу (например, экран, на котором сработала тревога) - то используем SetMainVisuGlobally.

  4. #184
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Да, у меня тоже. Поясню ситуацию. pClientData берется у клиента визуализации. Соответственно, непосредственно в коде с ней работать практически невозможно. Можно повесить на кнопку в визуализации, но смысла в этом особого нет, т.к. точно такой же эффект даст обычная кнопка с действием Изменить отображаемую визуализацию.

    В целом, можно лишь констатировать, что обработка текущей визуализации в программе возможна только через CurrentVisu, как это ни печально.

    С переключением визуализаций ситуация лучше - клиенты используют кнопки, а если надо показать что-то всем им сразу (например, экран, на котором сработала тревога) - то используем SetMainVisuGlobally.
    Жаль, очень бы хотелось работать с VisuElems.VisuStructClientData, в её структуре есть очень вкусные переменные, понятно что в коде программы с ней не поработаешь, но хотелось бы использовать её в визуализации.

  5. #185
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    Итак, 2 пользователя открывают в браузерах визуализацию, и первый пользователь меняет визуализацию у второго:
    pClientData := VisuElems.g_ClientManager.GetNextClient;
    IF pClientData > 0 THEN
    sVisuName := 'Visualization_1';
    VisuElems.VisuElemBase.g_VisuManager.SetMainVisu(p ClientData, sVisuName);
    END_IF

    Т.е. SetMainVisu работает, осталось только понять как достать VisuElems.VisuStructClientData не следующего, а текущего пользователя
    Последний раз редактировалось NightBeer; 20.11.2015 в 15:25.

  6. #186
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    Меняем визуализацию у всех пользователей, методом перечисления, при этом можно по условию вхождения в группу или по имени.
    sVisuName := 'Visualization_1';
    VisuElems.g_ClientManager.BeginIteration();
    REPEAT
    pClientData := VisuElems.g_ClientManager.GetNextClient();
    IF pClientData > 0 THEN
    VisuElems.VisuElemBase.g_VisuManager.SetMainVisu(p ClientData, sVisuName);
    END_IF
    UNTIL
    pClientData = 0
    END_REPEAT;


    Этим методом можно вывести список пользователей и у кого какая визуализация открыта и т.д.

  7. #187
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от NightBeer Посмотреть сообщение
    при этом можно по условию вхождения в группу или по имени
    Речь об управлении пользователями (User Managment)?

    Да, как вариант, такой подход в определенных случаях возможен.

    Этим методом можно вывести список пользователей и у кого какая визуализация открыта и т.д.
    Если не сложно, выложите простейший пример, пожалуйста. Несколько пустых экранов визуализаций с кнопками перехода, много веб-клиентов, и чтобы программа понимала, какой экран у какого из клиентов сейчас открыт, при этом сама программа визуализации не переключает.

    Или список пользователей - список пользователей из User Managment?

  8. #188
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Речь об управлении пользователями (User Managment)?

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

  9. #189
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

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

    Можно тогда подробнее на этом остановиться? Расскажите, как это сделать, я думаю, многим будет интересно

    Но вопрос в том как получить ClientData текущего пользователя без перечисления.
    3S показывали как раз вариант с перечислением. Как я понимаю, иного способа (по крайней мере, доступного пользователям) вытащить ClientData в программу не существует.

  10. #190
    Пользователь Аватар для NightBeer
    Регистрация
    23.01.2014
    Адрес
    Белгород
    Сообщений
    31

    По умолчанию

    3S показывали как раз вариант с перечислением. Как я понимаю, иного способа (по крайней мере, доступного пользователям) вытащить ClientData в программу не существует.
    Где показывает?

    Насчет примера... Вот например функция получения имен подключенных пользователей.

    VAR_GLOBAL
    ArrUserName: ARRAY [1..100] OF WSTRING;
    END_VAR

    VAR
    pClientData: POINTER TO VisuElems.VisuStructClientData;
    i: INT;
    END_VAR

    VisuElems.g_ClientManager.BeginIteration();
    FOR i := 1 TO 100 DO
    ArrUserName[i] := "";
    END_FOR
    i := 0;
    REPEAT
    i := i + 1;
    pClientData := VisuElems.g_ClientManager.GetNextClient();
    IF pClientData > 0 THEN
    IF i <= 100 THEN
    ArrUserName[i] := pClientData^.GlobalData.CurrentUserName;
    END_IF
    END_IF
    UNTIL
    pClientData = 0
    END_REPEAT;



    Но мне нужен ID текущего пользователя, в принципе только из-за него и начал всё это рыть.

Страница 19 из 252 ПерваяПервая ... 917181920212969119 ... ПоследняяПоследняя

Похожие темы

  1. Визуализация CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 24.04.2018, 15:26
  2. Визуализация в CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 10.05.2017, 21:11
  3. Визуализация CodeSys
    от DanJer в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 30.08.2012, 04:53
  4. Визуализация Codesys
    от Slipknot в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 31.10.2008, 11:36
  5. Визуализация в CoDeSys 2.3
    от Slawa в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.08.2008, 18:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •