Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.09.2016, 17:10   #1
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Подскажите

Здравствуйте. Подскажите пожалуйста как в SMLogix сделать, чтоб при увеличении переменной на адресе modbus срабатывал дискретный выход.
Andrey92 вне форума   Ответить с цитированием
Старый 14.09.2016, 17:13   #2
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Здравствуйте. Подскажите пожалуйста как в SMLogix сделать, чтоб при увеличении переменной на адресе modbus срабатывал дискретный выход.
При увеличении выше какого-то предела или просто при увеличении, относительно предыдущего измеренного?
И как должен срабатывать дискретный выход?


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 14.09.2016, 17:24   #3
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Относительно от предыдущего измеренного. При любом увеличении значения чтоб включался дискретный выход. Нужно чтоб по изменению значения моточасов, система определяла какой насос находится в работе.
Andrey92 вне форума   Ответить с цитированием
Старый 14.09.2016, 17:34   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Относительно от предыдущего измеренного. При любом увеличении значения чтоб включался дискретный выход. Нужно чтоб по изменению значения моточасов, система определяла какой насос находится в работе.
Вход может включиться только один раз.

Второй вход раз включить не получится, если не выключить его перед этим.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 15.09.2016, 09:50   #5
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Ну понятное дело, надо чтоб он один раз включился.
Andrey92 вне форума   Ответить с цитированием
Старый 15.09.2016, 10:09   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Ну понятное дело, надо чтоб он один раз включился.
Т.е. вам нужно, чтобы выход включился и оставался включенным до самого снятия питания с контроллера?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 15.09.2016, 10:23   #7
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Ну вот смотрите, есть два насоса, система должна определить какой насос работает и зажечь, допустим, лампочку. По Modbus передаются значения наработки насосов. Ну вот по увеличению значения в адресе, который соответствует одному из насосов, мы определяем какой насос в работе.
Andrey92 вне форума   Ответить с цитированием
Старый 15.09.2016, 10:39   #8
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Ну вот смотрите, есть два насоса, система должна определить какой насос работает и зажечь, допустим, лампочку. По Modbus передаются значения наработки насосов. Ну вот по увеличению значения в адресе, который соответствует одному из насосов, мы определяем какой насос в работе.
а бывает ситуация, что оба насоса остановлены или оба работают?


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 15.09.2016, 10:45   #9
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Да, бывает.
Andrey92 вне форума   Ответить с цитированием
Старый 15.09.2016, 10:57   #10
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Да, бывает.
И как тогда программа должна себя вести?

Вот я могу из вас вытягивать необходимую информацию, и в итоге выяснится, например, что вам нужно решать задачу иначе.

Какие данные приходят от счётчиков моточасов? Это секунды наработки, или минуты, или это циклические секунды, может это время?

Понимаете, если приходят секунды циклические (как на часах), то у вас каждую минуту будет отключаться, потому что 0 < 59. Ну и так далее.

Вы недостаточно ясно обрисовываете ваши условия. Вам невозможно дать адекватный совет, потому что всё будет не то. А телепатией никто не обладает, вроде бы.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 15.09.2016, 11:35   #11
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Данные приходят в минутах. Мне вот в основном хотелось бы узнать как вот уловить состояния изменения цифры, которая на адресе. Вот увеличилось время на одну минуту и сработал дискрет.
Andrey92 вне форума   Ответить с цитированием
Старый 15.09.2016, 11:51   #12
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Данные приходят в минутах. Мне вот в основном хотелось бы узнать как вот уловить состояния изменения цифры, которая на адресе. Вот увеличилось время на одну минуту и сработал дискрет.
Вот по схеме на рисунке - dou0 включится, если минута увеличится, и останется включенной до тех пор, пока минуты не перейдут час. затем снвоа включится


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 15.09.2016, 12:13   #13
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Там минуты не с нуля идут, а общее время наработки.
Andrey92 вне форума   Ответить с цитированием
Старый 15.09.2016, 12:39   #14
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Да, бывает.
Как программа определяет, что насос остановился?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 15.09.2016, 12:41   #15
Sergey Cherevko
Senior Member
 
