Фаниль, а в чем собственно проблема? Создайте переменную с типом WSTRING, присвойте ей значение 'Admin'. Далее в проверке условия сравнивайте с этой переменной, наподобие:
IF VisuElems.CurrentUserName=%VARNAME% ...
Вид для печати
Фаниль, а в чем собственно проблема? Создайте переменную с типом WSTRING, присвойте ей значение 'Admin'. Далее в проверке условия сравнивайте с этой переменной, наподобие:
IF VisuElems.CurrentUserName=%VARNAME% ...
Да, кстати, чуть не забыл: обратите внимание, что при объявлении переменной типа WSTRING строку необходимо заключать в двойные кавычки.
Добрый день, Sepsis, пишу так как на коде внизу, но не совсем понимаю куда именно двойные кавычки ставить, подскажите пож-та:
FUNCTION PLC_PRG_1 : BOOL;
VAR_INPUT
pClientData: POINTER TO VisuElems.VisuStructClientData;
END_VAR
VAR
VARNAME: WSTRING;
END_VAR
VARNAME:='Admin';
IF VisuElems.CurrentUserName=VARNAME THEN
VisuElems.g_VisuManager.SetMainVisu(pClientData, 'Visualization4');
END_IF
При таком коде дает ошибку:
------ Компиляция : Приложение: Device.Application -------
типизировать код...
[ERROR] Без имени7: PLC_PRG_1 [Device: Plc Logic: Application](Строка 2, Столбец 1 (Реализ.)): C0032: Невозможно конвертировать тип 'STRING(INT#5)' в тип 'WSTRING'
Компиляция завершена -- 1 ошибок, 4 предупреждений
Фаниль
Добрый день, Sepsis, пишу так как на коде внизу, но не совсем понимаю куда именно двойные кавычки ставить, подскажите пож-та:
FUNCTION PLC_PRG_1 : BOOL;
VAR_INPUT
pClientData: POINTER TO VisuElems.VisuStructClientData;
END_VAR
VAR
VARNAME: WSTRING;
END_VAR
VARNAME:='Admin';
IF VisuElems.CurrentUserName=VARNAME THEN
VisuElems.g_VisuManager.SetMainVisu(pClientData, 'Visualization4');
END_IF
При таком коде дает ошибку:
------ Компиляция : Приложение: Device.Application -------
типизировать код...
[ERROR] Без имени7: PLC_PRG_1 [Device: Plc Logic: Application](Строка 2, Столбец 1 (Реализ.)): C0032: Невозможно конвертировать тип 'STRING(INT#5)' в тип 'WSTRING'
Компиляция завершена -- 1 ошибок, 4 предупреждений
VARNAME:=''Admin";
Спасибо RV9WFJ!!! Ошибка пропала, но, есть проблема: добавил кнопку в проекте, в событии OnMouseClick/ Управление пользователями/ Войти.
Запускаю эмуляцию, жму кнопку, ввожу пользователя и пароль, но на окно 'Visualization4' перехода не происходит. В чем м.б. проблема? подскажите пож-та!
OnMouseDown вызываете диалог ввода пароля, а в OnDialogClosed вызываете PLC_PRG_1(pClientData);
Спасибо RV9WFJ!!! Переход на другую визуализацию происходит, но мне еще надо потом выйти из этой визуализации на главную. Я на второй визуализации добавил кнопку выход, в событии OnMouseClick выбрал изменить отображаемую визуализацию, а в событии OnMouseDown выбрал Logout. В итоге при возврате на главную страницу, я хочу вновь переййти со вводом пароля во вторую визуализацию, но при нажатии на кнопку никакой реакции. Что я делаю не так? Подскажите пож-та.
Коллеги, есть у кого-нибудь готовый пример текстовой клавиатуры с русскими буквами? Спасибо за помошь.
Здравствуйте! Подскажите, пожалуйста, где можно найти подробное описание на процедуру установки пароля на доступ к элементам визуализации, реализованным на СПК 107. Необходимо исключить несанкционированный доступ к элементам управления насосной станцией. Я пытался руководствоваться инструкцией "визуализация codesys 3 v1.1". При компиляции появляется ошибка "Тип переменной массива g_VUMUserGroupNames в конфигурации таблицы GenElemInst_56 отличается от текущего объявления переменной. Обновите переменную массива в конфигурации таблицы."
а может кто-нибудь выложить пример проекта, в котором реализован контроль доступа к элементам визуализации при помощи пароля. заранее благодарен.
а самое не понятное, что при попытке изменить установки среды по умолчанию со стандартных на профессиональные всё опять возвращается к стандартным настройкам. у меня установлена КДС v.3.5 sp5 patch 3. в чём может причина?
1. Примера под рукой нет, но все довольно просто:
В Менеджере визуализации, во вкладке Управление пользователями нажать кнопку Создать управление пользователями по умолчанию:
Вложение 17704
В появившихся вкладках Группы и Пользователи можно, соответственно, настроить логины, пароли и т.д.
Теперь у элементов визуализации добавилась новая настройка - Права доступа:
Вложение 17705
После запуска проекта по умолчанию активным является пользователь None. Для того, чтобы переключаться между пользователями,
создадим кнопку и привяжем к ней действие Управление пользователями:
Вложение 17706
2. Предположу, вы делаете следующее: в меню Опции во вкладке Свойства нажимаете кнопку Заданные наборы свойств и выбираете профессиональный режим настроек. Повторно нажимаете кнопку, и видите надпись "Стандартный режим", из чего делаете вывод, что настройки не применились. На самом деле, это просто предлагаемый выбор по умолчанию, а не указание текущего режима.
Профессиональный режим настроек в сущности представляет собой заданный набор галочек в этом меню. Если у вас набор галочек вот такой:
Вложение 17707
то вы работаете в профессиональном режиме.
Озадачился, почему нельзя поставить пароль на переключение переменной?
Вы имеете в виду, поставить пароль на элемент типа Переключатель? По той причине, что повесить на один элемент два действия (переключение переменной и вызов окна для ввода пароля), в принципе, можно, но работать будет только одно из них (ввод пароля). Ну и, собственно, у элементов типа Переключатель нет настроек InputConfiguration - т.е. надо делать через элемент Изображение.
Можно создать два переключателя, к одному привязать переменную, к другому - открытия окна ввода пароля, наложить их друг на друга и т.д.
Большое спасибо за разъяснения. Сейчас пытаюсь организовать работу с паролями. Но у меня попутный вопрос: когда я создаю в менеджере визуализации управление пользователями во вкладках управление пользователями /пользователи автоматически появляются пароли *****. Я меняю пароль но вижу *****. Или всё же пароль меняется, т.е. как в вопросе про профессиональный режим настроек?
Да, независимо от числа символов вашего пароля, вы будете видеть *****. Обращу еще внимание, что регистр логина имеет значение - т.е. в визуализации надо будет вводить именно Admin, а не admin.
А сейчас откуда-то появилась ошибка "Тип переменной массива g_VUMUserGroupNames в конфигурации таблицы GenElemInst_56 отличается от текущего объявления переменной. Обновите переменную массива в конфигурации таблицы." А когда я щелкаю по ней ЛКМ, то появляется окно
Вложение 17716
А какие действия приводят к появлению этого окна?
Доброго времени суток.
Вопрос: Как переключать экраны визуализации,если управляющая программа реализована на CFC?
Например, так:
Вложение 17720
Когда переменная LogicCondition принимает значение TRUE, происходит переключение на экран Visualization2.
Для использования переменной CurrentVisu должна быть установлена соответствующая галочка в Менеджере визуализации:
Вложение 17721
Спасибо за помощь. А больше двух экранов?
Как мне кажется, самый простой способ - увеличить количество блоков Move и логических переменных.
Почему-то у меня элемент Move с одним входом и выходом без всякого обозначения. А в описании-такой, как в вашем примере.
Как это можно поправить?
Век живи, век учись.. Спасибо, помогло.
:confused:День , добрый!. Подскажите может кто сталкивался с таким. СПК 107 Создал пул изображений , анимировал работу двух вентиляторов, на радости весь день потратил на всякие вставки, при эмуляции все обекты на мониторе отображаються коректноВложение 17783, я и не проверял на СПК. А под конец рабочего дня думай дай проверю, и в результате то что нарисовал с помощью инструментов все переноситься В СПК а картинки из ПУЛА отображаються только прямоугольничками по контуру Вложение 17784. Кроме того попробовал добавить в визуализацию картинки которые уже ранее добовлял и они работали, все баста только рамка, правда функции эти рамки выполняют - одна из них переключает страницы визуализации, а вот содержимое рамки увы только цвет фона и все
Попробуйте изменить стиль визуализации.
:confused:Перепробовал все из этого списка Вложение 17786 ни чего не помогает, даже строка без стиля
А сколько весят картинки?
Когда-то у меня была похожая ситуация. Две картинки были по 30 кБ и загружались через раз. После ужатия до 3 Кб все заработало нормально.
Еще, я смотрю, у вас есть прямоугольники с градиентной заливкой. Где-то на форуме писали, что градиентную заливку лучше не применять.
Сейчас *взвесил* каждый рисунок тянет в среднем кБ 50. Жаль СПК на работе осталось, провериь этот вариант сейчас нет возможности.
Еще вопрос к специалистам по визуализации: Через string переменную меняю текст в окне, как корректно отобразить кирилицу? Отображаются одни кракозябры.. Я понимаю, что что-то с кодировкой, но где ее переключить?
Евгений, спасибо за оперативный ответ. Сэкономили мне кучу времени.. :)
Здравствуйте!
Возможно ли в codesys для спк создать полноценный график отображения величин (примерно как в видеографическом регистраторе серии РМТ)?
Нужна возможность просматривать в графике архивные данные, проматывать и масштабировать график.
Если возможно, то есть примеры реализации?
Вставлю свои 5 копеек :)
Чтоб не привязывать переключение экранов к CURRENTVISU, но использовать эту переменную для входа в визуализацию под паролем сделал так:
CASE X OF
0: IF PASS=USR1_PASS OR PASS=USR2_PASS OR PASS=USR3_PASS THEN X:=10;
ELSE PASS:=0; VisuElems.CURRENTVISU:=''; END_IF;
10: VisuElems.CURRENTVISU:='VisuX'; X:=20;
20: VisuElems.CURRENTVISU:=''; PASS:=0; X:=0;
END_CASE;
А дальше можно переключать экраны как обычно, через Change Shown Visualization.