|
Вопросы о Matrix Работа и применение контроллеров Matrix. |
|
Опции темы | Поиск в этой теме |
18.11.2020, 12:55 | #1 |
Member
Регистрация: Dec 2019
Адрес: Магнитогорск
Сообщения: 48
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Запись в modbus переменные с периодом 0
Здравствуйте. После прочтения сообщения посмотрите приложенный gif, ибо можем изъясняться непонятно) Лучше один раз увидеть.
Проблема следующая. Два контроллера Matrix. Один из них выступает как шлюз между внешним миром (scada и hmi) и вторым контроллером. Переменные заходят на UI-блок с настройками на вход и выход соответственно. Дабы избежать записи нулевых значений из Holding register при перезагрузке контроллера-шлюза (или перезаливке программы) делаем период опроса переменных на запись нулевым и управляем записью сами (макросы прилагаю). Если переменная на запись не равна считанной переменной и была изменена - формируем команду на запись. И все превосходно работает с целочисленными переменными. А вот с вещественными косяк. Запись происходит только один раз (после перезагрузки контроллера). Все последующие изменения переменной не обрабатываются. При этом команда на запись формируется, выход rdy modbus-переменной сбрасывается и взводится, но переменная во втором контроллере не меняет своего значения. Сбивает с толку то, что с int все работает изюмительно, а с real нет. GIF с косяком: https://gifyu.com/image/iiqz Используемые макросы: modbus_write_int.msl modbus_write_real.msl Связь между контроллерами по modbus rtu. Конроллеры Matrix 1020-90 SMLogix 3.32.0145 Прошивки контроллеров обновлены из SmLogix 3.32.0145 |
18.11.2020, 13:01 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись в modbus переменные с периодом 0
Тонко подмечено! Проекты для Matrix где можно увидеть?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
18.11.2020, 14:33 | #4 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
Ответ: Запись в modbus переменные с периодом 0
Цитата:
модбасу всеравно что гонять по проводам. |
|
18.11.2020, 14:55 | #5 |
Member
Регистрация: Dec 2019
Адрес: Магнитогорск
Сообщения: 48
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Запись в modbus переменные с периодом 0
Ну это костыль. Его мы уже соорудили, только не провели на объекте, в процессе. Но хотелось бы без костылей тоже иметь возможность работать. Ждем ответа где косяк - в нас или в ПО контроллера.
|
18.11.2020, 16:19 | #6 |
Member
Регистрация: Dec 2019
Адрес: Магнитогорск
Сообщения: 48
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Запись в modbus переменные с периодом 0
Кстати костыль в нашем случае это в один int писать целую часть, во второй дробную и потом складывать. Точность при этом естественно теряется. Нам конечно не критично, не ракета. Но все таки... Вы что подразумевали под "разобрать" real в два int?) Сдвиги, разложения на биты и т.п. операции только с целочисленными типами есть. reg32_real_to_bits не нашли, но просим нас ткнуть в нашу безграмотность.
|
18.11.2020, 16:26 | #7 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись в modbus переменные с периодом 0
Цитата:
https://forum.segnetics.com/showthread.php?t=461 __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
18.11.2020, 16:44 | #8 |
Member
Регистрация: Dec 2019
Адрес: Магнитогорск
Сообщения: 48
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Запись в modbus переменные с периодом 0
Ух ты. До этой ветки еще не добрался. Благодарю.
Но на будущее спросим. Это будет единственный вариант или поправят? Или может мы не так что реализовали. Ждем. Заранее спасибо. |
18.11.2020, 16:45 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись в modbus переменные с периодом 0
Когда дойдёт очередь, Илья проверит ваши программы. Проблем быть не должно, откуда они взялись и будет темой его исследования.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
18.11.2020, 17:25 | #10 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 335
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Запись в modbus переменные с периодом 0
Каким лоджиком пользуетесь? Контроллеры форматировали из последнего лоджика? ЩУ2 у меня не может загрузиться в контроллер.
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
18.11.2020, 21:46 | #11 |
Member
Регистрация: Dec 2019
Адрес: Магнитогорск
Сообщения: 48
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Запись в modbus переменные с периодом 0
Конроллеры Matrix 1020-90
SMLogix 3.32.0145 Прошивки контроллеров обновлены из SmLogix 3.32.0145. Форматировались. ШУ2 ошибка компиляции или не открывается даже? Сегодня весь день на объекте туда сюда ШУ2 грузили. Завтра попробую еще в другой контроллер. |
19.11.2020, 11:20 | #12 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 335
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Запись в modbus переменные с периодом 0
Если что, сейчас доступен 149 лоджик. Можно проверить на нём.
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
20.11.2020, 11:31 | #13 |
Member
Регистрация: Dec 2019
Адрес: Магнитогорск
Сообщения: 48
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Запись в modbus переменные с периодом 0
До объекта пока не добрался. По удаленке с 3.32.149 перепрошиться пробовал - не помогло. А вот поменяли контроллеры местами - все работает. Вернули на место - повторяется косяк. Ну поменяли местами и пока оставили так. Как будет возможность с объекта заберем контроллер и отпишемся еще.
|