Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.07.2019, 14:16   #1
CruZaEd
Member
 
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Запись журнала на внешний носитель

Здравствуйте.
Помогите разобраться, что делаю не правильно.
Контроллер SMH4
Необходимо по сигналу начать запись показаний с датчиков в журнал. Сигнал подаю с RS-триггера по нажатию кнопки.
Запись должна идти пока не пропал сигнал.
Всё настроил, подключил флешку в разъем (В дальнейшем, у заказчика, это будет SD карта). В SMArt создал экран "Отчёт"
Но ничего на флешку не пишется.
Миниатюры
Нажмите на картинку для увеличения

Название:  211.png
Просмотров: 118
Размер:  79.4 Кбайт   Нажмите на картинку для увеличения

Название:  212.png
Просмотров: 77
Размер:  23.6 Кбайт  
CruZaEd вне форума   Ответить с цитированием
Старый 02.07.2019, 14:27   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 017
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата
Сообщение от CruZaEd Посмотреть сообщение
Здравствуйте.
Помогите разобраться, что делаю не правильно.
Контроллер SMH4
Необходимо по сигналу начать запись показаний с датчиков в журнал. Сигнал подаю с RS-триггера по нажатию кнопки.
Запись должна идти пока не пропал сигнал.
Всё настроил, подключил флешку в разъем (В дальнейшем, у заказчика, это будет SD карта). В SMArt создал экран "Отчёт"
Но ничего на флешку не пишется.
Вы неправильно понимаете последовательность действий.

Данные непрерывно или по триггеру пишутся в базу данных.

А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных.

В вашем случае это событие - переход схода "Select" из нуля в единицу. Фильтрация происходит по отрезку времени длиной 0 секунд и началом в 1970 году. Т.е. вполне логично, что отчёт у вас пуст.

Вот подробности: https://forum.segnetics.com/showthread.php?t=3767


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 02.07.2019, 20:39   #3
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 123
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

скорей всего косяк в том, что нельзя объединять по входу "триггер" и т.п. блоки с разным набором входных переменных.
следуйте правилу = разный набор входных переменных - разные сигналы объедения. покраймере пока погроммисты не поправят этот косяк. я в это два месяца бился пока нашел


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 02.07.2019, 21:03   #4
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

В данном примере указан один блок history, который в корне неверно настроен, так что до этого косяка еще далеко)
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 03.07.2019, 07:57   #5
CruZaEd
Member
 
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Собрал такую логику. Работает, так, как хотелось, но.
Возможно ли сделать, чтобы изменение писалось в 1 файл, а не создавало каждый раз новый?
Как установить реальное время и год? Пишет 2010 год, время на 13 часов больше
Миниатюры
Нажмите на картинку для увеличения

Название:  213.png
Просмотров: 92
Размер:  52.8 Кбайт  
CruZaEd вне форума   Ответить с цитированием
Старый 03.07.2019, 10:35   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 017
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата
Сообщение от CruZaEd Посмотреть сообщение
Собрал такую логику. Работает, так, как хотелось, но.
Возможно ли сделать, чтобы изменение писалось в 1 файл, а не создавало каждый раз новый?
Вы неправильно понимаете последовательность действий.

Данные непрерывно или по триггеру пишутся в базу данных.

А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных.

Каждый новый отчёт - это новый файл. Если вам не нужно несколько файлов, просто не создавайте несколько отчётов. Создавайте один и ровно тот, что вам нужен.



Цитата
Сообщение от CruZaEd Посмотреть сообщение
Как установить реальное время и год? Пишет 2010 год, время на 13 часов больше
Время учитывает часовой пояс.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 03.07.2019, 11:17   #7
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата
Сообщение от CruZaEd Посмотреть сообщение
Как установить реальное время и год? Пишет 2010 год, время на 13 часов больше
Я на ваших скринах не вижу ничего связанного со временем, или не туда смотрю

В библиотеке FBD блоки UnixTime выдадут вам текущее время при установлении 1 на входе current. Текущее время контроллера вы можете установить либо в системных настройках контроллера, либо с помощью блока SetRealTime(папка Время и Дата).
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 03.07.2019, 13:04   #8
CruZaEd
Member
 
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вы неправильно понимаете последовательность действий.