Аватара для Sergey Cherevko
 
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Там минуты не с нуля идут, а общее время наработки.
Как-то так, если в работе один из насосов.
Лампа насоса будет гореть минуту с момента изменения моточасов, если не изменятся моточасы другого насоса.
Если через минуту моточасы снова изменятся, то лампа будет гореть еще минуту. Если нет - то погаснет.
Если могут работать оба насоса одновременно, то сброс RS триггера от противоположного насоса убрать (убрать связь с входом OR, на вход записать 0)
Миниатюры
Нажмите на картинку для увеличения

Название:  Пример.png
Просмотров: 47
Размер:  24.5 Кбайт  


__________________
Автомат АК - самый распространенный преобразователь стека в очередь
Sergey Cherevko вне форума   Ответить с цитированием
Старый 15.09.2016, 12:41   #16
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Andrey92 Посмотреть сообщение
Там минуты не с нуля идут, а общее время наработки.
Да дело не в этом. Вы просили подсказать, как отследить момент изменения цифры - я вам показал. Могу только дополнительно пояснить:

Желтая связь - это связь, которая обработается в следующем цикле. Чтобы её получить - я вынес блок OR(который ничего не делает) вперёд, до входа переменной.
Представим, что цифры увеличиваются:
В первом цикле, белая и желтая, которые приходят на блок cmp - будут одинаковыми. Ну возьмём, 15.
Во втором цикле, переменная изменяется на 16, но это число придёт на cmp только по белой связи. На вход А.
В третьем цикле - новая цифра 16 пройдёт уже и по желтой связи и появится на входе В (cmp). Таким образом, во втором цикле будет момент, когда данные на входах будут разные. Это вам и нужно.

Я тут допустил ошибку. надо dou0 подключать на A>B через ^D триггер. Иначе переменная будет включена всегда с самого начала.

Но даже эта схема не обеспечит нормальной и адекватной работы. Потому что здесь не обрабатывается вариант, что счётчик остановился. Это уже зависит от того, что вам на самом деле нужно.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 15.09.2016, 13:14   #17
Sergey Cherevko
Senior Member
 
Аватара для Sergey Cherevko
 
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Gromov Посмотреть сообщение
Потому что здесь не обрабатывается вариант, что счётчик остановился.
Поможет 60-секундный тайм-аут. Если через 60 (лучше через 61) секунд значение моточасов не изменится, то триггер сбрасывать, а лампочку - погасить.


__________________
Автомат АК - самый распространенный преобразователь стека в очередь
Sergey Cherevko вне форума   Ответить с цитированием
Старый 15.09.2016, 16:49   #18
Andrey92
Новичок
 
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Подскажите

Цитата
Сообщение от Gromov Посмотреть сообщение
Да дело не в этом. Вы просили подсказать, как отследить момент изменения цифры - я вам показал. Могу только дополнительно пояснить:

Желтая связь - это связь, которая обработается в следующем цикле. Чтобы её получить - я вынес блок OR(который ничего не делает) вперёд, до входа переменной.
Представим, что цифры увеличиваются:
В первом цикле, белая и желтая, которые приходят на блок cmp - будут одинаковыми. Ну возьмём, 15.
Во втором цикле, переменная изменяется на 16, но это число придёт на cmp только по белой связи. На вход А.
В третьем цикле - новая цифра 16 пройдёт уже и по желтой связи и появится на входе В (cmp). Таким образом, во втором цикле будет момент, когда данные на входах будут разные. Это вам и нужно.

Я тут допустил ошибку. надо dou0 подключать на A>B через ^D триггер. Иначе переменная будет включена всегда с самого начала.

Но даже эта схема не обеспечит нормальной и адекватной работы. Потому что здесь не обрабатывается вариант, что счётчик остановился. Это уже зависит от того, что вам на самом деле нужно.
Спасибо Вам, я понял
Andrey92 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите плз знак градуса ° для SCREEN (str) в СМШ4 LordN Вопросы о SMH4 14 22.04.2019 14:48
Подскажите характеристики сгоревшего элемента Pixel sashasmaylik Вопросы о Pixel 7 04.07.2018 10:16
Подскажите по датчикам и электроприводу Yaniks Форум Segnetics 14 06.12.2013 12:24
Подскажите код разблокировки контроллера. Истёк срок работы! Arsie ЧаВо - Часто задаваемые Вопросы 0 21.08.2013 18:32


Часовой пояс GMT +4, время: 11:59.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023