Обе переменные на входе, должны быть и на выходе.
Вид для печати
Не понимаю, так пробовал - не меняется. Наблюдаю сейчас такое:
Вложение 83516
Одно значение пишу в регистр с панели, второе значение - переменная Retain в ПЛК.
Код::
Значение T_sh с панели изменить невозможно.
Вложение 83518
На выходе одна, как запишется вторая ? Вложение 83517 Читайте внимательно, что я пишу.
Я ж написал, что так тоже пробовал. Выше выложил - невозможно поменять значение.
Почему нет значений при подключении?
Вложение 83519
Когда ПЛК в режиме стоп, я могу менять значение регистра:
Вложение 83521
Как только включаю Старт, переменная принимает значение от Retain и с панели не меняется.
Спасибо! Действительно же, вот я перемудрил...
Опять непонятки с этим CodeSYS...
Вложение 83576
Почему TON не работает? Время не считается при подаче лог.1 на вход.
Вложение 83578
Да вроде работает... В эмуляции...
Переименовал TON1 в TON и все заработало. Чудесы...
Да и с TON1 работает. Странно...
TON1, 2, 3 это не просто имена, они так должны быть объявлены в переменных, чтобы знать, кому выделять память.
Поставьте два ton с одним именем, и они начнут друг другу мешать.
Наверное, все имена TON должны отличаться в проекте? TON1, TON2, например?
Хотели одним таймером весь проект перекрыть... Бывает. Переходите на ST, я замучился ловить концы блоков мышкой чтоб их соединить...
Поздно, проект уже практически готов. Хотел по подобию OL быстренько накидать по-привычному ))
Ловля концов - это да, весело. Можно, конечно, масштаб увеличить, только хочется по максимуму поле видеть.
Вот хорошо, что всякие AND, OR не нужно пронумеровывать. Или я ошибаюсь и всё веселье впереди? )))
А триггеры? Триггеры тоже должны разные имена иметь? Блин, где это все написано то? В руководстве ничего подобного не видел.
Ollema, and, or, это функции, под них память выделяется при работе, потом очищается.
А Ton это функциональный блок, под него выделяется постоянная память, так как они хранят промежуточные значения при выполнении программы от цикла к циклу.
В ОЛ, когда вы ставите блок, он автоматом нумеруется, здесь вы объявляете руками, и можете кроме номеров давать осознанные имена. Но если скопировать и не переименовать, можно в программе сделать пару одинаковых и потом ловить глюки, так как они начнут использовать один экземпляр выделенной памяти.
з.ы. свои особенности в общем, привыкайте. Точнее изучайте среду разработки, в которой работаете.
Везде есть нюансы.
Ollema Если ты готов потратить ЧУТОК времени - то вот тебе статья про таймеры и всякие блоки: https://cs-cs.net/funkciya-fun-i-fun...esys-owenlogic
Я как раз писал, чтобы путаницы "Нарисовал квадратик таймера - и он как-то там сам заработал" не было.
В статье есть заголовки, поэтому там можно быстро прокрутить до нужного момента.
Я бы потратил чуток время, пролистал-прочитал - и дальше бы прогал, чтобы избежать базовых ошибок.
Ollema, если на поле два и более fbd а объявлен один, то попали :)
Но в CodeSys есть и ряд других плюшек, недоступных в ОЛ, возможность писать в одну переменную несколько раз в программе, только не забывайте, тут кто последний встал, того и тапки :)
Здравствуйте уважаемые коллеги. Прошу вашей помощи. В Codesys 2.3 никак не получается считать "нормальные" значения со входов модуля МВ110-24.8АС через ПЛК110-24.60.P.L. ПЛК выступает в роли Мастера. МВ110 - слэйв с адресом 32.
К модулю подключены 7 датчиков (что-то по 4-20мА, что-то по 0-10В). Через Овен-конфигуратор М110 вижу все значения на входах (см. фото).
При подключении через конфигурацию Codesys нет ошибки 81. На модуле МВ мигает светодиод RS-485. Добавил и целочисленные значения и с плавающей точкой (из мануала соответствующие адреса регистров взял), но результата нет. Целочисленные что-то показывают, но не меняются. А вещественные - только нули. Значение из регистров с величиной циклического времени измерения тоже 0. Скриншот значений, файл конфигурации МВ и проект Codesys прилагаю.
Вложение 86265
Вложение 86266
Вложение 86267
https://cloud.mail.ru/public/eVcz/6mktA12Ns