|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
02.07.2019, 14:16 | #1 |
Member
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Запись журнала на внешний носитель
Здравствуйте.
Помогите разобраться, что делаю не правильно. Контроллер SMH4 Необходимо по сигналу начать запись показаний с датчиков в журнал. Сигнал подаю с RS-триггера по нажатию кнопки. Запись должна идти пока не пропал сигнал. Всё настроил, подключил флешку в разъем (В дальнейшем, у заказчика, это будет SD карта). В SMArt создал экран "Отчёт" Но ничего на флешку не пишется. |
02.07.2019, 14:27 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
Данные непрерывно или по триггеру пишутся в базу данных. А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных. В вашем случае это событие - переход схода "Select" из нуля в единицу. Фильтрация происходит по отрезку времени длиной 0 секунд и началом в 1970 году. Т.е. вполне логично, что отчёт у вас пуст. Вот подробности: https://forum.segnetics.com/showthread.php?t=3767 __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
02.07.2019, 20:39 | #3 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
Ответ: Запись архива на внешний носитель
скорей всего косяк в том, что нельзя объединять по входу "триггер" и т.п. блоки с разным набором входных переменных.
следуйте правилу = разный набор входных переменных - разные сигналы объедения. покраймере пока погроммисты не поправят этот косяк. я в это два месяца бился пока нашел |
02.07.2019, 21:03 | #4 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Запись архива на внешний носитель
В данном примере указан один блок history, который в корне неверно настроен, так что до этого косяка еще далеко)
|
03.07.2019, 07:57 | #5 |
Member
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Запись архива на внешний носитель
Собрал такую логику. Работает, так, как хотелось, но.
Возможно ли сделать, чтобы изменение писалось в 1 файл, а не создавало каждый раз новый? Как установить реальное время и год? Пишет 2010 год, время на 13 часов больше |
03.07.2019, 10:35 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
Данные непрерывно или по триггеру пишутся в базу данных. А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных. Каждый новый отчёт - это новый файл. Если вам не нужно несколько файлов, просто не создавайте несколько отчётов. Создавайте один и ровно тот, что вам нужен. Время учитывает часовой пояс. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
03.07.2019, 11:17 | #7 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
В библиотеке FBD блоки UnixTime выдадут вам текущее время при установлении 1 на входе current. Текущее время контроллера вы можете установить либо в системных настройках контроллера, либо с помощью блока SetRealTime(папка Время и Дата). |
|
03.07.2019, 13:04 | #8 | |
Member
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
Со временем разобрался. Если треггер - пишет в базу, а по select создаётся отчёт, то по такой логике получается просто невозможно осуществить, то, что я хочу. Мне нужно, при подаче жидкости записывать в журнал температуру и давление в системе, а по окончанию подачи записывать сколько жидкости прошло, температуру и давление в этот момент. Промежуточные значения не нужны. Файл должен состоять из 2х строк - 1ая начало работы, 2ая конец работы. |
|
03.07.2019, 13:11 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
Данные непрерывно или по триггеру пишутся в базу данных. А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных. В данном случае вы путаете журналирование и создание отчётов. Это разные вещи и даже называются они разными словами. Чтобы получить журнал событий, вам нужно формировать отчёт не абы когда, а именно в тот момент, когда вы хотите этот журнал посмотреть. Т.е. случились все аварии, катаклизмы и подачи всех возможных жидкостей, вы приехали на следующий день, создали отчёт и увидели в нём и давления и температуры в нужные вам моменты времени. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
04.07.2019, 08:23 | #10 | |
Member
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
Есть ли способ при создании нового отчета автоматически удалять старый отчет? |
|
04.07.2019, 11:29 | #11 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Запись архива на внешний носитель
Цитата:
Цитата:
Только по времени удалить наиболее старые отчёты. Минимально возможно - старше 1 часа. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||