Данные непрерывно или по триггеру пишутся в базу данных.

А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных.

Каждый новый отчёт - это новый файл. Если вам не нужно несколько файлов, просто не создавайте несколько отчётов. Создавайте один и ровно тот, что вам нужен.





Время учитывает часовой пояс.

Со временем разобрался.
Если треггер - пишет в базу, а по select создаётся отчёт, то по такой логике получается просто невозможно осуществить, то, что я хочу.
Мне нужно, при подаче жидкости записывать в журнал температуру и давление в системе, а по окончанию подачи записывать сколько жидкости прошло, температуру и давление в этот момент. Промежуточные значения не нужны. Файл должен состоять из 2х строк - 1ая начало работы, 2ая конец работы.
CruZaEd вне форума   Ответить с цитированием
Старый 03.07.2019, 13:11   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 017
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата
Сообщение от CruZaEd Посмотреть сообщение
Со временем разобрался.
Если треггер - пишет в базу, а по select создаётся отчёт, то по такой логике получается просто невозможно осуществить, то, что я хочу.
Мне нужно, при подаче жидкости записывать в журнал температуру и давление в системе, а по окончанию подачи записывать сколько жидкости прошло, температуру и давление в этот момент. Промежуточные значения не нужны. Файл должен состоять из 2х строк - 1ая начало работы, 2ая конец работы.
Вы неправильно понимаете последовательность действий.

Данные непрерывно или по триггеру пишутся в базу данных.

А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных.


В данном случае вы путаете журналирование и создание отчётов. Это разные вещи и даже называются они разными словами.

Чтобы получить журнал событий, вам нужно формировать отчёт не абы когда, а именно в тот момент, когда вы хотите этот журнал посмотреть. Т.е. случились все аварии, катаклизмы и подачи всех возможных жидкостей, вы приехали на следующий день, создали отчёт и увидели в нём и давления и температуры в нужные вам моменты времени.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 04.07.2019, 08:23   #10
CruZaEd
Member
 
Регистрация: Nov 2018
Сообщения: 43
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вы неправильно понимаете последовательность действий.

Данные непрерывно или по триггеру пишутся в базу данных.

А в отчёт по какому-либо событию попадают данные, отфильтрованные из базы данных.


В данном случае вы путаете журналирование и создание отчётов. Это разные вещи и даже называются они разными словами.

Чтобы получить журнал событий, вам нужно формировать отчёт не абы когда, а именно в тот момент, когда вы хотите этот журнал посмотреть. Т.е. случились все аварии, катаклизмы и подачи всех возможных жидкостей, вы приехали на следующий день, создали отчёт и увидели в нём и давления и температуры в нужные вам моменты времени.
Хорошо, под эту логику у меня что-то вразумительное получилось сделать.
Есть ли способ при создании нового отчета автоматически удалять старый отчет?
CruZaEd вне форума   Ответить с цитированием
Старый 04.07.2019, 11:29   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 017
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Запись архива на внешний носитель

Цитата
Сообщение от CruZaEd Посмотреть сообщение
Если треггер - пишет в базу, а по select создаётся отчёт, то по такой логике получается просто невозможно осуществить, то, что я хочу.
Цитата
Сообщение от CruZaEd Посмотреть сообщение
Хорошо, под эту логику у меня что-то вразумительное получилось сделать.
В этом году фраза "это невозможно сделать" как-то особо популярна.



Цитата
Сообщение от CruZaEd Посмотреть сообщение
Есть ли способ при создании нового отчета автоматически удалять старый отчет?
Только по времени удалить наиболее старые отчёты. Минимально возможно - старше 1 часа.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Архивирование на внешний носитель Kust Вопросы о программировании 27 07.04.2020 14:09
Запись во внешний EEPROM djaval SMArt 11 09.09.2017 16:54
Не изменяется запись на экране SMArt (ложная проблема) Миханько Антон SMArt 7 10.11.2015 17:33
Журнал. Запись события очистки журнала Arsie SMArt 0 01.04.2015 12:40


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


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