Спасибо. Быстро и по делу.
В планах есть проведение испытаний?
Поясню: при программировании ПЛК народ привык, что время выполнения цикла стабильно (ну, если пользовательская программа нормально написана).
С Linux'ом оно будет шуметь. Если правильно помню, то у ПЛК110 одно ядро (не считая PRU), значит, всевозможные системные потоки будут конкурировать за место на CPU.
Это может приводить к пропускам импульсов на входах.
Поэтому, подвопрос:
1.1) Какой длительности импульсы будут гарантировано распознаваться на дискретном входе?
1.2) Какую максимальную частоту меандра можно получить на дискретном выходе? (если считать, что каждый цикл ПЛК инвертируется сигнал на выходе)
1.3) Были ли испытания на фактическое распределение времён работы цикла ПЛК? Ну, хотя бы и на каком-то другом ПЛК. Грубо говоря: ставим интервал запуска основной программы в 1мс, и смотрим как часто она срабатывает по факту в случае "тривиальной программы" и "какой-нибудь более-менее реальной с модулями и т.п." (чем-нибудь типа https://github.com/HdrHistogram/HdrHistogram )
Да, разные кучи это хорошо. Т.е. расчёт на то, что основной цикл успеет подчистить за собой.
А как 64-битные целочисленные типы работают?
Например: LINT/ULINT/LWORD
Эмулируются на основе строк/объектов?
В lua точность целочисленных не превышает 32-53 бита (целые хранятся как double), а в MS4D заявлены 64битные типы. Они прямо честные 64?
Сейчас, конечно, выглядит странно, что для разных режимов работы ("модуль вывода в обычном режиме" и "модуль вывода в ШИМ режиме") сделаны разные шаблоны. Т.е. по факту, для замены одного на другое придётся заново привязывать входы-выходы.
Для этого нужны какие-нибудь лицезнии? Я к чему: эти библиотеки могут конечные пользователи создавать или только производитель ПЛК?
Ещё вопрос:
7) Проводились ли сравнения по скорости выполнения арифметико-логических операций между вашим lua интерпретатором и КДС?
8) У вас выполняются какие-нибудь оптимизации кода? (constant folding? dead code elimination? inlining? loop invariant code motion?)





Ответить с цитированием