![]() |
![]() ![]() |
|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Новичок
Регистрация: Apr 2022
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Коллеги, почему то удалились мои сообщения. Вопрос с обнулением уставок после сброса питания с контроллера так и остался открытым. Напомню, что контроллер матрикс, а панель Weintek. общаются между собой по Modbus TCP. Я скинул проект из контроллера и из панели Винтековской.
Последний раз редактировалось Arbuz.Alexey, 01.11.2022 в 10:03 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 172
Благодарил(а): 12 раз(а)
Поблагодарили:
17 раз(а) в 17 сообщениях
|
![]() Откуда задаются уставки? Вы уверены что записываете их значения в EEPROM? |
![]() |
![]() |
![]() |
#3 |
Новичок
Регистрация: Apr 2022
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() __________________ Не являюсь сотрудником Segnetics !!! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 172
Благодарил(а): 12 раз(а)
Поблагодарили:
17 раз(а) в 17 сообщениях
|
![]() ![]() Подробнее прочитайте в справке |
![]() |
![]() |
![]() |
#6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
80 раз(а) в 62 сообщениях
|
![]()
Я там такой эпос расписал, а Арсений коварно все стер.
Там лучше будет сделать нормальное меню в Смарте с уставками, настроенными на чтение и запись. Но на этом приключения не закончатся. |
![]() |
![]() |
![]() |
#8 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 103
Благодарил(а): 0 раз(а)
Поблагодарили:
233 раз(а) в 230 сообщениях
|
![]() __________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
![]() |
![]() |
![]() |
#9 |
Senior Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 172
Благодарил(а): 12 раз(а)
Поблагодарили:
17 раз(а) в 17 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 863
Благодарил(а): 226 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() тут все по взрослому - хочешь сохранить, выставляй на поляну блок сохранения и делай все танцы с бубном чтобы его обвязать как надо. только так. ![]() |
![]() |
![]() |
![]() |
#11 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#12 |
Новичок
Регистрация: Apr 2022
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#13 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 863
Благодарил(а): 226 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() по-хорошему, всем этим должна сама среда заниматься, а не пограммист ![]() |
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 863
Благодарил(а): 226 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() для вас это будет почтишта ретейн. сам экран вам не нужен - его использовать не надо. |
![]() |
![]() |
![]() |
#16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Добавлено через 37 секунд ![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#17 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() На самом деле в работе все устраивало до отключений питания. В таком случае панель после старта должна выдать сигнал что уставки готовы, а контроллер должен выдать разрешение работы после получения этого сигнала. Может память и не нужна. Кстати фиксация данных модбаса вроде работала. Флажок есть в таблице. Естественно не при отключении питания. __________________ Не являюсь сотрудником Segnetics !!! |
![]() |
![]() |
![]() |
#18 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
80 раз(а) в 62 сообщениях
|
![]() Панель типа вайнтека является средством человеко-машинного интерфейса. Помимо такого несомненного плюса, как большой экран, у панели есть несомненный минус - она подвержена воздействию куда больших и серьезных внешних факторов: неаккуратные действия операторов, залитие водой, гликолем и прочим. Повреждение панели или полный её выход из строя не должны фатально отразиться на способности системы автоматики в своем автоматическом режиме продолжать управлять технологическим процессом. При этом, необязательно делать на ПЛК какой-то супер интерфейс с мнемосхемами и прочим. Вполне может быть достаточно системы меню для хранения этих самых уставок и вывода основных параметров работы СА. Про хранение уставок на ПЛК Сегнетикс для работы с ними через Модбас. Пожалуй, выложу, как я это делаю. Метод работает только с ПЛК SMH4, Trim5, Matrix. Со стороны ПЛК идея сама по себе не нова и несколько раз уже была представлена на этом форуме: - для внешнего устройства (панель, скада) уставки представлены через Holding Registers; - чтобы записывать в Holding Register текущее значение уставки, взятое из памяти ПЛК, в Ethernet интерфейсе контроллера создается слейв с адресом 127.0.0.1 (я обычно называю его "S E L F"); - в слейв заносятся все необходимые Holding Registers контроллера, и они выносятся на поляну; стоит обратить внимание, что время опроса ставится = 0, чтобы запись нового значения происходила по необходимости; - через специальный макрос каждая уставка соединена со своим Holding Register и выходом на запись нового значения в свой же Holding Register, в макрос приходит значение уставки из памяти ПЛК, а от макроса уходит значение для записи в память. Хранение уставок здесь организовано на базе меню уставок, сделанного через SMArt. Со стороны панели (или скады) достаточно только привязать объект (поле ввода, переключатель или что-то там еще) к Holding Register ПЛК. Панель сама считает значение из ПЛК, отобразит его на своем экране. При изменении со стороны ПЛК, считает заново и обновит. А при изменении со стороны панели - запишет новое значение в ПЛК. И всё это - через Holding Register (по одному на уставку). Опять же, при перезагрузке панели, уставки в ПЛК не сбрасываются в 0. Для сравнения, при "традиционном" способе общения панели с ПЛК, когда панель читает уставку из Input Register ПЛК, а пишет в Holding Register, имеются ряд недостатков: - необходимо при создании проекта панели привязывать каждую уставку как Input, так и Holding Register, что несколько усложняет процесс; - приходится в панели организовывать обмен так, чтобы при запуске она сначала читала текущее значение уставки из Input и не смела записывать нули в Holding Register, что также усложняет процесс (а без танцев с бубном панель по-умолчанию будет писать 0 после старта). Стоит обратить внимание, что в примере уставка типа Real, а Holding Register используется типа Integer (WORD, 16 bit). Преобразование типов производится с умножением и делением на коэффициент (вход "mult", в примере = 10). Таким образом, уставка со значением 21,5 будет в Holding Register со значением 215. Со стороны панели также необходимо настраивать масштабирование, чтобы она на экране отображалась 21,5. При этом, если на панели вводить новое значение 20,4 , то в ПЛК улетит оно как 204, там отмасштабируется опять и в память ПЛК запишется корректное 20,4. В приницпе, можно сделать вариант, при котором Holding Register также типа Real, но лично мне для уставок всегда хватало точности Integer, отмасштабированного до нужного знака после запятой. При этом, Integer занимает в 2 раза меньше объема при обмене информации (Integer - 16 bit, Real - 32 bit). Также я использую вариант для уставок типа Integer без преобразования и масштабирования, например: режимы работы, текущий сезон года, уставки временных задержек и какие-нибудь температурные уставки, которым не нужна точность даже одного знака после запятой. Вы можете сказать: "Но ведь это усложняет программу для ПЛК". Да, однако, тут уже решать программисту, где ему выгоднее заморочиться. Также, данный метод работает и с OPC серверами, Скадами. Не во всех их можно легко и удобно организовать связь между Input и Holding Register уставок, да так, чтобы при перезапуске скады опять же в ПЛК не полетели нули. А, ну еще это экономит тэги ОРС сервера/скады. Остается вопрос: "Отчего же в ПЛК Сегнетикс приходится изворачиваться с записью в свои же Holding Registers?" Лично я задаюсь этим вопросом уже годы. Даже задавал его Илье и Руслану на одной из выставок в Москве. Движений по разрешению его не видно, к сожалению. ну, надеюсь, этот эпос никто не уничтожит в скором времени Последний раз редактировалось младшой, 01.11.2022 в 20:19 |
![]() |
![]() |
![]() |
#20 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 863
Благодарил(а): 226 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]()
до меня вот только сейчас дошло, что действительно, а почему же нельзя?
|
![]() |
![]() |
![]() |
#21 |
Member
Регистрация: Apr 2018
Сообщения: 41
Благодарил(а): 6 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#22 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() Сам часто часто пользуюсь такой петлёй для имитации датчиков. На самом деле весь обмен Лоджика с любым вводом-выводом идет через шареды и доступ к ним мог бы иногда очень облегчить жизнь. __________________ Не являюсь сотрудником Segnetics !!! |
![]() |
![]() |
![]() |
#23 |
Senior Member
Регистрация: Aug 2018
Сообщения: 187
Благодарил(а): 6 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Эх, где ж вы были пол года назад, когда пришлось через Intput-Holding панели пару тысяч регистров организовывать. Классно реализовано.
|
![]() |
![]() |
![]() |
#24 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 103
Благодарил(а): 0 раз(а)
Поблагодарили:
233 раз(а) в 230 сообщениях
|
![]() __________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
![]() |
![]() |
![]() |
#25 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() ![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#26 |
Senior Member
Регистрация: Aug 2018
Сообщения: 187
Благодарил(а): 6 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#27 |
Новичок
Регистрация: Dec 2022
Сообщения: 21
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Я делал проще. |
![]() |
![]() |
![]() |
#28 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() __________________ Не являюсь сотрудником Segnetics !!! |
![]() |
![]() |
![]() |
#29 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#30 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
80 раз(а) в 62 сообщениях
|
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
EEPROM: чтобы сохранялись уставки после загрузки в контроллер | kulepov | SMLogix | 13 | 21.07.2022 11:50 |
Медленным отклик по MODBUS после добавления нового устройства | Macynchic | Связь с внешним миром | 6 | 30.07.2021 15:49 |
TRIM Modbus Slave на две сети (решено) | Jury.K | Связь с внешним миром | 15 | 27.03.2019 01:06 |
Pixel→Moxa_NPort_5150→ПЧ_ABB_ACS_310 по Modbus (решено) | Aiven | Связь с внешним миром | 24 | 24.03.2017 08:16 |