1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Запись архивных тегов с частотой менее 500 мс

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)

Модератор: Глоб.модераторы

Ответить

Автор темы
romanenkoroman
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 17 июн 2023, 04:23
Имя: Роман Борисович

Запись архивных тегов с частотой менее 500 мс

Сообщение romanenkoroman »

Доброго времени суток коллеги ,не моя идея и сам я считаю её бредовой ,но есть задача записи архивных тегов с частотой по времени ниже 500мс ,до 100мс,-кто нибудь сталкивался с этим ?это относится к cpu S7-300 vs wincc 7.5.
:thankyou:

LexSL
освоился
освоился
Сообщения: 208
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 67 раз
Поблагодарили: 53 раза

Запись архивных тегов с частотой менее 500 мс

Сообщение LexSL »

Так как WinCC (не TIA Portal) не позволяет архивировать чаще чем 500 мс, то (вариант использования AR_SEND для S7-400 контроллеров не рассматриваем) мне видится такой механизм:
1. Создаем буфер в ПЛК, например на 100 значений.
2.1. В цикле контроллера заполняем буфер.
2.2. как только буфер заполнился, шлём его по UDP куда нибудь в сеть (главное чтобы посылка влезла полностью в UDP датаграмму).
2.3 goto 2.1

На компе слушатель (listener) UDP принимает пакет, парсит и пишет в базу.
В какую базу писать - варианты разные:
1. какая нибудь timescale база (напр. InfluxDB)
2. писать в базу WinCC (см. ODK функцию TLGInsertArchivData).
И я совсем не знаю, как поведет себя WinCC, если писать много и часто.
А сможет ли WinCC переварить большой объем информации при запросе (например, для отображения тренда)?
Вопросов много...

Можно еще напрямую писать в Influx (POST запросы) прямо с контроллера.
Крч, все описанное требует программирования и опытов.
Может есть еще решения...

Parliament74
авторитет
авторитет
Сообщения: 865
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 223 раза

Запись архивных тегов с частотой менее 500 мс

Сообщение Parliament74 »

IbaPDA со временем главного цикла может архив писать для контроллеров S7.

Есть ещë PLC Analyzer от Autem, он попроще и подешевле, но по его доступности могут быть вопросы, на iba зимой можно было купить дицензию, как сейчас тоже не знаю.

Автор темы
romanenkoroman
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 17 июн 2023, 04:23
Имя: Роман Борисович

Запись архивных тегов с частотой менее 500 мс

Сообщение romanenkoroman »

LexSL писал(а): 19 июл 2024, 14:02 (вариант использования AR_SEND SFB 37 для S7-400 контроллеров не рассматриваем)
Доброго времени суток коллеги ,а если для 400 го с AR_SEND SFB 37 .как это бы выглядело? :thankyou:

makesstr
освоился
освоился
Сообщения: 222
Зарегистрирован: 19 сен 2019, 10:09
Имя: Макс
Страна: Россия
город/регион: Славянск-на-Кубани
Благодарил (а): 5 раз
Поблагодарили: 38 раз

Запись архивных тегов с частотой менее 500 мс

Сообщение makesstr »

Если у вас проблема с тем что AlarmLogging не успевает обнаружить и записать кратковременные импульсы и вам именно нужно записать именно приход сообщений, но не особо важно время или факт ухода, то могу я решал так:
Написал FB со входами MinDuration:TIME и Alarm_in:BOOL, выходами Alarm_out:BOOL.
Заводим в него бит сработки и указываем время, например 3 сек.
Внутри блока логика ИЛИ(Alarm; TIMER.Q). Таймер PULSE с длиной MinDuration, запускается от Alarm_in.
Таким образом получаем бит с длиной не менее 3 секунд, который AlarmLogging уж точно поймает.
WinCC 7.4 SP1 Upd15, Step5.6
Ответить

Вернуться в «Simatic Step7»