Страница 23 из 274 ПерваяПервая ... 1321222324253373123 ... ПоследняяПоследняя
Показано с 221 по 230 из 3043

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для 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.

  2. #2
    Пользователь Аватар для 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;


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

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

    По умолчанию

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

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

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

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

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

    По умолчанию

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

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

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

    По умолчанию

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

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

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

  6. #6
    Пользователь Аватар для 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 текущего пользователя, в принципе только из-за него и начал всё это рыть.

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

    По умолчанию

    Вообщем придумал как дать каждому уникальный ID. Независимо от того под каким именем вошел пользователь каждому присваивается свой ID, генерирую и записываю его в pClientData^.GlobalData.CurrentFullUserName пользователя. При этом если зашли 2 пользователя с одинаковым именем, VisuElems.CurrentFullUserName у них всё равно будет разный

  8. #8

    По умолчанию

    Как управлять визуализацией из программы понятно.
    Но как отследить в программе какая визуализация включена на данный момент времени? При условии, что на визуализации используются фреймы. VisuElems.CurrentVisu - показывает активную визуализацию, а что во фрейме данной визуализации нет информации в данной переменной.

    Как ведет себя VisuElems.CurrentVisu если несколько пользователей?

    Как ведет себя VisuElems.CurrentVisu если активна и СПК и Web визуализация, при условии что спк один пользователь, а на Web другой пользователь. У каждого своя визуализация открыта.


    Уважаемый Евгений может быть воспользовавшись моим опытом, описанным тут, вы сможете помочь в моей проблеме, а то с визуализацией мне на это еще месяц понадобиться. Думаю и в руководство это можно включить. Если бы в руководствах было бы такое описано, то экономия и вашего и нашего времени была бы колоссальна! название пункта можно дать, на пример, Поиск нужной переменной
    Последний раз редактировалось KAPITOSHKARU; 23.11.2015 в 10:21.

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

    По умолчанию

    Цитата Сообщение от KAPITOSHKARU Посмотреть сообщение

    Уважаемый Евгений может быть воспользовавшись моим опытом, описанным тут, вы сможете помочь в моей проблеме, а то с визуализацией мне на это еще месяц понадобиться. Думаю и в руководство это можно включить. Если бы в руководствах было бы такое описано, то экономия и вашего и нашего времени была бы колоссальна! название пункта можно дать, на пример, Поиск нужной переменной
    Если удастся получить информацию о том, как вытащить в программу имя экрана, открытого во фрейме, я сразу отпишусь в этой теме и, вероятно, включу это в следующую версию руководства.

    Нужно понимать, что вопросы, которые тут задаются в последнее время (все они, так или иначе, касаются программной обработки клиентов визуализации при условии их независимой работы), являются довольно специфическими и в конечном итоге ответ на них могут дать только разработчики CODESYS.

  10. #10

    По умолчанию

    Если удастся получить информацию о том, как вытащить в программу имя экрана, открытого во фрейме, я сразу отпишусь в этой теме и, вероятно, включу это в следующую версию руководства.

    Нужно понимать, что вопросы, которые тут задаются в последнее время (все они, так или иначе, касаются программной обработки клиентов визуализации при условии их независимой работы), являются довольно специфическими и в конечном итоге ответ на них могут дать только разработчики CODESYS.
    Раньше мог с Вами полностью согласиться, потому как про описанную в моей теме переменную, был тот же ответ, только по телефону. Но поработав немного плотнее сам смог найти, даже не зная как и где искать, думаю с Вашими знаниями CODESYS V3.5 SP5 Patch 5, это будет легче и быстрее найти нужную переменную. Заостряю ваше внимание на CODESYS V3.5 SP5 Patch 5, т.к. проект будет создан на нем. Запуск в очень ближайшем времени, но и в тестовом режиме пока разумеется, потом перейдем на графики и все остальные прелести SP7.
    Спасибо за внимание, понимание и помощь.

Страница 23 из 274 ПерваяПервая ... 1321222324253373123 ... ПоследняяПоследняя

Похожие темы

  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, 03:53
  4. Визуализация Codesys
    от Slipknot в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 31.10.2008, 11:36
  5. Визуализация в CoDeSys 2.3
    от Slawa в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.08.2008, 17:30

Ваши права

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