PDA

Просмотр полной версии : Конфликтуют СПК107 и ПМ210



philip.yef
13.12.2017, 10:10
Здравствуйте!
СПК107 управляет устройствами ввода-вывода по Modbus. Всё нормально. Как только включаю в сеть ПМ210 и оно начинает опрашивать модуль ввода МВ110-8А, СПК перестает читать температуру с этого модуля. А на модуль вывода сигналы отправляет нормально. ПМ210 в это время тоже ничего не читает с модуля ввода и в облаке пишет "Ошибка: 255". Отдельно друг от друга СПК и ПМ работают с модулями без нареканий.

Прописываю в облаке читать вымышленный адрес слейва, и в этом случае СПК перестает видеть реальный МВ110.

Что делать, как их подружить?

Евгений Багаев
13.12.2017, 10:19
Здравствуйте!
СПК107 управляет устройствами ввода-вывода по Modbus. Всё нормально. Как только включаю в сеть ПМ210 и оно начинает опрашивать модуль ввода МУ110-8А, СПК перестает читать температуру с этого модуля. А на модуль вывода сигналы отправляет нормально. ПМ210 в это время тоже ничего не читает с модуля ввода и в облаке пишет "Ошибка: 255". Отдельно друг от друга СПК и ПМ работают с модулями без нареканий. Что делать, как их подружить?

В облаке модуль МВ110-8А добавляете как шаблон или как универсальное устройство Modbus? Если добавляете как шаблон, то опрос идет по протоколу ОВЕН. Итог - 2 протокола на одной линии. Добавьте модуль в облаке как универсальное устройство Modbus и укажите необходимые регистры опроса из РЭ.

philip.yef
13.12.2017, 10:28
Да, добавляю по шаблону. Попробую, спасибо!

Сергей Лысов
13.12.2017, 10:32
Давайте уточним несколько моментов.
1. СПК107 работает в режиме Мастера?
2. К существующей линии RS-485 вы подключаете ПМ210 и всё перестаёт работать?
3. Что будет, если в одной линии два Мастера-сети? А если два Мастера работают по двум разным протоколам?

P.S. проблема всегда решается быстрее, если прикладывать проект и скриншоты :rolleyes:

philip.yef
13.12.2017, 10:53
Да, добавляю по шаблону. Попробую, спасибо!

Ничего не изменилось! МВ110 в облаке прописал как Modbus, и ПМ без СПК темепературу отправляет нормально. А как только включил СПК, то оба перестают её читать.

philip.yef
13.12.2017, 11:03
Давайте уточним несколько моментов.
1. СПК107 работает в режиме Мастера?
2. К существующей линии RS-485 вы подключаете ПМ210 и всё перестаёт работать?
3. Что будет, если в одной линии два Мастера-сети? А если два Мастера работают по двум разным протоколам?

1. СПК в режиме мастера (в Codesys к нему добавлены Modbus Slaves МУ и МВ)
2. ПМ подключаю к линии, или подаю питание со вставленной симкой, или вставляю симку во включенный ПМ и делаю reset - во всех случаях нарушается обмен
3. Кажется, 2 мастера работать не должны. Является ли ПМ мастером? Можно ли изменить протокол ПМу?

Сергей Лысов
13.12.2017, 11:56
1. СПК в режиме мастера (в Codesys к нему добавлены Modbus Slaves МУ и МВ)
2. ПМ подключаю к линии, или подаю питание со вставленной симкой, или вставляю симку во включенный ПМ и делаю reset - во всех случаях нарушается обмен
3. Кажется, 2 мастера работать не должны. Является ли ПМ мастером? Можно ли изменить протокол ПМу?

Спасибо за ответы на вопросы, теперь понятна причина.

У вас на одном интерфейсе СПК107 - Мастер. Пока вы так работаете - всё в порядке.
Потом вы подключаете ПМ210 и в сети появляется второй Мастер - это OwenCloud. Именно это и нарушает обмен.

ПМ210 сам по себе не является мастером, по сути это прозрачный канал между OwenCloud и устройствами.
Поменять протокол в OwenCloud можно. Готовые шаблоны работаю по протоколу ОВЕН, а "Произвольное устройство Modbus" по Modbus RTU/ASCII.

Как вам восстановить обмен:
На СПК107 два интерфейса RS-485. Подключите на один интерфейс модуль МВ110-8А, а на другой RS-485 подключите ПМ210.

philip.yef
14.12.2017, 06:25
Спасибо за ответы на вопросы, теперь понятна причина.

У вас на одном интерфейсе СПК107 - Мастер. Пока вы так работаете - всё в порядке.
Потом вы подключаете ПМ210 и в сети появляется второй Мастер - это OwenCloud. Именно это и нарушает обмен.

ПМ210 сам по себе не является мастером, по сути это прозрачный канал между OwenCloud и устройствами.
Поменять протокол в OwenCloud можно. Готовые шаблоны работаю по протоколу ОВЕН, а "Произвольное устройство Modbus" по Modbus RTU/ASCII.

Как вам восстановить обмен:
На СПК107 два интерфейса RS-485. Подключите на один интерфейс модуль МВ110-8А, а на другой RS-485 подключите ПМ210.

Спасибо за помощь, но проблема не решилась.
Что сделано: СПК как мастер работает с МВ110 на первом интерфейсе и нормально читает показания по Modbus, а на второй кабелем подключил ПМ без добавления каких-либо устройств на этот порт в Codesys (типа Slave modbus) в проге для СПК. Оба интерфейса в конфиге СПК установлены как RS-485. В облаке для ПМ ставил протоколы: Modbus RTU, ASCII, ОВЕН. Ни один не срабатывает - "Ошибка: 255".

Вопрос: если СПК может на втором интерфейсе работать как слейв, то можно ли ПМ210-мастера настроить на опрос какой-либо переменной из памяти СПК, а не МВ110 как я пытаюсь? Возможно, Вы это и имели в виду в ответе?

philip.yef
14.12.2017, 07:50
Вопрос: если СПК может на втором интерфейсе работать как слейв, то можно ли ПМ210-мастера настроить на опрос какой-либо переменной из памяти СПК, а не МВ110 как я пытаюсь? Возможно, Вы это и имели в виду в ответе?

Похоже, что именно это, ибо заработало!
Напишу, что сделал. Может, кому сгодится. Хотя в SPK_Modbus_v1.1.pdf это всё итак содержится.
Добавил в Codesys на второй порт СПК107 устройство ModbusSerialDevice. Там прописал ID слейва и какую переменную СПК выдавать на чтение (после преобразования real to word). В облаке для ПМ указал ModBusRTU, ID слейва и создал Modbus-параметр для чтения функцией 04 адреса 0001 формата float. И всё работает!