PDA

Просмотр полной версии : ModBus TCP не могу управлять выходами



MaxFromKZ
29.04.2023, 16:23
Коллеги, день добрый.
Прошу не судите строго, я новичок в этом.
Имеется ПЛК-110-30, подключаю по ModBus TCP Slave, и если связываю дискретный вход с одним из входов ModBus, и выход ModBus с дискретным выходом - отправляя через OPC всё работает корректно.
Но стоит какую-либо логику добавить в PLC_PROG она не может управлять выходами. Как только отключаю ModBus вся логика начинает управлять выходами.
Прошу прощения если объясняю невнятным языком.
Буду признателен если поможете советом.

в программе пишу на SFC
in1(дискретный вход)-MBin1(первый вход в ModBus)
MBout1(первый выход в ModBus)-out1(дискретный выход)

MaxFromKZ
29.04.2023, 16:23
Хотел добиться чтобы можно было управлять и через ModBus и чтобы встроенная программа тоже могла управлять выходами.

kondor3000
29.04.2023, 16:45
Хотел добиться чтобы можно было управлять и через ModBus и чтобы встроенная программа тоже могла управлять выходами.

Выложите простой пример, как вы делаете. Выложить проект можно в расширенном режиме, добавить файл.
Попробуйте язык CFC, там проще намного будет, если не знаете языка ST.
Вот простейший пример на CFC, управления из 2 мест, со входа ПЛК и по Модбас и посложней, с нефиксированной кнопкой 67633

MaxFromKZ
29.04.2023, 18:39
Выложите простой пример, как вы делаете. Выложить проект можно в расширенном режиме, добавить файл.
Попробуйте язык CFC, там проще намного будет, если не знаете языка ST.
Вот простейший пример на CFC, управления из 2 мест, со входа ПЛК и по Модбас и посложней, с нефиксированной кнопкой 67633

Спасибо большое, помогло, буду дальше разбираться. Только три дня как изучаю ПЛК Овен, очень нравится программировать такие штуки.
67634

MaxFromKZ
29.04.2023, 18:51
А нет, не помогло :-)

MaxFromKZ
29.04.2023, 18:53
Выложите простой пример, как вы делаете. Выложить проект можно в расширенном режиме, добавить файл.
Попробуйте язык CFC, там проще намного будет, если не знаете языка ST.
Вот простейший пример на CFC, управления из 2 мест, со входа ПЛК и по Модбас и посложней, с нефиксированной кнопкой 67633

MBout1 почему-то залипает

MaxFromKZ
29.04.2023, 19:09
Выложите простой пример, как вы делаете. Выложить проект можно в расширенном режиме, добавить файл.
Попробуйте язык CFC, там проще намного будет, если не знаете языка ST.
Вот простейший пример на CFC, управления из 2 мест, со входа ПЛК и по Модбас и посложней, с нефиксированной кнопкой 67633

Не получается отправить через OPC на MBout1 и чтобы зажегся out1.

MaxFromKZ
29.04.2023, 19:27
Вот такая шляпа получается: 67635

kondor3000
29.04.2023, 19:32
Не получается отправить через OPC на MBout1 и чтобы зажегся out1.

На Out1 не надо отправлять, это выход.
Схема работает от входов IN1 и от MBIn1. Вот на MBIn1 и подавайте, чтобы включился Out1, который вы и увидите или что то включите.
Кроме того у вас ниже Out1 подключен к таймеру, он его и перезаписывает . Удалите таймер, или выход с него измените.

MaxFromKZ
29.04.2023, 19:49
На Out1 не надо отправлять, это выход.
Схема работает от входов IN1 и от MBIn1. Вот на MBIn1 и подавайте, чтобы включился Out1, который вы и увидите или что то включите.
Кроме того у вас ниже Out1 подключен к таймеру, он его и перезаписывает . Удалите таймер, или выход с него измените.

Но в такой конфигурации всё равно реле выхода не замыкается.
67636

MaxFromKZ
29.04.2023, 19:52
На Out1 не надо отправлять, это выход.
Схема работает от входов IN1 и от MBIn1. Вот на MBIn1 и подавайте, чтобы включился Out1, который вы и увидите или что то включите.
Кроме того у вас ниже Out1 подключен к таймеру, он его и перезаписывает . Удалите таймер, или выход с него измените.

Вообще задумка такая чтобы можно было и считывать входы и в тоже время можно было отправлять на выходы команды. Если ставлю так 67637 и более ничего не прописываю то работает так как нужно.

kondor3000
29.04.2023, 19:52
Но в такой конфигурации всё равно реле выхода не замыкается.
67636

Вы опять не внимательны, таймер удалили, а на выходе AND ниже Ou1 опять перезаписывается.

MaxFromKZ
29.04.2023, 19:53
А как возможно подать команду не записывая в него значение? Извиняюсь что не догоняю.

MaxFromKZ
29.04.2023, 19:54
Или записывать в Mbin1?

kondor3000
29.04.2023, 19:58
Или записывать в Mbin1?

Вы торопитесь и не читаете, уже написал
На Out1 не надо отправлять, это выход.
Схема работает от входов IN1 и от MBIn1. Вот на MBIn1 и подавайте, чтобы включился Out1, который вы и увидите или что то включите.
Ниже в Out 1 ничего не должно записываться.

MaxFromKZ
29.04.2023, 20:04
67638 по этой схеме у меня получается срабатывает выход при получении сигнала на входе 1, чего мне не нужно. Потому как на выходе один у меня сигнал на открытие шлагбаума.

kondor3000
29.04.2023, 20:07
67638 по этой схеме у меня получается срабатывает выход при получении сигнала на входе 1, чего мне не нужно. Потому как на выходе один у меня сигнал на открытие шлагбаума.

Это же пример, как из 2 мест включать, что вы просили. Как вам надо, так и делайте.
Главное, ниже по схеме удалите всё, записывайте на входы, а не на выходы.

MaxFromKZ
29.04.2023, 20:10
Сердечно благодарствую. Очень помогли.