Не путайте котлеты и мух. WSTRING- UTF8, STRING - ASCII, и там и там имеют место быть русские буквы.
Ждать релиз CS 3.5 SP6Цитата:
2. Что нужно сделать, чтобы KeyPad стал с русскими буквами?
Вид для печати
Что мешает нарисовать гораздо лучше чем у китайцев в СП270.
IF bEvent THENЦитата:
помогите разобраться с переключением экранов в спк 107 прочитал про переменную VisuElems.CURRENTVISU не понятно если можно пример
VisuElems.CURRENTVISU:='Main';
END_IF
где bEvent - флаг события по которому надо переключить экран, Main имя экрана на который необходимо переключить. Можно еще триггер добавить на событие для полного счастья.
RV9WFJ, в руководстве по визуализации на кодесис 3 v1.1 написано:-"Для вывода строковых переменных модификатор %s (для вывода русскоязычного текста, следует использовать переменную типа WSTRING в коде программы. Инициализация данной переменной осуществляется при помощи двойных кавычек. Пример: Переменная типа WSTRING := “Текст для вывода”)". Если выводить русскими буквами сообщение в STRING (при поставленной галке "Использовать строки Unicode"), то получается абракадабра. Если я что-то неправильно понимаю, поясните пожалуйста!
Поясняю - при выводе на экран русских букв необходимо использовать только UTF8 т.е. WSTRING (так уж в CS сделано в силу поддержки многоязычности), но при записи в файл т.е. архив никто не мешает использовать ASCII т.е. можно использовать просто STRING. Как еще объяснить :-)
За разъяснение спасибо, но в моём случае боюсь это не поможет... Задача: создать список "заказчиков" с возможностью их добавления (естественно русскими буквами). Перед началом приготовления продукции необходимо выбрать из списка "заказчика" (или при его отсутствии добавить его), выбрать наименование продукции и её объём, по кнопке СТАРТ записать в архив все эти данные (короче типа 1С) ))) Так-что думаю пока не обойтись средствами, которые имеются на сегодняшний момент... Будем ждать SP6...
Делал я подобную вещь. Пока приходится латиницей набирать так как тупо нет русской клавиатуры. В последующем надеюсь достаточно будет просто скомпилировать под CS3.5 SP6 и все.
RV9WFJ, спасибо за помощь! Латиницей набирать наименование организации заказчика как-то тупо и не читаемо, уж лучше вообще отказаться от этой затеи и опустить эту графу в архиве.
Иногда в Кодесис в журнале проскакивает предупреждение "Deriving touch support from operating system not supported Touchhend link will not be activ" компонет: CmpTargetVisu.
После таких сообщений панель может зависнуть и перестать работать.
Вообще панель по времени может и сутки работать, можно десятки раз переключать странички и всё хорошо, но потом вдруг при очередном касании экрана вся работа панели останавливается..
Что это за ситуация и почему она получается?
Сейчас VISU_TASK у меня в свободном выполнении, до этого было циклическое, ставил разные времена но "зависания" не пропадали.
PS. Нашёл библиотеку CmpTargetVisu 3.5.4.0 в VisuDialogs 3.5.5.0 но что ей не так?
Ди ещё, после нажатия кнопки и перехода на другую страницу иногда "нажимается" кнопка уже на новой странице находящаяся на том же месте (это бывает если оператор двойным щелчком нажимает). Подскажите как избежать этого эффекта?
1. Сделать кнопку на другом месте.
2. При переходе на экран блокировать нажатие кнопок на некоторое время.
Создал диалог, элементы в нём отображаются нормально, фон диалога отображается прозрачным. Не могу понять в чём дело? Чем отличается диалог от обычной визуализации?
спасибо конечно за попытку помочь, но до 1. я и сам давно додумался, но располагать в шахматном порядке кнопки на страничках некрасиво, а вариант 2. конечно возможен, но не красив и трудоёмок (страниц и кнопок много)..
Кроме того заметил что если кнопку сильно нагрузить несколькими заданиями, она становится "капризной" и иногда
не выполняет заложенные функции- после касания нажимается, отпускается и ... перехода на другую страницу не происходит, при повторном касании всё прооходит штатно. Возможно конечно что это не аккуратные касания, при которых палец касается не только кнопки, но и области экрана рядом (экранчик у СПК107 мал, его использую для отладки программ для СПК110).
Кстати одну кнопку сделал из прямоугольника, для незаметного перехода на страничку настроек, так она вообще через раз срабатывает...
И ещё, убрал из программы так дорогой мне график, т.е. элемент Trace и сразу куда-то девались зависания панели, а жаль
столько времени потратил на эти графики..
Сейчас визуализация у меня в "свободном выполнении", и это кажется мне оптимальным. А эффект не срабатывающей клавиши
наверно всё-таки из-за относительно маленьких (для СПК107) клавиш и случайного касания других частей экрана, а так же не одинаковой чувствительности разных частей экрана. Кроме того, был отключен курсор, может это и мистика, но с его включением этот эффект пропал.. какие-то рождественские сказки
RomAl, чтобы исключить нажатие других частей экрана пользуйся стилусом (карандаш и т.д.), экран резистивный :) . Делал проект с большой плотностью кнопок и окон, и часто уходил в соседнее окно... помучавшись, стал пользоваться тупой стороной карандаша - стало удобно!
Можно не нагружать кнопки, а вставить 10 строк в начале блока, если еще не нашли более красивого решения :)
Код:TON1(PT:=t#1s); (*задержка обработки нажатий кнопок на 1 секунду при смене экрана*)
IF num <> old_num THEN (*если номер экрана изменился*)
TON1(IN:=TRUE); (*включаем таймер*)
IF NOT TON1.Q THEN (*если время еще не вышло*)
RETURN; (*выходим из блока, все что ниже не будет выполняться*)
ELSE (*если время вышло*)
TON1.IN:=FALSE; (*отключаем таймер*)
old_num:=num; (*сохраняем номер текущего экрана*)
END_IF
END_IF
(*ниже должен быть код обработки экранов и нажатий кнопок*)
Подскажите, пожалуйста, возможно ли отображать на панели анимированные картинки? Необходимо, создать изображение работающего насоса.
GIF анимированные кажется нельзя, но точно можно менять картинки. Соответственно просто создайте генератор с нужной частотой и по фронту меняйте картинку насоса.
У меня насосы вообще векторные и я просто меняю угол поворота "пропеллера": http://www.youtube.com/watch?v=C6rCrVPP4Mk 2 минута видео. На видео СПК 200МГц, поэтому подтупляет, а на 600 МГц все прекрасно.
RV9WFJ, спасибо!
А есть ли возможность в визуализации сделать мигающую картинку? То есть, если есть сигнал, то изображение мигает с заданной периодичностью, если сигнала нет - то изображение скрывается?
Свойство видимости, есть в настройках большинства элементов. Переключение осуществляется bool переменной.
То есть можно сделать, чтобы при статусе переменной true, изображение мигало?
На выход Вашей переменной воткните BLINK, и его выход пропишите в State variables.Invisible. Да, на выходе BLINK сделайте инверсию, если надо чтобы при TRUE картинка отображалась...
Нет, конечно до варианта через антарктиду я додумался... но как бы странно, что штатными средствами это не предусмотрено
Да, я тоже хотел выводить аварии миганием элементов простым способом, но увы, разработчики не подумали...(((
Хватит отсутствие фантазии на разработчиков валить. Заведите один BLINK на весь проект и используйте его в формате bError AND BLINK.Q Это вам вместо галки "моргать" которая имхо только захламит и так обильные свойства примитивов.
Пожалуй не совсем соглашусь и фантазия тут не причем. Всё же если программная среда позиционируется как средство визуализации, то она должна содержать элементарную функциональность аналогичных программных продуктов для hmi. Понятно что написать несколько строчек, создать дополнительные переменные, предусмотреть разный период и т.д. это не проблема
Здравствуйте,
Подскажите пожалуйста как вращать компоненты. Перечитал весь форум такого вопроса никто не задавал. Может это и очевидно, но я нигде не могу найти информацию как можно вращать компоненты. В хелпе нашел только как менять положение оси вращения, но нет информации как все же вращать компонент. В свойствах есть пункт "Вращение", но ничего не происходит при изменении параметров.
Заранее Спасибо!
в этот пункт необходимо подставить переменную с градусом на который необходимо вращать. Причем там два поля (сейсас с телефона, точно не помню) одно для вращения вокруг точки, второе как-то внутри себя (толком не разобрался). Попробуйте по очереди в каждое из них подставить переменную и повращать. Если не получится выложу скриншоты, у меня куча всего вращается на экране.
Да нашел параметр "внутреннее вращение", спасибо! Но это вращение уже происходит во время выполнения программы, а вращать элемент в редакторе я так понимаю нельзя?
Бывает надо иногда, но сделать в редакторе невозможно кажется. Можно константу вбить, но повернется все равно только в исполнении.
Да к сожалению вращается только в исполнителе. Ладно имеем что имеем, буду приспосабливаться. Спасибо ребята большое, что можно обратиться если что! Всем удачи!
По поводу шрифтов. В КДС в визуализации текст (строчка текста почти на всю ширину экрана) помещается в размер панели по ширине. После прошивки на СПК 110 текст почему-то не полностью помещается по ширине. Настройка размера окна выбрана правильно - 800х480. Специально расставил прямоугольники по четырем углам - они все помещаются на экран после прошивки. Т.е. получается вопрос с тестом или шрифтом. Что-то было подобное?
Там дело в том,что шрифт в CS и шрифт в панели отличаются. Этот косяк обещали в следующей прошивке исправить.
А как пользоваться Trend'ом? Есть где вразумительное описание?
Возможно ли в СDS 3.5 сделать так, чтобы единица измерения переменной отображалась в самом индикаторе переменной (например, элемент "прямоугольник" в качестве индикатора аналогового значения), а не за его пределами прописывать текстом? Например 45 Гц, 55.5 oC. Если да, каким образом это реализовать?
Смотрите "Содержание" раздел "Текст и язык в визуализации". Нажимаете "F1" в самой программе CoDeSys.
Не отображаются рисунки.
СПК107, прошивка 3.939, codesys 3,5 SP5
Задача - сделать подложку из рисунка и по событиям выводить/скрывать более мелкие элементы
пробовал использовать подложку - рисунок bmp, jpeg, png, размер 700х300 - в результате белый экран, и ничего.
при этом, в компиляторе все нормально отображается, компилится, грузится, показывает экран в codesys, а панель глючит.
попробовал использовать элемент "Изображение" и рисунки поменьше - результат тот же, появилась рамка и пара кнопок, но рисунок не отображается на панели.
Как с этим бороться? Что посоветуете?
CODESYS v3.5 SP5. Визуализация. Настройки "эксперт". Пытаюсь динамически изменять стиль линии (для имитации активного контура на мнемосхеме). В PLC_PRG объявил переменную типа "INT", в свойствах линии подвязал переменную к соответствующему атрибуту, запускаю программу в отладке, изменяю переменную в соответствии с допустимыми значениями (0 = полностью, 1 = пунктиром, 2 = точками ... и т.д. ) и... - ничего! Все безрезультатно.
Уважаемые эксперты, простите, если вопрос покажется слишком простым, но как изменять стиль линии динамически?