Вход

Просмотр полной версии : Проблема с полноценным запуском ПЛК210



Krestonosec
29.01.2026, 11:11
Добрый день.

Я самоучка, реализованных проектов не особо много, поэтому попрошу тапками не кидать.

Имеется ПЛК210, пачка модулей ввода-вывода, тач панель СП310Р.
Часть на ПЛК210 писал я, часть для СП310Р другой человек.

Подключение через ModbusTCP.
Управление техпрограммой планируется только с панели.


1. На данный момент столкнулся с проблемой, не запускается Ethernet device. На скрине модули тоже в ошибке, но с ними сейчас уже вроде бы разобрался. Они стартуют, изменения на каналах в онлайне отражаются.
Гугление проблемы выдавало как причины разные таргет файлы, неправильно сконфигурированные настройки Ethernet'а, отсутствие библиотек.

1) Таргет файл был изначально слит с контроллера еще до начала проектирования. Так что тут я сомневаюсь, что может быть проблема.
2) Конфигурации пробовал разные, в итоге указал в IP адрес контроллера, его маску, а вот с гейтом были вопросы, пробовал по-разному, но пока остановился на общем192.168.0.0 (возможно косяк здесь).
3) Библиотеки для сетевого обмена Owen Communication скачаны и добавлены в проект, возможно не хватает чего то еще?


2. Так же проанализировав предоставленную часть ППО с панели, обнаружил, что она прописана под Мастер, попробовал в Codesys'е переписать под слэйв, но столкнулся с ограничением в 100 передаваемых сигналов. Возможно ли как то увеличить их число или придется перелопачивать ППО панели и ПЛК? Или есть только вариант оставить панель мастером и переделать ПЛК на слэйв (но как по мне довольно сомнительное решение)?


Во вложении докинул проект, в части ПЛК куча рудиментов в виду отсутствия изначальной логики работы установки.

Евгений Кислов
29.01.2026, 11:24
Добрый день.


1. На данный момент столкнулся с проблемой, не запускается Ethernet device.

https://oscat.ru/wp-content/Video/CodesysOneLove/MainPlaylist/061_EthernetIconRedExclamationMark.mp4


столкнулся с ограничением в 100 передаваемых сигналов. Возможно ли как то увеличить их число или придется перелопачивать ППО панели и ПЛК?

Ограничение на 100 каналов устранить нельзя.

Можно сделать следующее:
- перейти на групповые запросы - т.е. с помощью одного канала считывать (или записывать) не один регистр, а сразу несколько (вплоть до 125 регистров в запросе чтения, до 123 в запросе записи).
На стороне слэйв-устройства - нужно, чтобы адреса регистров параметров задавались последовательно.
Это оптимальный вариант.

- добавить в дерево проекта CODESYS несколько Modbus TCP-slave устройств с одним и тем же IP-адресом.
Таким образом, в рамках каждого компонента Modbus TCP Slave вы можете добавить 100 отдельных каналов.
Это более сомнительный вариант, так как каждый компонент создает отдельное подключение к slave-устройству, а slave-устройства обычно имеют ограничение на количество одновременных подключений.
У панели СП3xx, впрочем, поддерживается до 10 одновременных подключений.

- перейти на опрос через библиотеку OwenCommunication.
Это более сложный вариант опроса, чем через дерево проекта, но он даст максимум возможностей при минимуме ограничений.

Krestonosec
29.01.2026, 12:01
Спасибо, сегодня поеду на объект попробую.

Еще вопрос, а в подобных ситуациях с панелью как правильнее организовывать Мастер-Слейв распределение? или это к каждому проекту рассматривается индивидуально?

Евгений Кислов
29.01.2026, 12:05
Спасибо, сегодня поеду на объект попробую.

Еще вопрос, а в подобных ситуациях с панелью как правильнее организовывать Мастер-Слейв распределение? или это к каждому проекту рассматривается индивидуально?

