Страница 2 из 8 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 71

Тема: СП307-Б. Проблема с выводом журнала событий

  1. #11
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,823

    По умолчанию

    Цитата Сообщение от g0r0d0k Посмотреть сообщение
    petera , Вы очень понятно все объяснили, очень благодарен Вам! Осталось еще несколько мелких вопросов:
    1. Так как изначально мы аварии и события разнесли по разным таблицам(Историческая таблица и таблица отображения данных соответственно), то динамика вывода аварий и сообщений немного отличается: В Исторической таблице при появлении нового сообщения оно пишется в конец таблицы, а в таблице отображения данных в начало. Можно ли это как нибудь изменить?
    2. Элемент Архивирование на USB. Правильно ли я понимаю, что этот элемент в нашем случае работает следующим образом: При появлении фронта сигнала записи(PSB1000) происходит перенос всех регистров, указанных во вкладке "Данные", в область памяти, начинающуюся с адреса регистра, указанного во вкладке "Хранилище" (PFW1000)? Просто мне не понятен вот какой момент: Элемент Архивирование на USB пишет в область с адреса PFW1000, но т.к. включен режим цикл. таблицы, то он получается пишет в адрес PFW1004, хотя он не знает, что область PFW1000 - это область данных таблицы, у которой как оказывается включен режим цикл. записи и из-за этого фактически нужно писать в регистр PFW1004. Как он это определяет?
    3. Тот же элемент Архивирование на USB. Вопрос вытекает из пункта 2. При записи второй строчки данных в таблицу, элемент Архивирование на USB пишет все в тот же регистр, который указан во вкладке "Хранилище", т.е. PFW1000 ? Как он понимает, что вторую строчку нужно писать уже в регистр PFW1023?
    4. Элемент Архивирование на USB. Вкладка "Архив". На что в нашем случае будет влиять параметр "Количество записей в файле"=15? элемент Архивирование на USB пишет же построчно, не важно сколько будет записей. Или я ошибаюсь?
    5. В элементе Таблица отображения данных если я захочу, чтобы память событий составляла, скажем 50 значений(строк), хватит ли мне памяти при текущих условиях? У меня же еще будет Историческая таблица с авторазмещением в памяти PSW, не пересекутся ли области памяти друг с другом?
    Вопросов много и каждый требует обстоятельного ответа. По этому ответы по одному.
    1. Так как изначально мы аварии и события разнесли по разным таблицам(Историческая таблица и таблица отображения данных соответственно), то динамика вывода аварий и сообщений немного отличается: В Исторической таблице при появлении нового сообщения оно пишется в конец таблицы, а в таблице отображения данных в начало. Можно ли это как нибудь изменить?
    А давайте ка перевернем таблицу по вертикали.
    После этого первой строкой будет самая нижняя, а последней - самая верхняя.
    После "переворота" таблица визуально будет заполняться с нижней строки
    Но для начала нужно выключить в таблице строку с заголовками иначе они после "переворота" будут внизу
    Захват-1.png
    Я думаю, что такие заголовки Вам не нужны, по этому нарисуем их сами, отдельно от таблицы
    Скрытый текст:

    Чтобы "перевернуть" таблицу по вертикали нужно задать отрицательные значения для высоты строки (и заголовка, если устраивает, что он будет внизу)
    Скрытый текст:

    Однако действия кнопок перехода по записям для перевернутой таблицы визуально меняются местами. По этому поменяем на них значки со стрелками на противоположные
    Скрытый текст:

    А теперь если убрать столбец с "№", то получится таблица практически не отличающаяся от исторической. Особенно когда в нашей таблице будут заполнены все строки.
    Скрытый текст:
    Последний раз редактировалось petera; 20.10.2016 в 11:24.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #12

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Чтобы "перевернуть" таблицу по вертикали нужно задать отрицательные значения для высоты строки (и заголовка, если устраивает, что он будет внизу)
    Отрицательные значения для высоты строки В жизни бы не догадался... Вы случайно не участвовали в разработке ПО для этих панелей?
    P.S. С нетерпением жду дальнейших ответов...

  3. #13
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,823

    По умолчанию

    Цитата Сообщение от g0r0d0k Посмотреть сообщение
    Отрицательные значения для высоты строки В жизни бы не догадался... Вы случайно не участвовали в разработке ПО для этих панелей?
    P.S. С нетерпением жду дальнейших ответов...
    В разработке не участвую, только углубленно изучаю возможности этих панелей.
    Просто люблю использовать нетривиальные (необычные) способы при решении казалось бы неразрешимых задач.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #14
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,823

    По умолчанию

    Отрицательные значения для ширины, высоты, а так же для координат X, Y элементов вполне нормальное явление. Ведь они задаются десятичными числами, а эти числа как известно бывают и положительными и отрицательными.
    Так почему не использовать эту особенность.
    Кроме того ширина, высота, а так же координаты X, Y объектов не ограничены физическими размерами экрана.
    Например, если X<0, то объект начинается за пределами экрана слева, а если X>800, то объект начинается за пределами экрана справа.
    Но он есть! И этим нужно пользоваться.
    Например как можно сделать бегущий текст снизу в верх? Бегущая строка есть штатная, а по вертикали? Слабо?

    Т.е. хотя экран панели 800х480, мы в принципе можем сделать его "безразмерным" и сдвигать изображение в процессе работы влево, вправо, вверх или низ.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #15

    По умолчанию

    Да, интересная реализация бегущей строки

  6. #16
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,823

    По умолчанию

    Цитата Сообщение от g0r0d0k Посмотреть сообщение
    5. В элементе Таблица отображения данных если я захочу, чтобы память событий составляла, скажем 50 значений(строк), хватит ли мне памяти при текущих условиях? У меня же еще будет Историческая таблица с авторазмещением в памяти PSW, не пересекутся ли области памяти друг с другом?
    Самый простой вопрос, про остальные я знаю, но пока не могу сообразить, как бы доходчиво все это объяснить.
    Ну для Исторической таблицы нужно использовать не PSW, а PFW иначе зачем такая история, которая при пропадании питания исчезнет.

    1. Мы ранее посчитали количество регистров в одной выборке (пост #9)
    И так строку сформировали. Её длина 6+11+1+1=19 регистров
    2. Вы хотите в таблице иметь 50 строк, значит для них потребуется 19*50=950 регистров, сюда прибавим 4 регистра(адреса кольцевого буфера), итого 950+4=954 регистра.
    Начало размещения нашей таблицы мы задали - PFW1000, тогда последний регистр, используемый в таблице - PFW1953.
    А граница Авто размещения для графиков и таблиц в области PFW начинается с регистра PFW4096. Т.е. никакого перекрытия с нашей таблицей не будет.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #17
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,823

    По умолчанию

    4. Элемент Архивирование на USB. Вкладка "Архив". На что в нашем случае будет влиять параметр "Количество записей в файле"=15? элемент Архивирование на USB пишет же построчно, не важно сколько будет записей. Или я ошибаюсь
    ?
    Конечно построчно, но не поверху же предыдущей строки, а последовательно друг за другом, пока не исчерпается очередь из 15 строк("Количество записей в файле"=15). Однако физически будет сформировано на одну строку больше, т.е. 16.
    По этому, если в таблице Вы хотите увидеть 50 строк, то в настройках Архивирования нужно указать "Количество записей"=49.

    2. Элемент Архивирование на USB. Правильно ли я понимаю, что этот элемент в нашем случае работает следующим образом: При появлении фронта сигнала записи(PSB1000) происходит перенос всех регистров, указанных во вкладке "Данные", в область памяти, начинающуюся с адреса регистра, указанного во вкладке "Хранилище" (PFW1000)? Просто мне не понятен вот какой момент: Элемент Архивирование на USB пишет в область с адреса PFW1000, но т.к. включен режим цикл. таблицы, то он получается пишет в адрес PFW1004, хотя он не знает, что область PFW1000 - это область данных таблицы, у которой как оказывается включен режим цикл. записи и из-за этого фактически нужно писать в регистр PFW1004. Как он это определяет?
    3. Тот же элемент Архивирование на USB. Вопрос вытекает из пункта 2. При записи второй строчки данных в таблицу, элемент Архивирование на USB пишет все в тот же регистр, который указан во вкладке "Хранилище", т.е. PFW1000 ? Как он понимает, что вторую строчку нужно писать уже в регистр PFW1023?
    Короче, как работает Архивирование и что куда пишется Вы можете посмотреть так.

    1. Уменьшим количество записей для выборки до 5, а в таблице соответственно кол. строк уменьшим до 6.
    2. Отключим в таблице использование "Циклического буфера".
    3. Т.к. Цикл. буфер не используем, то начальный регистр для таблицы изменим на 1004.

    Я добавил два дисплея для отображения адресов Головы(PFW1000) и Хвоста(PFW1002) очереди данных (Циклический буфер)
    Теперь хорошо видно как и по какому адресу происходит запись каждого события.
    Последний раз редактировалось petera; 21.10.2016 в 15:53.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #18
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,823

    По умолчанию

    Из предыдущего видео видно, что ничто не стирается и не переписывается.
    Самый главный элемент здесь - Архивирование, он активный и он формирует записи и модифицирует адреса головы и хвоста циклического буфера.
    Таблица же - пассивный элемент. Это окошко, через которое можно посмотреть содержимое регистров, не более.
    И так у Архивирования есть очередь записей, в нашем случае очередь из 16 записей. И есть адреса первого(PSW1000) и последнего(PSW1002) элемента в этой очереди.
    Захват-1.png
    В исходном состоянии очередь пуста, адрес головы и хвоста =1004.
    По команде запись, адрес головы увеличивается на одну запись(на 19 регистров), происходит запись по адресу головы, и так до тех пор, пока очередь не переполнится, т.е не произойдет запись последнего элемента в очереди.
    При переполнении очереди следующая запись происходит не по адресу 1099, а по адресу первого элемента очереди - 1004, т.к. происходит сброс адреса головы исходное состояние - 1004.
    Таким образом 7-ая запись записывается на место самой старой - 1-ой.
    И очередь записей получается зацикленной. Более новые события записываются на место самых старых.
    И в таблице с откл. Цикл. буфером это хорошо видно, т.к. адреса строк будут фиксированными.
    А когда мы в таблице вкл. использовать цикл.буфер, то адрес первой строки в таблице не будет постоянным, а будет соответствовать адресу Головы очереди, т.е будет динамически меняться.

    ЗЫ.
    Элементу Архивирование по барабану есть у нас таблица или нет ее вовсе.
    Это мы в своей таблице должны "подстраиваться" под архивирование
    Элементу Архивирование нужны адреса циклического буфера - четыре регистра, естественно разместить их в начале области выделенной под архив(задается в настройках архивирования). Соответственно Архивирование знает, что очередь записей начинается с адреса, заданного ему в настройках+4.

    Элемент архивирования встроен в графики и даже в историческую таблицу, просто Вы их не видите как отдельные элементы.
    Последний раз редактировалось petera; 21.10.2016 в 13:32.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #19

    По умолчанию

    petera Спасибо за объяснение! Все доходчиво рассказали. Благодарю вас Если походу будут появляться вопросы - буду задавать.

  10. #20

    По умолчанию

    petera, вот и вопрос появился. Сейчас вставил вашу таблицу в свой проект на отдельный экран. Все работает, но почему-то при появлении первого события(первый раз нажимаем на любой тумблер) в таблицу запись не происходит, записывает данные только после первого события. Что может быть не так? В таком же варианте в отдельном проекте работает(повторюсь, была просто скопирована страница в мой проект).
    Попробуйте в режиме эмуляции запустить, на остальные элементы и страницы проекта не обращайте внимания. При старте проекта появляется страница - нажимаем кнопку главное меню, вводим пароль "11", появляется окно, в котором нажимаем на кнопку "Журнал событий".
    Прикрепляю 2 варианта:

    1) Проект №1 с одной страничкой, где все работает
    Проект1.txp

    2) Проект №2 комплексный со страничкой, которая вставлена из проекта №1.
    Проект2.txp

    Регистры панели в проекте больше нигде не использую, кроме таблицы аварий, но там область авторазмещения.

Страница 2 из 8 ПерваяПервая 1234 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 9
    Последнее сообщение: 11.10.2016, 14:57
  2. Удаление сообщений из журнала
    от Dima1991 в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 27.05.2016, 14:15
  3. Передача журнала событий (файла) из ПЛК в OPC через модем
    от Alex12345 в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 14.05.2015, 12:51
  4. Проблема с выводом текста
    от CLPE в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 17.01.2011, 12:51
  5. Проблема с журналами хронологии событий в СП270
    от KirVR в разделе Панели оператора (HMI)
    Ответов: 8
    Последнее сообщение: 16.07.2009, 19:11

Метки этой темы

Ваши права

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