Контроллеры Carel и Modbus |
|
|
|
29.10.2012, 12:17
|
Группа: New
Сообщений: 4
Регистрация: 29.10.2012
Пользователь №: 168375

|
Всем доброго дня! Столкнулся с необходимостью построения системы мониторинга с использованием контроллеров carel. Протокол сети - ModBus. Кто-нибудь работал с подобными системами? Интересует принцип формирования запроса к контроллерам, является ли ModBus кареловских контроллеров классическим? Кто работал с такой системой, приведите, пожалуйста, пример запроса к контроллеру - считывания, допустим, значения датчика температуры котроллера IR33.
Сообщение отредактировал rosal - 29.10.2012, 12:18
|
|
|
|
|
29.10.2012, 16:12
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
у carel MODBUS RTU/RS485 (есть еще Modbus ASCII кажись, который карелом не поддерживается), 8 бит данных, без проверки четности, 2 стоповых бита, скорость до 19200. У меня получилось "подружить" Carel PCO3 и SCADA Trace Mode по примеру с сайта производителя SCADA.
Ищите на просторах сети pco_system_manual
Вы на С# или ассемблере писать запрос планируете?
|
|
|
|
|
29.10.2012, 17:45
|
Группа: Участники форума
Сообщений: 385
Регистрация: 29.1.2010
Из: Днiпро
Пользователь №: 45399

|
Цитата(polyakov.mo @ 29.10.2012, 16:12)  ... 8 бит данных, без проверки четности, 2 стоповых бита... Конфигурируется в COM_CONFIG_BMS
|
|
|
|
|
29.10.2012, 18:56
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945

|
Вот документ по Карел-Модбас.
CarelModbus.pdf ( 345,41 килобайт )
Кол-во скачиваний: 1521Вот карта адресов карел для ir32. Вам нужен файл для ir33, у меня нет под рукой, попросите на карелраша.
ir_32.var_.txt ( 14,6 килобайт )
Кол-во скачиваний: 814 Найдите адрес модбас требуемой переменной, например строка "temp_ambiente";2;1;1;"Room temperature";"";"";"";"°C";"";"";"" означает что у переменной Room temperature тип - реал(значит функция чтения 3), адрес 1, только чтение.
|
|
|
|
|
30.10.2012, 10:16
|
Группа: New
Сообщений: 4
Регистрация: 29.10.2012
Пользователь №: 168375

|
Пишу на Делфи, сейчас работаю над модулем опроса. Писал итальянцам - чудом, но получил ответ:
modbus.pdf ( 279,64 килобайт )
Кол-во скачиваний: 1275
Carel_and_MODBUS_protocol_address_crosstable_1_2.pdf ( 46,33 килобайт )
Кол-во скачиваний: 1146
|
|
|
|
|
30.10.2012, 13:08
|
Группа: New
Сообщений: 4
Регистрация: 29.10.2012
Пользователь №: 168375

|
В основном разобрался с IR33.
Если кому-то поможет:
1. Считываем значение регистров (переменных) |A|F|H.R.A|L.R.A|H.N.R|L.N.R|CRC| A- адрес устройства F- номер функции (1, 2, 3, 4) H.R.A- старший байт адреса начального регистра (у карела "переменной") - и не забываем отнимать единицу! L.R.A- младший байт адреса начального регистра H.N.R- старший байт кол-ва регистров для считывания L.N.R- младший байт кол-ва регистров для считывания CRC- два байта (младший и старший) контрольной суммы
2. Записываем значение регистра (переменной) |A|F|H.R.A|L.R.A|H.V|L.V|CRC| A- адрес устройства F- номер функции (5, 6) H.R.A- старший байт адреса начального регистра (у карела "переменной") - и не забываем отнимать единицу )) L.R.A- младший байт адреса начального регистра H.V- старший байт записываемого значения L.V- младший байт записываемого значения CRC- два байта (младший и старший) контрольной суммы
Состояния цифровых входов/выходов: "0" - замкнут, "1" - разомкнут. Аналоговые значения (читаем один регистр): (байт№5*256+байт№6)/10 - для положительных значений ((байт№5-255)*256+(байт№6-255))/10 - для отрицательных значений.
Запись значений регистров аналоговых переменных и значений типа integer производятся по тому же принципу.
|
|
|
|
|
19.6.2013, 5:31
|
Группа: New
Сообщений: 1
Регистрация: 18.6.2013
Пользователь №: 196332

|
Всем доброго дня! Нужно вывести данные с контроллеров carel рСОxs. Протокол сети - ModBus.
Запросил регистры с 1 по 128 , во всех ячейках единицы со степенью -40 и т.д., практически ноль. Инвертировать тоже пробовал. Менял тип данных, проблема та же.
Кто работал с такой системой, приведите, пожалуйста, пример запроса к контроллеру - считывания, допустим, значения датчика температуры котроллера. Желательно карту регистров, где какая температура и где какие дискретные сигналы.
|
|
|
|
|
19.6.2013, 9:20
|
Группа: Участники форума
Сообщений: 84
Регистрация: 16.3.2010
Пользователь №: 48554

