Выложите, пожалуйста, скриншоты, на которых видно вашу проблему. И уточните версию CODESYS.
Вид для печати
CODESYS V3.5 SP8 Patch 4
При старте PLC через трей у меня появляется надпись:
The CODESYS Control PLC allows executing program code with system level access on this machine. This may pose as a security threat unless appropriate measures are taken to limit network access to this machine.
You can do this in CODESYS with the Online Menu Command:
Online->Security->Add Online User.
Однако в меню безопасность все пункты неактивны т.е. добавить/исправить онлайн юзера я не могу.
Все скриншоты и описания к ним в файле Проблема авторизации.doc
Все работало некоторое время назад, был перерыв в работе, сейчас вернулся к этому проекту.
В принципе, надпись носит информационный характер. Добавлять юзеров необязательно. Но все выглядит так, как будто вы добавили одного и настроили для него пароль, после чего сделали часть функционала среды доступным только для этого юзера.
Настройка юзеров - Проект - Установки проекта - Пользователи и группы.
Там есть только один пользователь Everyone. Я так понимаю это по умолчанию имеющийся юзер.
Создаю проект новый. Все по умолчанию, на базе Control Win V3. Сразу же пытаюсь настроить соединение т.е никаких пользователей для нового проекта. Результат тот же.
Создам новую виртуалку и установлю все по новой, похоже другого пути нет. Получается не ясно что это за пользователь необходим??? Где его создавать и редактировать:confused:
Здравствуйте искал в хелпе кодесиса не нашел, как перевести переменную типа integer в строку? (язык ST)
вопрос ещё один.
Как закрасить кнопку цветов, выражаемым через переменную, когда она в нажатом состоянии?
Как в ненажатом - оно и так понятно.
Привязать переменную кнопки к параметру Переключить цвет и задать переменную для параметра Переменная тревоги.
Т.е. нажатие на кнопку приведет к ее переключению в состояние тревоги, на которое можно завязать цвет через переменную.
Или отслеживайте нажатие через переменную кнопки, и меняйте значение переменной нормального цвета.
добрый день . подскажите как организовать обратный отсчет времени.
добрый день . Функциональный блок Real_Time_Clock из библиотеки SPK TOOLS срабатывает 1 раз , потом срабатывает только на третий раз. в чем может быть причина ?
если поставить три вызова подряд , срабатывает на второй раз
Добрый день. Библиотека SPK_TOOLS не рекомендуется к использованию на актуальных прошивках.
Воспользуйтесь системной библиотекой CAA DTutil. См. документ СПК. Системное время (ссылка в подписи).
В принципе, в пределах цикла не имеет смысла вызывать функцию чтения времени больше одного раза.Цитата:
если поставить три вызова подряд , срабатывает на второй раз
Где можно почитать о работе с файлами на СПК107? Конкретно интересует: как попасть на примонтированную флешку, можно ли ее "зачрутить" (chroot, FILE.SetRoot почему-то не работает, говорит "NOT EMPLEMENTED"), определить, действительно ли это флешка, или просто каталог (sysExecute('mount | grep /mnt/ufs/media')?), как определить размер флешки (df /dev/sda?), будет ли создаваться файл, если открывать его в режиме APPEND, когда его еще нет, какие будут атрибуты у созданного файла... Много вопросов еще. Справка по CAA File нормальная, но не все там понятно, например, зачем в цикле делается вызов filop(xExecute:=true), не достаточно ли вызвать ОДИН РАЗ, а потом мониторить xBusy/xDone?.. В общем, хочется увидеть НОРМАЛЬНЫЙ мануал по файловым операциям с описанием особенностей при работе на СПК с его линуксом.
Добрый день. Создание такого мануала запланировано.
"Особенности" планируется оформлять как готовый функционал - например, ряд функций (статус, команда размонтирования, размер флэшки) вынесен в таргет-файлы (начиная с версии 3.5.4.25).
Если есть возможность - пожалуйста, напишите мне на почту (в подписи), какие темы и вопросы вы считаете необходимым раскрыть в данном документе - желательно, как можно детальнее, с примерами конкретных задач, которые вы хотите решить с помощью CAA File.
Чего-то никак. я понимаю, красится оно в цвет "переменные цвета - цвет" по-умолчанию, "переменная цвета - цвет тревоги" по установке в 1 переменной "переключить цвет" там же. Переменная "переключить цвет" может быть той же самой, которая "переменная состояния кнопки-двоичная переменная", которую надо устанавливать через "конфигурация ввода - on moise click непосредственно, через st code или как-то так (мне надо западающая кнопка). И, типа, цвет переключится в тот, который "тревоги". Ну, или по этой штуке основной цвет подменять, и тогда в "переключить цвет" уже ничего не пишем.
Так вот, ничего нету. Надавленная кнопка всегда белая, а текст на ей всегда бирюзовый (((,
Cнял видео с примером:
https://www.youtube.com/watch?v=ji5M0LayOIA
извините, постоянно из-за меня какой-то напряг (
dtugt.xExecute:=1;
dtugt();
IF dtugt.xDone=1 THEN
today:=dtugt.dtDateAndTime;
dtugt.xExecute:=FALSE;
eError:=DTU.DTSplit(
dtDateAndTime:=today,
puiYear:=ADR(year) ,
puiMonth:=ADR(month),
puiDay:=ADR(day) ,
puiHour:=ADR(hour) ,
puiMinute:=ADR(minute) ,
puiSecond:=ADR(secund));
END_IF
varы
dtugt:DTU.GetDateAndTime;
eError:dtu.ERROR;
minute,hour,day,month,year,secund: UINT;
today:dt;
Первый раз срабытывает и все (( , условие выполняется!
Вложение 31213 вот дата записывается 1 раз и все
Не стартует программный контроллер Codesys Control Win (установленный без среды разработки).
Нажатие "start plc" не вызывает никакой реакции.
Прога положена в каталог gatewayPLC.
А старт сервиса выдает ошибку 1053 (таймаут).
Почему не запускается? Спасибо.
ув.Гуру. Подскажите почему dtu.getdateandtime срабатывает только на второй проход(цикла). библиотеку SPK_tool мне тут сказали использовать нельзя. а с CAA DTU получается следующая фигня.
до первого прогона
Вложение 31227
после первго прогона
Вложение 31228
и наконец то xdone только после второго прогона
Вложение 31229
Это модель поведения блока. В чем, собственно, проблема? Данный блок используется для чтения системного времени, которое само по себе измеряется с определенной погрешностью. Лишний цикл (10 мс) ничего не изменит. Более того, формат DT вообще представляет время как число секунд, миллисекунды не используются.
проблема в том что исходя из вашей логики , что ничего страшного , нужно постоянно получать системное время . хотя если бы данный блок срабатывал за один цикл , то его можно было бы вызывать только при определенном условии и делать проверки. но так как блок отрабатывает за два цикла , логику работы программы выстроить невозможно .
Извините, не могу уловить проблему. Что именно мешает выстроить логику программы? И какой она вообще должна быть?Цитата:
...то его можно было бы вызывать только при определенном условии и делать проверки. но так как блок отрабатывает за два цикла , логику работы программы выстроить невозможно.
у меня одни переменные меняются в течение одного цикла и влияют на условия вызова фб со считыванием времени , а в слудующем цикле переменные уже приняли другие значения а фб еще не отработал. а на второй проход он уже не вызывается.
Правильно ли я понял, что вы говорите о конструкции типа:
Если речь об этом - то вы пытаетесь заставить блок выполняться по уровню, но, как уже упоминалось, он запускается по фронту.Код:
IF условия THEN
считать системное время
если системное время считано и равно (или больше/меньше/не равно) заданному, то сбросить ФБ и выполнить нужные действия
END_IF
Т.е. просто вызывайте его в стиле:
Еще раз уточню, что забирать время с выхода блока можно только в тот цикл, когда xDone=TRUE (т.е. блок успешно завершил работу).Код:// выносим запуск ФБ за пределы IF ... END_IF
dtugt(xExecute:=( условие1 AND условие 2 и т.д.) );
IF dtugt.xDone
// забираем dtDateAndTime
END_IF
Здравствуйте. Впервые установил CoDeSyS 3.5. При попытке запуска в режиме эмуляции ругается что не найден файл GWClient.dll Переустановка программы не помогла. Поиски информации по проблеме в интернете не увенчались успехом. CODESYS Gateway в трэе честно светится и говорит что работает. Может кто сталкивался и знает решение?
Здравствуйте.
Вы при установке ставите галочки для установки всех компонентов? Данный файл относится CODESYS OPC Server 3, он у вас установлен?
При установке всех компонентов папка должна выглядеть примерно так:
Вложение 31360
Да, установлены все компоненты. В папке CODESYS OPC Server 3 файл GWClient.dll присутствует.
UPD. Дело было в косяке винды, не вставали новые обновления и криво работал .net framework. После вылечивания проблемы ошибка ушла.
Подскажите правильно ли я понимаю работу элемента move.
Когда на входе "EN" присутствует TRUE , элемент пропускает через себя все сигналы.
В момент смены TRUE на FALSE на "EN", сигнал на выходе "out" должен пропасть, даже если он присутствует на входе "in".
У меня получается совсем иначе: подаю TRUE на "in", далее TRUE на "EN", - появляется TRUE на "out".
Далее меняю TRUE на FALSE на управляющем входе "EN", то же самое делаю на входе "in", но на выходе "out" продолжает висеть TRUE.
Если же первым убирать сигнал "in", а потом "EN", все работает как нужно.
Вложение 31520
Вложение 31519
Вложение 31521
Как мне заставить этот элемент работать по аналогии с твердотельным реле. Если на управляющем входе есть сигнал, то и на выходе он есть.
Если нет на входе, его нет и на выходе.