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

S7 1200 вопрос по "work memory"

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
yoos86
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 20 дек 2019, 10:54
Имя: Денис
Страна: UA
Благодарил (а): 5 раз

S7 1200 вопрос по "work memory"

Сообщение yoos86 »

Есть неоптимзированный блок с массивом на 2976 ячеек, при размере ячейки массива 16 байт, свободно в work memory было 190 байт. Я "оптимизировал" размер ячейки до 9 байт. Перекомпилировал, сделал мемори ресет, залил пересобранный проект. И work memory всеравно свободно 190 байт !!! :shock: Ничего не понимаю... В чем прикол то ??? Как освободить память ?
PS: обнаружил что системные Modbus_Comm_Load (3379) и Modbus_Master(7331) что то много жрут... Это нормальное явление такое потребление памяти этими ф-циями ? Или я что то сделал не так ?
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

S7 1200 вопрос по "work memory"

Сообщение M3f »

У вас массив или структура? Для одной ячейки массива 16 байт как-то многовато (что за переменные?).
Если имелся ввиду не оптимизированный блок с массивом и ячейкой на 16 бит (1 WORD) и вы его уменьшили до 9 бит, то он все равно будет занимать 16 бит. Уменьшите до 8 бит (1 BYTE), тогда и свободного места прибавится.
P.S. Проверил на TIA15.1 все работает.
P.P.S. У меня Modbus_Comm_Load (load ~3k bytes / work ~500 bytes) и Modbus_Master (load ~6k bytes / work ~3k bytes). Если не хватает места, можете использовать старые блоки MB_COMM_LOAD и MB_MASTER, они занимают меньше места.
Последний раз редактировалось M3f 03 ноя 2021, 11:32, всего редактировалось 1 раз.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
yoos86
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 20 дек 2019, 10:54
Имя: Денис
Страна: UA
Благодарил (а): 5 раз

S7 1200 вопрос по "work memory"

Сообщение yoos86 »

Массив структур, каждая теперь по 9 байт. И я же написал "байт" а не "бит"... Меня сейчас больше волнует то что какие то коммуникационные ф-ции жрут аж на 10 килобайт памяти.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

S7 1200 вопрос по "work memory"

Сообщение M3f »

Вы написали: "...неоптимзированный блок с массивом на 2976 ячеек, при размере ячейки массива 16 байт...", где тут про массив структур? Поэтому и возник вопрос про байты и биты.
P.P.S. У меня Modbus_Comm_Load (load ~3k bytes / work ~500 bytes) и Modbus_Master (load ~6k bytes / work ~3k bytes). Если не хватает места, можете использовать старые блоки MB_COMM_LOAD и MB_MASTER, они занимают меньше места.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
yoos86
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 20 дек 2019, 10:54
Имя: Денис
Страна: UA
Благодарил (а): 5 раз

S7 1200 вопрос по "work memory"

Сообщение yoos86 »

Какая разница структура или не структура, размер в байтах тот же... Что же эта хрень так память жрет. В любом случае Receive_P2P Send_P2P занимают еще меньше места.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

S7 1200 вопрос по "work memory"

Сообщение M3f »

Проверил с массивом структур на 1000 ячеек:
- Блок со структурами по 16 байт: load ~18k bytes / work ~16к bytes
- Блок со структурами по 9 байт: load ~11k bytes / work ~10к bytes
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
yoos86
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 20 дек 2019, 10:54
Имя: Денис
Страна: UA
Благодарил (а): 5 раз

S7 1200 вопрос по "work memory"

Сообщение yoos86 »

переделал под Receive_P2P/Send_P2P удалось выиграть более 9 килобайт. Но как то оно странно работает в ответ принимается пакет без CRC. Опрашиваю MAGFLOW 6000 того же сименса, и такой прикол с CRC только с этим устройством, другие выдают нормальный пакет.
Ответить

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