|
Цитата(klav-st @ 19.6.2013, 6:31)  Всем доброго дня! Нужно вывести данные с контроллеров carel рСОxs. Протокол сети - ModBus.
Запросил регистры с 1 по 128 , во всех ячейках единицы со степенью -40 и т.д., практически ноль. Инвертировать тоже пробовал. Менял тип данных, проблема та же.
Кто работал с такой системой, приведите, пожалуйста, пример запроса к контроллеру - считывания, допустим, значения датчика температуры котроллера. Желательно карту регистров, где какая температура и где какие дискретные сигналы. В контроллерах Carel стандартный протокол Modbus RTU. Для считывания данных из регистров нужно использовать тип INT. Контроллер pCOxs - свободно-программируемый. Соответственно какие данные в каких регистрах хранятся определяется программой, которая залита в контроллер. Может вообще ничего не передаваться в сеть. Нужно искать документацию на программу.
|
|
|
|
|
15.7.2013, 14:29
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Добрый день. Помогите мне с таким вопросом. Нужно в програме зделать регистры которые будуть считоватса при помощи скады. Ето должно делатса по протоколу Modbus на контролерах Carel. Их будет 15 шт. как мне ето зделать, по тому што я толька начинаю работать по автоматике и тут такая задача, зарание спасибо!!!
|
|
|
|
|
15.7.2013, 14:58
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
при создании переменной в 1tool ставите во вкладке network галочку "BMS/Fieldbus". Далее для порта BMS в той же вкладке выбираете input/input-output. А еще очень полезно почитать help к переменным bms_address, com_baudrate_bms, com_protocol_bms
PS Вы с Украины?
|
|
|
|
|
15.7.2013, 15:47
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Да с Украины ну и руский плохо знаю и по сообщении ето заметно))))) Спасибо. А как оно будет с Modbus работать?
|
|
|
|
|
15.7.2013, 16:10
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
рекомендую в общих чертах ознакомиться вот с этим сообщением и вложением, а там в показе слайдов на общие доки по MODBUS ссылки есть
|
|
|
|
|
15.7.2013, 16:12
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Спасибо!
|
|
|
|
|
15.7.2013, 16:12
|
Группа: Участники форума
Сообщений: 90
Регистрация: 3.7.2010
Из: Москва
Пользователь №: 63451

|
Цитата(Guk_Oleg @ 15.7.2013, 16:47)  Да с Украины ну и руский плохо знаю и по сообщении ето заметно))))) Спасибо. А как оно будет с Modbus работать? Как настроите порты филдбас так и будет. может по модбасу, каресу, лону. переменная - Com_Protocol_fieldbus.
|
|
|
|
|
15.7.2013, 16:32
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Спасибо!! а как оно будет работать если 15 контроллеров практически с одинаковыми программами и переменными?
|
|
|
|
|
15.7.2013, 17:10
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
В сети Modbus у контроллера есть адрес. В случае с Carel от 1 до 207. Master (в Вашем случае SCADA) отправляет запрос - в запросе есть адрес Slave (в Вашем случае контроллер Carel), команда, адрес регистра (-ов) Вы скачайте мануалы по Modbus, там это написано
|
|
|
|
|
15.7.2013, 17:22
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Спасибо!! Я почти со всем разобрался, только еще один вопрос. Как физически мне все эти контроллеры объединить и подключить к компьютеру, и как задать адрес устройства в случае slave.
Извините я уже увидел как задать адрес устройства!!
Сообщение отредактировал Guk_Oleg - 15.7.2013, 17:30
|
|
|
|
|
16.7.2013, 8:59
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
В своих копаниях Вы должны были наткнуться на описание интерфейса RS485 (мы же говорим о modbus rtu, а не modbus tcp?), в котором нарисованы экранированные кабели с витыми парами проводов. Один провод на RX+/TX+, второй на RX-/TX-, третий на GND. Далее все соединяются шлейфом. На последнем контроллере поставьте терминатор между RX+/TX+ и RX-/TX-, по простому - резистор ~120 Ом, и второй конец шлейфа подсоединяете к преобразователю интерфейсов, который должен быть у Вас, если Вы сами прошивали контроллеры. В случае, если 3 пин разъем на преобразователе - все нормально, на нем тоже есть +,-,0. Если он у Вас с телефонным разъемом RJ12, смотрите вложение. Обратите внимание, у всех контроллеров должны быть разные адреса, одинаковые форматы передачи данных, одинаковые скорости.
|
|
|
|
|
16.7.2013, 9:20
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Большое спасибо, буду приступать к работе)) Скажите пожалуйста я правильно понял: 1) Настраиваем Modbus slave так как в демо версией; 2) В настройках переменных в закладке network настраиваю BMS порт; 3) присваивает каждому контроллеру свой адрес и одинаковую скорость; 4) Покупаю к каждому контроллеру серийные карты; 5) витой парой обедною все контроллеры между собой таким образом
004_PCO2004850_Serial_card_RS485_pCO2.pdf ( 172,14 килобайт )
Кол-во скачиваний: 339; 6) Первый контроллер к RS 485 конвертере и из него к компьютеру; 7) На последнем контроллере между RX + и RX - ставлю 120 Ом резистор. И то должно быть все? Извините за такое количество вопросов!
Сообщение отредактировал Guk_Oleg - 16.7.2013, 9:28
|
|
|
|
|
16.7.2013, 9:31
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
Цитата(Guk_Oleg @ 16.7.2013, 10:20)  Большое спасибо, буду приступать к работе)) Скажите пожалуйста я правильно понял: 1) Настраиваем Modbus slave так как в демо версией; 2) В настройках переменных в закладке network настраиваю BMS порт; 3) присваивает каждому контроллеру свой адрес и одинаковую скорость; 4) Покупаю к каждому контроллеру серийные карты; 5) витой парой обедною все контроллеры между собой; 6) Первый контроллер к RS 485 конвертере и из него к компьютеру; 7) На последнем контроллере между RX + и RX - ставлю 120 Ом резистор. И то должно быть все? Извините за такое количество вопросов! 1 - да. 2 - да. 3 - да. 4 - да, если PCO3; у PCO5 уже есть - в данном случае по встроенному в 1tool help почитайте про настройку порта. Переменные примерно так же называются, я с PCO5 еще не работал, особенностей не знаю. 5 - да, желательно витая пара в экране. 6 - да. 7 - да. А еще: 8 - сделайте таблицу регистров для того, кто будет все это встраивать в SCADA. Таблица должна содержать следующую информацию: адрес регистра (он же индекс), тип переменной (bool/int), доступ (чтение/чтение-запись), в примечании укажите за что отвечает переменная и диапазоны значений Вот теперь все
Сообщение отредактировал polyakov.mo - 16.7.2013, 9:36
|
|
|
|
|
16.7.2013, 9:33
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Большое вам человеческое спасибо!
|
|
|
|
|
16.7.2013, 9:47
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
Пожалуйста Я Вам не упомянул, что порт plan можно использовать в режиме Modbus. Сам начал пробовать, потом время для экспериментов кончилось, однако тех поддержка уверяет, что это возможно. Обратитесь к Igorchello в этой веткеГлядишь съэкономите 15*100 EUR и премию сможете попросить )))
|
|
|
|
|
16.7.2013, 9:51
|
Группа: Участники форума
Сообщений: 385
Регистрация: 29.1.2010
Из: Днiпро
Пользователь №: 45399

|
А как насчет оптоизоляции?
|
|
|
|
|
16.7.2013, 10:08
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
Цитата(svintus @ 16.7.2013, 10:51)  А как насчет оптоизоляции? По каталогу Carel доп. плата имеет оптоизоляцию, у plan - как опция, считаем, что ее нет
|
|
|
|
|
16.7.2013, 10:16
|
Группа: Участники форума
Сообщений: 385
Регистрация: 29.1.2010
Из: Днiпро
Пользователь №: 45399

|
Ну, я как бы имел ввиду, что эта экономия может боком вылезть.
Сообщение отредактировал svintus - 16.7.2013, 10:16
|
|
|
|
|
16.7.2013, 22:47
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Спасибо.
|
|
|
|
|
6.8.2013, 9:13
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Подскажите пожалуйста я сделал как было сказано выше, а у меня почему-то не связывается контроллер с компьютером по Modbus в чем может быть причина?
|
|
|
|
|
6.8.2013, 9:42
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
Чудес быть не должно.
Прикрепите скрины из 1tool с переменными bms_address, com_baudrate_bms, com_protocol_bms; а так же вкладки с окнами объявления какой-либо переменной для чтения по modbus. Каким ПО со стороны компьютера читаете переменные?
А отвечая собственно на вопрос, причины могут быть следующие: 1. программно со стороны контроллера; 2. аппаратно: неверное расключение RS485, не к тому порту....; 3. программно со стороны компьютера: драйверы преобразователя интерефейсов; 4. настройки формата передачи данных и скорости отличаются у контроллера и ПО со стороны компьютера
Сообщение отредактировал polyakov.mo - 6.8.2013, 9:42
|
|
|
|
|
6.8.2013, 9:54
|
Группа: Участники форума
Сообщений: 23
Регистрация: 15.7.2013
Из: Львів
Пользователь №: 199003

|
Я использовал несколько программ: Modbus poll, SCADA TRACE MODE, Modbus slave. У Modbus poll была ошибка Timeout error. Может быть причина в том, что это PCO XS
Сообщение отредактировал Guk_Oleg - 6.8.2013, 10:00
|
|
|
|
|
6.8.2013, 10:01
|
Группа: Участники форума
Сообщений: 549
Регистрация: 17.12.2009
Пользователь №: 42702

|
Цитата(Guk_Oleg @ 6.8.2013, 10:54)  У Modbus poll была ошибка Timeout error. Экспресс диагностика: задайте в modbus poll адрес устройства на 1 меньше, чем у контроллера. Аналогично адрес читаемой переменной. Отпишитесь
Сообщение отредактировал polyakov.mo - 6.8.2013, 10:01
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc
Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума
|