|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
14.09.2016, 17:10 | #1 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Подскажите
Здравствуйте. Подскажите пожалуйста как в SMLogix сделать, чтоб при увеличении переменной на адресе modbus срабатывал дискретный выход.
|
14.09.2016, 17:13 | #2 | |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
Цитата:
И как должен срабатывать дискретный выход? __________________ В сегнетиксе не работаю с самого начала 2019 года. |
|
14.09.2016, 17:24 | #3 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Относительно от предыдущего измеренного. При любом увеличении значения чтоб включался дискретный выход. Нужно чтоб по изменению значения моточасов, система определяла какой насос находится в работе.
|
14.09.2016, 17:34 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Подскажите
Цитата:
Второй вход раз включить не получится, если не выключить его перед этим. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
15.09.2016, 09:50 | #5 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Ну понятное дело, надо чтоб он один раз включился.
|
15.09.2016, 10:09 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Подскажите
Т.е. вам нужно, чтобы выход включился и оставался включенным до самого снятия питания с контроллера?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
15.09.2016, 10:23 | #7 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Ну вот смотрите, есть два насоса, система должна определить какой насос работает и зажечь, допустим, лампочку. По Modbus передаются значения наработки насосов. Ну вот по увеличению значения в адресе, который соответствует одному из насосов, мы определяем какой насос в работе.
|
15.09.2016, 10:39 | #8 | |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
Цитата:
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
|
15.09.2016, 10:45 | #9 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Да, бывает.
|
15.09.2016, 10:57 | #10 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
И как тогда программа должна себя вести?
Вот я могу из вас вытягивать необходимую информацию, и в итоге выяснится, например, что вам нужно решать задачу иначе. Какие данные приходят от счётчиков моточасов? Это секунды наработки, или минуты, или это циклические секунды, может это время? Понимаете, если приходят секунды циклические (как на часах), то у вас каждую минуту будет отключаться, потому что 0 < 59. Ну и так далее. Вы недостаточно ясно обрисовываете ваши условия. Вам невозможно дать адекватный совет, потому что всё будет не то. А телепатией никто не обладает, вроде бы. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
15.09.2016, 11:35 | #11 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Данные приходят в минутах. Мне вот в основном хотелось бы узнать как вот уловить состояния изменения цифры, которая на адресе. Вот увеличилось время на одну минуту и сработал дискрет.
|
15.09.2016, 11:51 | #12 | |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
Цитата:
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
|
15.09.2016, 12:13 | #13 |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Там минуты не с нуля идут, а общее время наработки.
|
15.09.2016, 12:39 | #14 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Подскажите
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
15.09.2016, 12:41 | #15 |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
Как-то так, если в работе один из насосов.
Лампа насоса будет гореть минуту с момента изменения моточасов, если не изменятся моточасы другого насоса. Если через минуту моточасы снова изменятся, то лампа будет гореть еще минуту. Если нет - то погаснет. Если могут работать оба насоса одновременно, то сброс RS триггера от противоположного насоса убрать (убрать связь с входом OR, на вход записать 0) __________________ Автомат АК - самый распространенный преобразователь стека в очередь |
15.09.2016, 12:41 | #16 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
Да дело не в этом. Вы просили подсказать, как отследить момент изменения цифры - я вам показал. Могу только дополнительно пояснить:
Желтая связь - это связь, которая обработается в следующем цикле. Чтобы её получить - я вынес блок OR(который ничего не делает) вперёд, до входа переменной. Представим, что цифры увеличиваются: В первом цикле, белая и желтая, которые приходят на блок cmp - будут одинаковыми. Ну возьмём, 15. Во втором цикле, переменная изменяется на 16, но это число придёт на cmp только по белой связи. На вход А. В третьем цикле - новая цифра 16 пройдёт уже и по желтой связи и появится на входе В (cmp). Таким образом, во втором цикле будет момент, когда данные на входах будут разные. Это вам и нужно. Я тут допустил ошибку. надо dou0 подключать на A>B через ^D триггер. Иначе переменная будет включена всегда с самого начала. Но даже эта схема не обеспечит нормальной и адекватной работы. Потому что здесь не обрабатывается вариант, что счётчик остановился. Это уже зависит от того, что вам на самом деле нужно. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
15.09.2016, 13:14 | #17 |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Подскажите
Поможет 60-секундный тайм-аут. Если через 60 (лучше через 61) секунд значение моточасов не изменится, то триггер сбрасывать, а лампочку - погасить.
__________________ Автомат АК - самый распространенный преобразователь стека в очередь |
15.09.2016, 16:49 | #18 | |
Новичок
Регистрация: Jul 2016
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Подскажите
Цитата:
|
|