|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
19.04.2009, 21:52 | #1 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: преобразователь Delta
Если мастер запрашивает у слейва-SMH значение переменной по адресу КОТОРОГО НЕТ в карте памяти SMH,созданного Лоджиком, как ответит SMH ? Он даст некое значение хранящееся по заданному адресу или ничего не ответит ?
|
20.04.2009, 05:44 | #2 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: преобразователь Delta
Варианта "не ответить ничего" в стандарте нет, или значение или специальное сообщение с кодом ошибки.
|
20.04.2009, 14:11 | #3 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: преобразователь Delta
Спасибо, я уже разобрался в том, что панель дает правильный адрес (Modsim рулит и все показывает/меняет), но SMH почему то не принимает его и не дает панели правильного ответа. Она у себя ставит бит/значение, выбрасывает его в сеть, а в контроллере оно не меняется. Причем настройки в симуляторе Modsim32 идентичны настройкам контроллера SMH, связь с которым у панели вроде есть (нет диагн. сообщений на панели), а обмена нет.
Они друг друга не понимают, никто не меняет свои значения по данным из другого, т.е. панель отправляет контроллеру данные (у себя она выставляет эти данные), тот их не принимает и не пишет себе в память, в то же время Input-ты из контроллреа не проходят в панель. А связь вроде бы есть. Вобщем одним словом у меня беда. Придется менять "кого-то" из них На рис демопроект для иллюстрации (на нулевом входе мультиплексора панель выставила (пытается поставить) число 25, но его , как видите..) Последний раз редактировалось vladun, 20.04.2009 в 14:28 Причина: добавил |
20.04.2009, 14:23 | #4 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: преобразователь Delta
У такого поведения всеравно должна быть причина, в Модбасе чудес не бывает.
Панель удалось связать хоть с чем-нибудь? |
20.04.2009, 14:31 | #5 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Панель MAgelis
Спасибо за участие коллега,
да, как я написал, панель чудесно и без проблем работает с симулятором слейва ModSim. Она также не дает аварии при подключенном контроллере, а если 485 -й разорвать, то через несколько секунд выдает ошибку связи по таймауту, которая устраняется снова подключением связи сама-собой без ручных манипуляций. Но почему не видно данных в контроллере, я не знаю. Настойки симулятора такие же и все работает. |
20.04.2009, 14:34 | #6 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Панель Magelis XBT GT 2110
Иногда (не вижу закономерности) раз в минуту или в десять-двадцать, панель (Мастер) выводит сообщение "PLC packet validation failed. Invalid checksum. (SMH)"
Я его сбрасываю и его опять нет какое-то неопределенное время. |
20.04.2009, 15:09 | #7 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
А вот, что и как шлет панель контроллеру в этом проекте:
первый рис: это то, что показал сканер модбаса (ка кслейв принимал пакеты на комп.) второй рис - переменные в панели и их адрес. |
20.04.2009, 15:16 | #8 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
При подключении панель проверяет адресное пространство слейва и если находит ошибки, то на значках мнемосимволов (кнопки, дисплеи и пр.) выставляет значки (треугольник с воскл.знаком) именно тех переменных, адреса которых ошибочны. Соответственно, имеем, что панель имеет доступ к памяти контроллера или он ей сам говорит, что все ок. Но что же тогда "стопорит" передачу данных ???
|
20.04.2009, 15:49 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Цитата:
Что-то я не увидел ни одной команды записи. Всё только чтение и чтение. Причём по каким-то странным адресам. По картинке: 1) идёт чтение holding registers с адреса 07BF 2) идёт чтение holding registers с адреса 03BF 3) идёт чтение input status с адреса 10EF Ни одной операции записи нет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
20.04.2009, 16:20 | #10 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
конечно, она только шлет", ведь я в то время не нажимал кнопки изменения параметров. А что надо было бы ?
По адресам: интересно каким образом введенные адреса (см картинку 2) переменных превратились в КОМПЬЮТЕРЕ в указанные вами ? Подчеркну, что отключая порт контроллера и подключая панель через 7561 к компьютеру с симулятором ModSim, я вижу чтение точно из тех адресов, которые указаны в таблице рис 2., а именно: Input Status = 14336, Holding Register = 41984, Input Register = 40960. Карту памяти прикладываю. Последний раз редактировалось vladun, 20.04.2009 в 16:39 Причина: ИСПРАВЛЕНО !!! |
20.04.2009, 16:30 | #11 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Адреса вероятно проверяются путем опроса, других способов нет. Если адрес неверный, то контроллер вероятно ответит ошибкой 2 и панель поставить тот самый треугольник.
Первый рисунок у вас с подключенным SMH? Судя по нему панель посылает абсолютно корректные запросы и не получает ответа. Я бы попробовал заменить панель на симулятор мастера и послать те-же самые запросы. И еще посмотрел бы что есть в файле карты памяти SMH |
20.04.2009, 16:40 | #12 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Первый рисунок - панель подключенная к компьютеру со сканером MODbus
Сейчас под рукой имею все средства для любого подключения и мониторинга портов (кроме осцилографа ) ), если укажете , что выполнить, результаты выдам тут же. |
20.04.2009, 16:40 | #13 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Цитата:
Цитата:
Судя по всему, вам нужно указать адрес не 14336, а 114337. Соответственно и другие: 40960 -> 440961, 41984 -> 341985. Ну и молиться, чтобы драйвер панели скушал шестизначные логические адреса. Второй вариант: убрать флажок "Старая карта" и поставить нулевые базовые смещения. Затем задать адреса в панели, помня, что 0хххх - это койлы, 1хххх - инпут статусы, 3ххх - холдинги и 4ххх - инпут регистры. Ко всем адресам нужно прибавлять единицу, т.е. холдинг с адресом 0000h это логический адрес 30001. В эмуляторе у вас работает потому, что эмулятор и панель используют одинаковый тип адресации, имеющий мало общего с реальными адресами протокола. Правда это не проливает свет на ту левятину, которая у вас получилась в логе. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 20.04.2009 в 16:51 |
||
20.04.2009, 17:33 | #14 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Ну что же Волшебник, вы как обычно помогли разрулить ситуацию, с меня "Клинское"
Драйвер "скушал" то, что ему дали, но ошибка проверки Checksum иногда выскакивает и проблему нужно в дальнейшем решать. Но остается такой трабл: панель (или ее драйвер) интерпретирует адрес 341985 как ReadOmly (т.е. я так понимаю Input (а не Holding) Register. Заменив первую тройку на четверку, я получил желаемое (наконец то за два дня я могу такой смайл поставить). Теперь в чем фокус "превращения" адресов ? Я не искушенный модбасник и потому уловить закономерность не могу пока. Убрать галку "Старая карта" не могу, т.к. имею таки "старую" карту . |
20.04.2009, 17:57 | #15 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Я столько не выпью
Превращения описаны в стандарте: Цитата:
А что у вас в логе - тут уж вооще икс три. ХЗ, то есть __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
20.04.2009, 18:16 | #16 | |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Вот снова пришел (полчаса примерно поработала панель и SMH) :
"PLC packet validation failed. Invalid checksum. (SMH)" и продолжает работать, но в лог пишет. А вот и ответ мануала : Цитата:
Читаю стандарт... Последний раз редактировалось vladun, 20.04.2009 в 18:33 |
|
20.04.2009, 18:38 | #17 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Вы эти ошибки будете получать всегда. Это нормально.
Другое дело, что панель на них как-то слишком нервно реагирует. Наверняка это можно где-то отключить. По поводу влияния, почитайте http://forum.segnetics.com/showthread.php?t=329 . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
20.04.2009, 19:21 | #18 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Цитата:
|
|
20.04.2009, 22:24 | #19 | ||
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Да, вот бы везде, как в лоджике было - карту памяти сделал и загрузил в слейв
Ошибки исчезли после того, как отключил USB от панели, по крайней мере уже часа два - нет ошибок ! Арсений, я конечно сделал копию, но прошу пока не удалять посты, очень поучительные вещи. Про поляризацию (на панели есть свитч @ON-OFF@) вкратце можно узнать, а то в мануалах вроде как терминатором ее и делают: Цитата:
Цитата:
(в контроллере терминатор не включен) |
||
20.04.2009, 22:58 | #20 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Теперь "бубны" с Float-тами начались, бродят по сети какие-то стомиллионные и миллиардные....
А нормально ли будет, если я в контроллере переменные запишу Integer-ми , а потом в панели буду делить на 10, 100 .... ? PS: кстати, второй подключенный порт на SMH тоже влияет на ошибки коммуникаций. |
21.04.2009, 05:35 | #21 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Подробное описание когда нужна поляризация видел недавно в документации на какой-то из Альтиваров. Реально мне за все время поляризация понадобилась всего один раз. Можете попробовать включить, связь может стать более устойчивой.
В стандарте не описано как float должен быть разложен по двум соседним регистрам, поэтому все делают по-своему и бывает что раскладка байтов не совпадает. Иногда есть выбор вариантов. Если панель знает единственный вариант float, то можно переставить байты местами вручную, в программе SMH. Вариант с делением тоже совершенно нормальный. |
21.04.2009, 11:46 | #22 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Цитата:
Значит я неправильно пересчитал, т.к. у меня что-то адреса совсем левые получились __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.04.2009, 12:29 | #23 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Панель Magelis XBT GT 2110
Та вроде байты нормально "перевернуты", а вот значения констант из контроллера идут"боком" (то звездочки на экране вместо числа, то нули, а чисел нету), чего не наблюдается с Integer. Поэтому, вцелях мозгоспокойствия и очищения канала, было принято ВОЛЕВОЕ решение все Float превратить в Integer с последующей реинкарнацией в им подобных.
PS: кстати попробовал включить поляризацию и связь "хуже не стала" |