|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме | Опции просмотра |
19.10.2020, 17:28 | #61 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Добавлено через 1 минуту Добавлено через 2 минуты В отрыве не получится. Своего средства просмотра у нас нет. Добавлено через 3 минуты Добавлено через 5 минут Добавлено через 9 минут Причём заказчик точно также может не уметь работать с экселем и думает, что разделение на файлы удобнее фильтрации массива данных. Нужно показывать, а не идти на поводу. Редкий зак отказывается от упрощения своей жизни. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
19.10.2020, 19:08 | #62 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
1. Откуда берутся эти события после загрузки проекта в контроллер с установленной галочкой "Очистка исторических данных"? 2. Откуда в отчете взялись 374, если верно помню, строки, относящиеся всего к двум реальным записям в архиве? Вот между загрузкой программы в контроллер и созданием отчета уж точно не было такого количества включений/отключений. Это даже чисто физически невозможно было сделать. За долю секунды не перезагрузишь контроллер и не перезапустишь программу в нем. Я говорил о возможностях блоков History и "Исторический график", которые могут, сильно упростить работу программиста Лоджика. Вот скрин моих настроек блока History: Вложение 8428 Подскажите, где я ошибся, где у меня минуты вместо месяца? Заданный формат точно соответствует примеру над таблицей, только без секунд Ему проще получить отчет с контроллера в нужном виде, чем обучать девочек-менеджеров по работе с клиентами работе с массивами данных в Экселе или нанимать прогаммиста, который сделает ему базу данных с интерфейсом, заточенным под интеллект тех девочек. И уж тем более я не буду учить его девочек работе в Экселе. И я, в принципе, могу дать ему отчет нужного вида. Вопрос только в том, чего это будет стоить мне, как программисту контроллера. И все мои пожелания, в очередной раз напомню, относятся к облегчению труда и экономии времени нашего - программистов ваших контроллеров, читай ваших пользователей. Ибо зак в данном разрезе ни разу не ваш пользователь по сути, он пользователь наших программ. |
19.10.2020, 19:09 | #63 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Добавлено через 1 минуту __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
19.10.2020, 20:20 | #64 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Про Эксель вижу. По Аксесс и 1С вижу. Картинки из Экселя вижу. Аргументов против моих предложенийй по улучшению возможностей "Исторической системы" Лоджика - в упор не вижу. Ткните носом в цитатку с таким аргументом в этом посте? |
19.10.2020, 21:52 | #65 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Очередной глюк. Только сейчас заметил, но подозреваю, что всегда так и было.
Исторический график на поляне. Пишем данные каждые 5 секунд. Вход Begin, sec - зафиксированное значение, не меняется. Вход End, sec - подается значение с блока ToUnixTime с выставленной у него 1 на входе Current. Begin,ms и End,ms не подключены, стоят нули. На экране контроллера должны видеть, что время начала на шкале стоит на месте, а время конца постоянно увеличивается, соответственно график "вползает" в экран справа и сжимается. Все так и есть, кроме одного - отображения времени на шкале. Начальное время постоянно меняет свое значение на +1 секунду (или -1, не знаю, что было самым первым) и обратно: 20:10:26 - 20:10:27 - 20:10:26 - 20:10:27 - .... [UPD. Согласно отчету первый сэмпл был в 20:10:27.227 - то есть там вообще не должно было быть 26 секунды никоим образом, ни при каких округлениях не получается.] Конечное время увеличивается то на секунду, то на две. По идее должно бы увеличиваться либо согласно частоте обновления изображения графика на экране (тут вроде секунда), либо согласно заданной частоте сэмплирования (в данном случае на 5 секунд). Кстати, я бы частоту обновления отображения графика на экране привязал именно к сэмплированию, как это обычно и бывает. Все отображения значения времени на шкале (кроме начального) дергаются на пиксель влево-вправо. Это конечно, мелочь, но все равно выглядит "грязненько". |
19.10.2020, 23:25 | #66 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Наше ПО генерит отчёт для его последующего использования в Excel, Ассеss, 1C. В отрыве не получится. Своего средства просмотра у нас нет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
20.10.2020, 00:16 | #67 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Аааа.. то есть это - аргумент против того, например, чтобы сделать:
- у блока History отдельный вход для сохранения файла отчета отдельно от создания выборки - переменной типа %[Имя входа] в поле имени отчета в настройках блока для создания файлов с нужными именами. - очистка нужного архива, а не всех скопом - управление активностью и нажатием кнопок "Панели управления" Исторического графика из ФБД. Ну и так далее, что там еще было... Ни за что бы не догадался, вот честное слово! Все это даже не является, собственно-то говоря, работой непосредственно с данными, чему и посвящен тот ваш пост из которого вы снова цитируете свой "аргумент". Причем по работе с данными-то есть уже, и работает, нужный функционал, не хватает мелочи. Это я для примера про %[Имя входа], когда легко создается отчет в нужном виде и форме, только найти потом файл с этим отчетом без соответствующего имени - тот еще квест. А еще ни за что бы не догадался, что это также является аргументом к фразе: Последний раз редактировалось ViS, 20.10.2020 в 00:34 |
20.10.2020, 23:16 | #68 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Не могу не отметить, что во многих скадах база трендов скидывается также скопом, без выделения отдельных перьев. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
20.10.2020, 23:28 | #69 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 20.10.2020 в 23:44 |
21.10.2020, 02:53 | #70 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Картинка из справки: Каждый архив - вещь в себе, и не пересекается с другими. Удаление, например, "Архива 2" без изменения архивов 1 и 3 потребует "большой ресурсоёмкости фильтрации и переиндексации архива за несколько лет"? Ну и опять же - чем плоха бОльшая гибкость уже существующего инструмента? |
21.10.2020, 03:11 | #71 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
|
21.10.2020, 10:18 | #72 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Добавлено через 36 секунд Добавлено через 4 минуты Например, чем ваше "преобразования числа в строку" отличается от моего "номера в названии". Ясен красен, что имя файла всегда строка, иначе файловая система и не позволит. По остальному примерно то же самое. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.10.2020, 15:04 | #73 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Может вы имели ввиду "переиндексацию БД", а не архива? Простите, я привык понимать "красный", если написано "красный", и не догадываюсь, то там под красным подразумевается зеленый. Что ж, попробую иначе. Картинка для наглядности: Судя по всему, вы подразумеваете, что в имя файла будет подставляться число со входа - красная стрелка на картинке. То есть получим имя YYYYMMDD_hhmmsszzz_Оператор 0.csv Я же говорю о том, чтобы подставлялась строка из поля "Формат", соответствующая числу на входе - синяя стрелка на картинке. То есть получим имя YYYYMMDD_hhmmsszzz_Оператор Пупкин.csv Надеюсь, теперь стало понятнее. |
21.10.2020, 15:11 | #74 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Что делать? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.10.2020, 15:59 | #75 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Ну это в данном моем конкретном проекте, а так-то там может быть что угодно. Кстати, и вывод числа со входа (Если поле "Формат" оставляем пустым то выведется ведь как раз оно) тоже может быть весьма полезным. Если брать, опять же, на примере этого проекта - имя файла отчета по циклу обработки конкретного изделия будет содержать номер изделия. Или несколько одинаковых станков. В их контроллерах - одинаковая программа. При формировании отчета в имя файла добавляется номер станка, который задается в меню, а не на этапе написания программы (программист не знает сколько будет станков и какие у них будут номера). Соответственно, среди многих файлов с отчетами, нужный файл легко будет найти просто по имени, без поиска по содержимому. Без тени сомнения уверен, что вы и сами с легкостью можете накидать массу сценариев, в которых такая функция будет полезна. Если рассматривать применение ваших контроллеров только в контексте ОВиК, то да - там, конечно, такое вряд ли будет актуально при архивировании работы приточки. Но вы же сами позиционируете свои контроллеры, и так оно и есть по факту, как общепромышленного назначения, вот и давайте рассматривать контекст чуть шире ОВиК-а. Последний раз редактировалось ViS, 21.10.2020 в 16:18 |
21.10.2020, 16:01 | #76 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.10.2020, 16:18 | #77 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
|
21.10.2020, 19:11 | #78 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Ну да, у вас там все архивы пишутся одним скопом в одну таблицу. В settings-то у вас сделаны разные таблицы для разных "разделов", а тут одна на всё. Тут, конечно, при удалении чего-то без переиндексации всего не обойтись. Не знаю, лично я бы, со своим "на вы", создавал отдельные таблицы для архивов. Пишем три архива - значит три таблицы. Тогда б и с очисткой одного архива проблемы не было, не пришлось бы делать переиндексацию всего и вся. Возможно я не прав, все ж я с БД на "вы" Последний раз редактировалось ViS, 21.10.2020 в 19:36 |
21.10.2020, 20:47 | #79 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Проверил.. Без всяких "возможно" - хороших новостей нет Создана 1 запись по триггеру. Результат отчета с применением фильтра приложен. Между заливкой программы в контроллер и созданием никаких "события включения/отключения контроллера/программы" - не было. Проблема, похоже и вообще в записи по триггеру. Из таблицы БД "value": id_variable=11 (время старта) - c какого-то перепугу прописалась трижды в записях 118-119-120 с разницей значения в несколько секунд. id_variable=7 (время финиша) - прописана, как и должно быть один раз, в записи 931. Почему эти косяки вижу я со своими "с БД на вы", но не видит Сегнетикс с вашим "с БД на ты"? Последний раз редактировалось ViS, 21.10.2020 в 21:12 |
21.10.2020, 22:57 | #80 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Если вообще ничего не писать во второй архив, и сделать только одну запись в этот, получаем такой отчет.
Если таки пишем во второй архив по периоду и делаем одну запись в этот, то получаем отчет с сотнями левых строк. Чем больше в БД записей, относящихся ко второму архиву, тем больше "левака" получаем в отчете. Дилетантский вопрос - это последствия записи всего кучей в одну таблицу, где-то попалась одна ошибочная запись или кривой индекс создался и понеслась по кочкам? А с понедельника мне пойдет неустойка за просрочку.... А подразумевалось, что до "часа икс" заказчик успеет еще и протестировать программу и будет время на доработку возможных замечаний. Поверил сдуру, не проверив предварительно от и до, в работоспособность заявленного функционала и нарвался... Лучше бы сказал, что нельзя таких отчетов по выборке сформировать. |
22.10.2020, 11:33 | #81 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Блинас... Человеки! Ну почините уже отчет, а? Уже без двух дней месяц как прошу....
P.S. Что удивляет - уже сколько времени история в лоджике есть, неужели никому ни разу за все это время не понадобилось делать отчет с фильтром и я оказался первый, кто на этот косяк нарвался? |
22.10.2020, 11:53 | #82 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Также нужен ваш проект, очищенный от лишних блоков. Оставьте только два блока: который генерирует отчёты и который мешает генерировать отчёты. И на котором это всё повторяется. Вот проект, на котором мы повторили вашу ошибку и исправили её. Она теперь не повторяется на 137-й версии. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 22.10.2020 в 12:13 |
22.10.2020, 11:58 | #83 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
|
22.10.2020, 12:15 | #84 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2020, 13:27 | #85 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Ага. Форматнул. Проверил. Отчет норм, без лишнего. УРА!
Вот только с count-ом я протупил, конечно, с этой обратной связью.. Он ведь в этот же отчет-то не попадает... [UPD] Хах! А вот если бы были раздельные входы для выборки и отчета, я б отчет создал в следующем тике и в него попал бы актуальный count. Вот еще один плюс в защиту той хотелки раздельных входов, кроме НЕсохранения отчета без необходимости. По крайней мере для меня. Добавлено через 48 секунд |
22.10.2020, 13:33 | #86 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2020, 14:14 | #87 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2020, 22:13 | #88 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
Я все про избавление от лишних блоков, а вы мне все плодить десятки их впариваете. На данный момент уже получается 15 надо поставить, чтобы получить желаемое, и то не всё.. Это только на один архив. А буде мои хотелки в наличии бы - со всем легко бы справился один блок. |
26.10.2020, 12:36 | #89 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
И снова про "Исторический график" и его "масштаб".
Исходное положение: Масштаб по умолчанию - 20 часов. Один раз записаны данные за 15 минут с дискретизацией 1 минута. Действо: Удерживаем тап на экране до отработки "Масштаб по умолчанию". Результат: Диапазон времени отображаемых на экране данных выставлен по принципу "берем конец и от него -20 часов ставим начало". И пофиг, что тем нет и быть не может никаких данных, так как самая первая запись в архиве была сделана за -15 минут от последней существующей. Теперь, чтобы нам увидеть свой график снова в более-менее удобоваримом виде, надо хренову кучу раз увеличить и не менее хренову кучу раз протягать экран влево, пока доберемся до данных. Задавать начало отображаемого диапазона таким макаром - полная неадкеватность. Ну хотя бы от времени первой записи, но никак не туда, где данных нет и быть не может никогда. В идеале диапазон должен быть рассчитан и задан так, чтобы те данные, которые отображались на экране перед действом, остались в середине экрана. Это если в архиве время между первой и последней записью больше этого "умолчального" диапазона. А если все данные занимают отрезок времени меньше заданного по умолчанию, то ограничить диапазон этой длительностью. Не сложная ж тут арфиметика. |
26.10.2020, 13:28 | #90 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Косяки, непонятки и хотелки по историческим данным
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |