- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Регистрация данных
Модератор: Специалисты SE
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 07 фев 2019, 15:24
- Имя: Олег
- Страна: Молдова
-
- освоился
- Сообщения: 262
- Зарегистрирован: 31 авг 2012, 06:30
- Имя: Фоменко Максим Анатольевич
- Страна: РФ
- город/регион: гор. Нижнйи Тагил, Свердловской обл.
- Благодарил (а): 3 раза
- Поблагодарили: 76 раз
Регистрация данных
Смотреть главу 22 в
http://www.electrocentr.com.ua/files/do ... 016_ru.pdf
в ветки есть ссылка на ресурс
viewtopic.php?t=9587
там есть примеры
http://www.electrocentr.com.ua/files/do ... 016_ru.pdf
в ветки есть ссылка на ресурс
viewtopic.php?t=9587
там есть примеры
-
- освоился
- Сообщения: 281
- Зарегистрирован: 14 дек 2015, 12:15
- Имя: Евгений
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 5 раз
- Поблагодарили: 74 раза
Регистрация данных
1) Запись в log файлы.
В Somachine есть конфигуратор для создания и настройки лог файлов + ФБ и структуры для работы с ними(выполнение записи, принудительная выгрузка в файл из буфера ОЗУ, проверка наличия записей в ОЗУ...).
Запись строковых переменных в формате WSTRING(можно на русском).
SoMachine - Data Logging Functions DataLogging Library Guide: https://www.schneider-electric.com/en/d ... 000000551/
2) Запись в csv файлы.
Доступно с SoMachine V4.2, выполняется с помощью ФБ из библиотеки FileFormatUtility
Запись строковых переменных в формате STRING(только на англ.).
SoMachine - FileFormatUtility, Library Guide
https://www.schneider-electric.com/en/d ... 000002530/
Прикрепил пример проекта с записью в лог файл, с симуляцией из Веб-визуализации и просмотром лог файла в текстовом редакторе.
В Somachine есть конфигуратор для создания и настройки лог файлов + ФБ и структуры для работы с ними(выполнение записи, принудительная выгрузка в файл из буфера ОЗУ, проверка наличия записей в ОЗУ...).
Запись строковых переменных в формате WSTRING(можно на русском).
SoMachine - Data Logging Functions DataLogging Library Guide: https://www.schneider-electric.com/en/d ... 000000551/
2) Запись в csv файлы.
Доступно с SoMachine V4.2, выполняется с помощью ФБ из библиотеки FileFormatUtility
Запись строковых переменных в формате STRING(только на англ.).
SoMachine - FileFormatUtility, Library Guide
https://www.schneider-electric.com/en/d ... 000002530/
Прикрепил пример проекта с записью в лог файл, с симуляцией из Веб-визуализации и просмотром лог файла в текстовом редакторе.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- освоился
- Сообщения: 214
- Зарегистрирован: 08 дек 2016, 11:55
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 24 раза
- Поблагодарили: 8 раз
Регистрация данных
Немного усложню задачу. Если например часть данных поступает по Modbus RTU, и их нужно увязать с таблицей системы координат (которая задается один раз для всего проекта и которая жестко привязана к каждому значению данных, получаемому по ModBus). Причем данные, получаемые по ModBus могут меняться для одной и той же точки системы координат при каждом новом поступлении. Т.е. ПЛК посылает на устройства в сети ModBUS запрос на считывание данных, после получения данных записывает их в массив, где помимо координат и значений присутствуют еще метки даты и времени записи. И каждый такой запрос-получение данных нужно отдельно записывать, чтобы потом иметь возможность считать эти данные для обработки. Возможно ли такое в принципе выполнить в SoMachine?
-
- освоился
- Сообщения: 281
- Зарегистрирован: 14 дек 2015, 12:15
- Имя: Евгений
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 5 раз
- Поблагодарили: 74 раза
Регистрация данных
Отдельно записывать, т.е. каждый раз создавать новый файл?beastmaster писал(а): ↑13 дек 2019, 16:46 Немного усложню задачу. Если например часть данных поступает по Modbus RTU, и их нужно увязать с таблицей системы координат (которая задается один раз для всего проекта и которая жестко привязана к каждому значению данных, получаемому по ModBus). Причем данные, получаемые по ModBus могут меняться для одной и той же точки системы координат при каждом новом поступлении. Т.е. ПЛК посылает на устройства в сети ModBUS запрос на считывание данных, после получения данных записывает их в массив, где помимо координат и значений присутствуют еще метки даты и времени записи. И каждый такой запрос-получение данных нужно отдельно записывать, чтобы потом иметь возможность считать эти данные для обработки. Возможно ли такое в принципе выполнить в SoMachine?
Я думаю тут проблема может быть только в скорости записи. Как часто нужно выполнять запись?
Формируете массив для записи и выполняете запись в один файл, либо каждый раз в новый файл.
Обновленное руководство EcoStruxure Machine Expert - FileFormatUtility, Library Guide
https://www.se.com/ww/en/download/docum ... 000002785/
Пример из руководства:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- освоился
- Сообщения: 214
- Зарегистрирован: 08 дек 2016, 11:55
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 24 раза
- Поблагодарили: 8 раз
Регистрация данных
Спасибо за пример. Может быть и новый файл. Дело в том, что по ModBus нельзя одновременно получить данные со всех устройств, ведь опрос идет в порядке некоторой очереди, верно (запрос на первое устройство - получение ответа, проверка ответа, запрос на второе устройство и т.д.)? Т.е. временные метки для каждого последующего устройства будут отличаться на время, необходимое на тот самый запрос-ответ. Значит, для каждого цикла считывания нужно будет записывать время, скажем с точностью до 1 минуты (время, более цикла опроса), и эти данные записывать. Тут неверное предпочтительнее все писать в один трехмерный массив, с осями "Дата", "Время" и "Координаты". И если при такой периодичности данные будут писаться в течение года для скажем 100 опрашиваемых устройств, по 32 точки данных с устройства, т.е. 3200 точек данных в минуту, получим 3200*60*24*8760=40 366 080 000 записей, если я все правильно понимаю. Вот я и думаю, справится ли с этим ПЛК, или для записи предусмотреть какой-нибудь промышленный ПК? Я с программированием только разбираюсь, просто рассматриваю теоретическую возможность решения данной задачи, поэтому прошу не сильно ругаться, если мои заключения некорректны.
-
- завсегдатай
- Сообщения: 577
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 120 раз
- Поблагодарили: 103 раза
Регистрация данных
Тяжело рассуждать про сферическую лошадь в вакууме.
Что вам дальше нужно делать с полученным массивом данных?
Просто держать на карте? Быстрее всего нет
Обозначьте полную задачу
Если объём данных слишком велик (даже для хранения, например, на SD-карте), рассмотреть можно:
- возможности SQL-клиента (новая опция появилась)
- SCADA с базой данных
Что вам дальше нужно делать с полученным массивом данных?
Просто держать на карте? Быстрее всего нет
Обозначьте полную задачу
Если объём данных слишком велик (даже для хранения, например, на SD-карте), рассмотреть можно:
- возможности SQL-клиента (новая опция появилась)
- SCADA с базой данных
СВ
-
- освоился
- Сообщения: 281
- Зарегистрирован: 14 дек 2015, 12:15
- Имя: Евгений
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 5 раз
- Поблагодарили: 74 раза
Регистрация данных
M241 вряд ли потянет, слишком много операций с строковыми переменными, а вот M262 может.
Но я думаю это не лучший вариант, все же это не специализированный регистратор данных.
Просмотр только через текстовый редактор в Веб-визуализации ПЛК или использовать функции чтения из файла и в массив перекладывать, ну или выгружать файлы с ПЛК и смотреть в каком-нибудь ПО на ПК.
Для Log файлов используется по 2 байта на символ, для CSV используется по 1 байту на символ, в обоих случаях длина строки ограничена 255 символов. В вашем случае если только писать для каждого устройства 32 значения в отдельный файл, ну или с 2 устройств в файл, в зависимости сколько знаков для одного считываемого параметра.
Например 32 параметра по 3 знака это 96 символов + дата + время + разделители = примерно 144 символа. В случае с Log это 288 байт в минуту, в случае с CSV 144 байта в минуту.
Например для CSV 144 x 60 x 24 x 365 = 76Мб в год для 1 устройства, для 100 это 7,6 Гб.
Лучше ПК + SCADA + разбить RS485 сеть(если это возможно) на 3-4 сегмента.
Но я думаю это не лучший вариант, все же это не специализированный регистратор данных.
Просмотр только через текстовый редактор в Веб-визуализации ПЛК или использовать функции чтения из файла и в массив перекладывать, ну или выгружать файлы с ПЛК и смотреть в каком-нибудь ПО на ПК.
Для Log файлов используется по 2 байта на символ, для CSV используется по 1 байту на символ, в обоих случаях длина строки ограничена 255 символов. В вашем случае если только писать для каждого устройства 32 значения в отдельный файл, ну или с 2 устройств в файл, в зависимости сколько знаков для одного считываемого параметра.
Например 32 параметра по 3 знака это 96 символов + дата + время + разделители = примерно 144 символа. В случае с Log это 288 байт в минуту, в случае с CSV 144 байта в минуту.
Например для CSV 144 x 60 x 24 x 365 = 76Мб в год для 1 устройства, для 100 это 7,6 Гб.
Лучше ПК + SCADA + разбить RS485 сеть(если это возможно) на 3-4 сегмента.