Страница 1 из 1

Как заставить панель заменить функцию с кодом 0х10 на 0х43 ?

СообщениеДобавлено: 06 сен 2017, 10:47
VBA
Добрый день, уважаемые коллеги.

Есть система, состоящая из панели MT8071IE и самодельного ПЛК. Они подключены друг к другу по интерфейсу RS485-2 и работают по протоколу MODBUS RTU (zero-based addressing). Используются адреса типа 4х, что заставляет панель действовать с помощью функций MODBUS с кодами 0х10 и 0х03. Прекрасно все работает!

Понадобилось подключить к указанной связке преобразователь частоты фирмы KINCO типа CV20-2s-007-g. Он поддерживает MODBUS RTU, отзывается на команды, и все, казалось бы, нормально. Теперь привожу выдержку из русского описания. Это часть таблицы, в которой перечислены поддерживаемые частотником MODBUS функции.

Код функции Значение
0x10 Перезапись многофункциональных кодов либо параметров управления, значение параметров не сохраняется после выключения ЧРП.

0x43 Перезапись многофункциональных кодов либо параметров управления, значение
параметров сохраняется после выключения ЧРП.


И действительно, так как панель оперирует функцией 0х10, установленные параметры НЕ сохраняются при выключении питания частотника. А хотелось бы, чтобы сохранялись! В связи с этим, позвольте задать несколько вопросов.

1. Я правильно понимаю, что если такие устройства подключены к одному физическому COM-порту панели, то для такой сети MODBUS не получится применить разные протоколы, например, как в моем случае, MODBUS RTU (zero-based addressing) и еще какой-либо для частотника?

2. Можно ли как-то в рамках применяемого протокола MODBUS RTU (zero-based addressing) заставить панель заменить код функции 0х10 на 0х43 в MODBUS-посылке при записи в частотник? Похоже, что не получится?

3. Навскидку в перечне поддерживаемых устройств фирма KINCO вообще не значится? Есть что-то похожее?

Огромное спасибо разработчикам данного частотника за столь оригинальный подход в разработке протокола! А ведь там есть еще функции с кодами 0х08, 0х41 и 0х42. Это ж явно нестандартно, или я чего-то не понимаю? Опыта, конечно, маловато, может я не вижу очевидных вещей? Не судите строго, в том числе, если данный вопрос уже обсуждался на форуме.

Спасибо.

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 06 сен 2017, 17:09
HWAK
Здравствуйте. Может Вам стоит рассмотреть вариант сохранения параметров в памяти панели и записи их в ПЧ, при запуске системы/изменении параметра?

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 06 сен 2017, 18:58
VBA
Спасибо за ответ. Разумеется, такой вариант рассматривается. Однако, он имеет и недостатки.

Вопрос же в другом. Есть ли такой идиотизм в других честотниках? И как это обойти.

Я уже смотрю на free protocol. В принципе, ничего сложного, но если бы можно его было применить вместе с уже использующимся на одном порту! А то не влезу ни в разъем, ни в кабель.

Актуальны все три вопроса. А особенно - первый. Все говорит о том, что нельзя два протокола на одном порту. Хотя, интуитивно, не вижу причин, почему нельзя. Они ж родственники почти все!

И что-то неспроста weintek не знает kinco. Ох и неспроста!

