Так он специально косяк какой-нибудь запорет..., нет только замена
Вид для печати
Вы знаете полную предысторию? Я - нет
Известная вводная:
Неизвестная вводная:
Что видит тот монтажник
++
Извините.
Тот монтажник (с слов) видит нарушение технологии (какой бы она ни была) своей работы, за которую он (видимо) отвечает.
Я так понял, что Вы таких случаях просто берете другого монтажника который положит болт на эту (не знаю какую) технологию и сделает как Вы хотите и конечно же будет отвечать за конечный результат. Я тоже, как и Вы Sergey666, всегда доверяю таким монтажникам.
++
Как вариант:
Чел приехал, сделал очень просимую клиентом максимальную скидку видя идеальные для него условия монтажа.
Скомплектовавшись, он приехал на монтаж и внезапно увидел другие, значительно ухудшившиеся для него условия - дополнительные работы и т.п.
Вот лично Ваши на его месте в таком случае действия - какие?
--
А так да. Ведь за забором очередь готовых согласится на всё профессионалов))
Валенок, если есть желание поболтать, давай в курилку и там обсудим.
Помогите разобраться в ситуации .. простой пример. Записываю 3 переменные с ПЛК110-30 в СП310 , все нормально (соответственно каждый в свой регистр).
Есть модуль МК110-8А с которого получаю температуру. Далее в главном модуле (PLC_PRG) делаю присвоение тмп из МЛ110-8А в регистр СП310. Все нормально работает
НО если я добавляю еще одну переменную в ПЛК любую (8bit Registr, Real), на панели все нормально , циферки бегают. НО присвоение в главном модуле пропадает.
Как понять где косяк и если есть методика поиска таких непоняток, буду признателен.Вложение 76921
Для начинающих как я..)) окакзалось (как и думал) все лежит на поверхности.. Перед загрузкой надо полностью очистить проект (в меню -> очистить все) и только после этого грузить..
Добрый день. Прошу знатоков подсказать. У меня бОльшая часть кода уникальна (не повторяется в разных частях программы). Портянка на несколько сот строк в PLC_PRG крайне неудобна. Функция также неудобна, так как не видишь процесс внутри (вроде ведь нельзя посмотреть конкретный экземпляр, как в FB?). Плюс нужно объявлять входные выходные переменные.
А мне нужно просто сгруппировать код на несколько частей.
Собственно вопрос - корректно ли для этого использовать Программы вместо FB и FN? Допустим их будет 15 штук. Влияет ли это на скорость работы ПЛК, на распределение памяти и т.д.? Мне такой вариант наиболее удобен, но не знаю про наличие подводных каменй.
Вячеслав@ Есть ещё один вариант: использовать Действия в Программе. Только вчера ночью упоминал про них в своей статье: https://cs-cs.net/funkciya-fun-i-fun...enlogic#6___fb (заголовок 6).
Вставлю оттуда скриншотв. Суть в том, что в Программу ПЛК можно добавить по правой кнопке Действие.
Действие - это просто кусок кода, который подчинён программе и имеет доступ ко всем её переменным.
Потом можно эти Действия вызывать в нужном месте программы.
Я пользуюсь ими, когда надо сделать сложный FB или разбитть программу (PRG) на разные части.
Вложение 76963 Вложение 76964
Благодарю от всей души! Действительно очень удобно!
Что вы мозги людям пудрите?
Из вашей статейки вот это? Раздел 7
"Для того, чтобы остановить таймер немедленно, надо задать ему PT, равное нулю: это прекратит отсчёт времени. Для этого можно использовать оператор SEL:"
Это зачем такие извращения? Таймер TON останавливается при In:=False, вот с таймером TOF и PT дело другое.
Также бессмысленная строка "fbDelay(In:=DoWork,Pt:=t#10s)" в данном куске кода, вы своих читателей к индокришнаизму склоняете.
Ну. И? Что не так? Я и пишу про ВСЕ таймеры сразу. Поэтому твой частный случай включён в подмножество общих случаев. Л - логика.Цитата:
Таймер TON останавливается при In:=False, вот с таймером TOF и PT дело другое
Ну, да. Это ж абстрактный вызов какого-то таймера, где на IN передаётся переменная, а на PT - явно заданное время. Всё так и должно быть.Цитата:
бессмысленная строка "fbDelay(In:=DoWork,Pt:=t#10s)" в данном куске кода
где ж все сразу? Вот сразу, все и надежноЦитата:
ВСЕ таймеры сразу.
p^ := p := 0;
нужна помощь с расходомером, вот пример прерываний в сименс, можно ли сделать что то похожее для плк 110? очень нужна помощь совсем недавно начал работать с контроллерами
Вы бы хоть написали какая максимальная частота импульсов на расходомере. Может там и не нужны прерывания.
Для ПЛК110-30 [M02] v2- Два быстрых входа до 100 кГц https://owen.ru/product/plk110_m02
ПЛК110-60[М02] четыре быстрых входа до 100 кГц
Измерить кол-во импульсов и умножить на цену импульсов можно даже на реле типа ПР103 (ПР205) с быстрыми входами.
До 4 быстрых дискретных входов, частота до 100 кГц. https://owen.ru/product/pr103
кучка из 4 каких-то блоков, самое веселье, что 2 из них - это блок MOVE :D
можно. а можно и не сделать. такой ответ не устроит?Цитата:
можно ли сделать что то похожее для плк 110?
начните задавать правильные вопросы правильноЦитата:
очень нужна помощь совсем недавно начал работать с контроллерами
к примеру 500 гц, обычно так у Взлёта было. Расходомер щёлкает литрами в секунду, и надо настраивать коэффициенты преобразования выхода, отталкиваясь от свойств приёмника по частоте и принимаемой длительности импульсов.Цитата:
Вы бы хоть написали какая максимальная частота импульсов на расходомере
поэтому просто так бесполезно смотреть на один расходомер, возможно пролезешь по частоте, но не по длительности импульса
понимаю что не сюда, кто имел дело с нашим позитрон VR задолбался чет с ним , модем поднял IP и DNS получает DHCP раздает, похоже надо фильтры настраивать как в mikrotik но чета никак.. заранее благодарен
Добрый день, подскажите пожалуйста какой у меня тут адрес будет для панели Weintek чтоб кнопку привязать (плк овен 160)
Если сам считаю, то получается 55.1 - 55.2 :eek:
Вложение 77133
Спасибо, получается будет 0х 50:0 и 0х50:1 ?Вложение 77134
Не надо никаких двоеточий, последние два знака - это номер бита в регистре
Вложение 77136
___
Вложение 77135
Считается не так, если обращение к битам в регистре, то 4xBit 5000, 4xBit 5001
Если обращение напрямую к битам , то адрес бита - это номер регистра умноженный на 16 + номер бита (50*16+0=800), то будет 0х 800, 0х801
Так же в некоторых панелях, адреса +1 к адресам в ПЛК, надо проверить и 51 регистр, если не будет работать 50
Спасибо всем за помощь
Тут пришлось менять целевую платформу для программы в среде CodeSys V2.3.9.41 с ПЛК110-24.30.P [M02] на ПЛК110-24.32.P [M02]. Зашел в пункт "Настройки целевой платформы", выбрал PLC110.32-M v2 и нажал OK. Вроде, все прошло хорошо, но , если зайти в "Конфигурация ПЛК", то стоит PLC110_30! Пришлось вообще выбрать конфигурацию "None" и только потом выбрать PLC110.32-M v2. Теперь все правильно отображается в Конфигурации ПЛК - PLC110_30. Так должно быть ? Или я что-то, как обычно, зеванул при настройки конфигурации?
Так должно быть. При смене целевой платформы надо сбрасывать конфигурацию ПЛК. Иначе ничего даже и работать не будет.
Однако плохо вы научились) Это всё обсуждалось уже, обязательно сделать копию проекта, после смены платформы, надо нажать
Дополнения/ Стандартная конфигурация, только тогда появится новая пустая конфигурация.
Всё что добавлено в конфигурации (Мастера, слейвы), можно перенести программой переноса. Руками набить только переменные в самой конфигурации https://owen.ru/forum/showthread.php?t=18269
kondor3000, извини, что "туплю". Просто, я не так часто изменяю целевую платформу в своих проектах. Спасибо за ответ!
И вдогонку еще один вопрос. У ПЛК110-24.32.Р [M02] 14 релейных выходов. Почему в CodeSys указывается, что в конфигурации контроллера 20 выходов. Я понимаю, что последние 6 выходов не доступны. Или где-то в системе прописываются реальные доступные выходы? Есть такой пункт в системе, где я могу посмотреть реальные выходы?Вложение 77158
В конфигурации используются стандартные блоки 8 Bit (1 BYTE). Просто не используются последние выходы и всё.
Например у ПЛК110-24.30.Р, этого последнего блока 8 Bit нет вообще (12 выходов), а тут пришлось добавить из-за 2 лишних выходов.
https://owen.ru/product/plk110_m02
Всем доброго времени суток! Недавно начал осваивать ПЛК, когда-то учился на АСУ но по специальности так и не работал. Сейчас появилась возможность, есть реальная задача управление вентиляцией в здании (ПЛК110-220.32.Р-М). Для примера в одной комнате: включение вентилятора 1 раз в 2 часа на 30 мин, так же работа от кнопки. Подскажите как реализовать желательно на CFC, за раннее благодарю!
Для понимания приложил схему автоматизации
откройте русскоязычную инструкцию на кодесис 2.3 и начните знакомство с языками "программирования" с выполнения там элементарной задачи Светофор
кроме того, на сайте ОВЕН куча видео, обучающих азам программирования в кдс2.3
кроме того, на ютюбе вагоны видео по кдс 2.3
Добрый день, а если в codesys какой ни будь блок , чтобы у меня на входе было от 0 до 100, а на выходе от 100 до 0 ? обратная инверсия грубо говоря
Всё просто, достаточно из 100.0 вычесть вход, на выходе будет "как бы "инверсия" Вложение 77198