|
  |
Modicon M171, Свободно программируемые контроллеры для HVAC |
|
|
|
28.7.2019, 14:51
|
Группа: New
Сообщений: 8
Регистрация: 4.4.2018
Пользователь №: 339725

|
Здравствуйте. На данной серии контроллеров пишу впервые, поэтому прошу прощения за возможно глупый вопрос. Пишу функциональный блок для подсчета наработки оборудования для контроллера М171P Код примерно такой : FUNCTION_BLOCK operating_time
VAR_INPUT operating_time_fb_in:DWORD; //общий счетчик наработки status_work_fb_in:BOOL:// флаг работы END_VAR
VAR_OUTPUT operating_time_fb_OUT:DWORD; END_VAR
VAR TON_generator:TON; END_VAR --------------------- TON_generator(IN:= not TON_generator.Q, PT:=1000)//генератор импульса раз в сек, длительность импульса - один программный цикл
IF TON_generator.q AND status_work_fb_in THEN //увеличение счетчика на 1 operating_time_fb_OUT:= operating_time_fb_in+1; END_IF;
Кроме этого фб в программе нечего нет. Программа находится в задаче Timed (20ms) Код пока тестирую в симуляторе. При работе отсчитанное время не соответствует реальному. Время отсчитанное контроллером меньше реального (на 9 минутах разница 13 сек). Это особенность симулятора или такое будет и на реальном контроллере? На старших контроллерах шнайдер (241,251) такого не наблюдалось.
|
|
|
|
|
29.7.2019, 11:43
|
Группа: Участники форума
Сообщений: 172
Регистрация: 19.9.2010
Пользователь №: 72709

|
Добрый день!
Дело в том, что забыли про "пустой" цикл после срабатывания таймера.
Первый скан при срабатывании таймера - выход в единицу - второй скан инверсия выхода и отсутствие счёта - выход устанавливается в нуль - третий скан - пошёл новый отсчёт.
Получается, реальный отсчёт идёт раз в 1020 мс. Давайте считать: 540 * 1020мс = 550 800 = 540000 + 10800мс разницы
Да, делать выводы о временных интервалах в симуляторе не всегда представляется корректным. Лучше проверять на реальном оборудовании
С уважением,
Сообщение отредактировал ogorsv - 29.7.2019, 11:44
|
|
|
|
|
29.7.2019, 15:08
|
Группа: New
Сообщений: 8
Регистрация: 4.4.2018
Пользователь №: 339725

|
Цитата(ogorsv @ 29.7.2019, 11:43)  Добрый день!
Дело в том, что забыли про "пустой" цикл после срабатывания таймера.
Первый скан при срабатывании таймера - выход в единицу - второй скан инверсия выхода и отсутствие счёта - выход устанавливается в нуль - третий скан - пошёл новый отсчёт.
Получается, реальный отсчёт идёт раз в 1020 мс. Давайте считать: 540 * 1020мс = 550 800 = 540000 + 10800мс разницы
Да, делать выводы о временных интервалах в симуляторе не всегда представляется корректным. Лучше проверять на реальном оборудовании
С уважением, Спасибо за ответ! В библиотеке TIMERS есть FB Pulse. Он вроде как работает Но полного описания ни в мануалах ни в "параметрах объекта" нет.( как для остальных таймеров ).
|
|
|
|
|
29.7.2019, 16:15
|
Группа: Участники форума
Сообщений: 35
Регистрация: 26.1.2012
Пользователь №: 137659

|
Обрабатывайте фронт сигнала.
|
|
|
|
|
31.7.2019, 11:41
|
Группа: New
Сообщений: 9
Регистрация: 27.2.2012
Пользователь №: 141747

|
Здравствуйте. Снова столкнулся с проблемой чтения значений переменных из EEPROM при симуляции. Первоначально при симуляции переменные-уставки (к примеру, уставки времени задержки на таймеры) показывались с максимальным значением. Решилась проблема нажатием кнопки Write в разделе Comissioning. В новом проекте на M171o в режиме симулятора также появляются максимальные значения переменных, но в разделе Comissioning эти переменные отсутствуют, соответственно нет возможности записать значения по умолчанию в эти переменные. Подскажите в чем может быть причина и как её можно решить?
Pict1.jpg ( 79,21 килобайт )
Кол-во скачиваний: 26
Pict2.jpg ( 165,29 килобайт )
Кол-во скачиваний: 15
|
|
|
|
|
31.7.2019, 13:19
|
Группа: New
Сообщений: 9
Регистрация: 27.2.2012
Пользователь №: 141747

|
Цитата(Prevan @ 31.7.2019, 15:41)  Здравствуйте. Снова столкнулся с проблемой чтения значений переменных из EEPROM при симуляции. Первоначально при симуляции переменные-уставки (к примеру, уставки времени задержки на таймеры) показывались с максимальным значением. Решилась проблема нажатием кнопки Write в разделе Comissioning. В новом проекте на M171o в режиме симулятора также появляются максимальные значения переменных, но в разделе Comissioning эти переменные отсутствуют, соответственно нет возможности записать значения по умолчанию в эти переменные. Подскажите в чем может быть причина и как её можно решить?
Pict1.jpg ( 79,21 килобайт )
Кол-во скачиваний: 26
Pict2.jpg ( 165,29 килобайт )
Кол-во скачиваний: 15Все заработало. Видимо глюк программы был...
|
|
|
|
|
7.8.2019, 7:52
|
Группа: New
Сообщений: 9
Регистрация: 27.2.2012
Пользователь №: 141747

|
Всем доброго дня!
Подскажите есть ли возможность на контроллере M171 Optimized установить пароль на некоторые уставки (на дисплее)?
|
|
|
|
|
9.8.2019, 7:56
|
Группа: Участники форума
Сообщений: 71
Регистрация: 5.2.2016
Пользователь №: 289254

|
Цитата(Prevan @ 7.8.2019, 9:52)  Всем доброго дня!
Подскажите есть ли возможность на контроллере M171 Optimized установить пароль на некоторые уставки (на дисплее)? В свойствах EEprom переменных и Status Variables есть видимость, у которой 4 варианта: 1. Всегда видимые. 2. Никогда не видимые. 3. Видимые при вводе пароля 1 уровня. 4. Видимые при вводе пароля 2 уровня.
|
|
|
|
|
10.8.2019, 0:21
|
Группа: Участники форума
Сообщений: 32
Регистрация: 25.7.2011
Пользователь №: 116400

|
Здравствуйте!
Контроллер M172 каким-либо образом осуществляет самостоятельную диагностику состояния аналоговых входов? Интересует определение обрыва для тока и выход за диапазон.
|
|
|
|
|
11.8.2019, 15:00
|
Группа: Участники форума
Сообщений: 32
Регистрация: 25.7.2011
Пользователь №: 116400

