Спасибо! Но тут разбираться надо
Вид для печати
Только зачем лишние переменные типа ton-5-out, когда можно ton-5.q, а эти присвоения из таймера вообще убрать... И et тоже...
PS С переменной ton-5-in, та же история. На каждый таймер 2 лишних переменные.
Хотя если вы их еще где используете, тогда ладно...
Здравствуйте,
1. В ПЛК210-0х, ПЛК210-1х какая максимальная глубина вложения вызовов (например, глубина вложения имеет значение восемь (8), что означает, что, начиная с блока (1-й уровень вложения), Вы можете добавить еще 7 блоков "по горизонтали" (это называется вложением)?
2. Возможно ли обратиться к периферийному входу (не через образ процесса входов) и подать сигнал на периферийный выход (не через образ процесса выходов) в определённом месте программного кода на ПЛК210-0х, ПЛК210-1х?
3. Разрешенные комбинации для последовательной передачи ("pass on") параметров в Сodesys3.5? (по примеру Siemens, как на рисунке)
Вложение 81351
Спасибо
В FB1 вызывается FB2, у FB1 есть входной параметр in (тип данных-Array), который передается в FB2 через входной параметр in (тип данных-Array).
Пояснение к описанию:
Вызывающий --> вызываемый
FB1 FB2
in-Array[]------------->in-Array[] (сложный тип данных)
Допустимо это для FB и FB, FC и FC, FB и FC, FC и FB?
Очень не хватает подобной таблицы в CoDeSys3.5, чтобы не идти тернистым путем собственных ошибок...
Здравствуйте!
В Таблице Тревог кнопка "ACK all visible" квитирует только видимые на экране события. Если все события, которые можно квитировать не помещаются в область видимости,
необходимо несколько раз нажимать кнопку "ACK all visible".
Может, возможно программно (из кода) квитировать все события?
Какую версию CODESYS вы используете?
Я имел в виду именно то, что написал:
Вложение 81420
Отлично. =)
Посмотрел - он появился в плагине визуализации 4.2.0.0.Цитата:
Я завтра утром посмотрю, в какой момент появился параметр со скриншота.
Вложение 81422
Здравствуйте коллеги. НА ПЛК210 можно сделать SQL3 и разместить там рецепты. Хочу поинтересоваться вопросом : если сделать SQL3 на ПЛК210 , то можно ли рецепты сделать на флешке, чтоб можно было бы менять эти флешки и ПЛК210 бы сам их подхватывал?
Здравствуйте.
Подскажите есть ли способ в IDE узнать из какой части кода вызывается конкретный метод?
Допустим, есть метод, который включает лампу на семафоре. Вот она зажглась. Но кто в программе вызвал этот метод?
Как это определить?
Добрый день.
Вы можете передать методу в качестве одного из аргументов название "источника вызова" метода (например, через __POUNAME) и потом вывести его на экран визуализации, в лог или куда угодно.
Или же сделать это одновременно с вызовом метода (например, в следующей строке кода).
Спасибо. Это сработало.
Добрый день! Подскажите пожалуйста по функции SysTimeRtcGet из библиотеки SysTimeRtс, для применения на виртуальном ПЛК CoDeSys Control Win V3. Как правильно её применять, для использования системного времени в программе? Сложность в том, что системное время отображается некорректно ( к примеру время из функции показывает 15.23 на самом же деле время 16.10 ).
Запись в программе выглядит следующим образом: tdVar:= TO_TOD (SysTimeRtc.SysTimeRtcGet (dwErrorCode)*1000 ); . Без умножения на 1000 на выходе совсем даже не приблизительное время, а с умножением со стабильной разницей в 47 мин. )). Как устроена эта функция неведомо, и описание её работы очень скудно. Примеры её применения мною не обнаружены, поэтому надеюсь на вашу помощь в изучении этого вопроса.
Задача состоит в том, чтобы время с выхода этой функции применить в программе, для работы оборудования в определённые часы. Например, чтобы с 0 до 6 часов оно работало в одном режиме, а с 6ти до 23.59 в другом.
Добрый день.
Если нужен именно TOD - то см. ниже пример от kondor3000.Код:dtVar:= TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode) ); // получаем системное время в виде значения типа DT
Здравствуйте! Да, нужен именно ТОD, но как "делить" на разряды и "собирать" из них TOD, я не знаю. Может где-то пример есть ?
У меня работает конвертация DT_TO_TOD, ничего не раскладывая Вложение 81535
Это отлично, благодарю за подсказку ! Меня терзают смутные сомнения по поводу дальнейших действий и в целом поведения функции SysTimeRtcGet. Выходит мне нужно конвертировать 2 раза ( сперва DWORD_TO_DT, затем DT_TO_TOD) ? Почему не выходит корректная конвертация с одного перевода? Особенности конвертации или я что-то неверно исполняю?
Если я правильно понимаю, то функция SysTimeRtcGet возвращает DWORD а не дату и время. Но опыт показал, что переводя результат этой функции в время суток - получается несоответствие. А вот двойная конвертация (DWORD_TO_DT, затем DT_TO_TOD) возвращает вполне адекватное время . Только нужно его подкорректировать ещё каким-то средством, потому как получается системное -2ч.
Вложение 81558
Благодарю Вам душевно! Это верно, коротко и главное работает! Я в восторге - зарррабоооталаааа!!! Сколько пришлось повозиться, чтобы решить эту задачку, но спасибо добрым людям, и долгие вам лета!
Кстати, тем кому придётся когда-то как мне заморочиться - следует знать, что некорректная конвертация этой функции, даёт неверные результаты выражений с её использованием. Это нужно учитывать прежде, чем грешить на свои ошибки в коде.
Столкнулись с такой проблемой Вложение 81632. Установлена версия 3.5 SP 17.30. Добавлена Библиотека ПЛК200 3.5 SP 17.31. Запускаем в корпоративной сети с ПК, где работает сотрудник без административного доступа. При создании нового проекта в любом шаблоне режим только для чтения выставляется по автомату и плюсом красные application. От имени администратора каждый раз запускать не вариант, даже если бы и работало, возможно только для единоразовой настройки. Расположение этого файла ставим на рабочий стол, где у пользователя есть доступ на создание и изменение файлов. В любом другом расположении учетной записи этого пользователя тоже не работает
Добрый день! Не работает ALT+3 вкладка с сообщениями не открывается... Уже все обыскал, как открыть окно с сообщениями?
У вас случайно автоскрытие вкладок не включено? Значек гвоздя у крестика закрытия окна. Если включено, то возможны артефакты неоткрытия выбираемых окон и открытия совсем других...
Скрин выше. Основная вкладка "устройства" так глючит...
На Astra IDE (тот же Codesys) та же комбинация открывает и закрывает панель сообщений.
На тех окнах которые открыты - не видно. Просто случайно закрыл сообщения....
Смотрите скрин, сообщения скрыты внизу слева Вложение 81686
Щёлкните по панели мышью и закрепите гвоздиком.
Я тут поэкспериментировал. Если это окно вытащить наружу и сдвинуть за пределы экрана, то оно исчезает.. Вернее оно так же за пределами монитора. Вытащил его мышкой, когда подвел к краю экрана, индикатор изменил свое изображение. Похоже у ТС так же. Думаю что врят ли он не заметил сжатое окно.
PS Где то должна быть строка меню: восстановить интерфейс по умолчанию...
Выглядит это дело так (см.вложение)
Попробую поискать восстановление интерфейсаВложение 81696
Окно является активным при нажатии ctrl + TABВложение 81697
Мышь по краям экрана поводи, может отыщешь. Там индикатор должен измениться в месте нахождения окна. Или как вариант второй монитор подключить. Двухмониторный режим у кодесиса тоже хромает. Иногда основное окно исчезает, когда сохранишь проект на другом мониторе и выключишь его потом.