У разных людей имеются разные мнения на этот счет.
Мое личное мнение - на это влияют особенности используемых master- и slave-устройств, а также тот факт, с использованием какого из этих устройств вы имеете больше опыта.

Krestonosec
02.02.2026, 09:42
1. Первый вопрос решил, подключив физически все устройства и выбрав в веб интерфейсе адрес контроллера из пресета (br-lan или как-то так).
2. К панели тоже подключился, но столкнулся с проблемой того, что между контроллером и панелью не идет сетевой обмен (либо какая-то фишка с адресацией). Задаю значение на контроллере - панель его не видит и не меняет, задаю на панели - соответственно не видит контроллер. Пробовали подключение и прямым Ethernet кабелем, и перекрестным (как описано в мануале на панель) - эффекта ноль. Добавил внутреннюю переменную 60013, которая выводит окно сетевой диагностики панели. При ее активации все горит зеленым. Возможно как-то проверить, действительно ли есть сетевой обмен и проблема в адресации или все же что-то не так с сетью?

Евгений Кислов
02.02.2026, 09:44
Возможно как-то проверить, действительно ли есть сетевой обмен и проблема в адресации или все же что-то не так с сетью?

В web-конфигураторе ПЛК: Сеть - Диагностика - Ping-запрос - ввести IP-адрес панели и нажать кнопку

Вы можете обратиться на support@owen.ru, чтобы получить помощь в решении вашей проблемы.

kondor3000
02.02.2026, 09:48
1. Первый вопрос решил, подключив физически все устройства и выбрав в веб интерфейсе адрес контроллера из пресета (br-lan или как-то так).
2. К панели тоже подключился, но столкнулся с проблемой того, что между контроллером и панелью не идет сетевой обмен (либо какая-то фишка с адресацией). Задаю значение на контроллере - панель его не видит и не меняет, задаю на панели - соответственно не видит контроллер. Пробовали подключение и прямым Ethernet кабелем, и перекрестным (как описано в мануале на панель) - эффекта ноль. Добавил внутреннюю переменную 60013, которая выводит окно сетевой диагностики панели. При ее активации все горит зеленым. Возможно как-то проверить, действительно ли есть сетевой обмен и проблема в адресации или все же что-то не так с сетью?

С адресацией регистров напутали скорее всего, выложите скрины из панели и из ПЛК, с адресами.
Либо IP неправильно забили.

Krestonosec
02.02.2026, 10:32
по IP вроде все нормально:
ПЛК - 192.168.0.66
панель - 192.168.0.67
модули УСО -192.168.0.68 и далее

маска у всех 255.255.0.0

А вот с гейтом по умолчанию почему-то без ошибок работает только с 0.0.0.0

Скрины приложил на примере для одного сигнала
К сожалению не знаю как вытащить из панели все сигналы списком

kondor3000
02.02.2026, 10:36
по IP вроде все нормально:
ПЛК - 192.168.0.66
панель - 192.168.0.67
модули УСО -192.168.0.68 и далее

маска у всех 255.255.0.0

А вот с гейтом по умолчанию почему-то без ошибок работает только с 0.0.0.0

Скрины приложил на примере для одного сигнала
К сожалению не знаю как вытащить из панели все сигналы списком

Маска должна быть 255.255.255.0, а шлюз 192.168.0.1
С адресами порядок, а вот что с соотнесением?
И ещё, зачем читать-записывать по 2 регистра, если можно массивом до 120 штук читать -записывать?
В соотнесении настройка должна быть Вкл 2 (всегда в задаче цикла шины)

Krestonosec
02.02.2026, 10:49
То есть с другой маской оно адекватно работать не будет?

Не совсем понял про соотнесение.
условно для примера сигнал, который в панель должен записываться в PSW300 как DWord, с ПЛК она записывается в 012С

Krestonosec
02.02.2026, 11:02
Про соотнесение понял, она везде стоит 2.
По поводу количества регистров на чтение- запись, тут к сожалению "панельная" часть писалась не мной, поэтому приходится работать с тем, что дали. По этому поводу выше уже уточнял про ограничение в 100 сигналов. В итоге у меня не 1 слэйв панель, а 2. С каждой идет чтение-запись, но адреса не совпадают (на втором устройстве адресация начинается с последнего адреса первого устройства)

kondor3000
02.02.2026, 12:51
Про соотнесение понял, она везде стоит 2.
По поводу количества регистров на чтение- запись, тут к сожалению "панельная" часть писалась не мной, поэтому приходится работать с тем, что дали. По этому поводу выше уже уточнял про ограничение в 100 сигналов. В итоге у меня не 1 слэйв панель, а 2. С каждой идет чтение-запись, но адреса не совпадают (на втором устройстве адресация начинается с последнего адреса первого устройства)

Я скрин соотнесения переменных просил, там половина регистров чтение, половина запись, куда у вас переменная соотнесена (для примера одна с адресом 300).

Krestonosec
03.02.2026, 14:30
Скрины добавил.

Сейчас мучаю проект и прихожу к выводу, что проблема либо в преобразовании, либо не правильно выставлена адресация (но вы вроде сказали, что с ней все нормально).
Попутно еще попробовал загрузить проект с примером с сайта - там почти все работает: word и пишется и читается, bool тоже, а вот string и real можно с плк задать только с POU, с "железа" не получается.

kondor3000
03.02.2026, 14:35
Скрины добавил.

Сейчас мучаю проект и прихожу к выводу, что проблема либо в преобразовании, либо не правильно выставлена адресация (но вы вроде сказали, что с ней все нормально).
Попутно еще попробовал загрузить проект с примером с сайта - там почти все работает: word и пишется и читается, bool тоже, а вот string и real можно с плк задать только с POU, с "железа" не получается.
Адресация правильно только на 300 регистре, что вы показали на скринах, как с остальной не знаю.
Вот у вас куча переменных, для записи каждой нужно изменить значение и не менее чем на 1 цикл включить свою триггерную переменную.
Для REAL надо ещё разложить на 2 WORD, и каждый WORD вставить в соотнесение (блок REAL_TO_2WORD)
Выложите Пример как проект и что конкретно у вас не записывается. Свой проект потом исправите по аналогии.

Krestonosec
04.02.2026, 09:08
Адресация правильно только на 300 регистре, что вы показали на скринах, как с остальной не знаю.
Вот у вас куча переменных, для записи каждой нужно изменить значение и не менее чем на 1 цикл включить свою триггерную переменную.
Для REAL надо ещё разложить на 2 WORD, и каждый WORD вставить в соотнесение (блок REAL_TO_2WORD)
Выложите Пример как проект и что конкретно у вас не записывается. Свой проект потом исправите по аналогии.

Вот про то, что надо привязывать 2 word'а не знал, спасибо.

пример с сайта качнуть можно:
"Настройка обмена с ПЛК на CODESYS 3.5" https://owen.ru/product/sp3xx/software 325 Мб.
Я прогружал этот "01_СП3xx-Р. Пример обмена с ПЛК210 по Modbus TCP, панель - Slave"

Если что проект, с которым я мучаюсь, в первом посте выложен.

kondor3000
04.02.2026, 17:38
Вот про то, что надо привязывать 2 word'а не знал, спасибо.

пример с сайта качнуть можно:
"Настройка обмена с ПЛК на CODESYS 3.5" https://owen.ru/product/sp3xx/software 325 Мб.
Я прогружал этот "01_СП3xx-Р. Пример обмена с ПЛК210 по Modbus TCP, панель - Slave"

Если что проект, с которым я мучаюсь, в первом посте выложен.

Ну что, в примере всё есть, что надо, сборка OCL.WORD2_TO_REAL, разложение OCL.REAL_TO_WORD2,
в соотнесении присвоены не переменные WORD, а массивы WORD в которые разложены переменные REAL. Просто вы пропустили часть.

В вашем проекте для ПЛК вообще ничего нет в соотнесении, для работы с панелью.