Показано с 1 по 8 из 8

Тема: Не достаточно общей памяти данных

  1. #1
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию Не достаточно общей памяти данных

    При очередной правки проекта компилятор выдал сообщение "Не достаточно общей памяти данных" (см. снимок).
    Память.jpg

    Знаю, что это можно вылечить дав команду "Очистить все", но тогда горячее обновление кода в ПЛК будет невозможным.

    А ПЛК на работающем объекте, и поэтому хотелось бы не перезагружать его со сбросом всей программы и загрузкой новой.

    Можно ли как-то по-другому решить данный вопрос, т.е. так, чтобы горячее обновление кода было доступно?

    Спасибо!

  2. #2

    По умолчанию

    Возможно, ИМХО, как раз запас памяти для онлайн-замены и переполнился. Там же ПЛК несколько раз позволяет делать онлайн-замену, а потом говорит что всё - только полную загрузку.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  3. #3
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Да, речь о всяких накопленных данных, коэффициентах, настройках.

    Ну, не буду же я переделывать и дописывать кучу всего, чтобы загрузить изменения на 5 копеек.

    Ладно, придется записать на бумажке настройки и ввести их заново.

  4. #4

    По умолчанию

    У меня как-то идея была - сделать программку на C/C++ размером строк на 10-20, чтобы при помощи библиотеки libmodbus считать на компьютер всю последовательность регистров ModBus из ПЛК (настройки, вводимые с панели оператора). А потом - обратно загружать в ПЛК при помощи другой программы.
    И, полученный образ данных, мог бы ещё пригодиться для создания письменного отчёта о настройках.

    Но, с ПЛК Овен работал только один раз, когда посетила такая мысль - аппаратура была уже недоступна для проверки.

    А формирование отчёта о настройках из дампа памяти данных уже делал для ПЛК другого производителя, только образ получал при помощи штатной утилиты.

    Если есть возможность - оборудование и время - попробуйте проверить такое решение. Думаю, что оно имеет право на жизнь.

  5. #5

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    У меня как-то идея была - сделать программку на C/C++ размером строк на 10-20, чтобы при помощи библиотеки libmodbus считать на компьютер всю последовательность регистров ModBus из ПЛК (настройки, вводимые с панели оператора). А потом - обратно загружать в ПЛК при помощи другой программы.
    И, полученный образ данных, мог бы ещё пригодиться для создания письменного отчёта о настройках.

    Но, с ПЛК Овен работал только один раз, когда посетила такая мысль - аппаратура была уже недоступна для проверки.

    А формирование отчёта о настройках из дампа памяти данных уже делал для ПЛК другого производителя, только образ получал при помощи штатной утилиты.

    Если есть возможность - оборудование и время - попробуйте проверить такое решение. Думаю, что оно имеет право на жизнь.
    У панелей оператора сейчас довольно широкий функционал, и если используете её как мастер, то можете перекинуть содержимое нужных регистров ПЛК-слейва на флешку, подключенную к панели (ну и обратно разумеется тоже можно).

  6. #6

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    1.
    2.
    ПЛК(слейв)+Панель(мастер)
    Отрываем/тушим панель и той "программка_на_компьютере" читаем карту. И конечно уверены что в этот момент все нужное в карте есть.
    Когда-то опять отрываем/тушим панель и "другой программой" заносим карту. И конечно уверены что ПЛК все примет.
    Т.е. либо "светофор" с парой регистров или не "10-20 строк".

    3.
    Еще один интерфейс для "программка_на_компьютере" и "другой программой"
    Т.е заранее что-то прописывать в проекте ПЛК

    ?
    Да, собственно такой вариант и рассматривал ПЛК[slave]+ОП[master]. Компьютер с программой кратковременно заменяет ОП на время копирования данных.
    Собственно, если компьютер выполняет те же действия, что и ОП, то ПЛК и не заметит разницы.
    Обе программы предполагаю консольными, без графического интерфейса (так проще - при отладке и при эксплуатации), поэтому размер исходника будет небольшим.
    пример чтения регистра (с официального сайта):
    Код:
    #include <stdio.h>
    #include <modbus.h>
    
    int main(void) {
      modbus_t *mb;
      uint16_t tab_reg[32];
    
      mb = modbus_new_tcp("127.0.0.1", 1502);
      modbus_connect(mb);
    
      /* Read 5 registers from the address 0 */
      modbus_read_registers(mb, 0, 5, tab_reg);
    
      modbus_close(mb);
      modbus_free(mb);
    }

    Потом, при желании, можно добавить графический интерфейс.

    В любом случае, это попытка решения задачи сохранения и восстановления данных, с попутным составлением письменного протокола настроек прибора.
    Причём, это решение можно отдать заказчику для самостоятельной работы (с оговорками, но можно).
    И другие, мне не видятся (кроме тетради).

  7. #7

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Да, собственно такой вариант и рассматривал ПЛК[slave]+ОП[master]. Компьютер с программой кратковременно заменяет ОП на время копирования данных.
    Собственно, если компьютер выполняет те же действия, что и ОП, то ПЛК и не заметит разницы.
    Обе программы предполагаю консольными, без графического интерфейса (так проще - при отладке и при эксплуатации), поэтому размер исходника будет небольшим.
    пример чтения регистра (с официального сайта):
    Код:
    #include <stdio.h>
    #include <modbus.h>
    
    int main(void) {
      modbus_t *mb;
      uint16_t tab_reg[32];
    
      mb = modbus_new_tcp("127.0.0.1", 1502);
      modbus_connect(mb);
    
      /* Read 5 registers from the address 0 */
      modbus_read_registers(mb, 0, 5, tab_reg);
    
      modbus_close(mb);
      modbus_free(mb);
    }

    Потом, при желании, можно добавить графический интерфейс.

    В любом случае, это попытка решения задачи сохранения и восстановления данных, с попутным составлением письменного протокола настроек прибора.
    Причём, это решение можно отдать заказчику для самостоятельной работы (с оговорками, но можно).
    И другие, мне не видятся (кроме тетради).
    Вообще то ничего заменять не нужно - если в ПЛК в ModbusSlave сделаете два порта (один для панели, другой - для ПК), то они будут работать параллельно.

  8. #8

    По умолчанию

    Тогда - только тетрадь на 96 листов.

    Мне нечего добавить, кроме идеи чтения дампа памяти сетевых переменных. Когда будет возможность - лично для себя попробую. Убеждать в идеальности и универсальности - не буду, т.к. не продаю и выгоды не получу.
    Спасибо, за напоминание, про возможность добавления Ethernet порта к ModBus Slave устройству в конфигураторе CoDeSys - этим летом специально для параллельной работы панели на щите и потенциального компьютера (или другой удалённой панели) добавлял порт 503.

    А где бы почитать обоснования для выбора того или иного способа реализации ввода настроек с панели в ПЛК?

    Речь про редкие для меня лично варианты:
    - ПЛК (master) - ОП (slave)
    - доступ только к части параметров, в зависимости от значения в одном из регистров

    Встречал, конечно, у других людей подобное, пару раз и сам такое творил, но оно было вызвано в разных случаях:
    1. странности оборудования, не позволяющие сделать - ПЛК (slave) - ОП (master) - в моём случае ПЛК МЗТА MC8 и ОП Delta TP04G - детали уже не помню, но это именно проблемы совместимости оборудования
    2. нехватка сетевых переменных для обмена через конфигуратор - недавно на форуме видел решение для ПР200 - организовывалось "окно" для передачи части параметров.

    Но именно, вариант "защиты данных" - не встречал.
    Если можно, поделитесь ссылкой на разбор обоснований решений по связи.

Похожие темы

  1. Подскажите - достаточно ли применение прибора МПР51?
    от Антон П.П. в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 13.01.2015, 18:11
  2. Опрос блока термосоротивлений с общей точкой
    от ss_zeim в разделе Подбор Оборудования
    Ответов: 5
    Последнее сообщение: 08.04.2014, 18:55
  3. Ответов: 4
    Последнее сообщение: 03.02.2013, 19:23
  4. вопрос с общей землей
    от Fix_m в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 11.05.2011, 19:15

Ваши права

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