Подождем еще мнения, очень интересно. Просто взял навскидку siemens, не помню какой, - ну три функции, третья, шестая и десятая. Все, как у людей! А тут такая, не подберу слова по русски, подлянка, многократно извиняюсь.)

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 07 сен 2017, 15:14
xenonci
Добрый день. У вас же 2-ва RS-485 порта на панели. Используйте один под Modbus RTU для контроллера а второй под Free protokol для частотника.
Второй вариант - полностью перейти на Free protokol и для контроллера тоже.

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 07 сен 2017, 15:16
xenonci
Что-то не припоминаю Siemens c базой на Modbus RTU ;)

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 07 сен 2017, 20:15
VBA
Да, спасибо за ответ, эти варианты очевидны. Однако, не хотелось бы прокладывать отдельную линию. А использовать free protocol для всего вообще - не знаю, не знаю. У меня и так скрипты - дай Боже, потому что все передачи я делаю из скриптов. Ну точнее макросов. Я не знаю, правильно это или нет, я нигде не учился и спросить не у кого, но ни один экранный элемент у меня не обращается к MODBUS напрямую. А скрипт мониторит флаги и делает передачи. Мне кажется, я так ситуацию держу в руках. Все-таки самописный ПЛК! (Это как для микроконтроллера программировать на ассемблере и ни Си, знаете разницу?) И так гибче, можно сделать, все, что угодно! Так вот, если на эти скрипты наложится еще и free protocol, настанет АД. С таким то редактором, да с Си-подобным Бейсиком, да с его ограничениями и, местами, непредсказуемым поведением! Короче, делаю конфигурацию частотника при каждом включении. Правда, не нравится это мне жутко: есть там подводные грабли, не хилые.

Остается один вопрос: о чем думали разработчики Kinco? Разве так можно? И вообще, я заметил, как только в моей жизни появляется слово Kinco, так жди проблем. Говорю так, поскольку колупал их панели оператора (Конечно, для своего частотника они там прописали функцию 43, и не только). Больше - не хочется. Абсолютно. По ряду причин. Вот теперь частотник. А я еще глянул - Modbus, ну хорошо. А потом, когда вчитался, аж глазам не поверил. Впрочем, это уже откровенный оффтопик. )

Что касается частотников Siemens, вот, предложили мне вариант к применению (ссылка на pdf-инструкцию). Там все чуть по другому, чем в классических частотниках, однако я инструкцию просмотрел по диагонали один раз, нужно посмотреть еще. Подход там другой. Но в главе про MODBUS - третья, шестая и десятая функции. Как у Людей!

Разумеется, я понимаю, что это, скорее всего, не совсем Siemens. Вживую я их еще не видел.

Я вторично извиняюсь за оффтопик, но что скажете о данном частотнике? Не сталкивались?

Спасибо.

https://www.google.ru/url?sa=t&source=web&rct=j&url=http://www.driveka.ru/upload/iblock/f67/sinamics%2520v20_qqiigbnhgln%2520lxlcklkuhgwa.pdf&ved=0ahUKEwjphr3CvpDWAhUBJJoKHcLOB_UQFggcMAA&usg=AFQjCNHXaCLVjQbYKcvHUUjZBAOJv2n4MA

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 08 сен 2017, 09:07
xenonci
То что делаете опрос через скрипты- очень хорошо. При опросе напрямую экранными элементами - начинаются тормоза и пропадает связь при большом количестве контроллеров (было так при 10-ти контроллерах siemens и 1-й панели).
С частотниками Kinco не сталкивался. В панели Kinco какие-то траблы с макросами - еще не разбирался.
Частотник siemens - дорого и сложно в настройке. Настраивал Sinamics G120.
Из хороших частотников посоветую Danfoss и Delta CP2000. Modbus на борту. Можно ОВЕН ПЧВХХ - но немного хуже по качеству (хотя слеплен с Danfosa)

Re: Как заставить панель заменить функцию с кодом 0х10 на 0х

СообщениеДобавлено: 08 сен 2017, 10:18
VBA
Щас меня модератор как забанит за оффтопик, но скажу. В панели Kinco траблы не только с макросами. Там делаешь шаг вперед - и полдня тупишь, глюк это, или нет. Попробуйте! Как говорят у меня на Родине - "Дэшэва рыбка - погана юшка :-)" (транкрипция с украинского)

Опрос макросами хорош конечно. Трудоемок, но хорош. Своей гибкостью. Однако прописать надо каждый чих. Тут бы хороший редактор, да полноценный Си! (Внешний редактор не предлагать.) Да отладку хоть какую простенькую (в помощь TRACE, ага). Ну и расписать, как действует планировщик, когда макросов несколько, вот тут не все понятно. Какое-то средство измерения производительности скриптов... Мечты в общем. А то такое впечатление, что скрипты прикрутили потом, задним числом. А мне кажется - это центральный инструмент!

За советы спасибо.