Просмотр полной версии : CODESYS V3.5. Вопросы и ответы
МихаилГл
04.07.2024, 12:32
Ну похоже там фантомные данные, я обычно в подобных случаях сначала нулями всё забиваю. Иначе тоже начинаются всякие аномалии приходить.
PS
Типа
MEM.MemFill(ADR(STR1000), SIZEOF(STR1000), 16#20);
STR1000:= ' ';
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysMemoryManipulation.pdf
Перед запуском делал сброс, что-бы все переменные были пустыми.
С плёткой ПРОДЛОЖУ. Потому что СБРОС НЕ РАВЕН ОЧИСТКЕ ПАМЯТИ ПЕРЕМЕННОЙ.
У тебя ошибки, как у программиста СИ 80ых, блин. Смысл в том, что переменная просто указывает на область памяти.
И никто не говорит, что эта память не останется заполненной чем-то.
Магия по шагам:
1. Все строки заканчиваются символом нуля. В конце строки. Все строковые функции работают со строками по этому символу.
2. Ты копируешь буфер целиком. Что там в конце и где там конечный символ нуля строки - хрен знает.
3. Сброс может не очищать память ПЛК. Он просто перезапускает программу с самого начала. Поэтому некая твоя строка до сих пор хранит старый результат. Возможно, это строка, ИЗ который ты копируешь данные.
Поэтому правилом хорошего тона является правило инициализировать и очищать все переменные и буферы, которые используются.
Делаешь MemSet(), заполняя буфер нулями. А потом с ним работаешь.
Почему я упомянул про СИ - потому что там в некоторых компиляторах была такая фишка:
* Если программа компилируется в DEBUG - то все переменные очищаются сами и заполняются нулями.
* Если программа компилируется в RELEASE - то никакие переменные не очищаются вообще.
И поэтому какое-нить объявление типа int i в DEBUG будет равно нулю, а в RELEASE - 31525, например.
Чисть буферы!
MEM.MemFill(ADR(STR1000), SIZEOF(STR1000), 16#20);
STR1000:= ' ';
Не понял. А почему тут забиваешь пробелами (16#20), а не нулями (16#00), как пишешь? Поторпился ответить? Поправь код пожалуйста.
МихаилГл
04.07.2024, 12:40
Не понял. А почему тут забиваешь пробелами (16#20), а не нулями (16#00), как пишешь? Поторпился ответить? Поправь код пожалуйста.
Это из рабочего примера код. У меня там JSON и да, забиваю все пробелами, чтоб клиент при считывании JSON нормально работал. Ну я же написал, "обычно...". А код выдернул из рабочего проекта и сказал "Типа".
ВладОвен
04.07.2024, 12:50
Да. Дело было в буферах. Если его чистить, то все норм. Поведение СБРОСа буду учитывать. Спасибо.
Открыл код программиста из 80-х и увидел там про буфера...
77043
Видимо, там про другие буфера в комментариях...
Да. Дело было в буферах. Если его чистить, то все норм. Поведение СБРОСа буду учитывать. Спасибо.
ОК. Ради интереса, если это не личное, скажи, почему у тебя так получается (я ж по форуму вижу): ты делаешь, не подумаешь, накосячишь, закидываешь форум вопросами, потом на тебя орут, показывают как надо...
При этом ошибки у тебя элементарные. Вон типа как с SIZEOF().
Мне бы вот хотелось узнать то, как ты мыслишь и рассуждаешь, раз упускаешь такие ошибки. Я не берусь поучать, а просто спрошу: неужели ты не считаешь время, которое тратишь на поиск косяков? У тебя ж его уходит значительно больше, чем на сами программы.
(Вот тут позанудствую) У Жени Кислова есть крутая статья про отладку программ. Там как раз про буфера есть =)
ВладОвен
04.07.2024, 13:07
Хм.
Ну я вообще-то об этом не задумываюсь. Просто когда есть вопрос, я пишу на форуме всё. А когда нет вопросов, делаю программу и все.
Я не считаю, что на меня орут на форуме. Это всего лишь решения рабочих вопросов.
И оно может быть полезным даже кому-то другому. Или кому то на этом форуме жалко места на серверах.
Только ты не подумай, что я оправдываюсь.
Не, не! Я не про оправдываться или винить. Мне был интересен именно сам ход мышления.
Мол, почему один раз не разобраться, не проверить всё-всё - и потом фигачить программы быстрее и без ошибок, чем на каждую спрашивать.
Коллеги, добрый день.
Настроил удалённое подключение к ПЛК210 через интернет.
Подключаюсь к веб-визуализации, всё работает.
Пытаюсь подключиться к ПЛК из среды Codesys - подключается с 5-го раза или вообще не подключается. Пишет "Никакое устройство не отвечает на запрос поиска".
По ощущениям, просто не успевает соединиться из-за медленного интернета.
Можно ли как-то увеличить время ожидание ответа контроллера?
Спасибо.77048
Евгений Кислов
04.07.2024, 17:06
Коллеги, добрый день.
Настроил удалённое подключение к ПЛК210 через интернет.
Подключаюсь к веб-визуализации, всё работает.
Пытаюсь подключиться к ПЛК из среды Codesys - подключается с 5-го раза или вообще не подключается. Пишет "Никакое устройство не отвечает на запрос поиска".
По ощущениям, просто не успевает соединиться из-за медленного интернета.
Можно ли как-то увеличить время ожидание ответа контроллера?
Спасибо.77048
Добрый день.
Свяжитесь со мной завтра утром по телеграм, пожалуйста.
Спорягин Кирилл
04.07.2024, 19:24
Доброго времени суток!
Нашел видео как организовать ввод в таблицу (https://www.youtube.com/watch?v=-qPyjuiPbbk).
Аналогичным образом, как я понимаю, можно организовать запись сообщений в таблицу и отображать их в виде журнала в визуализации.
Т.е. это некоторый способ обхода использования Alarm Logging.
Но возникает вопрос, как при таком способе указывать время деактивации? И как показать цветом, что сообщение активно (красный), а после деактивации не активно (например, белый)?
Евгений Кислов
04.07.2024, 19:43
Добрый день.
Но возникает вопрос, как при таком способе указывать время деактивации?
Путем вывода метки времени деактивации в соответствующем столбце.
И как показать цветом, что сообщение активно (красный), а после деактивации не активно (например, белый)?
В видео же показано, как менять цвет ячеек таблицы.
Спорягин Кирилл
04.07.2024, 19:50
Метку поставить можно, но мне же в этом случае нужно будет как-то эту строчку "запомнить".
Вот у меня повысился уровень, я вывел в массив строку: "Уровень выше максимального", указал время текущее, метку активности.
Затем было множество других сообщений. Мой массив заполнился другими сообщениями. Уровень упал. Как мне сделать, чтобы та строка (с сообщением "Уровень выше..."), которая была красной, стала белой?
Мне нужно в массиве найти эту строку и поменять метку, а также заполнить метку времени деактивации.
Так это видится?
Но тогда эта в общем целая реализация Alarm Logging!
Евгений Кислов
04.07.2024, 20:43
Как мне сделать, чтобы та строка (с сообщением "Уровень выше..."), которая была красной, стала белой?
Мне нужно в массиве найти эту строку и поменять метку, а также заполнить метку времени деактивации.
Так это видится?
Вы написали всё верно. Разумно каждой тревоге назначить уникальный идентификатор - он поможет произвести поиск по массиву.
Но тогда эта в общем целая реализация Alarm Logging!
...существенно упрощенная и находящаяся под вашим полным контролем.
Но, конечно, вы можете использовать и стандартный "Alarm Logging" - хотя тогда не очень понятна причина ваших вопросов.
edvard_munch
05.07.2024, 12:01
77060
Не совсем пойму, где и в какой момент происходит преобразование INT в UINT при использовании библиотеки для СМИ-2М?
МихаилГл
05.07.2024, 12:19
Это предупреждение на работу не влияет. У меня таких десяток и происходит в сторонней библиотеке, а не в коде. Если работает, не заморачивайтесь.
edvard_munch
05.07.2024, 13:59
Это предупреждение на работу не влияет. У меня таких десяток и происходит в сторонней библиотеке, а не в коде. Если работает, не заморачивайтесь.
Ну я не заморачивался) вот решил глянуть подробнее, своих несколько подчистил, эти видимо да, нужно пропускать
Спорягин Кирилл
05.07.2024, 14:21
...существенно упрощенная и находящаяся под вашим полным контролем.
Но, конечно, вы можете использовать и стандартный "Alarm Logging" - хотя тогда не очень понятна причина ваших вопросов.
Alarm Logging не устраивает, так как его заполнять довольно трудоемко. Помнил, что Вы упоминали о неком другом методе создания журнала тревог. Вот только сейчас дошли руки в нем разобраться.
Но способ не очень простой. Получается нужно делать, то, что по логике вещей должно быть вложено в IDE. Alarm Logging вложен в IDE вопросов нет, но у него недостаток связан с тем, что конфигурирование сообщений/тревог оторвано от реализации объекта и при этом трудоемко модифицируемо!
Если помните, Евгений, Ваш вопрос о том, что в Мастерскаде (3V и 4D) сделано лучше?
Так вот подсистема сообщений, там сделана лучше. Там в объекте создается элемент "Тревога" и когда я копирую объект, я вместе с ним копирую и все его тревоги и не нужно их многократно копировать в Alarm Logging.
В любом случае спасибо за предоставленные материалы! Они интересны и полезны!
Да. Дело было в буферах. Если его чистить, то все норм. Поведение СБРОСа буду учитывать. Спасибо.
Так! Меня твой случай вдохновил, и я написал ПОСТ https://cs-cs.net/codesys-kultura-koda-peremenniye-granicy-massivov
Там про буферЫ (не буферА), про переменные, про границы массивов и циклов и про прочие штуки с памятью ПЛК. Всем читать! =)
Евгений Кислов
06.07.2024, 20:39
Если помните, Евгений, Ваш вопрос о том, что в Мастерскаде (3V и 4D) сделано лучше?
Так вот подсистема сообщений, там сделана лучше.
Соглашусь.
Но надо принять во внимание, что MasterSCADA - это SCADA, а CODESYS - это IDE для ПЛК.
Там в объекте создается элемент "Тревога" и когда я копирую объект, я вместе с ним копирую и все его тревоги и не нужно их многократно копировать в Alarm Logging.
CODESYS тоже постепенно движется в этом направлении - в свежих версиях плагина визуализации.
См. это видео: https://www.youtube.com/watch?v=WKmYro1lhrU&t=85s
В любом случае спасибо за предоставленные материалы! Они интересны и полезны!
Спасибо за добрые слова. =)
Евгений Кислов
06.07.2024, 20:39
Так! Меня твой случай вдохновил, и я написал ПОСТ https://cs-cs.net/codesys-kultura-koda-peremenniye-granicy-massivov
Там про буферЫ (не буферА), про переменные, про границы массивов и циклов и про прочие штуки с памятью ПЛК. Всем читать! =)
Спасибо за очередную отличную статью!
Здравствуйте. Где можно скачать библиотеку visuinputs 4.1.0.0 (System)?
Евгений Кислов
08.07.2024, 19:07
Здравствуйте. Где можно скачать библиотеку visuinputs 4.1.0.0 (System)?
Добрый день.
Она входит в дистрибутив CODESYS V3.5 SP17 Patch 3.
Возникает ошибка об ее отсутствии. А загрузить не может. Хотел загрузить с сайта кодесис, но стоят ограничения. Видел на форуме, что в прошлом году выкладывали ссылку на файлообменник с этой библиотекой. Но сейчас ссылка уже не рабочая
Евгений Кислов
08.07.2024, 19:13
Возникает ошибка об ее отсутствии. А загрузить не может. Хотел загрузить с сайта кодесис, но стоят ограничения. Видел на форуме, что в прошлом году выкладывали ссылку на файлообменник с этой библиотекой. Но сейчас ссылка уже не рабочая
Такая ошибка - косвенный показатель того, что что-то делается не так.
Вы можете связаться завтра утром со мной по телеграм (в подписи) и показать по AnyDesk, что именно у вас происходит - и мы со всем разберемся.
Но если вы считаете, что наличие данной библиотеки является гарантированным вариантом решения ваших проблем - то, пожалуйста, подтвердите это в своем следующем посте и завтра утром я ее выложу.
Я бы, конечно, попробовал ее так установить для начала. Пожалуйста, выложите ее, если не затруднит. Спасибо
ВладОвен
08.07.2024, 19:30
Привет.
Подскажите как обратиться к биту в цикле? См. пример.
77138
Евгений Кислов
08.07.2024, 20:23
Привет.
Подскажите как обратиться к биту в цикле? См. пример.
77138
Добрый день.
https://content.helpme-codesys.com/en/libs/Util/Current/BitByte-Functions/EXTRACT.html
pppppppo_98
08.07.2024, 22:38
Уважаемые... А нет ли ссылки на полной документацию по Codesys 3.5.17.30... Дело в том , что предстоит разработка и отладка в месте , где очень хрееново обстоят дела с интернетом... Подошнл бы какой-то pdf - без разницы английский или русский... ужо задумался httrack сделать зеркало, но пока остановился
МихаилГл
08.07.2024, 22:47
Уважаемые... А нет ли ссылки на полной документацию по Codesys 3.5.17.30... Дело в том , что предстоит разработка и отладка в месте , где очень хрееново обстоят дела с интернетом... Подошнл бы какой-то pdf - без разницы английский или русский... ужо задумался httrack сделать зеркало, но пока остановился
У меня при нажатии f1 без подключения к интернету открывается локальный chm хелп... Этого не достаточно?
pppppppo_98
08.07.2024, 22:57
неаверное хватит
pppppppo_98
08.07.2024, 23:10
Еще вопрос... Есть у меня домашний комп с линухом - основной комп. И стало быть там есть файл .ssh/id_rsa - только вот не помню с какой длиной ключа генерировал. Есть еще ключ .ssh/id_ed25519. Ну и вот нвстроил я ваергуард, настроил фаервол, получил доступ по ваергуарду с помощью пароля. Теперь ужесточаю доступ - только по сертификату. Публичный ключ стало быть получаю по cat .ssh/id_rsa.pub копипащу полученный вывод в окно ключа luci. доступа нет... Пробую через виндовый комп в одной сети с плк - скачал путти, сгенерировал ключ скопмпастил - публичный ключ... Все ок - пускает к терминалу
1. Какая длина ключей rsa Для серевера dropbear?
2. ed25519 - я так понимаю dropbear не кушает
3. А есть ли что-о типа authorized_keys для опенврт/овен, где можно было бы в консоли просмотреть текущие ключи?
зы
1 вопрос решил перегенерированием ключа на 4096 бит
2 и 3 вопросы остались
Евгений Кислов
09.07.2024, 06:08
Я бы, конечно, попробовал ее так установить для начала. Пожалуйста, выложите ее, если не затруднит. Спасибо
https://ftp.owen.ru/TechSupportShare/VisuInputs_4.1.0.0.compiled-library
Евгений Кислов
09.07.2024, 06:35
Еще вопрос... Есть у меня домашний комп с линухом - основной комп. И стало быть там есть файл .ssh/id_rsa - только вот не помню с какой длиной ключа генерировал. Есть еще ключ .ssh/id_ed25519. Ну и вот нвстроил я ваергуард, настроил фаервол, получил доступ по ваергуарду с помощью пароля. Теперь ужесточаю доступ - только по сертификату. Публичный ключ стало быть получаю по cat .ssh/id_rsa.pub копипащу полученный вывод в окно ключа luci. доступа нет... Пробую через виндовый комп в одной сети с плк - скачал путти, сгенерировал ключ скопмпастил - публичный ключ... Все ок - пускает к терминалу
1. Какая длина ключей rsa Для серевера dropbear?
2. ed25519 - я так понимаю dropbear не кушает
3. А есть ли что-о типа authorized_keys для опенврт/овен, где можно было бы в консоли просмотреть текущие ключи?
зы
1 вопрос решил перегенерированием ключа на 4096 бит
2 и 3 вопросы остались
2. Насколько я понимаю, в нашей версии (19.07) OpenWRT ed25519 действительно не поддерживается (https://forum.openwrt.org/t/solved-dropbear-and-ed25519-keys-resolved-in-21-02/23539/6).
3.
77148
edvard_munch
09.07.2024, 16:43
Как правильней сделать...
Появилась необходимость разбить код на 2 программы, до этого все лупил в главной PLC_PRG
Ну как необходимость. Нужно при старте проверять температуру и при не норме, не запускать основное ПО, а запустить обогреватель и еще вывести информацию на индикаторы. Все несколько строчек. И основное ПО в PRG на 200-300 как минимум пока.
Можно тупо добавить огромное IF-ELSE наверно в ту же PRG. Но красивее будет выглядеть типа
IF temperatureBoxRead > TEMPERATURE_THRESHOLD_FOR_PROGRAM_START THEN
// Основной код
PLC_PRG();
ELSE
// Обогрев и индикация температуры
END_IF
Но тут переменные привязанные к каналам модбаса и входам-выходам ПЛК используются в двух программах (индикация, температура, включение нагрева) Как их правильно поделить между двумя программами?
Декларировать их в GVL и дальше использовать в двух программах наверное не очень верно. Либо передавать их в качестве входных параметров в PLC_PRG. Тоже как-то криво и непонятно зачем
Я могу занудствовать, но я вот только недавно упоминал про фунционал Действий в программах.
У них переменные - как раз общие. То есть, что можно сделать:
1. Все переменные и то, что было, остаются в PLC_PRG
2. Делаем для PLC_PRG Действия типа DoWork и DoHeat (или как их там назвать).
3. В PLC_PRG пишем тот самый код, который ты ща и придумал =)
Вот кусок моего поста про Действия. Там изначально написано про Функциональные Блоки, но есть упоминание про Программы: https://cs-cs.net/funkciya-fun-i-funkcionalniy-blok-fb-codesys-owenlogic#6___fb (Заголовок 6).
Как правильней сделать...
Появилась необходимость разбить код на 2 программы, до этого все лупил в главной PLC_PRG
Ну как необходимость. Нужно при старте проверять температуру и при не норме, не запускать основное ПО, а запустить обогреватель и еще вывести информацию на индикаторы. Все несколько строчек. И основное ПО в PRG на 200-300 как минимум пока.
Можно тупо добавить огромное IF-ELSE наверно в ту же PRG. Но красивее будет выглядеть типа
IF temperatureBoxRead > TEMPERATURE_THRESHOLD_FOR_PROGRAM_START THEN
// Основной код
PLC_PRG();
ELSE
// Обогрев и индикация температуры
END_IF
Но тут переменные привязанные к каналам модбаса и входам-выходам ПЛК используются в двух программах (индикация, температура, включение нагрева) Как их правильно поделить между двумя программами?
Декларировать их в GVL и дальше использовать в двух программах наверное не очень верно. Либо передавать их в качестве входных параметров в PLC_PRG. Тоже как-то криво и непонятно зачем
А необходимость то какая? Сильно красивее не будет.
Да и странная логика получается - температура обратно упала (датчик поломался) - и всё, основная программа не вызывается?
Входа-выхода вроде по умолчанию глобальные, переменные модбас слейва - тоже
kondor3000
09.07.2024, 18:00
Как правильней сделать...
Но тут переменные привязанные к каналам модбаса и входам-выходам ПЛК используются в двух программах (индикация, температура, включение нагрева) Как их правильно поделить между двумя программами?
Декларировать их в GVL и дальше использовать в двух программах наверное не очень верно. Либо передавать их в качестве входных параметров в PLC_PRG. Тоже как-то криво и непонятно зачем
Только наоборот, другую программу надо вызывать из PLC_PRG по условию.
Программу можно переименовать, чтобы не переносить весь код, а PLC_PRG создать новую.
МихаилГл
09.07.2024, 18:06
Это же кодесис 3.5, чего вы к PLC_PRG так привязались...? Там таск манагер хоть на кучу подпрограмм, и можно несколько параллельных процессов.
МихаилГл Просьба режим НейроСети (отвечать невпопад по ключевым словам) выключить:
1. Он же пишет о том, что не хочет заводить разные программы, так как не хочет возиться с глобальными переменными.
2. Многозаданость в CDS 3.5 насколько опасная, что даже в официальных документах ОВЕН написано то, что НЕ НАДО крутить настройки задач и добавлять новые, если твёрдо не знаешь, что делаешь.
МихаилГл
09.07.2024, 18:53
Вы меня опять не поняли.
edvard_munch
10.07.2024, 11:29
Только наоборот, другую программу надо вызывать из PLC_PRG по условию.
Программу можно переименовать, чтобы не переносить весь код, а PLC_PRG создать новую.
Это типа чтобы в Main Task именно PLC_PRG была, а не программа с другим названием? Только в этом смысл, если я правильно понял.
Это так принципиально?
edvard_munch
10.07.2024, 11:30
МихаилГл Просьба режим НейроСети (отвечать невпопад по ключевым словам) выключить:
1. Он же пишет о том, что не хочет заводить разные программы, так как не хочет возиться с глобальными переменными.
Не то чтобы не хочу, просто стараюсь глобальные не использовать.
В данном случае, это возможно и нормально
edvard_munch
10.07.2024, 11:31
Всем спасибо, за советы, но пока не решил как сделаю)
МихаилГл
10.07.2024, 11:46
Не то чтобы не хочу, просто стараюсь глобальные не использовать.
В данном случае, это возможно и нормально
А я все в глобальные перенес, т.к. не люблю повторы переменных в разных подпрограммах, а во-вторых для использования возможности их изменения (например не глобальных из другой подпрограммы) приходится var_inp и var_out использовать, что очень сильно путает.
приходится var_inp и var_out использовать, что очень сильно путает. Можно пояснить, это о чём?
Это когда одна и та же переменная подаётся на VAR_INPUT и берётся с VAR_OUTPUT? Если так - то как такое вообще компилируется? Ведь у нормальных людей включена проверка множественной записи выходов.
Может, стоит использовать VAR_IN_OUT?
МихаилГл
10.07.2024, 13:21
Можно пояснить, это о чём?
Это когда одна и та же переменная подаётся на VAR_INPUT и берётся с VAR_OUTPUT? Если так - то как такое вообще компилируется? Ведь у нормальных людей включена проверка множественной записи выходов.
Может, стоит использовать VAR_IN_OUT?
Нет, я о том, что если переменная определена в первой подпрограмме как var, то в другой подпрограмме я ей не могу присвоить значение, пока ее не определю в область var_inp в первой программе. Мне проще сквозное наименование переменных из GVL применять, чем потом в своем же коде потеряться. Я не использую {}атрибуты, или как они там называются, вроде ими тоже можно чего то добиться, возможно и нет.
PS Т.е. у меня нет нигде ни VAR_INPUT, ни VAR_OUTPUT, ни VAR_IN_OUT. Только Var и Const в GVL.
Нет, я о том, что если переменная определена в первой подпрограмме как var, то в другой подпрограмме я ей не могу присвоить значение, пока ее не определю в область var_inp в первой программе. Мне проще сквозное наименование переменных из GVL применять, чем потом в своем же коде потеряться. Я не использую {}атрибуты, или как они там называются, вроде ими тоже можно чего то добиться, возможно и нет.
PS Т.е. у меня нет нигде ни VAR_INPUT, ни VAR_OUTPUT, ни VAR_IN_OUT. Только Var и Const в GVL.
Так вроде через имя подпрограммы с точкой можно обратиться к её переменным
kondor3000
10.07.2024, 14:34
Это типа чтобы в Main Task именно PLC_PRG была, а не программа с другим названием? Только в этом смысл, если я правильно понял.
Это так принципиально?
Это не принципиально, если вы знаете что делаете. Но те кто знает как сделать, не задаёт тут вопросов)
edvard_munch
10.07.2024, 14:37
Так вроде через имя подпрограммы с точкой можно обратиться к её переменным
Если она определена в облаcти VAR_INPUT же. На стандартные ругается при попытке обратиться из другой программы.
77180
Если она определена в облаcти VAR_INPUT же. На стандартные ругается при попытке обратиться из другой программы.
77180
если изучать КДС то можно, например как во вложении
МихаилГл
10.07.2024, 15:54
если изучать КДС то можно, например как во вложении
Указатели.. Так я ещё больше запутаюсь)
Если много такого, то где нибудь выхватишь ещё и утечку памяти. Не, я по старинке.
pppppppo_98
11.07.2024, 22:02
2. Насколько я понимаю, в нашей версии (19.07) OpenWRT ed25519 действительно не поддерживается (https://forum.openwrt.org/t/solved-dropbear-and-ed25519-keys-resolved-in-21-02/23539/6).
3.
77148
Странно как-то ..
Ибо
[root@plc210 ~]# ls -l /etc/dropbear/
total 12
-rw------- 1 root root 1153 Jul 9 07:16 authorized_keys
-rw------- 1 root root 83 May 21 22:16 dropbear_ed25519_host_key
-rw------- 1 root root 805 May 21 22:16 dropbear_rsa_host_key
то есть на уровне ключей хоста (создание траспортного канала ) ed25519 вроде как поддерживается, а на уровне аутентификации пользователя не поддерживается?
И еще один вопрос... Посмотрел тут директорию /etc ... Обнаружил директории rc.d и cron.*. Правильно ля я понимаю что туда можно писать пользовательские скрипты, и они не сотрутся при перезагрузке?
pppppppo_98
11.07.2024, 22:53
ну и еще один вопрос ... смотрю iproute2 есть .... А ss которая с ним в компании идет нет? Почему такой выбор?
Евгений Кислов
12.07.2024, 06:17
то есть на уровне ключей хоста (создание траспортного канала ) ed25519 вроде как поддерживается, а на уровне аутентификации пользователя не поддерживается?
Судя по всему - да.
Посмотрел тут директорию /etc ... Обнаружил директории rc.d и cron.*. Правильно ля я понимаю что туда можно писать пользовательские скрипты, и они не сотрутся при перезагрузке?
Можно.
у и еще один вопрос ... смотрю iproute2 есть .... А ss которая с ним в компании идет нет? Почему такой выбор?
iproute используется в некоторых компонентах, а в ss не было необходимости.
Я уже просил разработчиков, чтобы его добавили в следующей прошивке.
Здравствуйте! При работе с MV210-212 в Codesys 3.5 SP17 Patch 3 выводит ошибку 77222
Из-за чего может быть такая ошибка?
Евгений Кислов
12.07.2024, 12:04
Здравствуйте! При работе с MV210-212 в Codesys 3.5 SP17 Patch 3 выводит ошибку 77222
Из-за чего может быть такая ошибка?
Добрый день.
Судя по всему - у вас не установлена нужная версия пакета шаблонов Mx210.
Существует ли возможность скачивать более старые версии пакета шаблонов, например 3.5.11.8?
Евгений Кислов
12.07.2024, 13:25
Существует ли возможность скачивать более старые версии пакета шаблонов, например 3.5.11.8?
Конечно.
https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/01_Components/Mx210Templates_v3.5.11.8.package
Evgen Dnepr
12.07.2024, 18:05
У меня есть файл EDS ( с описанием модуля вход - вывод ). Могу я его конвертировать в файл ESI ?
Евгений Кислов
12.07.2024, 19:31
У меня есть файл EDS ( с описанием модуля вход - вывод ). Могу я его конвертировать в файл ESI ?
Добрый день.
С помощью CODESYS - не сможете.
Вообще, насколько я помню, эти форматы используются в разных протоколах (ESI - EtherCAT, EDS - CANopen, Ethernet/IP и др.).
Доброго всем времени суток, может глупая проблема, но поставила в тупик, Подключил Сп310 к ПЛК 200-01 по Ethernet, Панель мастером TCP, панель видит состояния модулей, считывает и записывает числовые значения в регистры плк, но не отображает через индикаторы состояния битов. Пробовал как в обучающем видео, пробовал через функциональные поле копировать во внутреннюю память СП и выводить, пробовал отображать биты(01), через регистры (04), создавал маски битов, нихочет и все. Раньше делал тоже самое только на PLK210 через RTU, все работало.
МихаилГл
16.07.2024, 19:15
Доброго всем времени суток, может глупая проблема, но поставила в тупик, Подключил Сп310 к ПЛК 200-01 по Ethernet, Панель мастером TCP, панель видит состояния модулей, считывает и записывает числовые значения в регистры плк, но не отображает через индикаторы состояния битов. Пробовал как в обучающем видео, пробовал через функциональные поле копировать во внутреннюю память СП и выводить, пробовал отображать биты(01), через регистры (04), создавал маски битов, нихочет и все. Раньше делал тоже самое только на PLK210 через RTU, все работало.
Приложили бы проекты. У меня, правда на 210м, оба протокола нормально работают. Может в настройках что напутали. И чтение это вроде 3х команда...
Поделите проблему пополам. До сп310 этот регистр с битами доходит или нет?
kondor3000
16.07.2024, 21:42
Доброго всем времени суток, может глупая проблема, но поставила в тупик, Подключил Сп310 к ПЛК 200-01 по Ethernet, Панель мастером TCP, панель видит состояния модулей, считывает и записывает числовые значения в регистры плк, но не отображает через индикаторы состояния битов. Пробовал как в обучающем видео, пробовал через функциональные поле копировать во внутреннюю память СП и выводить, пробовал отображать биты(01), через регистры (04), создавал маски битов, нихочет и все. Раньше делал тоже самое только на PLK210 через RTU, все работало.
Если есть передача целочисленного, значит по этому же адресу можно передать маску бит, надо только упаковать (распаковать) биты,
до 16 шт. в одном регистре.
До Сп310 доходит, меняя в контроллере включенные биты в регистре числовое значение меняется на панели, пробовал и собирать маску бит и передавать на панель. Может ли быть проблема в том, что подключаю кабелем напрямую плк-панель, а не через коммутатор ?
kondor3000
17.07.2024, 22:26
До Сп310 доходит, меняя в контроллере включенные биты в регистре числовое значение меняется на панели, пробовал и собирать маску бит и передавать на панель. Может ли быть проблема в том, что подключаю кабелем напрямую плк-панель, а не через коммутатор ?
Нет, проблема не в коммутаторе, вы бы скрины выложили лучше или проекты. Как биты упаковали, как передаёте в ПЛК, как настроили биты в панели.
Какая версия Codesys 3.5.
Добрый день, подскажите пожалуйста, что прописать нужно тут77416 чтобы читать регистры с мдвв 77417
Евгений Кислов
19.07.2024, 06:38
Добрый день, подскажите пожалуйста, что прописать нужно тут77416 чтобы читать регистры с мдвв 77417
Добрый день.
В поле "Сдвиг" пропишите "Адрес регистра DEC" из таблицы (прописывайте 0x).
В поле "Длина" - нужное кол-во регистров в запросе (каждый параметр типа Int16 занимает один регистр).
Например, для чтения счетчиков всех 12 входов: Сдвиг = 64, Длина = 12
Добрый день.
В поле "Сдвиг" пропишите "Адрес регистра DEC" из таблицы (прописывайте 0x).
В поле "Длина" - нужное кол-во регистров в запросе (каждый параметр типа Int16 занимает один регистр).
Например, для чтения счетчиков всех 12 входов: Сдвиг = 64, Длина = 12
Спасибо, только подскажите почему пишет Не обновлено ? 77419 и могу я принудительно повключать выхода? (ручками для проверки)
МихаилГл
19.07.2024, 07:08
Спасибо, только подскажите почему пишет Не обновлено ? 77419 и могу я принудительно повключать выхода? (ручками для проверки)
Обновлять переменные в цикле задачи шины (внизу справа) и иногда надо просто переоткрыть вкладку
Обновлять переменные в цикле задачи шины (внизу справа) и иногда надо просто переоткрыть вкладку
Спасибо) У меня вот что получается 77420 при включении к примеру канала 8 , включается только bit0 и выход на мдвв не загорается, не включается
МихаилГл
19.07.2024, 07:51
Спасибо) У меня вот что получается 77420 при включении к примеру канала 8 , включается только bit0 и выход на мдвв не загорается, не включается
Посмотрите внимательно руководство. Это точно выходные биты? На выход другая функция в конфигураторе опроса. Во-вторых пишите биты по контрл+ф7, а то по ф7 как то неправильно.
kondor3000
19.07.2024, 07:57
Спасибо) У меня вот что получается 77420 при включении к примеру канала 8 , включается только bit0 и выход на мдвв не загорается, не включается
Вы же читаете с адресов 0-7, а в них надо записывать число от 0 до 1000. 1000 это выход включен.
Лучше пользоваться масками входов и выходов, адреса 50 и 51
может вместо 1 надо 1000 записать, чтоб что то включилась
Вы же читаете с адресов 0-7, а в них надо записывать число от 0 до 1000. 1000 это выход включен.
Лучше пользоваться масками входов и выходов, адреса 50 и 51
Пишу 1000 тоже ничего не включается, лампочка на мдвв не загорается77421
kondor3000
19.07.2024, 08:08
Пишу 1000 тоже ничего не включается, лампочка на мдвв не загорается77421
Покажите какие каналы у вас в слейве забиты, какую функцию используете.
Покажите какие каналы у вас в слейве забиты, какую функцию используете.
Забит только 1 канал (Значение на выход №1 ) 77422 если я пробую забить другие каналы, то пишет, что шина не запущена 77423 это вот как раз маска выходов, адреса 50
77424
Евгений Кислов
19.07.2024, 08:20
Спасибо) У меня вот что получается 77420 при включении к примеру канала 8 , включается только bit0 и выход на мдвв не загорается, не включается
У вас настроена функция Read Holding Registers. С помощью нее можно только прочитать значения выходов.
Для записи используйте функцию Write Multiple Registers.
это вот как раз маска выходов, адреса 50
У вас задан не адрес 50, а адрес 0x0050. Это разные адреса.
У вас настроена функция Read Holding Registers. С помощью нее можно только прочитать значения выходов.
Для записи используйте функцию Write Multiple Registers.
У вас задан не адрес 50, а адрес 0x0050. Это разные адреса.
Блинн огромное спасибо)))
ВладОвен
20.07.2024, 09:59
привет.
подскажите, есть ли способ прямо в программе менять интервал запуска задачи?
77443
Николай Суриков
20.07.2024, 10:21
привет.
подскажите, есть ли способ прямо в программе менять интервал запуска задачи?
77443
Ставите выполнение задачи по событию и в программе вызываете это событие с необходимым вам интервалом.
ВладОвен
20.07.2024, 10:55
Спасибо за идею, конечно.
Но я хотел бы вызывать эту программу довольно часто (1000 раз в секунду) и менять частоту вызовов очень плавно (шагами по 5%).
Ваш метод не подойдет, потому как нужно будет создать супер задачу, которая сама будет работать с частотой примерно Х10. Это нереально.
А если прям в программе сделать фильтр вызовов с нужной скоростью?
Ну, большой-большой IF на весь код программы (или Действие) и свой таймер?
kondor3000
20.07.2024, 12:25
Спасибо за идею, конечно.
Но я хотел бы вызывать эту программу довольно часто (1000 раз в секунду) и менять частоту вызовов очень плавно (шагами по 5%).
Ваш метод не подойдет, потому как нужно будет создать супер задачу, которая сама будет работать с частотой примерно Х10. Это нереально.
Задачи можно вообще не использовать, а вызывать программу прямо из PLC_PRG с нужным периодом, который можно задать переменной и менять её.
Для вызова с периодом 1 ms, PLC_PRG тоже должен вызываться с периодом 1 ms. Период менять таймером.
Емельянов Кирилл
22.07.2024, 03:51
Подскажите, верно ли я понимаю, что если непосредственно в проект добавить ПОУ как на рисунке
77472
затем в конфигурации задач (или любым другим способом) вызывать это ПОУ на разных устройствах из проекта, то на этих устройствах мы получим копии этого "глобального" ПОУ. Подойдёт ли это для задач удобной отладки и масштабирования, когда, например, есть много ПЛК с идентичными проектами, но разными сетевыми настройками, работающие в одной сети.
Какое вообще штатное назначение этих "глобальных" ПОУ?
Евгений Кислов
22.07.2024, 06:16
Подойдёт ли это для задач удобной отладки и масштабирования, когда, например, есть много ПЛК с идентичными проектами, но разными сетевыми настройками, работающие в одной сети.
Да.
Какое вообще штатное назначение этих "глобальных" ПОУ?
Именно такое, какое вы описали. На этой вкладке размещаются объекты, которые будут доступны для использования в приложениях всех контроллеров, добавленных в проект.
Добрый день. Мне нужно повторить проект сделанный в TIA Portal (ПЛК1200) на СПК1хх [М01] с модулями М110. В Тиа реализован ООП подход: есть ФБ с программой и есть десяток экземпляров блоков данных "привязанных" к ФБ. Очень удобно, чтобы не плодить кучу кода при работе типового оборудования (вроде насосов, например). Сейчас сел за Codesys 3.5 и с ходу не нашёл подобной возможности. Прошу подсказать где поискать и как это здесь правильно реализуется.
Как вариант, буду писать функцию и вызывать её со ссылкой на разные структуры данных, если нет блоков данных, которые можно подтягивать к выполнению ФБ.
Евгений Кислов
22.07.2024, 11:46
Добрый день. Мне нужно повторить проект сделанный в TIA Portal (ПЛК1200) на СПК1хх [М01] с модулями М110. В Тиа реализован ООП подход: есть ФБ с программой и есть десяток экземпляров блоков данных "привязанных" к ФБ. Очень удобно, чтобы не плодить кучу кода при работе типового оборудования (вроде насосов, например). Сейчас сел за Codesys 3.5 и с ходу не нашёл подобной возможности. Прошу подсказать где поискать и как это здесь правильно реализуется.
Добрый день.
В CODESYS V3.5 экземплярность реализуется на уровне ФБ.
Т.е. каждый экземпляр ФБ получает свой отдельный "блок данных".
Я вам на почту отправил статью, которую наш отдел рекламы планировал опубликовать в относительно ближайшее время.
77481
BASIC.ONTIME - это имя ФБ, а fbOntime - имя его экземпляра.
Можно объявить fbOntime_2, fbOntime_3 и т. п. - и это будут отдельные экземпляры, данные которых не будут пересекаться.
Или можно сразу объявить массив из них:
afbOntime: ARRAY [1..3] OF BASIC.ONTIME;
Я вам на почту отправил статью, которую наш отдел рекламы планировал опубликовать в относительно ближайшее время.
Статью получил, читаю, изучаю. Спасибо!
sssssaaaaabbbbb
22.07.2024, 14:37
Здравствуйте, подскажите, как так драйвер не найден на ПЛК 210?77493 77494
sssssaaaaabbbbb
22.07.2024, 14:45
если сравнить через web-браузер модель плк соответствует?
Не прав, мой косяк.
edvard_munch
22.07.2024, 15:49
Подскажите, какие могут быть причины что CDS не подключается к контоллеру по Ethernet?
IP контроллер получает по DHCP, пингуется с ПК, есть связь через WEB-конфигуратор.
Но при вводе данного IP на странице Device пишет что устройство не отвечает.
Scan Network его не находит. Но также не находит и при подключении через USB. Но, отлично подключается когда адрес девайса введен напрямую.
Gateway стандартный: localhost, 1217.
Евгений Кислов
22.07.2024, 15:58
Подскажите, какие могут быть причины что CDS не подключается к контоллеру по Ethernet?
IP контроллер получает по DHCP, пингуется с ПК, есть связь через WEB-конфигуратор.
Но при вводе данного IP на странице Device пишет что устройство не отвечает.
Scan Network его не находит. Но также не находит и при подключении через USB. Но, отлично подключается когда адрес девайса введен напрямую.
Gateway стандартный: localhost, 1217.
Основная причина - в локальной сети или на ПК заблокирован UDP broadcast.
edvard_munch
22.07.2024, 16:02
Основная причина - в локальной сети или на ПК заблокирован UDP broadcast.
А это не дает подключиться, даже если вводить IP адрес руками, а не сканировать сеть?
Видел это в документации, но там сказано что при ручном вводе вроде бы не мешает.
Евгений Кислов
22.07.2024, 16:19
А это не дает подключиться, даже если вводить IP адрес руками, а не сканировать сеть?
Видел это в документации, но там сказано что при ручном вводе вроде бы не мешает.
При ручном вводе это не мешает. И вы выше пишете:
Но, отлично подключается когда адрес девайса введен напрямую.
Это что касается USB.
По поводу подключения по Ethernet - если вообще не удается подключиться, то, возможно, в локальной сети заблокирован порт 11740.
Или же вы подключили контроллер к сети через интерфейс, на котором настроен межсетевой экран - в нем по умолчанию запрещен доступ из CODESYS.
Evgen Dnepr
23.07.2024, 09:23
Я добавил в Codesys 3.5 новое устройство PChV3_M01 ( частотный преобразователь ПЧВ3 ).
Файл PChV3_M01_ECAT.xml для ПЧВ3 я скачал с сайта Овен.
Теперь мне нужен файл xml для платы расширения Овен ПЭ1 ( это даст возможность считывать импульсы подключенного к этой плате энкодера ) ?77517
Евгений Кислов
23.07.2024, 09:54
Я добавил в Codesys 3.5 новое устройство PChV3_M01 ( частотный преобразователь ПЧВ3 ).
Файл PChV3_M01_ECAT.xml для ПЧВ3 я скачал с сайта Овен.
Теперь мне нужен файл xml для платы расширения Овен ПЭ1 ( это даст возможность считывать импульсы подключенного к этой плате энкодера ) ?77517
Насколько я знаю, никакого xml-файла для ПЭ1 не существует.
ВладОвен
23.07.2024, 16:03
Привет.
Подскажите в чем проблема.
Проект в среде Codesys компилировался без проблем и работал нормально.
Но после пересохранения и перезагрузки ИДЕ возникают ошибки. См. фото.
77528
Почему так? Что делать?
Наверное, хехе, в файле проекта. Плохо сохранился. Надо достать из предыдущей резервной копии.
можно ли открыть проект созданный в CoDeSys 3.5 SP17 в версии ниже напр SP16 - 14?
Евгений Кислов
27.07.2024, 08:23
можно ли открыть проект созданный в CoDeSys 3.5 SP17 в версии ниже напр SP16 - 14?
Добрый день. Нет.
ВладОвен
29.07.2024, 14:33
Наверное, хехе, в файле проекта. Плохо сохранился. Надо достать из предыдущей резервной копии.
Я ничего не понял. Можешь написать по-человечески?
Я ничего не понял. Можешь написать по-человечески? Да, конечно.
1. Файл проекта CodeSys 3.5 представляет собой ZIP-архив с кучей данных внутри: таблица строк - отдельно, объекты отдельно, и всякие модули или библиотеки - отдельно в виде вложенных ZIP-архивов.
2. Возможно, при сохранении проект частично повредился (на форуме известен случай, когда у чела портился файл проекта при автосохранении в спящем режиме), и таблица строк - названий объектов и переменных - сохранилась криво.
3. Поможет восстановление из резервной копии. Если она была (а их НАДО делать), на что и был направлен лёгкий сарказм.
МихаилГл
29.07.2024, 16:14
Вроде зип архив это только когда проект целиком с библиотеками сохраняешь, а так это кодированное чудо юдо. По крайней мере неделю назад я это так увидел, когда надо было проверить кое что.
Вроде зип архив это только когда проект целиком с библиотеками сохраняешь, а так это кодированное чудо юдо. По крайней мере неделю назад я это так увидел, когда надо было проверить кое что. Ну открой файл .Project как ZIP-архив, и увидишь внутренности. Снова нейросетишь невпопад.
МихаилГл
29.07.2024, 17:18
Ну открой файл .Project как ZIP-архив, и увидишь внутренности. Снова нейросетишь невпопад.
Я же говорю, неделю назад пробовал. Правда через фар манагер без переименования плагином. А вот архив который с библиотеками открылся. Попробую, конечно.
А ваша подколы про нейросеть вам не надоели? Я даже не пойму к чему вы это постоянно говорите...
МихаилГл Это не подколки. А констатация факта: 90% ответов на этом форуме даются невпопад.
Проект может быть зашифрован. Тогда не откроется. В любом случае нужны резервные копии.
МихаилГл
29.07.2024, 19:58
МихаилГл Это не подколки. А констатация факта: 90% ответов на этом форуме даются невпопад.
Проект может быть зашифрован. Тогда не откроется. В любом случае нужны резервные копии.
Я не шифрую свои проекты. Завтра еще раз попробую, и видео выложу, с любым результатом.
МихаилГл
30.07.2024, 04:37
МихаилГл Это не подколки. А констатация факта: 90% ответов на этом форуме даются невпопад.
Проект может быть зашифрован. Тогда не откроется. В любом случае нужны резервные копии.
А вот и доказательства моих предыдущих слов.
Сам проект не является zip архивом, у него даже первые символы файла не стандартные "PK...".
И кто из нас невпопад тут пишет?
И кто из нас невпопад тут пишет?
Кто? МихаилГл. Во вложении же не проект, а mkv-файл. Это видеофайл. Как можно видеофайл перепутать с файлом проета CodeSys?! Это днище пробито уже.
Мне иногда кажется, что кто-то что-то пытается всем доказать и влезть в каждую тему не по теме (например, про стирание проекта в ПЛК Роквелл в теме про ПЛК110). Обычно это следствие подросткового максимализма и желания самоутвердиться. Это нормально. Но невпопад. Поэтому нейросеть.
Николай Суриков
30.07.2024, 09:39
Кто? МихаилГл. Во вложении же не проект, а mkv-файл. Это видеофайл. Как можно видеофайл перепутать с файлом проета CodeSys?! Это днище пробито уже.
Мне иногда кажется, что кто-то что-то пытается всем доказать и влезть в каждую тему не по теме (например, про стирание проекта в ПЛК Роквелл в теме про ПЛК110). Обычно это следствие подросткового максимализма и желания самоутвердиться. Это нормально. Но невпопад. Поэтому нейросеть.
Так докажите что .project открывается как архив, приложите скриншот со структурой архива.
МихаилГл
30.07.2024, 10:05
Я не шифрую свои проекты. Завтра еще раз попробую, и видео выложу, с любым результатом.
А вот и доказательства моих предыдущих слов.
Сам проект не является zip архивом, у него даже первые символы файла не стандартные "PK...".
И кто из нас невпопад тут пишет?
Кто? МихаилГл. Во вложении же не проект, а mkv-файл. Это видеофайл. Как можно видеофайл перепутать с файлом проета CodeSys?! Это днище пробито уже.
Мне иногда кажется, что кто-то что-то пытается всем доказать и влезть в каждую тему не по теме (например, про стирание проекта в ПЛК Роквелл в теме про ПЛК110). Обычно это следствие подросткового максимализма и желания самоутвердиться. Это нормально. Но невпопад. Поэтому нейросеть.
Я кажется писал, что выложу видео процесса. Вы к сожалению неадекватны. Буду вас впредь игнорировать.
Так докажите что .project открывается как архив, приложите скриншот со структурой архива.
Пожалуйста. Вот. 77690
ВАЖНО: В этом случае проект НЕ должен быть зашифрован средствами CodeSys. Он тогда занимает чуть больше места, но в случае повреждений есть шанс его восстановить как ZIP-архив (например, если заголовок архива повредится).
МихаилГл Ага!!! Я сделал так же, как и ты: подменял понятия, смешивал данные из правды и ерунды вместе. Не нравится? То-то же. За это я тебя нейросетью и прозвал.
МихаилГл
30.07.2024, 10:08
Так докажите что .project открывается как архив, приложите скриншот со структурой архива.
Есть такие проекты, но похоже они в профессиональной версии кодесиса сделаны, или еще в какой модификации, так как у меня есть 2 скачанных таких проекта, и у них в редакторе "PK..." присутствует. Но ни один мною созданный проект стандартного овеновского кодесиса не сохраняет проект как архив.
МихаилГл
30.07.2024, 10:23
Пожалуйста. Вот. 77690
ВАЖНО: В этом случае проект НЕ должен быть зашифрован средствами CodeSys. Он тогда занимает чуть больше места, но в случае повреждений есть шанс его восстановить как ZIP-архив (например, если заголовок архива повредится).
МихаилГл Ага!!! Я сделал так же, как и ты: подменял понятия, смешивал данные из правды и ерунды вместе. Не нравится? То-то же. За это я тебя нейросетью и прозвал.
Я помню как ты ТС девушку чуть до истерики не довел, когда несколько раз просил дать скрины параметров настройки входов/выходов (вроде про них было), при чем у нее это было выложено стазу в первом посте при задании вопроса...
А вот и тема: https://owen.ru/forum/showthread.php?t=39481
Особенно порадовало вот это:
https://owen.ru/forum/showthread.php?t=39481&p=434741&viewfull=1#post434741
Николай Суриков
30.07.2024, 10:36
Пожалуйста. Вот. 77690
ВАЖНО: В этом случае проект НЕ должен быть зашифрован средствами CodeSys. Он тогда занимает чуть больше места, но в случае повреждений есть шанс его восстановить как ZIP-архив (например, если заголовок архива повредится).
Да, действительно, спасибо.
Есть такие проекты, но похоже они в профессиональной версии кодесиса сделаны, или еще в какой модификации, так как у меня есть 2 скачанных таких проекта, и у них в редакторе "PK..." присутствует. Но ни один мною созданный проект стандартного овеновского кодесиса не сохраняет проект как архив.
Оказывается да, открывается как архив, если установлено в настройках проекта Без защиты"
77691
МихаилГл
30.07.2024, 10:48
Да, действительно, спасибо.
Оказывается да, открывается как архив, если установлено в настройках проекта Без защиты"
77691
Да, и это не установка по умолчанию, похоже. Но это и не шифрование, а проверка целостности, и файл не зашифрован... Или я должен не верить кодесису:
"Файл проекта сохранен в закрытом формате, и его целостность будет проверяться каждый раз при загрузке проекта. Это может быть несовместимо со старыми версиями системы программирования.
Учтите, что файл проекта не зашифрован. Для лучшей защиты своих данных примените одну из функций шифрования."
PS Частично был не прав, но... "Но" все таки присутствует.
Отвечаю сразу всем.
Николай Суриков Ага. Вот! Да. Я сохраняю без защиты, так как так удобнее исправлять повреждённый файл, если что случится. Вероятность того, что он корректно исправится, около 1..5%, но всё же есть.
Ещё можно поправить шаблоны проектов CodeSys, которые от ОВЕНа идут. Открыть их и выставить "Без защиты".
МихаилГл Попробуем уладить конфликт.
Мои претензии и нападки про нейросеть связаны с тем, что с тех пор, как ты появился на этом форуме, ты в 2/3 случаев пишешь невпопад. То про какие-то личные опыты, не относящиеся к теме, то про другие контроллеры в непрофильных темах, то как здесь: НЕ разобрался, напал на меня, пытался что-то доказать, а почитать документацию от ОВЕНа или зайти в настройки проекта - не захотел.
Обзываю я тебя нейросетью из-за такого поведения. Вот та же тема с "девушкой". Ты говоришь, что настройки со скриншотов указаны в первом сообщениии её темы.
Однако на скриншоте указан тип датчика 4..20 мА и масштабирование от 0 до 100 с временем фильтрма, равным нулю. Это - стандартные настройки канала.
Так каа наам не сказали, что датчик давления у неё от 0 до 100 МПа (или bar или атмосфер или Паскалей) - то делаем вывод, что настроек НЕ сделано.
Также там нет схемы включения датчика или описания её.
Однако ты видишь скриншот и делаешь вывод что если скриншот есть - то значит настройки указаны.
Что это, как не поверхностность, пофигизм и желание стать каждой бочке затычкой?
МихаилГл
30.07.2024, 11:31
Мне в той теме было достаточно того, что датчик настроен на отображение от 0 до 100 процентов. Никогда не использовал на ОФ метров, барров и пр.
Ага. И вот если это рассуждение умышленно умолчать - то я окажусь виноват. А если в той теме пояснить - то обсуждение пошло бы в другую сторону.
Так вот, собственно, я как раз сейчас с проектом так и сделал: умолчал, передёрнул и подогнал результат. Удивлён, что это вызвало такую реакцию.
mityaykaa
30.07.2024, 22:24
Добрый вечер!
Начал изучение Codesys, создал простую программу, чтобы понять, как в целом работает программа тестирования.
Подключил виртуальный контроллер успешно, запустил программу.
Как можно менять значения переменных, чтобы получить единицу на выходе y, к примеру?
МихаилГл
31.07.2024, 04:40
Добрый вечер!
Начал изучение Codesys, создал простую программу, чтобы понять, как в целом работает программа тестирования.
Подключил виртуальный контроллер успешно, запустил программу.
Как можно менять значения переменных, чтобы получить единицу на выходе y, к примеру?
Ctrl + F7 - записать переменные
PS: смотрите внимательно это меню, тут много полезного
77716
Добрый день.
Проект разрабатывался под CODESYS 3.5.17.3.
СПК110 закупался в этом году (дата выпуска 16.09.2022) и оказался с ядром CODESYS 3.5.14.3. Можно ли перепрошить СПК до 3.5.17.3?
Можно, но пошагово, сначала на sp16. И патчи в конце накатить не забудьте, без них тупить будет. Так же в конце проверьте что overlayfs не смонтировался на /tmp/root иначеин астройки не будут запоминаться
lirik_divine
31.07.2024, 09:32
Добрый день. Перепрошить СПК до 3.5.17 возможно. Для этого вам сначала нужно перепрошить СПК с версиии прошивки 1.2.xxxx.xxxx до 1.3.xxxx.xxxx, а после с 1.3.xxxx.xxxx до 2.x.xxxx.xxxx. Все версии и инструкции по установке можете найти по следующей ссылке: https://owen.ru/forum/showthread.php?t=33954
Проблемы с которыми можно столкнуться при перепрошивке и их решение: https://owen.ru/forum/showthread.php?t=36852
Можно, но пошагово, сначала на sp16. И патчи в конце накатить не забудьте, без них тупить будет. Так же в конце проверьте что overlayfs не смонтировался на /tmp/root иначеин астройки не будут запоминаться
Спасибо за ответ. Полагаю будет проще и надежнее переписать проект на 3.5.14.3.
МихаилГл
31.07.2024, 11:44
Спасибо за ответ. Полагаю будет проще и надежнее переписать проект на 3.5.14.3.
Только если использовали работу с модбас устройствами обратите внимание, что понадобится переставить биты в регистрах...
Только если использовали работу с модбас устройствами обратите внимание, что понадобится переставить биты в регистрах...
Поясните, пожалуйста, почему.
МихаилГл
31.07.2024, 12:48
Добрый день. Перепрошить СПК до 3.5.17 возможно. Для этого вам сначала нужно перепрошить СПК с версиии прошивки 1.2.xxxx.xxxx до 1.3.xxxx.xxxx, а после с 1.3.xxxx.xxxx до 2.x.xxxx.xxxx. Все версии и инструкции по установке можете найти по следующей ссылке: https://owen.ru/forum/showthread.php?t=33954
Проблемы с которыми можно столкнуться при перепрошивке и их решение: https://owen.ru/forum/showthread.php?t=36852
Поясните, пожалуйста, почему.
https://owen.ru/forum/showthread.php?t=33954&p=365509&viewfull=1#post365509
Это для 16 версии...
4. Баги в компоненте Modbus TCP Slave Device
Первый "баг" связан с тем, что изменился порядок байт для битовых функций (независимо от состояния галочки Дискретные битовые области). То есть если мастер-устройство запрашивает состояние 0-го бита с помощью функции 0x01 или 0x02 – то фактически будет возвращено состояние 8-го бита (и наоборот).Аналогично обстоит дело и с записью бит функциями 0x05 и 0x0F. Разработчики CODESYS осознанно внесли это изменение и не планируют устранять его.
Второй баг заключается в том, что ПЛК теперь корректно обрабатывает запросы на чтение бит только в том случае, если начальный адрес в запросе равен адресу начального бита в байте (т.е. 0, 7, 15 и т.д.). При других начальных адресах слэйв возвращает условно-произвольный набор бит. Этот баг исправлен в SP17 (CDS-73638).
mityaykaa
31.07.2024, 22:23
Добрый вечер
Подскажите, пожалуйста, где можно задать адреса переменных для определенного входа/выхода ПЛК?
И правильно ли я делаю, если мне нужно написать проект на LD, я в дереве создаю новый POU и выбираю нужный язык?
Если есть литература, касаемо использования LD в CoDeSys для Овен, буду признателен.
МихаилГл
31.07.2024, 22:39
Слева в ветке PLC200-01, там входа/выхода ищите
kondor3000
01.08.2024, 09:25
Добрый вечер
Подскажите, пожалуйста, где можно задать адреса переменных для определенного входа/выхода ПЛК?
И правильно ли я делаю, если мне нужно написать проект на LD, я в дереве создаю новый POU и выбираю нужный язык?
Если есть литература, касаемо использования LD в CoDeSys для Овен, буду признателен.
Не занимайтесь ерундой, изучайте ST и пишите на нём. В крайнем случае, язык ST можно перевести в LD и посмотреть как это выглядит.
Язык выбирается при создании нового POU. Все примеры на сайте сделаны на ST и CFC.
sco-scorpion
01.08.2024, 12:43
Добрый день, подскажите как конвертировать тип данный из real в uint?
Ситуация следующая получаю данные в uint преобразую в real провожу операции и обратно перевожу в uint
a: uint
b: real
c: uint
b:= Uint_to_real(a);
.....
c:= real_to_uint(b)
кодесис ругается на такой код
Николай Суриков
01.08.2024, 13:08
А на что именно ругается? 77757
77759
kondor3000
01.08.2024, 13:36
Добрый день, подскажите как конвертировать тип данный из real в uint?
Ситуация следующая получаю данные в uint преобразую в real провожу операции и обратно перевожу в uint
кодесис ругается на такой код
В конце точки с запятой нет, а так код рабочий.
Здравствуйте!
Подскажите, как округлить значения в таблице до значения, чтоб была одна значащая цифра у температуры (после запятой) и целые значения у давления без запятых (СПК107, модули ввода/вывода МВ110-224.8А, работа по шаблону, Модбас). Где настроить, чтоб было округление или программно нужно обрабатывать, не соображу что-то, давно делал? Если программно – подскажите алгоритм. Смотреть столбцы с P1 фильт и Т1_посл.
kondor3000
02.08.2024, 15:00
Здравствуйте!
Подскажите, как округлить значения в таблице до значения, чтоб была одна значащая цифра у температуры (после запятой) и целые значения у давления без запятых (СПК107, модули ввода/вывода МВ110-224.8А, работа по шаблону, Модбас). Где настроить, чтоб было округление или программно нужно обрабатывать, не соображу что-то, давно делал? Если программно – подскажите алгоритм. Смотреть столбцы с P1 фильт и Т1_посл.
Написать %3.1f это 3 знака до запятой и 1 знак после.
Где написать? Это не прямоугольник примитив, это таблица.
kondor3000
02.08.2024, 15:12
Где написать?
Где вы вывод текста настраивали в таблице, что ставили ?
Типа %s или %d, там надо поставить %3.1f
Не нашел. В примитиве Таблица у нас ведь работа с массивом данных идет (см. как пример настройки на стр. 229 том "Визуализация"), тут вроде нет такого, чтоб написать %3.1f. Может я и ошибаюсь, но что-то нет не найду.
МихаилГл
02.08.2024, 16:09
Не нашел. В примитиве Таблица у нас ведь работа с массивом данных идет (см. как пример настройки на стр. 229 том "Визуализация"), тут вроде нет такого, чтоб написать %3.1f. Может я и ошибаюсь, но что-то нет не найду.
Если нет такой настройки, то можно программно:
Умножить на 100
Реал ту инт
Инт ту реал
Разделить на 100
Обрезка до сотых... И так по аналогии
Или в строку:
Переменная:=(инттуреал(реалтуинт(стараяпеременная* 100))/100
Благодарю Вас за ответ, у меня проект состоит из двух POU (программ). В первой проге POU (он создан на CFC), ее создал для быстрого отображения данных (REAL, BOOL) в графических примитивах на экране СПК107, там переменные привязаны к входам/ выходам и примитивам. А другая POU_PRG – там у меня таблица с данными. Так вот, я из первой проги, делаю перевод своих данных (REAL, BOOL см. внизу картинку) через специальный механизм.
kondor3000
02.08.2024, 18:00
Благодарю Вас за ответ, у меня проект состоит из двух POU (программ). В первой проге POU (он создан на CFC), ее создал для быстрого отображения данных (REAL, BOOL) в графических примитивах на экране СПК107, там переменные привязаны к входам/ выходам и примитивам. А другая POU_PRG – там у меня таблица с данными. Так вот, я из первой проги, делаю перевод своих данных (REAL, BOOL см. внизу картинку) через специальный механизм.
Можете создать универсальную функцию fRAUND и вставлять куда надо, обрезая нужное кол-во знаков 77792
FUNCTION fRAUND : REAL
VAR_INPUT
in : REAL;
N : INT;
END_VAR
VAR
X: REAL;
DECADES : ARRAY[0..8] OF REAL :=[1.0,10.0,100.0,1000.0,10000.0,10000.0,100000.0,100 0000.0,10000000.0];
END_VAR
__________________________________________________ ____________
X :=DECADES[LIMIT(0,N,8)];
fRAUND := DINT_TO_REAL(REAL_TO_DINT(in * X)) / X;
Еще раз здравствуйте! Продолжаю бороться с цифрами после запятой. Смотри файл. Это все продолжение моей эпопеи.
Евгений Кислов
06.08.2024, 09:04
Еще раз здравствуйте! Продолжаю бороться с цифрами после запятой. Смотри файл. Это все продолжение моей эпопеи.
Добрый день.
Напишите, пожалуйста, мне в телеграм (в подписи) или на support@owen.ru
Задумкин Сергей
06.08.2024, 16:26
Добрый день
При создании пользовательской библиотеки используются сторонние библиотеки (Standard, OwenTypes, OwenString). Можно ли сделать так, чтобы при обращении к пользовательской библиотеки через префикс не были доступны элементы сторонних библиотек (всякие там таймеры, триггеры и т.п.)?
Евгений Кислов
06.08.2024, 16:30
Добрый день
При создании пользовательской библиотеки используются сторонние библиотеки (Standard, OwenTypes, OwenString). Можно ли сделать так, чтобы при обращении к пользовательской библиотеки через префикс не были доступны элементы сторонних библиотек (всякие там таймеры, триггеры и т.п.)?
Добрый день.
Насколько я знаю - такой возможности нет.
ВладОвен
07.08.2024, 12:54
как округлить значения в таблице до значения, чтоб была одна значащая цифра у температуры (после запятой) и целые значения у давления без запятых
В таблице для нужного столбца использовать шаблон, а там сделать формат текста для дробных чисел %1.2f
См. рисунок:
77871
Настроил таблицу. Пока ничего
На РС пока нет инета, нужны согласования. Поэтому все так долго.
Карбофос
09.08.2024, 09:45
Добрый день!
Немного запутался. CDS 3.5.17.3, новая установка, поставил последние таргеты на СПК1хх и СПК210. Создаю новый проект, вижу в шаблонах "SPK110", "SPK107", "SPK1xx". Чем отличаются первые два от третьего? Раньше был только "SPK1xx".
77929
77930
77931
Подозреваю, что разрешением экрана, верно?
Евгений Кислов
09.08.2024, 09:45
Добрый день.
Подозреваю, что разрешением экрана, верно?
Именно так. Других отличий нет.
Карбофос
09.08.2024, 09:54
Чтобы убрать "SPK1xx", дабы он не путался под ногами, достаточно удалить из каталога "Templates" эти два файла, или еще что-то нужно сделать?
77933
Евгений Кислов
09.08.2024, 09:56
Чтобы убрать "SPK1xx", дабы он не путался под ногами, достаточно удалить из каталога "Templates" эти два файла, или еще что-то нужно сделать?
77933
Да. Фактически - достаточно удалить только .template.
Карбофос
09.08.2024, 09:57
Ясно, спасибо!
Здравствуйте! Отключили питание модулей ввода/вывода. На экране визуализации остались последние значения (не сбросились последние данные). Как стандартными средствами настроить пропадание связи и выводить последние актуальные значения на СПК107? Или придется писать программу, по контролю скан цикла? Есть готовые решения (модули ввода вывода МВ110 настроены по шаблону). Основная программа на языке CFC.
Евгений Кислов
13.08.2024, 18:13
Добрый день.
Как стандартными средствами настроить пропадание связи и выводить последние актуальные значения на СПК107?
На экране визуализации остались последние значения (не сбросились последние данные).
Судя по вашим словам - всё уже работает так, как вам надо. Или вы имели в виду что-то другое?
Добрый день, всем. Прошу помочь в следующей ситуации. Написал программу и визуализацию, оставил не выключенным компьютер, ночью комп выключился (пропало питание). при включении и запуске КС я увидел проект без дописанной визуализации, со старыми ошибками, которые точно исправлял. Хотя, при запуске он мне предложил два варианта: просто КС 3.5.17 или такой же + плюс что-то там длинное дописано, я не очень по англицки понимаю. Возможно, предлагал открыть сохранённую версию.Не, дописано было Composer Dedica... видимо, не то, совсем, что я думал.
Может можно где-то найти последние изменения?
Причём, я параноик, я несколько раз нажимал кнопку сохранить перед тем, как закончил работу.
kondor3000
14.08.2024, 15:00
Добрый день, всем. Прошу помочь в следующей ситуации. Написал программу и визуализацию, оставил не выключенным компьютер, ночью комп выключился (пропало питание). при включении и запуске КС я увидел проект без дописанной визуализации, со старыми ошибками, которые точно исправлял. Хотя, при запуске он мне предложил два варианта: просто КС 3.5.17 или такой же + плюс что-то там длинное дописано, я не очень по англицки понимаю. Возможно, предлагал открыть сохранённую версию.
Сейчас уже не предлагает. Может можно где-то найти последние изменения?
Причём, я параноик, я несколько раз нажимал кнопку сохранить перед тем, как закончил работу.
Вы случайно не удаляете дополнительные файлы, которые создаёт Codesys 3.5 ? Обычно в них все изменения проекта записаны. Их не надо удалять.
И ещё Codesys 17.3 устанавливать лучше с сайта Овен, он русифицирован.
И ещё, привыкайте делать резервные копии и не одного проекта, а каждой новой версии этого проекта.
Вы случайно не удаляете дополнительные файлы, которые создаёт Codesys 3.5 ? Обычно в них все изменения проекта записаны. Их не надо удалять.
И ещё Codesys 17.3 устанавливать лучше с сайта Овен, он русифицирован.
И ещё, привыкайте делать резервные копии и не одного проекта, а каждой новой версии этого проекта.
Спасибо за ответ. Конечно, не удаляю. КС с сайта овен. Сейчас есть варианты что-то найти и восстановить из кэша, может быть, или ещё как-то?
kondor3000
14.08.2024, 15:18
Спасибо за ответ. Конечно, не удаляю. КС с сайта овен. Сейчас есть варианты что-то найти и восстановить из кэша, может быть, или ещё как-то?
Теперь вряд ли, по ходу вам предлагали открыть восстановленную копию, а вы отказались.
Пока у вас все в памяти, допишите проект заново и делайте копии каждой версии проекта.
А как в Codesys v3.5 в открытом проекте поменять текущий язык ST в PLC_PRG на CFC?
МихаилГл
14.08.2024, 17:43
А как в Codesys v3.5 в открытом проекте поменять текущий язык ST в PLC_PRG на CFC?
Самое простое, переименуй и создай новый pou на нужном языке. Зачем вы ищите сложные пути.
Самое простое, переименуй и создай новый pou на нужном языке. Зачем вы ищите сложные пути.
Я до этого работал только с v2.3 думал разница между ними небольшая. Хотел создать проект с виртуальным контроллером на языке CFC и подключить к нему через RS485 ПЧ, а через ethernet СП310. Но если создаю проект с нуля непонятно как добавить ethernet и rs485, а если готовый открываю, то не даёт сменить ST на CFC)
kondor3000
15.08.2024, 13:44
Я до этого работал только с v2.3 думал разница между ними небольшая. Хотел создать проект с виртуальным контроллером на языке CFC и подключить к нему через RS485 ПЧ, а через ethernet СП310. Но если создаю проект с нуля непонятно как добавить ethernet и rs485, а если готовый открываю, то не даёт сменить ST на CFC)
Если нет выбора языка, значит не правильно установили CDS 3.5 17 SP3, переустановите как на видео https://www.youtube.com/watch?v=3KcJWZEVXCg&t=12s
Настройки ПЛК мастера для связи, есть на видео https://www.youtube.com/watch?v=77fdfnfdJME
Для виртуального ПЛК всё тоже самое, только номер СОМ порта, указываете куда подключён переходник.
Но если создаю проект с нуля непонятно как добавить ethernet и rs485
Так это... в дереве проекта на Устройстве (могу путать: или на Приложении) правой кнопкой, выбрать "Добавить объект" - и там уже искать Ethernert или COMx или RS-485x. Это добавит интерфейс. Под него - протокол. А под протокол - устройства.
Здравствуйте. Фирма занимающаяся пуско наладкой передала нам актуальный проект. При октрытии их актуального проекта и попытки соединиться с контроллером возникает окно предупреждения что проект был измнен. Фирма ссылается что проект не меняли и это окно возникает из за того что я соединяюсь не с их копмьютера а со своего, то есть из за того что разные комьютеры вот такая ошибка. Прошу вас подсказать действительно ли так, то что разные компьютеры влияют на соединение с контроллером????????????????????????
прилагаю картинку 78035
Евгений Кислов
16.08.2024, 08:48
Здравствуйте. Фирма занимающаяся пуско наладкой передала нам актуальный проект. При октрытии их актуального проекта и попытки соединиться с контроллером возникает окно предупреждения что проект был измнен. Фирма ссылается что проект не меняли и это окно возникает из за того что я соединяюсь не с их копмьютера а со своего, то есть из за того что разные комьютеры вот такая ошибка. Прошу вас подсказать действительно ли так,то что разные компьютеры влияют на соединение с контроллером????????????????????????
прилагаю картинку 78035
В целом, это действительно так.
Чуть больше скучных подробностей: https://youtu.be/9S4-RUhykco?si=YiZdRlB4btxE_naK
vitalij И от меня ответ текстом. Это МОЖЕТ быть версия, а может быть и не так. В общем, я душню сразу на все случаи.
Среда CodeSys вместе с файлом проекта .project сохраняет в ту же папку ещё несколько служебных файлов.
В них содержится информация о компиляции проекта (файл .compileinfo и другие).
Если этих файлов рядом с папкой проекта нет - CodeSys будет считать, что проект скомпилирован с нуля и "не знать" о том, какой проект находится в ПЛК. И в этом случае будет предложен только один выход - перезалить весь проект.
НО! Раз на окне есть выблр Онлайн-Замены, то это значит что слежубные файлы есть (иначе CodeSys предлагал бы только с нуля проект загрузить).
Так что, возможно, в проекте что-то менялось. Это может быть не логика кода, а, например, слегка передвинутый на экране визуализации элемент.
vitalij И от меня ответ текстом. Это МОЖЕТ быть версия, а может быть и не так. В общем, я душню сразу на все случаи.
Среда CodeSys вместе с файлом проекта .project сохраняет в ту же папку ещё несколько служебных файлов.
В них содержится информация о компиляции проекта (файл .compileinfo и другие).
Если этих файлов рядом с папкой проекта нет - CodeSys будет считать, что проект скомпилирован с нуля и "не знать" о том, какой проект находится в ПЛК. И в этом случае будет предложен только один выход - перезалить весь проект.
НО! Раз на окне есть выблр Онлайн-Замены, то это значит что слежубные файлы есть (иначе CodeSys предлагал бы только с нуля проект загрузить).
Так что, возможно, в проекте что-то менялось. Это может быть не логика кода, а, например, слегка передвинутый на экране визуализации элемент.
Они отправили папку с проектом в которм есть служебные файлы и у них все соединяется без окна предупреждения , а у меня нет. и они говорят это из за разных компьютеров
viktor1974
18.08.2024, 20:57
Здравствуйте, а как можно сравнить две однотипные структуры? на оператор = ругается
Здравствуйте, а как можно сравнить две однотипные структуры? на оператор = ругается
Сделайте свою функцию сравнения с нужными критериями
Евгений Кислов
19.08.2024, 06:14
Здравствуйте, а как можно сравнить две однотипные структуры? на оператор = ругается
https://content.helpme-codesys.com/en/libs/CAA%20Memory/Current/CAA_Memory/Analysis/ARRAY-and-MemoryBlock/Compare.html
viktor1974
19.08.2024, 13:43
Критерий один, чтобы они не отличались, вообще я отслеживаю любые изменение в ней, функцию побайтного сравнения сделал, работает, но думал может, что то стандартное есть, а я не знаю
viktor1974
19.08.2024, 13:46
Спасибо большое
Павел Алешин
20.08.2024, 16:29
Всех приветствую!
Столкнулся с проблемой при установке Codesys.
Возникает она на разных версиях.
Пробовал на нескольких ПК,исход один...
Подскажите,вдруг кто сталкивался..
Так же,из всех языков имеется только ST
78098
Евгений Кислов
20.08.2024, 16:31
Всех приветствую!
Столкнулся с проблемой при установке Codesys.
Возникает она на разных версиях.
Пробовал на нескольких ПК,исход один...
Подскажите,вдруг кто сталкивался..
Так же,из всех языков имеется только ST
78098
Добрый день.
Попробуйте установить в точности по видео:
https://youtu.be/3KcJWZEVXCg?si=vML3TNllvpw8De6F
Павел Алешин
20.08.2024, 19:25
Спасибо большое,все помогло!
Здравствуйте! Прошу подсказать, как выполнить следующую задачу. При включении запускается СПК107. Панель грузится долго (1-1.5 минуты, вчера засекли 1 мин 45 сек.). Хотим сделать программный таймер, который, выдавал дискретный выходной сигнал, после полной готовности к работе СПК107 (инициализации) и его начала работы. Это нужно, чтоб другая электронная схема знала, что СПК107 работает, после пропадания питания. Такой своеобразный сторож. Вопрос на чем лучше и легче выполнить (предпочтение на языке CFC) и какие задействовать внутренние переменные времени СПК107 для этой задачи и как? Есть ли типовой пример?
kondor3000
21.08.2024, 08:52
Здравствуйте! Прошу подсказать, как выполнить следующую задачу. При включении запускается СПК107. Панель грузится долго (1-1.5 минуты, вчера засекли 1 мин 45 сек.). Хотим сделать программный таймер, который, выдавал дискретный выходной сигнал, после полной готовности к работе СПК107 (инициализации) и его начала работы. Это нужно, чтоб другая электронная схема знала, что СПК107 работает, после пропадания питания. Такой своеобразный сторож. Вопрос на чем лучше и легче выполнить (предпочтение на языке CFC) и какие задействовать внутренние переменные времени СПК107 для этой задачи и как? Есть ли типовой пример?
Да какой пример, после включения панели в работу, делаете инициализацию нужного бита b0:= True; в первом цикле. Этот бит отправляете куда надо. Всё!
Инициализация, один раз в первом цикле
IF not Init THEN
......// Включить и присвоить что надо.
Init := True;
END_IF
Николай Суриков
21.08.2024, 08:54
Здравствуйте! Прошу подсказать, как выполнить следующую задачу. При включении запускается СПК107. Панель грузится долго (1-1.5 минуты, вчера засекли 1 мин 45 сек.). Хотим сделать программный таймер, который, выдавал дискретный выходной сигнал, после полной готовности к работе СПК107 (инициализации) и его начала работы. Это нужно, чтоб другая электронная схема знала, что СПК107 работает, после пропадания питания. Такой своеобразный сторож. Вопрос на чем лучше и легче выполнить (предпочтение на языке CFC) и какие задействовать внутренние переменные времени СПК107 для этой задачи и как? Есть ли типовой пример?
CFC
78106
ST
78107
FBD
78108
LD
78105
После полной готовности СПК107 (инициализации) и начала его работы переменная установится в TRUE, а дальше используйте по своему усмотрению, например назначьте на дискретный выход.
Gorynich
21.08.2024, 10:43
Всем доброго времени суток! Нужна помощь, есть ПЛК200 к нему подключен датчик температуры ДТС3005-РТ1000.В3. В codesys в конфигураторе выбрал датчик, указал диапазон температур и вроде бы всё заработало, но датчик практически не реагирует на изменение температуры в помещении (например датчик показывает 25,4 С, в комнате температура опустилась до 16 С , а показания 24,7 С) тоже самое и при повышении температуры. Могли электрики неправильно подключить датчик, либо нужно дополнительно что-то настроить или датчик с браком?
78109
kondor3000
21.08.2024, 13:16
Всем доброго времени суток! Нужна помощь, есть ПЛК200 к нему подключен датчик температуры ДТС3005-РТ1000.В3. В codesys в конфигураторе выбрал датчик, указал диапазон температур и вроде бы всё заработало, но датчик практически не реагирует на изменение температуры в помещении (например датчик показывает 25,4 С, в комнате температура опустилась до 16 С , а показания 24,7 С) тоже самое и при повышении температуры. Могли электрики неправильно подключить датчик, либо нужно дополнительно что-то настроить или датчик с браком?
78109
А у вас по паспорту датчик точно от -40 до +85 ?
Обычно у ТСП от -50 до +250
Gorynich
21.08.2024, 14:56
На самом датчике написано так78113
kondor3000
21.08.2024, 15:42
На самом датчике написано так
Для проверки можете подключить сопротивление 1 КОм (1000 Ом), должно показывать 0 градусов
при 900 Ом должно быть - 25,5 град,
при 1100 Ом должно быть 25,7 град,
при 1200 Ом должно быть 51,6 град,
при 1300 Ом должно быть 77,7 град.
Заодно проверьте схему подключения, ссылку давал уже.
Точно так же можно проверить сам датчик, измерив его сопротивление при разных температурах.
Gorynich
21.08.2024, 17:17
Для проверки можете подключить сопротивление 1 КОм (1000 Ом), должно показывать 0 градусов
при 900 Ом должно быть - 25,5 град,
при 1100 Ом должно быть 25,7 град,
при 1200 Ом должно быть 51,6 град,
при 1300 Ом должно быть 77,7 град.
Заодно проверьте схему подключения, ссылку давал уже.
Точно так же можно проверить сам датчик, измерив его сопротивление при разных температурах.
Спасибо попробую
Добрый день. Использую шаблоны для опроса 210 модулей расширения. При добавлении модулей МВ210-101 формируется куча ошибок (фото с ошибками во вложении), ошибки ведут к параметрам "Настройки -> Чтение -> Вход N (чтение)" и "Входы -> Вход N". При компиляции ошибки пропадают, но стоит произвести какие-то действия в программе, попереключаться между программными блоками, как снова появляются ошибки (причем не всегда сразу). В чем может быть проблема?
7815778158
Евгений Кислов
23.08.2024, 09:44
Добрый день. Использую шаблоны для опроса 210 модулей расширения. При добавлении модулей МВ210-101 формируется куча ошибок (фото с ошибками во вложении), ошибки ведут к параметрам "Настройки -> Чтение -> Вход N (чтение)" и "Входы -> Вход N". При компиляции ошибки пропадают, но стоит произвести какие-то действия в программе, попереключаться между программными блоками, как снова появляются ошибки (причем не всегда сразу). В чем может быть проблема?
7815778158
Добрый день.
Это особенность CODESYS, проявляющаяся именно в этом шаблоне.
Не обращайте на нее внимание.
Здравствуйте.
плк200
0. Перепрошивка с версии 1.2.xxxx.xxxx / 1.3.xxxx.xxxx на версию 2.4.xxxx.xxxx поддерживается только для устройств, выпущенных начиная с марта 2021 года (с 512 Мб flash-памяти).
flash-память - это Оперативная память (RAM)?
Евгений Кислов
23.08.2024, 11:44
Здравствуйте.
плк200
0. Перепрошивка с версии 1.2.xxxx.xxxx / 1.3.xxxx.xxxx на версию 2.4.xxxx.xxxx поддерживается только для устройств, выпущенных начиная с марта 2021 года (с 512 Мб flash-памяти).
flash-память - это Оперативная память (RAM)?
Добрый день.
Нет.
Flash-память - это память внутреннего накопителя (eMMC).
как посмотреть этот параметр?.. можно ли сразу прошиваться с 1.3 на 2.4.2110.1400?
Евгений Кислов
23.08.2024, 12:09
как посмотреть этот параметр?.. можно ли сразу прошиваться с 1.3 на 2.4.2110.1400?
1. https://owen.ru/forum/showthread.php?t=28167&p=387637&viewfull=1#post387637
2. да
ВладОвен
23.08.2024, 12:13
При включении запускается СПК107. Хотим сделать программный таймер, который, выдавал дискретный выходной сигнал, после полной готовности к работе СПК107 (инициализации) и его начала работы. Это нужно, чтоб другая электронная схема знала, что СПК107 работает, после пропадания питания.
Дык на СПК107 нет дискретного выхода. Вам придется установить отлельный блок с дискретным выходом, USB-реле или Ethernet-реле.
И настройка будет сложнее.
nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 -- печально
Благодарю за помощь, хорошего дня!)
ВладОвен
23.08.2024, 12:17
Привет.
Подскажите, есть ли способ в визуализации назначать имена вкладкам, изменяемые программой?
Т.е. программа сама сможет менять имена вкладок?
Спасибо.
78159
Евгений Кислов
23.08.2024, 12:29
Привет.
Подскажите, есть ли способ в визуализации назначать имена вкладкам, изменяемые программой?
Т.е. программа сама сможет менять имена вкладок?
Спасибо.
78159
Добрый день.
Опишите задачу, которую вы пытаетесь решить.
Мы в курсе. Благодарю. Осталась задача с Латч переменными не доделана. Хотелось бы ее выполнить.
Дык на СПК107 нет дискретного выхода. Вам придется установить отлельный блок с дискретным выходом, USB-реле или Ethernet-реле.
И настройка будет сложнее.
Мы в курсе. Благодарю. Осталась задача с Латч переменными не доделана. Хотелось бы ее выполнить.
ВладОвен
23.08.2024, 12:47
Добрый день.
Опишите задачу, которую вы пытаетесь решить.
На каждой вкладке у меня есть много разных настроек для разных однотипных техпроцессов.
Но первая настройка на каждой вкладке - это название самого техпроцесса. Оператор задает название техпроцесса сам.
И я бы хотел, что-бы это название попадало в имя вкладки, чтобы потом оператор сразу видел вкладки с названиями.
А сейчас он их видит так:
78160
И это - неудобно.
(Это что-то похожее на рецепты, но я хочу, что опер. имел возможность править их сам. Поэтому реализовал как обычную Retain-структуру с данными, отображаемую через вкладки).
ВладОвен
23.08.2024, 12:52
Мы в курсе. Благодарю. Осталась задача с Латч переменными не доделана. Хотелось бы ее выполнить.
Ок. А какой у вас блок с дискретным выводом установлен? Модель? Какой тип подключения?
Вы используете CoDeSys 3.5.17. Patch2 или Patch3 ?
Евгений Кислов
23.08.2024, 12:58
На каждой вкладке у меня есть много разных настроек для разных однотипных техпроцессов.
Но первая настройка на каждой вкладке - это название самого техпроцесса. Оператор задает название техпроцесса сам.
И я бы хотел, что-бы это название попадало в имя вкладки, чтобы потом оператор сразу видел вкладки с названиями.
А сейчас он их видит так:
78160
И это - неудобно.
(Это что-то похожее на рецепты, но я хочу, что опер. имел возможность править их сам. Поэтому реализовал как обычную Retain-структуру с данными, отображаемую через вкладки).
C помощью элемента Вкладки такое реализовать не получится.
Можно вместо этого использовать Фрейм, а кнопки переключения экранов в фрейме реализовать самостоятельно и иметь полный контроль над их текстом.
1. Загрузка проги в СПК107 с флешки или USB. Есть ли возможность загружать оперативному персоналу (без выезда нашего специалиста на объект) с флешки или USB резервную версию ПО на СПК107? Где бы посмотреть?
2. Как купили СПК107 так и не смотрели его работу в части "BIOS". Боялись что-то сделать не так, настроить под себя. Может не стоит? Ответьте кто их много юзал.
3. Бывает такой момент, что у СПК107 экран гаснет (типа функции гашения экрана screen saver). Как бороться не знаем. Где найти настроить время экрана и как обратиться к СПК107 если экран погас, что нажимать? Ибо приходится останавливать с РС (Кодесисом), перекомпилировать проект и заново загружать СПК107? Как бороться и где посмотреть?
Кстати ваши видео уроки на Ютубе не видны. Проблемы. Пользуемся ранее скачанными локально. Иначе проблемы.
Евгений Кислов
23.08.2024, 13:15
1. Загрузка проги в СПК107 с флешки или USB. Есть ли возможность загружать оперативному персоналу (без выезда нашего специалиста на объект) с флешки или USB резервную версию ПО на СПК107? Где бы посмотреть?
2. Как купили СПК107 так и не смотрели его работу в части "BIOS". Боялись что-то сделать не так, настроить под себя. Может не стоит? Ответьте кто их много юзал.
3. Бывает такой момент, что у СПК107 экран гаснет (типа функции гашения экрана screen saver). Как бороться не знаем. Где найти настроить время экрана и как обратиться к СПК107 если экран погас, что нажимать? Ибо приходится останавливать с РС (Кодесисом), перекомпилировать проект и заново загружать СПК107? Как бороться и где посмотреть?
Кстати ваши видео уроки на Ютубе не видны. Проблемы. Пользуемся ранее скачанными локально. Иначе проблемы.
1. Можно, через экранный конфигуратор.
См. п. 4.7:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.3.3.pdf
2. Вопрос непонятен. Уточните, что именно вас интересует.
3. См. узел Screen в дереве проекта.
Если показанные на скриншоте параметры выставить в 0 - то яркость экрана всегда будет постоянной.
78161
как обратиться к СПК107 если экран погас, что нажимать?
На любую область экрана.
Ок. А какой у вас блок с дискретным выводом установлен? Модель? Какой тип подключения?
Вы используете CoDeSys 3.5.17. Patch2 или Patch3 ?
МУ110-224.8Р H/W v2.0 (новая версия). Работаем CoDeSys 3.5.17. Патчи не помню какие. Но помню помучились с прошивками. У нас в системы одни модули ввода/вывода идут новые (H/W v2.0 ), а есть старые модели. Мы не знали про это вначале. Закупка купила и все. RS-485. работаем с шаблонами Модбаса. Подключение релейный сигнал, транзисторные-тиристорные выхода не брали. Они могут гореть. Их только через промежуточное реле обычно ставят.
ВладОвен
23.08.2024, 15:28
МУ110-224.8Р H/W v2.0 (новая версия). Работаем CoDeSys 3.5.17.
Начните вот с этого проекта.
Это для СПК107. Версия CoDeSys 3.5.17 Патч 3.
Спец. сигнал бцудет на линии 8 в блоке МУ110-224.8Р.
Доп. задержка этого сигнала - 5 сек. Можно менять в проге.
PS. Загрузил вторую версию. В первой была ошибка.
ВладОвен
23.08.2024, 15:30
3. Бывает такой момент, что у СПК107 экран гаснет (типа функции гашения экрана screen saver). Как бороться не знаем.
Это очень странно. По-умолчанию гашение отключено.
Это критично.
А как решить эту проблему?
Евгений Кислов
24.08.2024, 09:46
А как решить эту проблему?
Удалить CODESYS и установить в точности по инструкции:
https://youtu.be/3KcJWZEVXCg?si=gB41WpJ1ru2viPL4
Это очень странно. По-умолчанию гашение отключено.
Сегодня утром пришел. Несколько раз загружал (запускал СПК107 - ВКЛ/ВЫКЛ делал перезагрузку с выключателя на пилоте розеток). И вот раз на 5-6 после загрузки проекта через стандартные действия: Компиляция\Логин\Старт и Увсе: экран темный (при этом СПК107 работает, связь есть - все мигает индикаторами). Я взял и подключился через РС к СПК107 (СПК107 не остановился, работал ДАЛЕЕ). Пока не остановил все на РС и не добавил просто доп примитив и заново не сделаешь действия Компиляция\Логин\Старт. Тогда все работает. И так бывает раз через 15-20 если загружаю после компиляции проект. Жму долго пальцем на экран - ничего не происходит. Настройки в вкладке SCREEN (отвечает за настройки экрана) проверил, все у меня настроено, как и советовали выше.
1. Можно, через экранный конфигуратор.
См. п. 4.7:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.3.3.pdf
2. Вопрос непонятен. Уточните, что именно вас интересует.
3. См. узел Screen в дереве проекта.
Если показанные на скриншоте параметры выставить в 0 - то яркость экрана всегда будет постоянной.
78161
На любую область экрана.
По пункту 2, поясню: стоит ли там что-либо настраивать под себя? Или не стоит?
Евгений Кислов
26.08.2024, 09:51
По пункту 2, поясню: стоит ли там что-либо настраивать по себя? Или не стоит?
С учетом "Боялись что-то сделать не так" - не стоит.
С учетом "Боялись что-то сделать не так" - не стоит.
Благодарю Вас.
Здравствуйте!
Пока у меня несколько вопросов.
1. Если загружаю проект (резервная копия) с флешки USB в СПК107, то получается старый проект стирается и его архив с авариями тоже стирается? А как вытащить предыдущий архив Аварийных событий? Думали, что старый архив аварийный где-то хранится во временной области памяти.
2. Правильно ли я понимаю, что нужно вначале скачать на USB накопитель архив аварийный с СПК107 вместе с старым проектом, и только потом пытаться запустить с загрузочной USB флешки новый проект (резервный) на СПК107?
Поясню. Персонал оперативный сам берет и с загрузочного USB сам запускает прогу в СПК107 при каких-то проблемах (экран СПК107 не отвечает на нажатие - было уже раз 5-7 за 3 месяца, экран настроен на не отключение по вашей методике, РС нет на объекте. Бывает перезагрузят - все работает, но редко бывает, что не помогает. Перепрошиваешь заново и все работает, ибо пока все рядом находится).
3. Элемент Таблица (граф. примитив) заполняется данными. А эти оперативные данные можно из Таблицы (не аварийная таблица используется) сохранить в СПК107 или нет?
4. Можно ли USB накопитель (для слота USB A) устанавливать в СПК107 при рабочем состоянии и затем вынимать при работающем СПК107 на ходу? Где то читали, что данные все стираются и порт USB вылетает. Как правильно выполнять эти действия (где указанно в описании на устройство)?
Спрашиваю, так как боимся сломать СПК107
Евгений Кислов
27.08.2024, 12:38
Здравствуйте!
Пока у меня несколько вопросов.
1. Если загружаю проект (резервная копия) с флешки USB в СПК107, то получается старый проект стирается и его архив с авариями тоже стирается? А как вытащить предыдущий архив Аварийных событий? Думали, что старый архив аварийный где-то хранится во временной области памяти.
2. Правильно ли я понимаю, что нужно вначале скачать на USB накопитель архив аварийный с СПК107 вместе с старым проектом, и только потом пытаться запустить с загрузочной USB флешки новый проект (резервный) на СПК107?
Поясню. Персонал оперативный сам берет и с загрузочного USB сам запускает прогу в СПК107 при каких-то проблемах (экран СПК107 не отвечает на нажатие - было уже раз 5-7 за 3 месяца, экран настроен на не отключение по вашей методике, РС нет на объекте. Бывает перезагрузят - все работает, но редко бывает, что не помогает. Перепрошиваешь заново и все работает, ибо пока все рядом находится).
3. Элемент Таблица (граф. примитив) заполняется данными. А эти оперативные данные можно из Таблицы (не аварийная таблица используется) сохранить в СПК107 или нет?
4. Можно ли USB накопитель (для слота USB A) устанавливать в СПК107 при рабочем состоянии и затем вынимать при работающем СПК107 на ходу? Где то читали, что данные все стираются и порт USB вылетает. Как правильно выполнять эти действия (где указанно в описании на устройство)?
Спрашиваю, так как боимся сломать СПК107
Добрый день.
1. Да. Вытащить можно разными способами. Архив аварий хранится в директории /home/root/CODESYS_WRK/PlcLogic/alarms
2. Если вы хотите сохранить архив аварий старого проекта - то да.
3. Можно.
4. Нет.
См. п. 2.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.1.pdf
Скажите, как сохранить данные в Таблице? Где смотреть?
Евгений Кислов
27.08.2024, 12:45
Скажите, как сохранить данные в Таблице? Где смотреть?
Уточните, в каком виде вы хотите их сохранить и как в дальнейшем предполагаете использовать.
Хотел доделать задачу с Латч переменными. Пока думаю, решаю, времени мало, но можно попробовать доделать, хотя для меня, я думаю, самое лучшее решение, как для сохранения и вывода данных при авариях, это законченное стандартное решение при авариях (Таблица тревог - примитив или элемент). Но, так как эту задачу не доделал, реализовали эту же задачу в простой Таблице (граф. примитив или элемент). Руководство говорит, все пока нормально с выводом инфы, но надо бы эти же данные зафиксировать как то. Может сделаешь, как при использовании стандартной Таблицы тревог? Я согласен, если данные в Таблице (примитив граф. или элемент) можно сохранить, как и в Таблице тревог. Но я согласен, на другие решения. Есть только одно но. Объект локальный. Нет возможности подключиться к сети Ethernet , только локально. Использовать будем только при разборе полетов, если кондей вышел из строя
Евгений Кислов
27.08.2024, 13:10
Хотел доделать задачу с Латч переменными. Пока думаю, решаю, времени мало, но можно попробовать доделать, хотя для меня, я думаю, самое лучшее решение, как для сохранения и вывода данных при авариях, это законченное стандартное решение при авариях (Таблица тревог - примитив или элемент). Но, так как эту задачу не доделал, реализовали эту же задачу в простой Таблице (граф. примитив или элемент). Руководство говорит, все пока нормально с выводом инфы, но надо бы эти же данные зафиксировать как то. Может сделаешь, как при использовании стандартной Таблицы тревог? Я согласен, если данные в Таблице (примитив граф. или элемент) можно сохранить, как и в Таблице тревог. Но я согласен, на другие решения. Есть только одно но. Объект локальный. Нет возможности подключиться к сети Ethernet , только локально. Использовать будем только при разборе полетов, если кондей вышел из строя
Изучите данный документ:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.1.pdf
Добрый день.
1. Да. Вытащить можно разными способами. Архив аварий хранится в директории /home/root/CODESYS_WRK/PlcLogic/alarms
2. Если вы хотите сохранить архив аварий старого проекта - то да.
3. Можно.
4. Нет.
См. п. 2.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.1.pdf
По п.1 - это смотреть в web-конфигураторе надо?
Евгений Кислов
27.08.2024, 13:19
По п.1 - это смотреть в web-конфигураторе надо?
Смотреть что именно?
Смотреть что именно?
Аварийные данные, данные из простых Таблиц (примитив), которых еще в архиве не видели. Просто сегодня и вчера загрузили с USB флешки другую версию на СПК107. Программа новая, убрали недочеты. Теперь хотим просто проверить и вытащить данные аварийные от предыдущей проги, которые были до этого на СПК107, копились, архивировались (настроены до 16 Мб) я надеюсь. Узнать остался ли архив от старой проги и как их вытащить?
Евгений Кислов
27.08.2024, 13:58
данные из простых Таблиц (примитив)
Их вы уже не увидите.
Программа новая, убрали недочеты. Теперь хотим просто проверить и вытащить данные аварийные от предыдущей проги,
Если вы вносили какие-то изменения в конфигурацию тревог - то увидеть их не получится.
Если не вносили (и тогда вы должны видеть их в таблице тревог на экране контроллера в режиме просмотра истории) - то подключитесь к контроллеру по WinSCP и выгрузите файлы из директории /home/root/CODESYS_WRK/PlcLogic/alarms
Их вы уже не увидите.
Если вы вносили какие-то изменения в конфигурацию тревог - то увидеть их не получится.
Если не вносили (и тогда вы должны видеть их в таблице тревог на экране контроллера в режиме просмотра истории) - то подключитесь к контроллеру по WinSCP и выгрузите файлы из директории /home/root/CODESYS_WRK/PlcLogic/alarms
Как выгрузить на флэшку аварийные данные (работа с csv-файлом, потом подготовка их в блокноте и далее просмотр их в Excel ), я это уже делал. Это Аварийные данные (Error) Кодесис. Правильно ли я понимаю, что вы пишите про подключение по WinSCP к СПК107 и это будет просмотр и аварийных данных (Error) и просто всех остальных (текущих) данных?
Евгений Кислов
27.08.2024, 14:46
Как выгрузить на флэшку аварийные данные (работа с csv-файлом, потом подготовка их в блокноте и далее просмотр их в Excel ), я это уже делал. Это Аварийные данные (Error) Кодесис. Правильно ли я понимаю, что вы пишите про подключение по WinSCP к СПК107 и это будет просмотр и аварийных данных (Error) и просто всех остальных (текущих) данных?
Я отвечаю на этот вопрос:
Теперь хотим просто проверить и вытащить данные аварийные от предыдущей проги, которые были до этого на СПК107, копились, архивировались (настроены до 16 Мб) я надеюсь. Узнать остался ли архив от старой проги и как их вытащить?
Подключаюсь к СПК107 через утилиту WinSCP. Выдает ошибку, что время ожидания истекло (см. файл). Может нужен IP 192.168.0.10, но там другая ошибка. Кодесис закрыть? Закрывал вроде.
Николай Суриков
27.08.2024, 17:05
А чем Вы руководствуетесь указывая такой IP адрес? Тем что он указан в примере? А подумать что у Вас может быть другой адрес контроллера?
ВладОвен
27.08.2024, 18:07
Здравствуйте.
Подскажите, почему иногда (редко) после перепрограммирования ПЛК СПК-110 получаю ошибку открытия порта?
Этот порт - этот порт в USB-хабе. Там далее установлена микросхема CP210x.
Если проблем с открытием не было, то работает нормально очень долго.
Приходится ребутить ПЛК через SSH или передергивать ему питание.
Может есть какое-то особенность? Может проверять указатель на равенство 0 и тупо переоткрывать заново?
Я использую библилотеку CAA SerialCom из OwenCommunication.
78263
МихаилГл
27.08.2024, 18:30
Не знаю как с ком портом, но при работе с сокетом по эзернет в плк210 при потерях связи и повторном её появлении создавалось подключение с новым идентификатором, при этом старый клиент оставался в памяти. Пришлось при количестве клиентов в счётчике более определённого числа перезапускать сокет. Как это в ком, не знаю, может тоже что-то из этого влияет.
SergeyGrig
28.08.2024, 08:06
Проблема с COM портом после перехода на таргет 17. При инициализации порта из буфера отсылается пакет, который сводит с ума устройство на другом конце. Как можно очистить буфер порта перед инициализацией ???
Евгений Кислов
28.08.2024, 08:27
Проблема с COM портом после перехода на таргет 17. При инициализации порта из буфера отсылается пакет, который сводит с ума устройство на другом конце. Как можно очистить буфер порта перед инициализацией ???
Добрый день.
Уточните, какой контроллер и какой его интерфейс вы используете?
А чем Вы руководствуетесь указывая такой IP адрес? Тем что он указан в примере? А подумать что у Вас может быть другой адрес контроллера?
Вбивал, вылетает ошибка. Ключ смеш какой то не активирован (вроде что то такого, много букАв) ....И ЕСЛИ нажмете....и.т.д. и т.п. Надпись ужАС, ошибка страшная в окошке вылетает. В описании нет такого. А вдруг там чАво то случиться, а? Я ранее, когда переводил с буржуйского про ПЛК перевод, работая в сервисной службе, обязательно всякие такие моменты вставлял в инструкцию, чтоб меньше вопросов задавали звонившие. А начальник проверял и если, что, заставлял даже дополнительно картинки добавлять. Ну это так, лирика. А так да, Вы правы. Ну и IP нужно последний добавить в картинку, ведь root и owen, ведь остались на картинке.
Николай Суриков
28.08.2024, 12:19
Домосед, сканируете сеть, находите контроллер, у меня например это .250
78278
открываете WinSCP
78280
IP - тот который у вас, логин root, пароль owen
78281
Все, вы великолепны.
Если что-то не получается, не находит сканер контроллер, значит проверяйте настройки адаптера или сетевой провод, если не подключается WinSCP, то может заблокированы порты в контроллере, может поменяли логин и пароль.
Это уже сами себе враги, если поменяли настройки и забыли.
SHIIIRON
29.08.2024, 12:40
Добрый день! есть ли возможность узнать значение напряжения на питающих клеммах контроллера серии 210, из под программы?
Домосед, сканируете сеть, находите контроллер, у меня например это .250
78278
открываете WinSCP
78280
IP - тот который у вас, логин root, пароль owen
78281
Все, вы великолепны.
Если что-то не получается, не находит сканер контроллер, значит проверяйте настройки адаптера или сетевой провод, если не подключается WinSCP, то может заблокированы порты в контроллере, может поменяли логин и пароль.
Это уже сами себе враги, если поменяли настройки и забыли.
Да, благодарю! Все работает.
Евгений Кислов
29.08.2024, 13:50
Добрый день! есть ли возможность узнать значение напряжения на питающих клеммах контроллера серии 210, из под программы?
Добрый день.
Нет (по крайней мере, без подключения к ПЛК доп. прибора, который будет измерять это напряжение).
Добрый день!
Подключился через утилиту WinSCP к СПК107 к директории /home/root/CODESYS_WRK/PlcLogic/alarms.
И что далее?
Вытащить (просматривать) эти данные через CSV файл и потом в Excel или как? Я то думал, там сразу в "удобном" (читаемом) варианте для пользователей увидим. А как с ними работать далее, не понятно. Аварийные данные (Error) мы просматривать (по рекомендациям с вашего канала на Ю...тубе, можем, но сейчас с ним проблемы, надо тогда видео на Рутуб кидать) можем. А вот простые оперативные данные из примитива Таблица, как просматривать или чем? Или читать раздел Архив весь?
Евгений Кислов
29.08.2024, 15:49
Добрый день.
И что далее?
Используйте любое ПО, которое поддерживает формат .sqlite.
В интернете достаточно информации об этом формате.
Или читать раздел Архив весь?
Да, прочитайте весь документ по ссылке из предыдущих постов.
replayka
31.08.2024, 21:10
как решил?
replayka
31.08.2024, 21:16
Привет,подскажи пожалуйста при установке codesys 3.5 v17 patch 3
it is possible that packages from this path could not be installed
Евгений Кислов
31.08.2024, 22:19
Привет,подскажи пожалуйста при установке codesys 3.5 v17 patch 3
it is possible that packages from this path could not be installed
Добрый день.
Удалите CODESYS и установите заново в точности по инструкции:
https://www.youtube.com/watch?v=3KcJWZEVXCg
Проверьте, что на диске C:\ достаточно свободного места (ориентируйтесь на 5 Гб).
Здравствуйте я недавно начал учиться работать с CODESYS вообще это мои первые шаги в програмирование.
Задание:
Ленточный конвейер приводится в движение двигателем «МОТОР». Световой барьер L1 используется для определения того, находится ли транспортируемый объект в начале ленты. Световой барьер L2 используется для определения того, находится ли транспортный объект на выходе из ленты. Ленточный конвейер работает следующим образом: он подает сигнал TRUE, когда световой барьер открыт, и сигнал FALSE , когда световой луч прерывается.
Переключатель, который подает сигнал «ВКЛ (ON) », аппаратно подключен к дисплеям «ВКЛ» и «ВЫКЛ (OFF)», поэтому дисплеи не должны управляться создаваемым вами контроллером.
Весь процесс гарантирует, что пока упаковка находится на пути между световыми барьерами или внутри световых барьеров, на конвейерную ленту не может быть помещена новая упаковка.
Ленточный конвейер необходимо контролировать следующим образом.
Транспорт можно включить только в том случае, если рабочий выключатель подает сигнал ВКЛ = ON = TRUE (загорается индикатор «ВКЛ»). Если световой барьер «L1» прерывается (L1 = FALSE), транспорт запускается (МОТОР). = TRUE). Лента движется до тех пор, пока не пройдет пять секунд после выхода из светового барьера L2. Однако если световой барьер L1 прерывается между моментом выхода светового барьера L2 и истечением времени ожидания в пять секунд, лента продолжает двигаться.
Если рабочий переключатель «ВКЛ (ON) перейдет в положение «FALSE» (загорится индикатор « ВЫКШ (OF), конвейерную ленту нельзя будет перезапустить, просто отключив световой барьер «L1».
Мой не правильный пример снизу.
Вот не правильный пример.
Как исправить?
Здравствуйте! С помощью функц. блока WCONCAT8 ( "склеил строки"в одну длинную строку на языке CFC, строковые двойные). А как теперь добавить пробелы между символами (каким функц. блоком) вставить пробелы далее и потом далее перенести строки (какой функц. блок) на нужное количество строк (я так понимаю) в Таблицу тревог? Хочется проще и быстро.
kondor3000
02.09.2024, 16:23
Здравствуйте! С помощью функц. блока WCONCAT8 ( "склеил строки"в одну длинную строку на языке CFC, строковые двойные). А как теперь добавить пробелы между символами (каким функц. блоком) вставить пробелы далее и потом далее перенести строки (какой функц. блок) на нужное количество строк (я так понимаю) в Таблицу тревог? Хочется проще и быстро.
Склеивать можно так же строку с пробелом и опять со строкой.
Вообще то для строк есть функция WINSERT (INSERT) вставка любой строки (пробела) с определённой позиции.
Satellite83
03.09.2024, 15:09
Здравствуйте. Пробую писать программу для СПК107 на СFC, но у меня один и тот же алгоритм работает по разному. На основном холсте работает нормально, но если убираю в отдельный блок Hister то начинает работать не так как надо.
kondor3000
03.09.2024, 16:19
Здравствуйте. Пробую писать программу для СПК107 на СFC, но у меня один и тот же алгоритм работает по разному. На основном холсте работает нормально, но если убираю в отдельный блок Hister то начинает работать не так как надо.
На СFC важен порядок выполнения, надо всегда ставить по ПКМ, Порядок/ В соответствии с потоком данных.
Иначе например, выход может присваиваться раньше, чем выполнится блок перед ним.
При копировании схемы, порядок может измениться и схема будет работать по другому.
Satellite83
03.09.2024, 16:50
У меня везде выставлен режим потока данных. Пробовал и по ПКМ, порядок/ В соответствии с потоком данных. но реакция не меняется. Пробовал и внутри блока делать, все тоже самое. Результат одинаковый.
kondor3000
03.09.2024, 18:14
У меня везде выставлен режим потока данных. Пробовал и по ПКМ, порядок/ В соответствии с потоком данных. но реакция не меняется. Пробовал и внутри блока делать, все тоже самое. Результат одинаковый.
Похоже вы на функцию Hister жалуетесь, если вы не знаете, то функция не имеет памяти и промежуточные результаты не сохраняет.
И RS триггер не работает у вас как надо.
Обычно функцию используют для расчётов. А вам нужно создать ФБ (функц. блок), блок имеет память и по факту работает как часть программы, в ФБ всё будет работать.
Кроме того у ФБ может быть много выходов, в отличие от функции. Но его надо не только вызвать на поле, но и объявить
экземпляр ФБ в VAR. Можно сделать несколько экземпляров, например с разными номерами, типа как несколько таймеров
и так же посмотреть каждый в работе.
И ещё совет, не используйте постраничный режим в CFC, слишком маленькое поле, не удобно же.
Satellite83
03.09.2024, 18:52
Спасибо большое. Разобрался и понял как надо. Вы очень помогли.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot