Просмотр полной версии : Сп310 не отвечает на действия из кодесис
Здравствуйте. Есть сп310(слейв), плк160 (мастер)
Панель подключена по рс485, скорость 38400
Если задавать параметры через панель, то все работает, в кодесис меняются значения параметров, которые меняю
Но если из кодесис менять параметры при подсоединенной панели, то ничего не происходит
То есть, если я с панели включил, условно, какой-нибудь нагреватель, то он включится
Но если я захочу через кодесис его выключить (нагреватель), то он так и продолжит работать, пока не выключу его с панели
До этого было почти тоже самое, получалось управлять нагревателем с пк, но не с первого раза, сейчас же вообще не получается
МихаилГл
10.04.2024, 10:12
Скрин версии codesys и параметры настройки модбас покажите. Там не всё так просто.
kondor3000
10.04.2024, 11:06
Здравствуйте. Есть сп310(слейв), плк160 (мастер)
Панель подключена по рс485, скорость 38400
Если задавать параметры через панель, то все работает, в кодесис меняются значения параметров, которые меняю
Но если из кодесис менять параметры при подсоединенной панели, то ничего не происходит
То есть, если я с панели включил, условно, какой-нибудь нагреватель, то он включится
Но если я захочу через кодесис его выключить (нагреватель), то он так и продолжит работать, пока не выключу его с панели
До этого было почти тоже самое, получалось управлять нагревателем с пк, но не с первого раза, сейчас же вообще не получается
Выкладывайте проекты, у вас не правильно настроен обмен. Проекты можно в урезанном виде, с 1-2 переменными.
Вот проект. Надеюсь, правильно скинул
Настраивал по вот этом видео
https://www.youtube.com/watch?v=syIPCaBgBAY
Здравствуйте. Есть сп310(слейв), плк160 (мастер)
Панель подключена по рс485, скорость 38400
Если задавать параметры через панель, то все работает, в кодесис меняются значения параметров, которые меняю
Но если из кодесис менять параметры при подсоединенной панели, то ничего не происходит
То есть, если я с панели включил, условно, какой-нибудь нагреватель, то он включится
Но если я захочу через кодесис его выключить (нагреватель), то он так и продолжит работать, пока не выключу его с панели
До этого было почти тоже самое, получалось управлять нагревателем с пк, но не с первого раза, сейчас же вообще не получается
Если ПЛК - мастер, то так и должно быть. Делайте панель мастером.
Если ПЛК - мастер, то так и должно быть. Делайте панель мастером.
Мне в таком случае, создавать в кодесис еще один модбас, но уже слейв? Оно будет так работать, если в одном проекте и мастер и слейв? И на видео, которое выше прислал, там панель слейв и все работает. И у меня тоже работало, просто со сбоями. Может, дело в чем то другом?
Мне в таком случае, создавать в кодесис еще один модбас, но уже слейв? Оно будет так работать, если в одном проекте и мастер и слейв? И на видео, которое выше прислал, там панель слейв и все работает. И у меня тоже работало, просто со сбоями. Может, дело в чем то другом?
Переменная start_tuning показывает состояние бита из СП?
Вы обратили внимание на то, что когда бит был включен на панели, чтобы его выключить он сначала его включил и потом сразу выключил в регистре .. output ..
Т.е. чтобы сбросить бит в панели его сначала установили, а потом сбросили.
Чтобы это сделать в программе, надо сначала установить бит, а потом на следующем программном цикле сбросить. И сделать это через output регистр.
kondor3000
10.04.2024, 14:22
Мне в таком случае, создавать в кодесис еще один модбас, но уже слейв? Оно будет так работать, если в одном проекте и мастер и слейв? И на видео, которое выше прислал, там панель слейв и все работает. И у меня тоже работало, просто со сбоями. Может, дело в чем то другом?
Установить и сбросить бит можно разными способами, вот пара вариантов 75116
В первом варианте сброс переменной RESET
Во втором, сбрасывать надо уже start_tuning1. Только не делайте эти варианты одновременно.
Вот вариант на ST для 1 бита 75293
Вообще то биты надо передавать Масками бит (по 16 шт. в регистре) и управлять ими в программе на ST, у меня так.
Переменная start_tuning показывает состояние бита из СП?
Вы обратили внимание на то, что когда бит был включен на панели, чтобы его выключить он сначала его включил и потом сразу выключил в регистре .. output ..
Т.е. чтобы сбросить бит в панели его сначала установили, а потом сбросили.
Чтобы это сделать в программе, надо сначала установить бит, а потом на следующем программном цикле сбросить. И сделать это через output регистр.
Здравствуйте. Да, start tuning показывает состояние бита из СП310
И то, что на видео да, я обратил внимание, но в моем случае вообще через кодесис не получается сбросить бит.
Я так же попробовал использовать код, который выше писал kondor3000, но тоже эффекта никакого.
А я могу с кем нибудь из вас связаться в ватсап или телеграмм? Я бы отправил видео с демонстрацией
kondor3000
11.04.2024, 13:40
Здравствуйте. Да, start tuning показывает состояние бита из СП310
И то, что на видео да, я обратил внимание, но в моем случае вообще через кодесис не получается сбросить бит.
Я так же попробовал использовать код, который выше писал kondor3000, но тоже эффекта никакого.
А я могу с кем нибудь из вас связаться в ватсап или телеграмм? Я бы отправил видео с демонстрацией
Давайте проще сделаем, выложите пример на 2-3 переменных с добавленным кодом, посмотрим и проверим у себя.
7513875139
Уже не могу скинуть сегодня проект, но до этого я записывал видео
Давайте проще сделаем, выложите пример на 2-3 переменных с добавленным кодом, посмотрим и проверим у себя.
Извиняюсь конечно, я только учусь программировать в кодесис, но мне нужно было Ваш код вставить как отдельную часть или как то интегрировать в ПИД регулятор?
kondor3000
11.04.2024, 14:08
Извиняюсь конечно, я только учусь программировать в кодесис, но мне нужно было Ваш код вставить как отдельную часть или как то интегрировать в ПИД регулятор?
Первые 2 схемы пробовали создать? Только не 2 сразу.
По поводу примера на языке ST:
Правой кнопкой мыши на POU, создать ФБ на языке ST, вставить туда код со скрина, в PLC_PRG, сделать вызов блока и объявить его, на скрине видно.
По поводу видео:
Зачем вы щёлкаете мышью на верхнем квадрате? Верхний это чтение ( включаете с панели, из программы не измените его, только смотрите),
а из программы надо включать, выключать квадратик внизу, это запись.
А в конце видео, при нажатом старте, вы выключили внизу и сверху погасло, то есть сработало.
Первые 2 схемы пробовали создать? Только не 2 сразу.
По поводу примера на языке ST:
Правой кнопкой мыши на POU, создать ФБ на языке ST, вставить туда код со скрина, в PLC_PRG, сделать вызов блока и объявить его, на скрине видно.
По поводу видео:
Зачем вы щёлкаете мышью на верхнем квадрате? Верхний это чтение ( включаете с панели, из программы не измените его, только смотрите),
а из программы надо включать, выключать квадратик внизу, это запись.
А в конце видео, при нажатом старте, вы выключили внизу и сверху погасло, то есть сработало.
Почему на верхний щелкал не знаю, туплю, наверное
А на нижний тоже щелкал, но как видно, не работает
Попробовал сделать ФБ на языке ст, добавил, но все тоже самое. При нажатии на квадратик start tuning1 в конфигурации плк он загорается и сразу же выключается
kondor3000
11.04.2024, 14:41
Почему на верхний щелкал не знаю, туплю, наверное
А на нижний тоже щелкал, но как видно, не работает
Попробовал сделать ФБ на языке ст, добавил, но все тоже самое. При нажатии на квадратик start tuning1 в конфигурации плк он загорается и сразу же выключается
На видео в конце, всё сработало, дописал уже.
По схеме на ST, забыл удалить выход на чтение start tuning. Удалите его.
Управлять надо только выходом на запись start tuning1
На видео в конце, всё сработало, дописал уже.
По схеме на ST, забыл удалить выход на чтение start tuning. Удалите его.
Управлять надо только выходом start tuning1
Работает до тех пор, пока не нажат «старт» во вкладке оналацн.
Но даже если сейчас включение/выключение работает хоть в каком то случае, то запись параметров - нет. С сп я могу поменять значение уставки, а с пк - нет. И я не совсем понимаю, почему, ибо раньше это все работало.. не с первого раза, а со второго-третьего параметры уставки удавалось поменять с пк.
Добрался до пк, но не могу скинуть проект, потому что сайт овен не работает, разве что через телефон с впн. В браузере пишет, что подключение не защищено и не дает зайти на форум и сайт.
kondor3000
11.04.2024, 14:53
Работает до тех пор, пока не нажат «старт» во вкладке оналацн.
Но даже если сейчас включение/выключение работает хоть в каком то случае, то запись параметров - нет. С сп я могу поменять значение уставки, а с пк - нет. И я не совсем понимаю, почему, ибо раньше это все работало.. не с первого раза, а со второго-третьего параметры уставки удавалось поменять с пк.
Добрался до пк, но не могу скинуть проект, потому что сайт овен не работает, разве что через телефон с впн. В браузере пишет, что подключение не защищено и не дает зайти на форум и сайт.
Значит ещё раз, удалите выход на чтение start tuning, оставьте start tuning1.
Сделайте Проект/ Очистить всё / Компилировать всё. Потом залейте проект заново и нажмите Старт.
Значит ещё раз, удалите выход на чтение start tuning, оставьте start tuning1.
Сделайте Проект/ Очистить всё / Компилировать всё. Потом залейте проект заново и нажмите Старт.
Хорошо, попробую. start tuning удалить из pou или конфигурации ПЛК?
kondor3000
11.04.2024, 15:20
Хорошо, попробую. start tuning удалить из pou или конфигурации ПЛК?
Удалить на выходе ФБ
Вот уже проверил в работе 75141 и ещё Целое и REAL 75142
Вот что происходит
При нажатом Старт не работает
kondor3000
12.04.2024, 13:22
Вот что происходит
При нажатом Старт не работает
Что то мешает обмену или есть ещё регистры или блоки записывающие в ту же переменную ( в тот же регистр).
Сделайте новый проект, добавьте только панель и ФБ и проверьте. У меня всё работает.
Давайте попробуем следующий вариант:
создадим всего один программный модуль на ST
IF Start_tuning <> Start_tuning1 THEN
Start_tuning1 := Start_tuning;
END_IF
Т.е. если измениться состояние бита в панели, то это состояние сдублируется в output-регистр ПЛК.
Огромное всем спасибо, нашел проблему
kondor3000 натолкнул на мысль, что, проблема в конфликте каких то параметров и регистров
Удалил все, кроме старт тюнинг и сет поинт, все работает
начал потихоньку добавлять оставшиеся параметры
В итоге, при добавлении значения выходной нагрузки возникала эта проблема
Решением оказалось создание нового модбас девацса и добавление этого параметра как глобального именно туда
И еще только потом заметил, что у меня уже был создан такой модбас девайс, но я не обратил на это внимание…
Еще раз всем большое спасибо, без вас бы точно не справился.
kondor3000
12.04.2024, 18:08
Огромное всем спасибо, нашел проблему
kondor3000 натолкнул на мысль, что, проблема в конфликте каких то параметров и регистров
Еще раз всем большое спасибо, без вас бы точно не справился.
Это хорошо, что разобрались. Только передавать лучше не по 1 биту, а по 8 или по 16.75188
Для этого, всего то надо поменять в ФБ тип BOOL на тип BYTE или WORD.
Если сделаете WORD, то и 8 Bit (BYTE) надо заменить на Registr (WORD адрес например 256). А в панели вместо бита PSB256 используйте регистр PSW256, бит 0.....15
Только передавать лучше не по 1 биту, а по 8 или по 16.75188
А чем это лучше? Будет стабильнее работать? И не совсем понял, как Registr будет передавать булевые значения (или он будет передавать все 8 или 16 бит, но на панели будет читаться только 1 конкретный?). Где можно об этом почитать?
И еще подскажите, какой лучше язык изучать? Продолжить изучать ФБ или лучше учить тот же ST?
МихаилГл
15.04.2024, 09:27
А чем это лучше? Будет стабильнее работать? И не совсем понял, как Registr будет передавать булевые значения (или он будет передавать все 8 или 16 бит, но на панели будет читаться только 1 конкретный?). Где можно об этом почитать?
И еще подскажите, какой лучше язык изучать? Продолжить изучать ФБ или лучше учить тот же ST?
Если будете платить в скаде за количество каналов передачи данных, то как лучше? Заплатить за 1 регистр, в котором 32 дискрета сжаты, или за 32 булевых значения...? Цена от типа не зависит, вот и думайте, что же лучше.
kondor3000
15.04.2024, 10:56
А чем это лучше? Будет стабильнее работать? И не совсем понял, как Registr будет передавать булевые значения (или он будет передавать все 8 или 16 бит, но на панели будет читаться только 1 конкретный?). Где можно об этом почитать?
И еще подскажите, какой лучше язык изучать? Продолжить изучать ФБ или лучше учить тот же ST?
А вы попробуйте сделать, хоть в эмуляции и посмотрите что разные биты дают разные числа, если вы в панели или в ПЛК назначите 3 бит, то он и сработает.
По поводу полезности. Сколько времени уйдёт на передачу 16 переменных и сколько на передачу одной? Сами подумайте.
А если у вас 160 булевых например, передать 160 шт или 10 регистров, есть разница?
ФБ- это функциональный блок, он может быть на любом языке. Вы уже поняли как сделать ФБ, надеюсь.
А язык конечно надо учить ST, это самый продвинутый язык для программирования ПЛК.
Начните со справки по F1 в Codesys. Примеры на сайте обычно выложены на 2 языках, CFC(FBD) и ST, ну и Гугл в помощь.
Понял. Поизучаю.. спасибо за помощь!
Попробовал добавить переменную в скаду, но получается какая-то ерунда. При нажатии одной кнопки выключается другая, в поддержке скады написали, что это из-за фиксированных кнопок (если они используются, то нужно тогда выводить в скаду именно булиевые переменные и уже только ими управлять)
Может, вы знаете как с этим справиться? Например, в сп можно бит выбрать конкретный, а в скаде так можно?
kondor3000
17.04.2024, 10:29
Попробовал добавить переменную в скаду, но получается какая-то ерунда. При нажатии одной кнопки выключается другая, в поддержке скады написали, что это из-за фиксированных кнопок (если они используются, то нужно тогда выводить в скаду именно булиевые переменные и уже только ими управлять)
Может, вы знаете как с этим справиться? Например, в сп можно бит выбрать конкретный, а в скаде так можно?
Это вопрос уже не по теме, в разных скадах по разному, в некоторых есть скрипты разбора Маски бит, в некоторых можно добавить программу, для разложения на биты.
В любом случае, при обмене панели с ПЛК, лучше использовать Маски бит.
Попробовал добавить переменную в скаду, но получается какая-то ерунда. При нажатии одной кнопки выключается другая, в поддержке скады написали, что это из-за фиксированных кнопок (если они используются, то нужно тогда выводить в скаду именно булиевые переменные и уже только ими управлять)
Может, вы знаете как с этим справиться? Например, в сп можно бит выбрать конкретный, а в скаде так можно?
Если это мастер скада - то там управление переменной с использованием обратной связи очень заморочено, а управление битами слова с с использованием обратной связи - вдвойне
Да, мастерскада4д
А на этом форуме мне тогда отдельную тему создать, что бы по теме было?
kondor3000
17.04.2024, 10:38
Да, мастерскада4д
А на этом форуме мне тогда отдельную тему создать, что бы по теме было?
Тут вопросы по Мастер скаде 4D, там же в разделе можете и тему создать
https://owen.ru/forum/showthread.php?t=30695&page=133
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot