Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Modicon M171
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
Nexus_fox
Здравствуйте. На данной серии контроллеров пишу впервые, поэтому прошу прощения за возможно глупый вопрос. Пишу функциональный блок для подсчета наработки оборудования для контроллера М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) такого не наблюдалось.





ogorsv
Добрый день!

Дело в том, что забыли про "пустой" цикл после срабатывания таймера.

Первый скан при срабатывании таймера - выход в единицу - второй скан инверсия выхода и отсутствие счёта - выход устанавливается в нуль - третий скан - пошёл новый отсчёт.

Получается, реальный отсчёт идёт раз в 1020 мс. Давайте считать:

540 * 1020мс = 550 800 = 540000 + 10800мс разницы

Да, делать выводы о временных интервалах в симуляторе не всегда представляется корректным. Лучше проверять на реальном оборудовании

С уважением,
Nexus_fox
Цитата(ogorsv @ 29.7.2019, 11:43) *
Добрый день!

Дело в том, что забыли про "пустой" цикл после срабатывания таймера.

Первый скан при срабатывании таймера - выход в единицу - второй скан инверсия выхода и отсутствие счёта - выход устанавливается в нуль - третий скан - пошёл новый отсчёт.

Получается, реальный отсчёт идёт раз в 1020 мс. Давайте считать:

540 * 1020мс = 550 800 = 540000 + 10800мс разницы

Да, делать выводы о временных интервалах в симуляторе не всегда представляется корректным. Лучше проверять на реальном оборудовании

С уважением,

Спасибо за ответ!
В библиотеке TIMERS есть FB Pulse. Он вроде как работает
Но полного описания ни в мануалах ни в "параметрах объекта" нет.( как для остальных таймеров ).
pkl58
Обрабатывайте фронт сигнала.
Prevan
Здравствуйте.

Снова столкнулся с проблемой чтения значений переменных из EEPROM при симуляции.
Первоначально при симуляции переменные-уставки (к примеру, уставки времени задержки на таймеры) показывались с максимальным значением. Решилась проблема нажатием кнопки Write в разделе Comissioning.
В новом проекте на M171o в режиме симулятора также появляются максимальные значения переменных, но в разделе Comissioning эти переменные отсутствуют, соответственно нет возможности записать значения по умолчанию в эти переменные. Подскажите в чем может быть причина и как её можно решить?

Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла
Prevan
Цитата(Prevan @ 31.7.2019, 15:41) *
Здравствуйте.

Снова столкнулся с проблемой чтения значений переменных из EEPROM при симуляции.
Первоначально при симуляции переменные-уставки (к примеру, уставки времени задержки на таймеры) показывались с максимальным значением. Решилась проблема нажатием кнопки Write в разделе Comissioning.
В новом проекте на M171o в режиме симулятора также появляются максимальные значения переменных, но в разделе Comissioning эти переменные отсутствуют, соответственно нет возможности записать значения по умолчанию в эти переменные. Подскажите в чем может быть причина и как её можно решить?

Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла


Все заработало. Видимо глюк программы был...
Prevan
Всем доброго дня!

Подскажите есть ли возможность на контроллере M171 Optimized установить пароль на некоторые уставки (на дисплее)?
Andrey N.
Цитата(Prevan @ 7.8.2019, 9:52) *
Всем доброго дня!

Подскажите есть ли возможность на контроллере M171 Optimized установить пароль на некоторые уставки (на дисплее)?

В свойствах EEprom переменных и Status Variables есть видимость, у которой 4 варианта:
1. Всегда видимые.
2. Никогда не видимые.
3. Видимые при вводе пароля 1 уровня.
4. Видимые при вводе пароля 2 уровня.
GoGo
Здравствуйте!

Контроллер M172 каким-либо образом осуществляет самостоятельную диагностику состояния аналоговых входов? Интересует определение обрыва для тока и выход за диапазон.
GoGo
Еще вопрос.

Каким образом работать с переменными FB VAR_IN_OUT?

Если делать так:

FUNCTION_BLOCK qwe
VAR_IN_OUT
a : UINT;
END_VAR