|
Еще вопрос. Каким образом работать с переменными FB VAR_IN_OUT? Если делать так: FUNCTION_BLOCK qwe VAR_IN_OUT a : UINT; END_VAR и вызывать экземпляр FB так: qwe(a:=aa); то аа не обновляется  (((( Пока выхожу из ситуации следующим образом: qwe(a:=aa); aa:=qwe.a;
|
|
|
|
|
12.8.2019, 20:10
|
Группа: New
Сообщений: 9
Регистрация: 27.2.2012
Пользователь №: 141747

|
Цитата(Andrey N. @ 9.8.2019, 11:56)  В свойствах EEprom переменных и Status Variables есть видимость, у которой 4 варианта: 1. Всегда видимые. 2. Никогда не видимые. 3. Видимые при вводе пароля 1 уровня. 4. Видимые при вводе пароля 2 уровня. А где настраиваются сами пароли 1 уровня и 2 уровня?
|
|
|
|
|
14.8.2019, 12:49
|
Группа: Участники форума
Сообщений: 71
Регистрация: 5.2.2016
Пользователь №: 289254

|
Цитата(Prevan @ 12.8.2019, 22:10)  А где настраиваются сами пароли 1 уровня и 2 уровня? Параметры Ui27 и Ui28, их можно настроить во вкладке Bios в Configuration, или поменять онлайн в Commissioning.
|
|
|
|
|
19.8.2019, 21:27
|
Группа: Участники форума
Сообщений: 24
Регистрация: 8.4.2019
Пользователь №: 358593

|
Подскажите пожалуйста, как перенести данные массива из ecostructure hvac в vijeo? Ведь конкретного адреса у него нет, как у переменных. Контроллер м172
Сообщение отредактировал StepanovS - 19.8.2019, 21:29
|
|
|
|
|
20.8.2019, 0:23
|
Группа: Участники форума
Сообщений: 172
Регистрация: 19.9.2010
Пользователь №: 72709

|
Добрый день!
Вариант Нужно в ecostructure hvac создать статусные переменные. А в vijeo создавать external переменные с соответственными адресами.
К вопросу в другой теме: адреса, которые видно в EEPROM и Status - это как раз Modbus-адреса, по которым можно обратиться, например, из Vijeo.
Сообщение отредактировал ogorsv - 20.8.2019, 0:30
|
|
|
|
|
20.8.2019, 10:25
|
Группа: Участники форума
Сообщений: 24
Регистрация: 8.4.2019
Пользователь №: 358593

|
Цитата(ogorsv @ 20.8.2019, 2:23)  Добрый день!
Вариант Нужно в ecostructure hvac создать статусные переменные. А в vijeo создавать external переменные с соответственными адресами.
К вопросу в другой теме: адреса, которые видно в EEPROM и Status - это как раз Modbus-адреса, по которым можно обратиться, например, из Vijeo. Спасибо, Сергей! Подскажите, как в статусную переменную записать структуру или массив? Задача стоит такая: запись макс и мин температуры за сутки, и запись в таблицу. Таблица на 30 дней. Правильно ли я понимаю, мне нужен массив из 30 структур. В каждой структуре данные температур с трех датчиков за сутки? Сложно понять, как это вывести на GXU
|
|
|
|
|
21.8.2019, 18:54
|
Группа: Участники форума
Сообщений: 24
Регистрация: 8.4.2019
Пользователь №: 358593

|
Помогите пожалуйста новичку. Как структуру передать в HMI?
|
|
|
|
|
22.8.2019, 11:19
|
Группа: Участники форума
Сообщений: 32
Регистрация: 25.7.2011
Пользователь №: 116400

|
Цитата(StepanovS @ 20.8.2019, 10:25)  Спасибо, Сергей! Подскажите, как в статусную переменную записать структуру или массив?
Задача стоит такая: запись макс и мин температуры за сутки, и запись в таблицу. Таблица на 30 дней. Правильно ли я понимаю, мне нужен массив из 30 структур. В каждой структуре данные температур с трех датчиков за сутки? Сложно понять, как это вывести на GXU Тоже планировал использовать массив в статусных переменных. Оказалось, что массивы в статусных не создаются. Создавал статусные ручками по 1 переменной. В итоге, кроме возни с переменными, существенно вырос объем кода. ХЗ как с их последовательностью в цикле работать.
Сообщение отредактировал GoGo - 22.8.2019, 11:24
|
|
|
|
|
22.8.2019, 11:49
|
Группа: Участники форума
Сообщений: 24
Регистрация: 8.4.2019
Пользователь №: 358593

|
Вопрос №2. Как по RS-482 соединить 172 контроллер и HMIGXU? Через Ehternet все работает, а 482 никак не хочет. Выкладываю последовательность действий. Поправьте, где я не прав? 1. На COM2 панели HMI соединяю RDA c SDA, RDB c SDB, подключаю к + и - RS-482 контроллера соответственно. Gnd к Gnd тоже не забыл. 2. Настройка Vijeo:
1.jpg ( 161,39 килобайт )
Кол-во скачиваний: 16
2.jpg ( 129,68 килобайт )
Кол-во скачиваний: 10
4.jpg ( 119,13 килобайт )
Кол-во скачиваний: 83. Настройка в Ecostructere HVAC:
3.jpg ( 236,83 килобайт )
Кол-во скачиваний: 12В последнем пункте пробовал менять Master на Slave В обеих программах снижал скорость до 9600 Менял подключение + и - на контроллене RDA соединял с RDB, SDA с SDB. Результат один. Ошибка, нет связи с контроллером. Где я ошибся?
Сообщение отредактировал StepanovS - 22.8.2019, 11:50
|
|
|
|
|
22.8.2019, 12:04
|
Группа: Участники форума
Сообщений: 32
Регистрация: 25.7.2011
Пользователь №: 116400

|
1. rs485 2. GND лучше убрать 3. контроллер Slave, панель Master 4. Скорость четность битность в контроллере и панели должны быть одинаковые! 5. В драйвере панели почему TCP ? Там СОМ есть?
Сообщение отредактировал GoGo - 22.8.2019, 12:05
|
|
|
|
|
22.8.2019, 14:31
|
Группа: New
Сообщений: 19
Регистрация: 22.8.2019
Пользователь №: 364606

|
имел дело до этого только с ПЛК сименс. И вот теперь мне подсунули этот кирпич. Вторые сутки пытаюсь реализовать на нем логирование для AI. Может у кого уже есть подобный опыт превозмоганий таких страданий ? вопросы следующие: 1.Нашел здесь https://schneider-electric.app.box.com/s/cp...der/53667683073 что то вроде демки, но в пдфках тупо какая то художественная литература, не описания каталогов и структуры файловой системы, не примеров работы с fs_iec либой. А проекты на новом HVAC не открываются, то ли файл какой то не доложили, то ли проекты somachine HVAC не совместимы с ecostruxture HVAC. Может кто то сможет поделится старым somachine HVAC через гугло диск ? 2.Остается вопрос временной метки.На М172 нету юникс времени.Кто то решал подобную задачу ? 3.Можно ли описать свой user datatype ? 4.Можно ли через модбас получить прямой доступ к массиву в глобальных переменных ? ЗЫ: надеюсь я правильную тему написал
|
|
|
|
|
22.8.2019, 15:16
|
Группа: Участники форума
Сообщений: 32
Регистрация: 25.7.2011
Пользователь №: 116400

|
Цитата(yoos @ 22.8.2019, 14:31)  имел дело до этого только с ПЛК сименс. И вот теперь мне подсунули этот кирпич. Вторые сутки пытаюсь реализовать на нем логирование для AI. Может у кого уже есть подобный опыт превозмоганий таких страданий ? вопросы следующие: 1.Нашел здесь https://schneider-electric.app.box.com/s/cp...der/53667683073 что то вроде демки, но в пдфках тупо какая то художественная литература, не описания каталогов и структуры файловой системы, не примеров работы с fs_iec либой. А проекты на новом HVAC не открываются, то ли файл какой то не доложили, то ли проекты somachine HVAC не совместимы с ecostruxture HVAC. Может кто то сможет поделится старым somachine HVAC через гугло диск ? 2.Остается вопрос временной метки.На М172 нету юникс времени.Кто то решал подобную задачу ? 3.Можно ли описать свой user datatype ? 4.Можно ли через модбас получить прямой доступ к массиву в глобальных переменных ? ЗЫ: надеюсь я правильную тему написал кирпич, но пока работает, можно сочинять большие и сложные алгоритмы с использованием структур. 1. Вроде старый, который SomachinHVAC Нажмите сюда!2. не изучал тему 3. Свой структурный типа данных, да 4. К нераспределенным нет. Можно получить к статусным и eepromовским.
|
|
|
|
|
22.8.2019, 15:45
|
Группа: Участники форума
Сообщений: 314
Регистрация: 30.4.2015
Из: Краснодар
Пользователь №: 266723

|
Цитата(StepanovS @ 22.8.2019, 15:49)  Вопрос №2. Как по RS-482 соединить 172 контроллер и HMIGXU? Через Ehternet все работает, а 482 никак не хочет.
Где я ошибся? Посмотрите распиновку фирменного кабеля на стороне порта панели, все перемычки должны быть.
XBTZ9008.JPG ( 138,4 килобайт )
Кол-во скачиваний: 37
|
|
|
|
|
23.8.2019, 8:41
|
Группа: New
Сообщений: 19
Регистрация: 22.8.2019
Пользователь №: 364606

|
Как не крути все функции из fs_iec сигнализирует об ошибке.И ВСЕ.Документации на этот кирпич вразумительной нету  Не знаю что дальше делать ...
|
|
|
|
|
23.8.2019, 16:50
|
Группа: New
Сообщений: 4
Регистрация: 12.9.2013
Пользователь №: 205341

|
Цитата(StepanovS @ 21.8.2019, 18:54)  Помогите пожалуйста новичку. Как структуру передать в HMI? никак. Переменные, которые имеют адрес Modbus, не могут быть структурой. Поэтому как уже писали нужно присваивать каждой переменной структуры свою переменную Modbus и ее передавать на панель. Цитата(yoos @ 23.8.2019, 8:41)  Как не крути все функции из fs_iec сигнализирует об ошибке.И ВСЕ.Документации на этот кирпич вразумительной нету  Не знаю что дальше делать ...  Старый SoMachine HVAC можно скачать с того же файлообменника из папки "Софт" вот тут: https://schneider-electric.box.com/s/dmc1an...ocyvcqc631251dpТам же есть готовые параметрируемые программы и под новый и под старый софт. Код открытый и можно код логгирования скопировать оттуда: https://schneider-electric.box.com/s/5il1d4...vba7l9ueabv9e3rну а в папке "Логгирование" есть и презентации, описывающие этот код: https://schneider-electric.box.com/s/7cb226...q823jj7o7fxqlekнемного почитав все станет ясно. Есть правда нюанс, что логировать нельзя на USB флешку напрямую, только на MicroSD. А потом с нее копировать все на USB
|
|
|
|
|
27.8.2019, 10:54
|
Группа: New
Сообщений: 19
Регистрация: 22.8.2019
Пользователь №: 364606

|
Цитата(alloanalitic @ 23.8.2019, 16:50)  Там же есть готовые параметрируемые программы и под новый и под старый софт. Код открытый и можно код логгирования скопировать оттуда: https://schneider-electric.box.com/s/5il1d4...vba7l9ueabv9e3rтольку с того что он открытый, библиотека для файловой системы не предоставляет отладочную информацию, понять что не так невозможно
Сообщение отредактировал yoos - 27.8.2019, 10:55
|
|
|
|
|
30.8.2019, 5:28
|
Группа: New
Сообщений: 6
Регистрация: 30.5.2019
Пользователь №: 360850

|
Добрый день! Есть контроллер M171P. Необходимо забрать с него данные по RS485, при этом он должен быть SLAVE. Проблема в том, что я не понимаю как сделать его SLAVE`ом. В EcoStruxure в CONFIGURATION в RS485 есть пункты Not used и Master. SLAVE нету. Читал в документации что вроде можно создать свой конфиг и тогда он будет как Slave. Но тоже не получилось. Может кто сталкивался с таким и решил проблему? Подскажите как, или хотябы в какую сторону копать. Спасибо.
|
|
|
|
|
30.8.2019, 9:46
|
Группа: Участники форума
Сообщений: 71
Регистрация: 5.2.2016
Пользователь №: 289254

|
Цитата(Torrin81 @ 30.8.2019, 7:28)  Добрый день! Есть контроллер M171P. Необходимо забрать с него данные по RS485, при этом он должен быть SLAVE. Проблема в том, что я не понимаю как сделать его SLAVE`ом. В EcoStruxure в CONFIGURATION в RS485 есть пункты Not used и Master. SLAVE нету. Читал в документации что вроде можно создать свой конфиг и тогда он будет как Slave. Но тоже не получилось. Может кто сталкивался с таким и решил проблему? Подскажите как, или хотябы в какую сторону копать. Спасибо. Здравствуйте! Вот и оставьте его как Not used, тогда он будет работать как Slave. Адрес и другие параметры связи задайте по-умолчанию в BIOS. Адреса Модбас переменных EEprom и Status Variables в левом столбце.
|
|
|
|
|
30.8.2019, 11:43
|
Группа: New
Сообщений: 19
Регистрация: 22.8.2019
Пользователь №: 364606

|
Подскажите как такое может быть: навожу курсор на переменную объявление начинается с VAR_GLOBAL но в разделе global variables её нету.Где искать ?
Сообщение отредактировал yoos - 30.8.2019, 11:46
|
|
|
|
|
30.8.2019, 13:04
|
Группа: Участники форума
Сообщений: 71
Регистрация: 5.2.2016
Пользователь №: 289254

|
Цитата(yoos @ 30.8.2019, 13:43)  Подскажите как такое может быть: навожу курсор на переменную объявление начинается с VAR_GLOBAL но в разделе global variables её нету.Где искать ? с VAR_GLOBAL также начинается описание переменных из разделов EEprom и Status Variables, а также переменные из раздела target variables (типа sysLocalLeds и т.д.), ищите там.
Сообщение отредактировал Andrey N. - 30.8.2019, 13:06
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW
Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума
|