Копирование журнала по Modbus
В своем проекте использую массивы Array для хранения сообщений журнала событий (1 сообщение журнала занимает 2 long'а, соответственно использую 2 макроса Array(long)).
Требуется передавать содержимое журнала (то есть массивов) на компьютер по Modbus.
В данный момент размер каждого массива = 20 значений (для тестирования). Проблема в том, что не получается уменьшить общее время передачи этих данных менее 8 сек.
А заказчик желает журнал на всю свободную память контроллера...
Цикл работы контроллера 100 мс, скорость передачи 115 200.
Похоже основное время жрет переключение адреса в макросе.
Что можно придумать для ускорения?
Как вариант - спец макрос ARRAY_Modbus например, в котором есть дополнительный вход для задания базового адреса массива в памяти контроллера, таким образом можно будет в проекте использовать несколько макросов для обращения к одним и тем же данным и соответственно можно будет сделать блочную передачу данных. то есть несколько переменных (десяток) за одно изменение адреса.
|