Просмотр полной версии : ПЛК160 и МДВВ в программе не работают входы МДВВ
Программа в CFC. На входе МДВВ тумблер 1/0. Подключение к ПЛК160 через Modbas (RTU). В программе не работает преобразование входного сигнала ФБ WORD_TO_BOOL, а в режиме эмуляции все работает нормально. ФБ WORD_TO_BOOL не реагирует на изменение входного сигнала. В чем моя ошибка?
приборист
06.10.2014, 13:10
Программу выкладывайте.
Индикатор работа горит? Старт нажимаете?
У меня была подобная проблема. С причиной разбираться не стал, написал свою функцию. Если у Вас все остальное работает, попробуйте импортировать в программу вложенную функцию и заменить стандартную.
14638
ФБ WORD_TO_BOOL на входе сигнал меняется, а на выходе этого ФБ постоянно "1".
У меня была подобная проблема. С причиной разбираться не стал, написал свою функцию. Если у Вас все остальное работает, попробуйте импортировать в программу вложенную функцию и заменить стандартную.
Ваш файл не могу открыть в CoDeSyS, чтобы посмотреть ФБ
Программу выкладывайте.
Индикатор работа горит? Старт нажимаете?
Да все делаю по инструкции.
14638
ФБ WORD_TO_BOOL на входе сигнал меняется, а на выходе этого ФБ постоянно "1".
В WORD должен меняться младшей бит.
Ваш файл не могу открыть в CoDeSyS, чтобы посмотреть ФБ
Сначала вытаскиваете файл из архива, затем в Кодесис надо импортировать файл: заходите в меню Project -> Import и выбираете файл. ФБ сразу вставится в Ваш проект в списке POU в папке My_Functions.
ФБ WORD_TO_BOOL на входе сигнал меняется, а на выходе этого ФБ постоянно "1".
А как меняется на входе, какие значения-то бывают ?
Сначала вытаскиваете файл из архива, затем в Кодесис надо импортировать файл: заходите в меню Project -> Import и выбираете файл. ФБ сразу вставится в Ваш проект в списке POU в папке My_Functions.
Ваш файл вставился в проект, он у Вас на ST написан. А моя программа на CFC. Как мне согласовать Ваш файл с моими ФБ WORD_TO_BOOL?
А как меняется на входе, какие значения-то бывают ?
На входе МДВВ тумблер. При каждом включении увеличивается число на "1" SIG1=1978 (вход). А после идет ФБ WORD_TO_BOOL который вообще не реагирует и постоянно "1" на выходе.
1. Просто напишите ряд значений
1978 -> TRUE. Все правильно
2. На выходе WORD_TO_BOOL никогда не бывает 1. Так же никогда не бывает 0.
3.
"При каждом включении увеличивается число...WORD_TO_BOOL который вообще не реагирует"
Аналог:
"Идет медведь по лесу...прицеп для автомобиля"
1. Просто напишите ряд значений
1978 -> TRUE. Все правильно
2. На выходе WORD_TO_BOOL никогда не бывает 1. Так же никогда не бывает 0.
3.
"При каждом включении увеличивается число...WORD_TO_BOOL который вообще не реагирует"
Аналог:
"Идет медведь по лесу...прицеп для автомобиля"
Почему сделали так дискретные входы у МДВВ. ШИМ по входу я не использую, а тупое "вкл/ выкл" реализовать не могу. Тип данных Word на входе, просто ставит в тупик. В эмуляторе работает. И с выходами проблем нет, ФБ SEL работает без проблем. Как быть?
Как быть?
Учить матчасть.
Почему сделали так дискретные входы у МДВВ.
Поправлю. И так тоже
"ШИМ по входу" - что новое для МВДД я пропустил ?
Что хотим от счетчика ? Ловить п.фронты ?
1.При включении определить стартовое фактическое состояние входов. Например по маске
2.Дальше - определять разницу по модулю 2
Ну чем просто маска не угодила ?
lara197a
06.10.2014, 16:16
шим сделали для универсальности, на случай если выходы аналоговые.
с дискретными- по маске.
Ваш файл вставился в проект, он у Вас на ST написан. А моя программа на CFC. Как мне согласовать Ваш файл с моими ФБ WORD_TO_BOOL?
Это довольно просто. Надо изменить имя блока WORD_TO_BOOL на WORD_TOO_BOOL.
Это довольно просто. Надо изменить имя блока WORD_TO_BOOL на WORD_TOO_BOOL.
Спасибо, огромное. Поправил. На железе завтра на работе попробую. Я как Вы догадались новичек, пока не силен в этом деле. Но начало положено. И матчасть перечитываю. Это первый, но не последний мой вопрос по программированию в CoDeSyS.
шим сделали для универсальности, на случай если выходы аналоговые.
с дискретными- по маске.
Получается в конфигурации МДВВ использовать входы с масками Bit mask for input вместо Value of input counter?
lara197a
06.10.2014, 22:27
Стр 41 ИЭ Таблица В.4.
Регистр выходов-dec 50
входов 51
Николаев Андрей
07.10.2014, 20:49
http://www.owen.ru/forum/showthread.php?t=13580
Стр 41 ИЭ Таблица В.4.
Регистр выходов-dec 50
входов 51
Я на входе 1 МДВВ устанавливаю адрес регистра 51 и все работает. Но у меня еще четыре входа. При установке на остальных входах адреса 51, получается что при подаче сигнала на любой из пяти входов МДВВ, в схеме срабатывают все пять ФБ WORD_TO_BOOL.
Да и настройки и пример программы МДВВ я изучал. Но в примере только один вход используется.
приборист
08.10.2014, 09:26
Я на входе 1 МДВВ устанавливаю адрес регистра 51 и все работает. Но у меня еще четыре входа. При установке на остальных входах адреса 51, получается что при подаче сигнала на любой из пяти входов МДВВ, в схеме срабатывают все пять ФБ WORD_TO_BOOL.
Да и настройки и пример программы МДВВ я изучал. Но в примере только один вход используется.
Вы примеры смотрели? Форум читали?
Маска это один Word, где каждый вход соответствует каждому биту этого Word.
В Вашем случае нужно так:
Переменная MDVV - в конфигураторе имеет адрес 51. В эту переменную приходят значения всех входов.
В программе -
MDVV.0 - первый вход
MDVV.1 - второй вход
MDVV.2 - третий вход и так далее.
Вы примеры смотрели? Форум читали?
Маска это один Word, где каждый вход соответствует каждому биту этого Word.
В Вашем случае нужно так:
Переменная MDVV - в конфигураторе имеет адрес 51. В эту переменную приходят значения всех входов.
В программе -
MDVV.0 - первый вход
MDVV.1 - второй вход
MDVV.2 - третий вход и так далее.
Да все понял. В стандартных настройках МДВВ адреса регистров входов идут с 64-го и дальше. Исправил с 0-го по 4-й и все пять входов заработали. Не обращал внимания на эту деталь. С трудом, но начинаю понимать работу железа. Втянусь потихоньку)))
Огромное Всем спасибо, что помогли разобраться!
Сделал как в инструкции но как только приравниваю тип BOOL ко входу мдвв пишет ошибку (тип данных BOOL недопустим для прямого битового подключения) хотя в примере указанно bMdvvIn1 := wInputsMdvv.0; первый тип bool второй word подскажите что не так ! программа работает мдвв видит, осталось к выходам привязать
Почему в этом проекте типы не конфликтуют одни word другие bool, как работает ? или я что то недопонимаю?
вопрос снят почему то плк не любит коротких имен переменных + перезапись всех переменных и будет вам счастье
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot