![]() |
![]() ![]() |
|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Не понятно, что происходит modbus rtu.
Начну сначала. После непродолжительной работы (около полгода) накрылся модуль МС (вставленный в разьем SMH4). Отказали аналоговые воходы и выходы. Входы показывает что то и даже что то чуть чуть меняется, но не сильно, а выходы вообще все отказали. Созвонились с кипсервис (где мы это купили) сказали диагностика будет около 2 недели, решили не ждать (дискретные входы/выходы работают) оставили его как есть и купили модуль расширения другого производителя (который был в наличии). И вот тут не понятно. С ноутбука через modbus poll подключаюсь к модулю и все работает молниеносно, по клику мышки. А вот с SMH4 (с коротким шнуром 30см) работает с задержкой, но не все. С СОМ1 порта я могу читать (и довольно резво) входные сигналы модуля, а вот записать на модуль что то это дело случая, то пройдет команда (через минуту), то вообще не проходит (запись идет непрерывно). При этом Link считает какие то ошибки, модуль диагностики считает ошибки CRC. Переменных всего 8 (holding), так устроен модуль. Переключаюсь на СОМ2 картина наоборот, выходы модуля работают (с задержкой в 2-8 сек), а входы от модуля не работают. Хотя все holding у одних входов (модуля) адреса 176-179, выходы (0-10в) адреса 192-195). Подключаюсь к модулю контроллером другого производителя, все работает и туда и обратно. Попробовал подключить по modbus rtu с теми же адресами SMH4 -> MATRIX. На матриксе сделал муляж модуля. И картина такая же примерно. Адреса для выходов (192-195) получают информацию с SMH4, но с ооооччччеееень большой задержкой или вообще не получают. Ладно, подключил MATRIX к модулю вообще не работает. Тут же пробую с modbus poll подключаюсь к модулю - все латает, мгновенно, палец с мышки не успеваю убрать, как там реле щелкает. В общем попали мы, придется модуль МС на диагностику похоже отправлять, а уже холода, все не вовремя конечно (как это у всех бывает). Но вот вопрос теперь возник вообще концептуальный. А вообще сигнетик какой modbus использует? Им вообще нельзя пользоваться? Не пойму, может я что то делаю не так, что то не учел еще. Но уже несколько дней мучаюсь не идет дело. (заказчик уже пожалел что связался с российским производителем - ладно это лирика). Покупать еще один модуль заказчик не хочет. Что делать не ясно. На SMH4 обновлял ядро, форматировал, Logix последний, вчера скачал. Ничего не помогает. Может что то делаю не так, но не ясно, что. |
![]() |
![]() |
![]() |
#2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
![]() Теперь по делу. Когда проверяете связь с контроллером, оставьте подключенным преобразователь USB<>485 от компа. Сам преобразователь должен быть воткнут в USB, а модбас полл должен быть закрыт. Если связь налаживается, то проблема в biasing. Его нужно сделать. Посик по слову biasing что по форуму, что в интернете. Если не налаживается, пишите, будет думать. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
![]()
модуль - китаец?
если да, они очень неторопливые, это раз. какому-то пришлось писать диспетчера чтобы раз в секунду что-то делать, читать или писать в один из регистров. похоже он тупо не успевал. плюс для удешевления китайцы не используют кварцы, а только встроенные в мк эрцэ-цепи для встроенного же генератора т.ч. тогда помогает битрейт туда-сюда подвигать. комп обычно лучше подстраивается к частотам слейва на компорте, а вот у плк с этим есть проблемы. вопщем для начала проверить один регистр. потом битрейт задержки потом задержки и прочие всяке латентности, до сих пор не знаю что это за звери. |
![]() |
![]() |
![]() |
#4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]()
Да, всё верно, контроллер гораздо быстрее работает с портом, чем модбас полл на винде. Это главная ошибка "модбасполловцев" на нашем форуме.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
![]() Цитата:
у меня на одной линии с модулем висит пч данфоса, на нем и подтяжка включена и терминатор, все было хорошо боле-мене, но как только средняя температура немного понизилась, так связь сразу поплыла. работает, но очень нестабильно. место не критичное, так что я пока просто наблюдаю и не лезу что-то исправлять Добавлено через 1 минуту есть где-нить временная диаграмма где все эти задерки показаны живьем чтобы понимать хоть что-то про них? |
|
![]() |
![]() |
![]() |
#6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]()
Windows это уже одна большая недетерминированная задержка в рамках 50 мсек. Плюс обычно опрос в полле раз в секунду или одноразовый, а контроллером долбят 10 раз в секунду. Латентность у контроллера менее 1 мсек, у компа на винде менее 10 мсек принципиально невозможна.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
![]()
ну и для всякого такого очень полезно иметь только запись. ибо они и так неспешные при попытке прочитать нечитаемое ваще тупить начинают
Добавлено через 36 секунд я про лоджик. и про те задержки которые задаются в свойствах слейва |
![]() |
![]() |
![]() |
#8 | |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Цитата:
Пробовал увеличивать таймаут. Пробовал писать одну переменную вообще. Контроллер и с питанием от USB и с питанием от блока питания ведет себя одинаково (одинаково не работает). Модуль не китайский. Российский. И отклик у него с другого контроллера быстрый. Все успевает записать. С СОМ2 я даже одну переменную не могу прочитать. |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
Добавлено через 13 секунд На Пикселе тоже. Добавлено через 1 минуту Сделайте, что я вас попросил. Это вы точно не делали. При питании от USB порт не работает, если ему не хватает питания. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
![]() |
![]() |
![]() |
#11 | |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Цитата:
Не понятно что вы имеете ввиду. Контроллер SMH4 у меня подключен через usb порт. Преобразователь я подключаю к модулю и отключаю когда подключаю SMH4. Преобразователь USB<>485 у меня все время вставлен в ноутбук. Его проводки я подключаю и отключаю периодически к модулю. Модбасполл все время закрыт, я его включаю на пару минут, проверю и все на этом, закрываю. |
|
![]() |
![]() |
![]() |
#12 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
2) Преобразователь подключить к ноутбуку, ноутбук должен быть включен, модбас полл закрыт 3) Проводки от преобразователя должны быть подключены к порту SMH4 и одновременно к порту девайса. С таким подключением делайте тесты на SMH4. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
![]() |
![]() |
![]() |
#13 | |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Цитата:
все так и сделал. Преобразователь в ноутбуке, проводки подключены на smh4 сом1 и далее идут на модуль. Ничего не поменялось. адреса holding 176-179 читаются без проблем. А вот запись holding 192-195 записываются случайно или не записываются вообще. Добавлено через 15 минут Запись работает ооочччееенннььь долго. Сидел несколько минут ждал, потом бац и щелкнула реле и на аналоговом выходе напряжение поменялось. Иногда запись проходит. Читается все быстро. |
|
![]() |
![]() |
![]() |
#14 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]()
Какой функцией записи пользуетесь в полле и какой в SMH4?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#15 |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Вот настройки и там и там, сделал скриншоты.
|
![]() |
![]() |
![]() |
#16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]()
Это чтение поллом. Я спрашивал про запись.
И почему контроллер 10 раз в секунду, а полл 1 раз в секунду? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#17 |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Регистрация: Nov 2008
Адрес: Алтайский край
Сообщения: 136
Благодарил(а): 2 раз(а)
Поблагодарили:
7 раз(а) в 7 сообщениях
|
![]() Цитата:
UPD: Прочитал ответ выше - чтение тоже доступно |
|
![]() |
![]() |
![]() |
#19 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]()
Функция чтения не может записывать. Покажите, как вы записываете.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#20 | |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Цитата:
Это holding регистры и то и то. |
|
![]() |
![]() |
![]() |
#21 |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Если делаю адреса 176-179 как R(in), то чтение не происходит, а вот запись становится мгновенная, как в полле.
|
![]() |
![]() |
![]() |
#22 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
![]()
Гадание на кофейной гуще.
![]() Запустить Spy485 на ноуте и посмотреть обмен с расшифровочкой. Записать лог и выложить здесь если что-то непонятно. Посмотрим. Глянул картинки и не понял какой адрес у вашего слейва. __________________ Не являюсь сотрудником Segnetics !!! Последний раз редактировалось ATS, 17.10.2023 в 17:05 |
![]() |
![]() |
![]() |
#23 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
Добавлено через 3 минуты Очень похоже, что где не мгновенно, там вы пытаетесь записать куда нельзя. И судя по всему, делаете это 10 раз в секунду, может быть даже и убивая ваш девайс. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
![]() |
![]() |
![]() |
#24 | |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Это все понятно. Только не говорите мне, что нужно разобрать ПЛК, выпаять микросхему подключить к ней что то и посмотреть осцилографом, что там не так.
Делать то что. Если нужно что то подключить то напишите что и как. У меня немного другое представление когда я беру промышленную вещь. Так можно и на ардуинке спаять самому тогда, что нибудь. Добавлено через 2 минуты Добавлено через 3 минуты Цитата:
Модуль убить нельзя, ему во флеш ничего не пишется. |
|
![]() |
![]() |
![]() |
#25 |
Senior Member
Регистрация: Nov 2008
Адрес: Алтайский край
Сообщения: 136
Благодарил(а): 2 раз(а)
Поблагодарили:
7 раз(а) в 7 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#26 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
В третий раз прошу показать, как вы записываете модбас поллом. У меня тоже немного другое представление об инженерах, работающих с оборудованием. Что их не нужно одно и то же трижды спрашивать. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
![]() |
![]() |
![]() |
#27 |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
я не знаю на каком языке еще раз написать, пишу и читаю одной и той же функцией в полле. Меняю только адреса и все. Функцию в полле не меняю. Они все holding в полле
записал видео как я это делаю Последний раз редактировалось Arsie, 17.10.2023 в 18:10 Причина: Проблема решена, файлы удалил |
![]() |
![]() |
![]() |
#28 |
Member
Регистрация: Feb 2013
Сообщения: 44
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Есть возможность отключать запросы на чтение и на запись? Допустим отключить на пару сек. чтение, затем отключить на пару сек запись и тд. Модуль 30 сек может не снимать сигнал.
|
![]() |
![]() |
![]() |
#29 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
В контроллере вы записываете разом 4 регистра функцией 16. И делаете это 10 раз в секунду. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
![]() |
![]() |
![]() |
#30 |
Senior Member
Регистрация: Nov 2008
Адрес: Алтайский край
Сообщения: 136
Благодарил(а): 2 раз(а)
Поблагодарили:
7 раз(а) в 7 сообщениях
|
![]()
Ну у вас в окошке записи видно же - выбрана функция 06. Чего бы не ответить?
|
![]() |
![]() |