и вызывать экземпляр FB так:
qwe(a:=aa);

то аа не обновляется sad.gif((((

Пока выхожу из ситуации следующим образом:
qwe(a:=aa);
aa:=qwe.a;


Prevan
Цитата(Andrey N. @ 9.8.2019, 11:56) *
В свойствах EEprom переменных и Status Variables есть видимость, у которой 4 варианта:
1. Всегда видимые.
2. Никогда не видимые.
3. Видимые при вводе пароля 1 уровня.
4. Видимые при вводе пароля 2 уровня.


А где настраиваются сами пароли 1 уровня и 2 уровня?
Andrey N.
Цитата(Prevan @ 12.8.2019, 22:10) *
А где настраиваются сами пароли 1 уровня и 2 уровня?

Параметры Ui27 и Ui28, их можно настроить во вкладке Bios в Configuration, или поменять онлайн в Commissioning.
StepanovS
Подскажите пожалуйста, как перенести данные массива из ecostructure hvac в vijeo? Ведь конкретного адреса у него нет, как у переменных. Контроллер м172
ogorsv
Добрый день!

Вариант
Нужно в ecostructure hvac создать статусные переменные.
А в vijeo создавать external переменные с соответственными адресами.

К вопросу в другой теме:
адреса, которые видно в EEPROM и Status - это как раз Modbus-адреса, по которым можно обратиться, например, из Vijeo.

StepanovS
Цитата(ogorsv @ 20.8.2019, 2:23) *
Добрый день!

Вариант
Нужно в ecostructure hvac создать статусные переменные.
А в vijeo создавать external переменные с соответственными адресами.

К вопросу в другой теме:
адреса, которые видно в EEPROM и Status - это как раз Modbus-адреса, по которым можно обратиться, например, из Vijeo.


Спасибо, Сергей!
Подскажите, как в статусную переменную записать структуру или массив?

Задача стоит такая: запись макс и мин температуры за сутки, и запись в таблицу. Таблица на 30 дней.
Правильно ли я понимаю, мне нужен массив из 30 структур. В каждой структуре данные температур с трех датчиков за сутки?
Сложно понять, как это вывести на GXU
StepanovS
Помогите пожалуйста новичку. Как структуру передать в HMI?
GoGo
Цитата(StepanovS @ 20.8.2019, 10:25) *
Спасибо, Сергей!
Подскажите, как в статусную переменную записать структуру или массив?

Задача стоит такая: запись макс и мин температуры за сутки, и запись в таблицу. Таблица на 30 дней.
Правильно ли я понимаю, мне нужен массив из 30 структур. В каждой структуре данные температур с трех датчиков за сутки?
Сложно понять, как это вывести на GXU


Тоже планировал использовать массив в статусных переменных.
Оказалось, что массивы в статусных не создаются.
Создавал статусные ручками по 1 переменной.
В итоге, кроме возни с переменными, существенно вырос объем кода. ХЗ как с их последовательностью в цикле работать.
StepanovS
Вопрос №2.
Как по RS-482 соединить 172 контроллер и HMIGXU?
Через Ehternet все работает, а 482 никак не хочет.

Выкладываю последовательность действий. Поправьте, где я не прав?
1. На COM2 панели HMI соединяю RDA c SDA, RDB c SDB, подключаю к + и - RS-482 контроллера соответственно. Gnd к Gnd тоже не забыл.
2. Настройка Vijeo:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла

3. Настройка в Ecostructere HVAC:
Нажмите для просмотра прикрепленного файла

В последнем пункте пробовал менять Master на Slave
В обеих программах снижал скорость до 9600
Менял подключение + и - на контроллене
RDA соединял с RDB, SDA с SDB.
Результат один. Ошибка, нет связи с контроллером.

Где я ошибся?
GoGo
1. rs485
2. GND лучше убрать
3. контроллер Slave, панель Master
4. Скорость четность битность в контроллере и панели должны быть одинаковые!
5. В драйвере панели почему TCP ? Там СОМ есть?
yoos
имел дело до этого только с ПЛК сименс. И вот теперь мне подсунули этот кирпич. Вторые сутки пытаюсь реализовать на нем логирование для 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.Можно ли через модбас получить прямой доступ к массиву в глобальных переменных ?
ЗЫ: надеюсь я правильную тему написал
GoGo
Цитата(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овским.
Se_Sib
Цитата(StepanovS @ 22.8.2019, 15:49) *
Вопрос №2.
Как по RS-482 соединить 172 контроллер и HMIGXU?
Через Ehternet все работает, а 482 никак не хочет.

Где я ошибся?


Посмотрите распиновку фирменного кабеля на стороне порта панели, все перемычки должны быть.
Нажмите для просмотра прикрепленного файла
yoos
Как не крути все функции из fs_iec сигнализирует об ошибке.И ВСЕ.Документации на этот кирпич вразумительной нету mad.gif Не знаю что дальше делать ... helpsmilie.gif
yoos
официальная поддержка шнайдера очень печальная,только и могут что футболить.
А средство разработки настолько глючное что тупо даже не можешь текст исходников разглядеть blink.gif
alloanalitic
Цитата(StepanovS @ 21.8.2019, 18:54) *
Помогите пожалуйста новичку. Как структуру передать в HMI?


никак. Переменные, которые имеют адрес Modbus, не могут быть структурой. Поэтому как уже писали нужно присваивать каждой переменной структуры свою переменную Modbus и ее передавать на панель.

Цитата(yoos @ 23.8.2019, 8:41) *
Как не крути все функции из fs_iec сигнализирует об ошибке.И ВСЕ.Документации на этот кирпич вразумительной нету mad.gif Не знаю что дальше делать ... helpsmilie.gif


Старый 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
yoos
Цитата(alloanalitic @ 23.8.2019, 16:50) *
Там же есть готовые параметрируемые программы и под новый и под старый софт. Код открытый и можно код логгирования скопировать оттуда:
https://schneider-electric.box.com/s/5il1d4...vba7l9ueabv9e3r

тольку с того что он открытый, библиотека для файловой системы не предоставляет отладочную информацию, понять что не так невозможно
Torrin81
Добрый день!
Есть контроллер M171P. Необходимо забрать с него данные по RS485, при этом он должен быть SLAVE. Проблема в том, что я не понимаю как сделать его SLAVE`ом.
В EcoStruxure в CONFIGURATION в RS485 есть пункты Not used и Master. SLAVE нету. Читал в документации что вроде можно создать свой конфиг и тогда он будет как Slave. Но тоже не получилось. Может кто сталкивался с таким и решил проблему? Подскажите как, или хотябы в какую сторону копать. Спасибо.
Andrey N.
Цитата(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 в левом столбце.
yoos
Подскажите как такое может быть: навожу курсор на переменную объявление начинается с VAR_GLOBAL но в разделе global variables её нету.Где искать ?
Andrey N.
Цитата(yoos @ 30.8.2019, 13:43) *
Подскажите как такое может быть: навожу курсор на переменную объявление начинается с VAR_GLOBAL но в разделе global variables её нету.Где искать ?

с VAR_GLOBAL также начинается описание переменных из разделов EEprom и Status Variables, а также переменные из раздела target variables (типа sysLocalLeds и т.д.), ищите там.
yoos
А что разработчики этого дивного HVAC не предусматривает что для отладки - может понадобится содержимое строки посмотреть ? Или я может чего то не понял ?
mafckz
Добрый день.

Прошу ответить на вопрос, частично связанный с данной темой.

Каким образом систему ПВУ, настроенную в конфигураторе smart-hvac.ru открыть в Schneider Electric EcoStruxure™ Machine Expert - HVAC? Т.е. интересует именно программа для контроллера M171.

В "Помощи" указано:
"...в реальном времени генерируется параметрический файл конфигурации, который позже может быть загружен в контроллер M171O/M172P для инициализации подходящей программы управления."
"После скачивания файла конфигурации на компьютер, его можно загрузить в контроллер."

Возможно ли открыть программу без контроллера?
mafckz
*Update к предыдущему сообщению:

1) Нашел инструкцию к web-конфигуратору - стало ясно как загрузить программу в контроллер.
Имеется ли возможность в дальнейшем изменять программу (алгоритм) частично/полностью?
Или доступ к коду сгенерированной программе закрыт?

2) Опыт внедрения этих алгоритмов удачный? Спрашиваю, т.к. в основном сообщения о работе с аппаратной частью и связью с другими узлами.
Torrin81
Цитата(Andrey N. @ 30.8.2019, 10:46) *
Здравствуйте! Вот и оставьте его как Not used, тогда он будет работать как Slave. Адрес и другие параметры связи задайте по-умолчанию в BIOS. Адреса Модбас переменных EEprom и Status Variables в левом столбце.

Спасибо! Попробую.
Torrin81
Добрый день!
Как увидеть PLC переменные (EEPROM parameters, Status Variables) в HMI? Контроллер М171Р. В EcoStruxure во вкладке DISPLAY как получить доступ к ПЛК переменным, что бы можно было их использовать в локальной процедуре к экрану?
yoos
Как из function block менять переменные в EEPROM.Или это не возможно ?
yoos
Цитата(yoos @ 3.9.2019, 11:49) *
Как из function block менять переменные в EEPROM.Или это не возможно ?

Сам и отвечу sysWritePar*
ЗЫ: кто то знает дефолтное имя пользователя и пароль к встроенному ftp ?
Andrey N.
Цитата(Torrin81 @ 3.9.2019, 11:40) *
Добрый день!
Как увидеть PLC переменные (EEPROM parameters, Status Variables) в HMI? Контроллер М171Р. В EcoStruxure во вкладке DISPLAY как получить доступ к ПЛК переменным, что бы можно было их использовать в локальной процедуре к экрану?

Привет! Это целая эпопея.
Создаём, например, переменную EEPROM, с названием Command_to_Start, её адрес 16384 (левый столбец). Далее переходим в Display. Здесь в папке Global Variables создаём переменную, например с именем Command_to_Start1. В Init Value вводим адрес нашей EEPROM переменной, 16384. Attribute делаем Constant.
Нажмите для просмотра прикрепленного файла
Создаём ещё одну переменную, ComStart, в ней только указываем тип (Bool).
Далее создаём нашу процедуру (локальную или глобальную), с именем Start.
В ней прописываем следующий код:

uint_ret := Video_GetParam( 0, Command_to_Start1, 0, ?ComStart, tyBool );
if ComStart = TRUE then
ComStart := FALSE;
uint_ret := Video_SetParam( 0, Command_to_Start1, 0, ?ComStart, tyBool );
else
ComStart := TRUE;
uint_ret := Video_SetParam( 0, Command_to_Start1, 0, ?ComStart, tyBool );
end_if;
После привязки этой процедуры к действию, например, LongEnter - Call - Start (это на нужной странице, HMI actions), будет запрашиваться значение нашей EEPROM переменной, и затем инвертироваться. Чтобы просто записать в неё TRUE, можно написать такой код в процедуре:

ComStart := TRUE;
uint_ret := Video_SetParam( 0, Command_to_Start1, 0, ?ComStart, tyBool );
Andrey N.
Кто-нибудь менял страницы по-умолчанию для WEB-server? Нужно поместить на отдельную страницу текущее время и его настройку, если делать это на стандартной странице, получается некрасиво. Может есть у кого подобный вариант?
Retard
Продолжаю свои эксперименты с m171p и модулем расширений tm171ep27r.
Подскажите, правильно ли я понимаю, что эти 2 железки должны видеть себя как родные? Достаточно подключения по линии CAN и трогать dip переключатели не понадобится? А если понадобится, то может кто-нибудь скинуть мануал того, как формируется адрес и скорость в зависимости от положения DIP.







На дефолтных настройках ничего не происходит, видимо, есть какая-то проблема с адресацией. Прошу помочь.
ogorsv
Я всегда вспоминаю анекдот: "Мойша, но ты билет хотя бы купи!" rolleyes.gif
На сайте https://www.se.com/ru/ru/ поиском по модулю легко ищется FAQ c описанием как программной, так и физической составляющей
Товарищи, не забывайте про сайты вендоров - это таки исходная точка поисков информации
Я так думаю (ц)
yoos
Как задействовать ф-ции sysMbMRTU_* ? 2й порт настроил в мастер, но оно все равно гавкает что "communication channel configuration error"
Torrin81
Цитата(Andrey N. @ 30.8.2019, 10:46) *
Здравствуйте! Вот и оставьте его как Not used, тогда он будет работать как Slave. Адрес и другие параметры связи задайте по-умолчанию в BIOS. Адреса Модбас переменных EEprom и Status Variables в левом столбце.

Добрый день. Так и сделал. Но все равно не работает. Шлю ему телеграмму через Terminal (например 010340040001D00B) не отвечает. Адрес контроллера 1. Dip Swich все четыре в Off. Может подскажите в какую сторону копать? Весь мозг сломал rolleyes.gif
Andrey N.
Цитата(Torrin81 @ 9.9.2019, 14:04) *
Добрый день. Так и сделал. Но все равно не работает. Шлю ему телеграмму через Terminal (например 010340040001D00B) не отвечает. Адрес контроллера 1. Dip Swich все четыре в Off. Может подскажите в какую сторону копать? Весь мозг сломал rolleyes.gif

Dip Switch я не использовал, всё работало и так. С программой Terminal, к сожалению, не работал.
С Modbus Slave у модиконов обычно проблем нет, никаких секретов там. Проверяйте настройки сети ещё раз, адрес устройства (возможно следует сделать отличным от 1). Также проверьте полярность соединения.
Я для проверки обычно использую Easy Builder PRO от Weintek, там через режим симуляции и преобразователь USB-RS485 можно связаться с устройством.
Retard
Цитата(ogorsv @ 8.9.2019, 2:54) *
Я всегда вспоминаю анекдот: "Мойша, но ты билет хотя бы купи!" rolleyes.gif
На сайте https://www.se.com/ru/ru/ поиском по модулю легко ищется FAQ c описанием как программной, так и физической составляющей
Товарищи, не забывайте про сайты вендоров - это таки исходная точка поисков информации
Я так думаю (ц)

Фима, если вы таки про это https://schneider-electric.app.box.com/s/gr...20x228fjf1pvaf8
то я так и сделал, но ничего не завелось. В sysPeripheralStatus везде True, хотя при дефолтных настройках CAN модуля 6pin - off и 4pin - off (500kb/s, node address 1) я должен был увидеть на первом ноде FALSE, да хоть на каком-нибудь FALSE, а везде TRUE
Retard
Сам себе отвечу. ХЗ что это было, просто достал из коробки новый модуль расширения, настроил как предыдущий и всё запустилось. Видимо, сбой был именно в нём
nioc78
Здравствуйте, подскажите пожалуйста! У меня есть ПЛК SE 172 и расходомер с интерфейсом Modbus TCP. Возможно ли организовать передачу данных между ПЛК и расходомером (получать данные о расходе и т.д.) и как это организовать? Заранее спасибо
Torrin81
Цитата(Andrey N. @ 9.9.2019, 14:30) *
Dip Switch я не использовал, всё работало и так. С программой Terminal, к сожалению, не работал.
С Modbus Slave у модиконов обычно проблем нет, никаких секретов там. Проверяйте настройки сети ещё раз, адрес устройства (возможно следует сделать отличным от 1). Также проверьте полярность соединения.
Я для проверки обычно использую Easy Builder PRO от Weintek, там через режим симуляции и преобразователь USB-RS485 можно связаться с устройством.

Спасибо поддержку. Все получилось. Terminal глючный был.
yoos
Получается этот кирпич никто неиспользует в роли модбас мастера ? Печальное очень печальное ПЛК thumbdown.gif
GoGo
Цитата(yoos @ 11.9.2019, 11:39) *
Получается этот кирпич никто неиспользует в роли модбас мастера ? Печальное очень печальное ПЛК thumbdown.gif


У меня в проекте MB сканер настроен на одном 485. Компилируется нормально, не ругается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.