PDA

Просмотр полной версии : Stack в среде разработки OL 1.10



Karkade
19.02.2018, 22:14
Странно ведет себя счетчик будущей загруженности стека в OL , после небольших добавлений-удалений веток с переменными, меняется от 93 до 67 %.
Он способен точно определить загрузку,или порядок вызова функций нестабилен и его расчет лишь оценочный приблизительный ?

capzap
19.02.2018, 22:15
для кого пишут http://www.owen.ru/forum/showthread.php?t=28240&p=270517&viewfull=1#post270517

Karkade
19.02.2018, 22:24
ok, а насчет использования и подсчета использования стека в пред. версиях OL можете просветить ?

Владимир Ситников
19.02.2018, 22:32
ok, а насчет использования и подсчета использования стека в пред. версиях OL можете просветить ?

В ОЛ всегда точный результат. Если пишет 67%, значит 67%. Если пишет 93%, значит 93%
Без шуток.

Karkade
19.02.2018, 22:39
В ОЛ всегда точный результат. Если пишет 67%, значит 67%. Если пишет 93%, значит 93%
Без шуток. Вроде я такую малость затронул, а так сильно меняется показатель. ПР110 на каком MCU построен и сколько у него байтов RAM ?

Владимир Ситников
19.02.2018, 22:46
Вроде я такую малость затронул, а так сильно меняется показатель. ПР110 на каком MCU построен и сколько у него байтов RAM ?

ТТХ тут: http://www.owen.ru/catalog/programmiruemoe_rele_owen_pr110/68536284
PIC18 18MHz
640 байт RAM
8192 байт ROM

В ОЛ не оптимизирующий компилятор, а просто компилятор (разумеется, я говорю о компиляторе схемы в ОЛ-байткод, который выполняет ПР)
Поэтому от порядка подключения элементов могут существенно меняться % использованных ресурсов.

Например, 1+(2+(3+(4+5))) потребует одну глубину стека, а (((1+2)+3)+4)+5 совсем другую.

Karkade
19.02.2018, 23:01
ТТХ тут: http://www.owen.ru/catalog/programmiruemoe_rele_owen_pr110/68536284 640 байт RAM


Где же разработчики умудряются хранить переменные, в том числе для Modbus, буфер для загрузчика и тд ?

На ПР110 MCU слабее чем atmega 128 ...
http://www.microchip.com/wwwproducts/en/atmega128a
RAM Bytes 4,096

rovki
19.02.2018, 23:16
Так в ПР же еще прошивка установлена ,это же вам не просто загрузчик ,что остается то ваше

Владимир Ситников
19.02.2018, 23:18
Где же разработчики умудряются хранить переменные, в том числе для Modbus, буфер для загрузчика и тд ?
Скорее всего, указанные ТТХ относятся только в той памяти, которая доступна пользователю.
mobus, загрузчик и т.п. работает в своей памяти, которая не упомянута на ТТХ.


для продаваемых на тек. момент реле.
пзу - 8кбайт
озу 640 байт.

все фб делятся на 2 группы - с памятью и без.
без - логические и арифметические.
с - таймеры, счетчики, тригеры и пр.

без памяти - ограничиваются только размером пзу
с памятью - в текущих приборах - до 63 экземпляров.

в самом простом случае вызов любого фб занимает 1 байт. однако если надо подгрузить/выгрузить данные в стек исполнения - это тоже неск. байт.

число переменных ограничено размером озу. битовые переменные занимают 1 байт.

ограничения на число цепей нет.


На ПР110 MCU слабее чем atmega 128 ...
atmega128, якобы, гораздо дороже:

1. Плохо смотрели :) Там PIC18 Мега128 очень НЕДЕШЁВЫЙ процессор.

Если производительности ПР110 мало, то есть вариант :)

Возможно ли в ПР110 8Д4Р после установки программы в целях повышения быстродействия заменить кварц с 9,2 на 40 МГц?
Возможно ли подобную манипуляцию совершить с ПР114? Если да, то какой там кварц стоит и какой максимально можно поставить?

Karkade
19.02.2018, 23:23
ТТХ тут: http://www.owen.ru/catalog/programmiruemoe_rele_owen_pr110/68536284
Поэтому от порядка подключения элементов могут существенно меняться % использованных ресурсов.
Например, 1+(2+(3+(4+5))) потребует одну глубину стека, а (((1+2)+3)+4)+5 совсем другую.


Как можно изменить порядок не разрывая цепи, где-то в ОЛ есть ручная перенумерация?

Karkade
19.02.2018, 23:25
Так в ПР же еще прошивка установлена ,это же вам не просто загрузчик ,что остается то ваше Я не понимаю вашу фразу просто-не просто. 640 байт RAM это суммарный ресурс MCU для опер. системы и переменных пользователя?

Владимир Ситников
19.02.2018, 23:27
Как можно изменить порядок не разрывая цепи, где-то в ОЛ есть ручная перенумерация?

Никак, только руками. Было единогласно принято, что такая операция не нужна (http://www.owen.ru/forum/showthread.php?t=23235).