SlideShare uma empresa Scribd logo
1 de 44
Технологии и специализированные инструменты разработки ПО серийных изделий в среде Simulink




                       Приоритеты и поставленные задачи данной технологии



Наглядное восприятие и понимание ПО
Единое построение глав справочной документации и составляющих единиц ПО (элементов ПО)
Возможность максимально быстрого развития ПО новому участнику разработки
Максимальная независимость реализованного алгоритма от авторства разработки (отсутствие “подчерка”
разработчика)
Максимальная независимость алгоритма от аппаратуры его реализации
Разработка алгоритмов в физических величинах решаемых задач
Максимальная независимость данных от алгоритмов, их использующих


Часть 1. Общие положения
Часть 2. Данные алгоритмического ПО. Словарь данных. Независимость данных от алгоритмов
Часть 3. Разработка алгоритмов. Типовые конструкции разработки алгоритмов. Автогенерация кода
Часть 4. Организация многопользовательской работы
Часть 5. Структура электронной документации с навигацией, поиском, гиперссылками




  ООО “НПП Итэлма”                                           Вопросы и замечания направлять Maksim.Mironov@itelma.su
Состав инструментов
Matlab / Simulink и специализированные инструменты собственной разработки




                                         Инструмент для генерации
  Инструмент для разработки
                                         С-кода моделей
  словаря данных моделей
                                         построенных с помощью
  Интерфейс данных
                                         спец. блоков Simulink
  словаря в Simulink
                                         и C кода данных




                            Matlab / Simulink




       Библиотека
                                                Инструмент для генерации
       специализированных
                                                документации
       блоков Simulink




                                                                            1-1
Технологии разработки ПО изделий с использованием инструментов MSE




Часть 2. Данные алгоритмического ПО. Словарь данных. Независимость данных от алгоритмов
Типы данных алгоритмического ПО



Основные типы данных


                                    Тип данных “Точка” или “Cкаляр”
                                                        y=C              Дополнительные типы данных


                                                                             Тип данных “строка символов”
                 {c1,с2,с3,с4,с5}




                                    Тип данных “Линия” или “Вектор”                         y = “T”,”e”,”x”,”t”
   “координатный вектор”
                       y=




                                                        y = f(x)
     Тип данных “сетка”,




                                                                             Тип данных “упорядоченный
                                                                                 список параметров”
                                                                                          y = { параметр1,
                                      Тип данных “Поверхность” или                        параметр 2,
                                        “Таблица” или “Матрица”                           параметр 3,,,,
                                                                                          параметр n }
                                                          y=
                                                         f(x,z)




                                                                                                                  2-1
Метрология физического представления цифровых величин


    Базовые физические величины                                                 Типовые размерности данных
             Базовые физические                                                       Типовые размерности
             величины                                                                 данных

               Масса              грамм                                                  8 bit Signet Integer
               Время              Сек                                                    8 bit Unsignet Integer
               Длина              Метр                                                   16 bit Signet Integer
               Температура        С                                                      16 bit Unsignet Integer
               Ток                Ампер                                                  32 bit Signet Integer
               Напряжение         Вольт                                                  32 bit Unsignet Integer
               Давление           Бар
               Частота            Гц




 Физическая
                                Y = (A X + B ) / C        Коэф1 приведения физ. величин к
                                                                                               [ Физ. величина 1 ] *…* [ Физ. величина N ]
                                цифровая величина X             базовым величинам
  величина                                                Коэф2 приведения физ. величин к
                                     заданной                                                  [ Физ. величина 2 ] *…* [ Физ. величина M ]
     Y                             размерности                  базовым величинам




                                                  Примеры метрологий


                                                      1000 (приведение к баз. величине метр)             [ Км ]
Метрология одного бита
   0,1 км/час (16 бит)             Y = 1 X / 10                                                                        (16 бит без знака)
                                                      3600 (приведение к баз. величине сек)              [ Час ]


Метрология одного бита                                1 (приведение к баз. величине Вольт               [ Вольт ]
     10 битного АЦП              Y = 5 X / 1023                                                                        (16 бит без знака)
с опорой 5 Вольт (16 бит)




                                                                                                                                             2-2
Примеры эффективного использования метрологий физических величин в Simulink. Автоматическое
                   преобразование физ. величин к требуемому результату




                                                                                              2-3
Примеры эффективного использования метрологий физических величин в Simulink. Автоматическое
                    преобразование физ. величин к требуемому результату


Все преобразования физ. величин с учетом фиксированной точки проводятся автоматически в блоках
                           “умножение” “деление” “сумма” “разность”


                 Свойство метрологии принадлежит параметрам и не зависит от модели Simulink



                          (mg/Cycle)


       (mg/Cycle)/mBar

          mBar
                                                                                       (mg/Cycle)

  mBar
                                       (mg/Cycle)
 0…4
                                                              (mg/Cycle)

                                       mks/cycle

 0…4
                                          kg/hour




                                                                                                    2-4
Свойства алгоритмических данных
                      (все свойства обязательные для заполнения при создании данных)

Имя параметра / [Name]                               Свойство индексирование или тиражирование основных типов
                                                     данных
Полное название параметра / [Text]                   1) индексирование по явному номеру / [Implicit Index]
                                                            <параметр1>[1],[2],[3],,,,[n]
Поле для дополнительных текстовых данных,            2) индексирование по значению параметра / [Explicit Index]
комментариев к параметру / [Comment]                        <параметр1>[значение параметра2]

Автор параметра / [Author]                                                         Тип данных “Точка” или “Cкаляр”
                                                                                   Тип данных “Точка” или “Cкаляр”
                                                                                    Тип данных “Точка” или “Cкаляр”
                                                                                    Тип данных “Точка” или “Cкаляр”
                                                                                     Тип данных “Точка” или “Cкаляр”
                                                                                                        yy==C
                                                                                                         yy==C
                                                                                                          y =CC
                                                                                                              C
Свойство хранения параметров / [Memory Type]

1) Нет хранения, константа времени компиляции
                                                                                   Тип данных “Линия” или “Вектор”
                                                                                   Тип данных “Линия” или “Вектор”




                                                                {c1,с2,с3,с4,с5}
2) Хранение в ОЗУ                                                                   Тип данных “Линия” или “Вектор”
                                                                                    Тип данных “Линия” или “Вектор”
                                                                                     Тип данных “Линия” или “Вектор”




                                                       “координатный вектор”
                                                         Тип данных “сетка”,
3) Хранение в ПЗУ
4) Хранение в периодически перезаписываемом                                                            yy==f(x)
                                                                                                       yy =f(x)
                                                                                                         = f(x)
                                                                                                         y = f(x)
                                                                                                              f(x)
EEPROM
5) Хранение в однократно перезаписываемом EEPROM
(технологические данные производственных
Свойство метрологии физ. величины параметра /
операций)                                                                           Тип данных “Поверхность” или
                                                                                    Тип данных “Поверхность” или
                                                                                     Тип данных “Поверхность” или
[Metrology]                                                                          Тип данных “Поверхность” или
                                                                                      Тип данных “Поверхность” или
                                                                                      Тип данных или “Матрица” или
                                                                                                 “Поверхность”
У (физ) = (A*x + В) / C                                                                “Таблица” или “Матрица”
                                                                                       “Таблица” или “Матрица”
                                                                                        “Таблица” или “Матрица”
                                                                                        “Таблица” или “Матрица”
                                                                                         “Таблица” или “Матрица”
                                                                                         “Таблица”
Диапазоны метрологии / [Minimum Value] [Maximum
                                                                                                          yy==
                                                                                                           yy==
Value]                                                                                                        y=
                                                                                                        f(x,z)=
                                                                                                              y
                                                                                                         f(x,z)
                                                                                                          f(x,z)
                                                                                                           f(x,z)
                                                                                                            f(x,z)
                                                                                                             f(x,z)
Свойство прямого управления / [External Access]

Свойство возможности прямой внешней подстановки
значения взамен рассчитываемому значению
                                                     Адрес данных / [Data Address]
Свойство доступа к параметру [Direct Access]         Адрес фиксированный, либо определяемый сборщиком ПО
Доступ к параметру через вспомогательную функцию     Значения данных / [Value]
(для калибровки), либо через адресацию,              ОЗУ, EEPROM, – инициализационные данные
определяемую сборщиком ПО (Linker) (прямой доступ)   ПЗУ – постоянные данные
                                                                                                                       2-5
Вариантная модификация данных
                     Построение ПО многопроектных систем в одном словаре параметров



      Параметр                    Вариант 1               Вариант 2                Вариант 3

Имя параметра               Имя параметра           Имя параметра            Имя параметра

Полное название             Полное название         Полное название          Полное название
параметра                   параметра               параметра                параметра

Тип данных                  Тип данных 1            Тип данных 2             Тип данных 3

Тип индексирования          Тип индексирования 1    Тип индексирования 2     Тип индексирования 3

Значения данных             Значения данных 1       Значения данных 2        Значения данных 3




   Вариантная модификация данных позволяет хранить и использовать для одного и того же параметра
   различные типы данных, данные с различными свойствами, и различным содержанием


   Примеры:

   Настроечные константы для различных модификаций и исполнений
   Индексирование калибровочных данных для многотопливных системы
   Изменение зависимостей данных для различных проектов (константа, таблица, вектор)
   Использование различных векторов координат для данных (с различными зависимостями)
   Калибровочные данные для различных проектов (хранение самих калибровочных данных)


                                                                                                    2-6
MSE - инструмент для работы с словарем параметров и интерфейс словаря параметров в модели Simulink

                                               MSE предоставляет структурированный словарь параметров и функций
                                               для моделей Simulink
                      Варианты параметров
                                               создания, модификации, хранения, навигации, поиска и выполнения
                                               прочих операций со всеми данными алгоритмов (входными и выходными
                                               параметрами, настроечными константами и калибруемыми величинами)
   Набор параметров




                                 MSE Инструмент для работы со словарем параметров   Проект в виде моделей Simulink




                      Один словарь может быть использован для различных проектов (моделей Simulink)
                      Неиспользованные в проекте параметры словаря не попадают в финальный код проекта
                      Вся необходимая информация для генерации A2l файла, кроме реальных физических адресов
                      содержится в словаре параметров
                                                                                                                     2-7
Использование данных словаря в среде в Simulink.
Независимость алгоритмов от свойств данных. Блок чтения результата параметра словаря данных



    Тип данных “Точка” или
           “Cкаляр”                               MSE предоставляет интерфейс к словарю
                   y=C                                         параметров

    Тип данных “Линия” или                       В моделях Simulink считывается результат
           “Вектор”                                              данных.
                       y = f(x)
                                                 Тип данных, свойства данных принадлежат
                                                              самим данным
                                                 Независимость моделей от свойств данных
 Тип данных “Поверхность” или
   “Таблица” или “Матрица”
                                                             Имя параметра
                         y=
                        f(x,z)
                                                            Блок Read Parameter
                                                   Блок считывания результата параметра



    Тип данных “Поверхность” или
      “Таблица” или “Матрица”
                      y=
                       y=
                     f(x,z)
                      f(x,z)



       Индексированная таблица
                                     Данные Алгоритмы
                                                                                              2-8
Независимость алгоритмов от свойств данных. Блок чтение параметра – Блок чтения результата




                                    Тип данных                  Тип данных
                                 “Поверхность” или           “Поверхность” или
                                  “Таблица” [ROM]             “Таблица” [ROM]
                                           y = f(x,z)                  y = f(x,z)     Тип данных “Точка” или
Тип данных “Линия”                                                                        “Cкаляр” [ROM]
       [ROM]                                                                                         y=C
             y = f(x)


Тип данных “Линия”
       [ROM]

             y = f(x)


Тип данных “Линия”
       [ROM]

             y = f(x)


        Тип данных “Точка” или
            “Cкаляр” [RАM]
                       y=C

               Тип данных “Точка” или
                                                  Тип данных “Точка” или            Тип данных “Точка” или     Тип данных “Точка” или
                   “Cкаляр” [ROM]
                              y=C                     “Cкаляр” [ROM]                    “Cкаляр” [RАM]             “Cкаляр” [RАM]
                                                                 y=C                               y=C                        y=C




                                                                                                                                        2-9
Технологии разработки ПО изделий

Часть 3. Разработка алгоритмов. Типовые конструкции разработки алгоритмов. Автогенерация кода




                                                                                                3
MSE – библиотека специальных блоков Simulink. Элементарные блоки библиотеки.



                                                   Свойства блоков

                                                   1) Блоки оперируют с данными со
                                                   свойствами метрологии физ. величины с
                                                   автопреобразованием к требуемому
                                                   результату

                                                   2) Блоки имеют встроенную диагностику
                                                   соответствия метрологий аргументов,
                                                   правильности диапазонов результатов




                                                                                           3-1
Функциональные вызовы моделей Simulink. Библиотеки функций Simulink



                              Action Call – блок функционального вызова либо функции C, либо модели Simulink
        Блок
      Action Call



                              Action Definition – блок определения подсистемы Simulink, с возможностью вызова
                              ее как функции
         Блок
    Action Definition
                              Определена возможность создания библиотек функций объявленных как Action
                              Definition
                              Примеры библиотек - API функции для элементов ПО
                              Библиотека API функций всех аналоговых каналов
                              Библиотека API функций получения информации из CAN cообщений
                              Библиотека API функций управления реле
                                                  Библиотека объявления моделей для          Модель вызываемая как функция
                                                      функциональных вызовов


Пример функционального вызова




                                                                                                                             3-2
Механизм подключения или связывания различных моделей в зависимости от конфигурации



                                                               Модель N1 (отдельный файл)



                                                               Модель N2 (отдельный файл)



                                                               Модель N3 (отдельный файл)
      Блок ссылок на внешние модели
       (отдельные файлы моделей)                       Модели на которые ссылается блок
                                                           ссылки на модели файлы




      Условия подключения тех или иных моделей в зависимости от значения конфигурационных констант


Примеры:
Включение соответствующей модели в зависимости от комплектации системы и значения настроечной константы
Модели заказчиков в зависимости от значения настроечных констант



                                                                                                          3-3
Размеры элементарных блоков и правила их изменения


    В библиотеке определены размеры следующих В библиотеке определена высота/вертикальный размер следующих
            блоков (запрещено изменять)                                   блоков
                                                 (разрешено изменять только ширину/горизонтальный размер)




В библиотеке определена ширина/горизонтальный размер
                  следующих блоков
(разрешено изменять только высоту/вертикальный размер)




                                                                                                             3-4
Функциональные типовые конструкции элементарных блоков (1)


       Конструкции построения логических                         Общие правила для функциональных конструкций
                     схем
                                                                 1) Определены размеры блоков, размеры стрелок и
Объединение логики        Логический оператор условий <IF>       взаимное расположение блоков внутри конструкции
                                   >,<,>=,<=,==,!=
                                                                 2) Определено взаимное расположение нумерованных
                                                                 параметров, а именно, расположение слева->направо,
                                                                 сверху->вниз

                                                                 3) В логических операторах IF
                                                                 А – всегда переменная величина (RAM)
                                                                 В – постоянная или переменная величина



                                        Конструкции выборки сигналов

                       Максимум двух сигналов                     Минимум двух сигналов




                                                             Подстановка значения в зависимости от
               Подмена сигнала при выполнении условий
                                                                   значения входного сигнала




                                                                                                                   3-5
Функциональные типовые конструкции элементарных блоков (2)

                            Конструкции счетчиков, интеграторов




          Счетчик с ограничением


                                                                  Интегратор




Счетчик со сбросом в 0 при достижении порога




     Определение граничных условий счетчиков и интеграторов является обязательным
                        условием их корректного использования




                                                                                    3-6
Функциональные типовые конструкции элементарных блоков (3)

                  Конструкции фильтрации, ограничение скорости изменения


 Апериодический фильтр первого порядка (вариант 1)   Общие правила для функциональных
                                                     конструкций

                                                     1) Определены размеры блоков, размеры стрелок и
                                                     взаимное расположение блоков внутри конструкции

                                                     2) Входные параметры обработки и настроечные
                                                     коэффициенты расположены с левой стороны,
                                                     результат с правой

Апериодический фильтр первого порядка (вариант 2)




  Линейное ограничение скорости изменения сигнала




                                                                                                       3-7
Функциональные типовые конструкции элементарных блоков (4)

                              Конструкции функций. Передаточные характеристики




            Табличная функция натурального числа




                                                                                 Индекс чтения
                                                                                  параметра


               Обновление координаты табличной функции
    и чтение значения табличной функции по обновленной координате




Subsystem                        Subsystem




                                                                                   Функция обновление
                                                                                       координаты



                                                                                                        3-8
Функциональные типовые конструкции элементарных блоков (5)

                    Конструкции обработки сигналов. Определение изменения
                                           сигналов



Определение абсолютного значения сигнала        Определение положительного градиента сигнала (флаг)




                                                 Определение отрицательного градиента сигнала (Флаг)

          Ограничение сигнала




                                                       Определение изменения сигнала (Флаг)




                                                                                                       3-9
Функциональные типовые конструкции элементарных блоков (6)

                    Конструкции определения диапазонов изменения сигналов



 Установка флага переключения диапазонов           Общие правила для функциональных
                  сигнала                          конструкций

                                                   1) Определены размеры блоков, размеры стрелок и
                                                   взаимное расположение блоков внутри конструкции

                                                   2) Определено индексирование однотипных
                                                   параметров, используемых в конструкциях




Установка флага переключения диапазонов
         сигнала с гистерезисом




                                                                                                     3-10
Функциональные типовые конструкции элементарных блоков (7)



           Конструкции определения и функционального вызова API функций и моделей




                Вызов API функции, чтение               Вызов API функции с
                 результатов API функции                   параметрами




                                Конструкции вызова подсистем


Оператор <CASE> вызова подсистем    Оператор <IF> вызова подсистем    Оператор <FOR> вызова подсистем




                                                                                                        3-11
Сравнение подходов функциональных конструкций MSE или интегрированных элементарных блоков (Simulink)



          Связанные конструкции MSE построенные            Интегрированные элементарные блоки
              с помощью элементарных блоков                         системы (Simulink)




                                                                      Фильтр      Счетчик




                                                                     Интегратор   Регулятор




                                                         Плюсы:
        Плюсы:                                                Схематичность
             Возможность контролировать и
             модифицировать конструкции под              Минусы:
             любой конкретный случай.                         Скрытость, невозможность контроля и
                                                              модификаций внутри блока
             Внутренние параметры конструкций,
             ( буферы задержек, флаги,                         Внутренние параметры без учета
             интеграторы) – параметры MSE с                    метрологии (цифровые величины).
             учетом метрологии (данные словаря)                Внутренние параметры – отдельные
                                                               данные Simulink (не принадлежат
              Возможность свободно управлять                   словарю параметров)
              внутренними      параметрами
        конструкций                                            Невозможность свободно управлять
                                                               внутренними      параметрами
        Минусы: Громоздкость                             конструкций

                                                                                                    3-12
Функциональные конструкции элементарных блоков.
     Объединение элементарных блоков, конструкций для построения более сложных схем алгоритмов



                               2




                                                      5
             1                             3



                                                                6



                                                          4

                                       Антидребезговый фильтр дискретного сигнала



Состав схемы алгоритма фильтра:
                                                              Общие правила для объединения конструкций
1) Конструкция табличной функции натурального числа
2) Конструкция счетчика с ограничением                        1) Минимальное число поворотов связующих стрелок
3) Конструкция определения изменения сигнала                  2) Минимальное свободное пространство между
4) Конструкция сравнения сигнала с порогом                    конструкциями
5) Конструкция подстановки сигналов
6) Конструкция замены сигнала



                                                                                                                 3-13
Функциональные конструкции элементарных блоков.
     Объединение элементарных блоков, конструкций для построения более сложных схем алгоритмов



                               2




             1

                                                  5
                                          3



                                                                6



                                                       4

                                    Антидребезговый фильтр 3х диапазонного сигнала



Состав схемы алгоритма фильтра:
                                                              Общие правила для объединения конструкций
1) Конструкция установки флага переключения диапазонов сигнала
2) Конструкция счетчика с ограничением                         1) Минимальное число поворотов связующих стрелок
3) Конструкция определения изменения сигнала                   2) Минимальное свободное пространство между
4) Конструкция сравнения сигнала с порогом                     конструкциями
5) Конструкция подстановки сигналов
6) Конструкция замены сигнала




                                                                                                                  3-14
MSE - Автогенерация и оптимизация кода




               - Генерация ANSI C с гибкой настройкой параметров,
               зависимых от компиляторов

               - Генерация кода для всего проекта “одной кнопкой”

               - Выборочная генерация кода моделей и словаря
               данных

               - Генерация словаря только для задействованных
               данных в проекте

               - Сохранение путей генератора кода индивидуально
               для каждого пользователя (многопользовательские
               настройки для работы на одном сервере)

               - Гибкие настройки оптимизации использования
               памяти (стек / глобальные переменные /
               классификаторы данных)

               - Оптимизация исключения переменных хранящих
               промежуточные вычисления

               - Оптимизация комбинирования операндов
               арифметических операций. Препроцессор констант.


                                                                    3-15
Технологии разработки ПО изделий



Часть 4. Организация многопользовательской работы
Архитектура оборудования для многопользовательской и автономной работы с использованием
                                   инструментов MSE

                                 Организация многопользовательской работы



                Сервер 1 для многопользовательской работы с                 Терминальный
                поддержкой удаленного доступа пользователей внутри          пользователь 1
                локальной сети

                1) Разработка алгоритмов MSE / Simulink. Симуляция
                моделей
                2) Компиляция, сборка ПО
                3) Генерация A2L файла                                      Терминальный
                4) Генерация спецификаций ПО и документации                 пользователь 2
                5) Хранение текущих рабочих версий проекта для каждого
                пользователя


                                                                            Терминальный
                                                                            пользователь 3


                Сервер 2 для хранения исходных материалов ПО

                Система контроля версий Microsoft Team Server               Терминальный
                                                                            пользователь 4




                                       Организация автономной работы

                Автономное рабочее место

                1) Разработка алгоритмов MSE / Simulink. Симуляция
                моделей
                2) Компиляция, сборка ПО
                3) Генерация A2L файла
                4) Генерация спецификаций ПО и документации
                5) Хранение текущей рабочей версии проекта

                                                                                             4-1
Организация многопользовательской работы с использованием инструментов MSE



                                                     Дисковое пространство
                                                     сервера 1 для
                                                     многопользовательской
                                                     работы
                                                     Папки пользователей
                                                              Пользователь 1                           Пользователь
                                                         Рабочее пространство для   Удаленный доступ
                                                              сборки проекта
                                                                                                       1
          Сервер 2
  Система контроля версий
                                                 С
    Microsoft Team Server             ое
                                            кт
                                   Пр                         Пользователь 2
                                                                                                       Пользователь 2
                                                         Рабочее пространство для   Удаленный доступ
Проект 1 (вся история развития)           кт С
                                                              сборки проекта
                                  Прое
Проект 2 (вся история развития)
Проект С (вся история развития)   Про
                                      е
...                                       кт С
                                                              Пользователь 3
                                                                                                       Пользователь 3
Проект N (вся история развития)   Пр
                                                         Рабочее пространство для
                                                              сборки проекта
                                                                                    Удаленный доступ
                                     ое
                                        к   тС




                                                              Пользователь 4
                                                         Рабочее пространство для   Удаленный доступ   Пользователь 4
                                                              сборки проекта




Правила многопользовательской
  работы с системой контроля
            версий



                                                                                                                        4-2
Организация многопользовательской работы с использованием инструментов MSE с учетом
                        территориального разделения сегментов сети




 Группа пользователей г. Тольятти                         Группа пользователей г. Москва




                                     Роутер
                                    VPN сети


      Сервер 1        Сервер 2
    Хранение ПО     пользователи




                                               Internet


Группа пользователей г. Владимир                          Группа пользователей




                                                                                           4-3
Технологии разработки ПО изделий



Часть 5. Структура электронной документации с навигацией, поиском, гиперссылками
Единая навигация моделей Simulink и документации



Модель Simulink проекта                                 Электронная документация проекта




                          Единообразная навигация в моделях
                              Simulink и в документации




                                               Электронная документация имеет точно такую
                                                 же структуру и навигацию как и исходная
                                                             модель Simulink




                                                                                            5-1
Единая структура категорий словаря данных, названий элементов ПО и оглавлений документации




   MSE словарь данных проекта                                       Электронная документация проекта




                                                        тов ПО и
                                                , элемен
                                        я данных
                                й словар тации
                       категори          ен
              труктура          ий докум
      Единая с         оглавлен




                                                              Электронная документация имеет точно такую же
                                                               структуру категорий словаря данных - названий
                                                                  элементов ПО, оглавлений документации




                                                                                                               5-2
Организация алфавитного поискового указателя для всех данных и функций проекта с последующей
                                         навигацией




           Алфавитный список всех      Последующая навигация в моделях где
          данных и функций проекта      задействован выбранный параметр


                                                                                               5-3
В документации все параметры и все подсистемы являются гипессылками с последующей навигацией




                                                                           Цикловое
                                                                       наполнение по MAP




                При наведении курсором мыши появляется краткая информация о детализации параметра
    При одинарном “клике” на выбранный параметр открывается окно полной детализации с последующей навигацией в
                                   моделях, где задействован выбранный параметр
                                                                                                          5-4
Возможность предварительного просмотра содержимого внутри подсистемы не открывая ее
                                (Subsystem PreView)




                                                 Subsystem PreView




                                       При наведении мышки на подсистему
                                         справа открывается окно PreView




                                                                                      5-5
В документации отражены свойства данных




При выборе параметра отражены все его свойства, включая калибровки проекта

                                                                             5-6
Слои (Layers) разделения системного и алгоритмического ПО. Слои BIOS, API, Application



       Вход                                    Функция                                  Выход




BIOS             API                           Application                        API           BIOS




     ПО имеет явное
   разделение на 3 слоя
                                                               Application
                               API
                                - именованный,
                               тарированный и
                               конфигурируемый интерфейс       Функции алгоритмического ПО
                               к аппаратуре и его реализация   Simulink+MSE
                               через вызовы слоя BIOS
        BIOS
                               API содержит минимальный
        Системное ПО
                               набор функциональности
        процессора,
                               канала
        компонентов схемы
                               1) Именование канала
        изделия.
                               2) Конфигурирование канала
        Портов ввода вывода
                               3) Тарирование канала
        АЦП, Таймеров
        Каналов обмена (CAN,
                               С, ассемблер, Simulink+MSE
        SPI, LIN) памяти
        RAM, ROM, EEPROM

        С, ассемблер
Примеры слоев BIOS, API


                                                                                    API
                                                                          Перемещение стрелок КП
                                    API                                                                       BIOS
      BIOS                                                                Функции API принимают
                       Датчиков аналоговых каналов                                                      ШД процессора КП
      АЦП                                                              параметры позиционированием
                    Функции API возвращают вольты АЦП
                                                                             стрелок ШД (шаги)

                                    API                                              API
                        Датчиков дискретных каналов                       Впрыска газовой форсунки            BIOS
      BIOS
                     (концевые выключатели, релейные                              Зажигания               Компараторо,
   Порты ввода
                                  датчики)                                 Функции API принимают          портоы, АЦП
     вывода
                    Функции API возвращают дискретные                 параметры управляющих сигналов    токоизмерителей
                             состояния портов                            (время, угловые положения)
                                   API                                              API
                     Датчиков частотных, импульсных                       Управления индикацией
      BIOS                                                                                                   BIOS
                                 каналов                                  Функции API принимают
Таймерные ресурсы                                                                                           Шина I2C
                    Функции API возвращают временные                    идентификаторы выборочной
                         характеристики сигналов                       индикации сегментов (вкл/выкл)

                               API данных               Application
                                                                                    API
                           К-линии, LIN обмена                                 Привода ПДЗ                   BIOS
      BIOS
                         Функции API возвращают                            Функции API принимают         Компараторы,
      UART
                    информационные данные протоколов                  параметры управляющих сигналов        порты.
                         обмена (не служебные)                                     (ШИМ)

                              API данных,                                           API
                              CAN обмена                                           Реле
      BIOS                                                                                                   BIOS
                         Функции API возвращают                           Функции API принимают
      CAN                                                                                                     SPI
                    информационные данные протоколов                     параметры идентификации
                         обмена (не служебные)                             управления (вкл/выкл)


                               API данных,
                                                                                   API
                               SPI обмена
      BIOS                                                                   Иммобилизатора                  BIOS
                         Функции API возвращают
       SPI                                                               Функции API обмениваются             SPI
                    информационные данные протоколов
                                                                        информационными данными
                          обмена (не служебные)
Уровни синхронизации. Операционная система. Машина времени. События системы

           Построение ПО в событийных уровнях синхронизации (Типовая схема)

                                                                       Приоритет

                                                  Reset                    1
                Инициализационные
                     уровни
                                                 WakeUp                    2


                                                   1ms                     8


              Уровни машины времени               10ms                     9


                                                  100ms                   10



                                                  6 гр КВ                  3
              Уровни событий системы
                                                 180 гр КВ                 4



                                                   SPI                     5


             Уровни протоколов обмена              CAN                     6



                                                   LIN                     7




                                           Программный вызов 1            11

            Уровни программных вызовов

                                           Программный вызов 2            12




Функции ПО (модели Simulink) явно размещаются в уровнях синхронизации операционной системы
Язык именования параметров алгоритмов


                                              Правила языка именования параметров алгоритмов


                 Приставка свойства              “кличка” (alias) элемента ПО                      Детализация –                           Детализация -
                                                                                                  прилагательные                         существительные

           BIOS_ - функция уровня BIOS
           API_ - функция уровня API                                                        Пример:                                Пример:
                                                Пример:                                     Raw - Необработанный                   Flag -Флаг
           c – константа времени компиляции
                                                AccPedSens – Датчик педали                  Flt -Фильтрованный                     State – Состояние
           p – параметр
                                                акселератора                                Up- Верхний                            Coeff – Коэффициент
           q - калибровка                                                                   Dwn - Нижний
                                                MAF - расходомер                                                                   Voltage – Напряжение
           rg – список параметров                                                           Calc - Расчитанный                     Current -Ток
                                                MAP – давление во впускной трубе
           os - системный параметр                                                          Meas - Измеренный                      Speed – Скорость
                                                Lowbeam - ближний свет
           lv – уровень ПО                                                                  Mean - Средний                         Rate- Соотношение
                                                RPM – Тахометр
           cv - координатный вектор                                                                                                Defect- дефект
           m - метрология
                                                                                                               Детализация прилагательное имеет
                                                                                                                отношение к существительному


                                                         Правила языка именования функций


   Приставка свойства             “кличка” (alias) элемента             Действие функции                              Детализация                            Детализация
                                             ПО                              (глагол)                              (прилагательные)                       (существительные)


                                Пример:                                                                     Пример:                               Пример:
                                                                  Пример:                                   Raw - Необработанный
                                AccPedSens – Датчик педали                                                                                        Flag -Флаг
                                                                  Get- Взять                                Flt -Фильтрованный
                                акселератора                                                                                                      State – Состояние
                                                                  Set- Установить                           Up- Верхний                           Coeff – Коэффициент
BIOS_ - функция уровня BIOS     MAF - расходомер                  Setup – Настроить                         Dwn - Нижний                          Voltage – Напряжение
API_ - функция уровня API       MAP – давление во впускной        Init – Инициализировать                   Calc - Расчитанный                    Current -Ток
                                трубе                             Transmit – Отправить                      Meas - Измеренный                     Speed – Скорость
                                Lowbeam - ближний свет            Receive- Принять
                                                                                                            Mean - Средний                        Rate- Соотношение
                                                                  Switch - Переключить
                                RPM – Тахометр                                                                                                    Defect- дефект


                                                                                                                            Детализация прилагательного имеет
                                                                                                                              отношение к существительному


                                       Все слова именований параметров и функций выбираются строго из словаря
Элементы алгоритмического ПО. Состав элемента ПО
  Элемент ПО содержит материалы для построения независимой главы справочной документации

                                                        4. Модели Simulink.
1. Полное название элемента ПО                          Корневые подсистемы элемента ПО содержат полное
        Пример                                          названием элемента ПО
                Element21

                                                                                 Element21
2. “Кличка” Alias элемента ПО                                                      Reset
        Пример
                                                                                             Simulink Model Level Reset
                  El21


                                                                                 Element21
3. Категория словаря параметров с полным названием         ОСРВ
                                                                              TimeMachine10ms
элемента ПО - глава документации
                                                                                             Simulink Model Level 10 ms



                                                                                 Element21
                                                                                  SWLevel
4. Параметры элемента ПО (с учетом правил именования)                                          Simulink Model SW Level
в категории словаря параметров элемента ПО

                                                        5. Блок связи категории набора параметров и моделей
                                                        Simulink




                                                                                                             Simulink Model



                                                        6. Комплект документации элемента для каждой
                                                        подсистемы

Mais conteúdo relacionado

Semelhante a Технологии и специализированные инструменты разработки ПО серийных изделий в среде Simulink

презентация2
презентация2презентация2
презентация2Suchkov
 
Переменные
ПеременныеПеременные
Переменныеkvlar
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Technopark
 
Алгебраические типы данных
Алгебраические типы данныхАлгебраические типы данных
Алгебраические типы данныхAlexander Schepanovski
 
Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Mikhail Kurnosov
 
Word pressshortcode
Word pressshortcodeWord pressshortcode
Word pressshortcodessuserf59b92
 
Типы данных
Типы данныхТипы данных
Типы данныхOlgaDask
 
VHDL composite data types, arrays, records
VHDL composite data types, arrays, recordsVHDL composite data types, arrays, records
VHDL composite data types, arrays, recordsvitaliykulanov
 
повторение
повторениеповторение
повторениеTanya
 
повторение
повторениеповторение
повторениеTanya
 
Правила статического анализа кода для диагностики потенциально опасных констр...
Правила статического анализа кода для диагностики потенциально опасных констр...Правила статического анализа кода для диагностики потенциально опасных констр...
Правила статического анализа кода для диагностики потенциально опасных констр...Sergey Vasilyev
 
Типы данных
Типы данныхТипы данных
Типы данныхMonsterXX
 
элементы языка и типы данных
элементы языка и типы данныхэлементы языка и типы данных
элементы языка и типы данныхЕлена Ключева
 

Semelhante a Технологии и специализированные инструменты разработки ПО серийных изделий в среде Simulink (15)

презентация2
презентация2презентация2
презентация2
 
Переменные
ПеременныеПеременные
Переменные
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1
 
Алгебраические типы данных
Алгебраические типы данныхАлгебраические типы данных
Алгебраические типы данных
 
Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)
 
Word pressshortcode
Word pressshortcodeWord pressshortcode
Word pressshortcode
 
Типы данных
Типы данныхТипы данных
Типы данных
 
VHDL composite data types, arrays, records
VHDL composite data types, arrays, recordsVHDL composite data types, arrays, records
VHDL composite data types, arrays, records
 
повторение
повторениеповторение
повторение
 
повторение
повторениеповторение
повторение
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Правила статического анализа кода для диагностики потенциально опасных констр...
Правила статического анализа кода для диагностики потенциально опасных констр...Правила статического анализа кода для диагностики потенциально опасных констр...
Правила статического анализа кода для диагностики потенциально опасных констр...
 
Типы данных
Типы данныхТипы данных
Типы данных
 
элементы языка и типы данных
элементы языка и типы данныхэлементы языка и типы данных
элементы языка и типы данных
 

Технологии и специализированные инструменты разработки ПО серийных изделий в среде Simulink

  • 1. Технологии и специализированные инструменты разработки ПО серийных изделий в среде Simulink Приоритеты и поставленные задачи данной технологии Наглядное восприятие и понимание ПО Единое построение глав справочной документации и составляющих единиц ПО (элементов ПО) Возможность максимально быстрого развития ПО новому участнику разработки Максимальная независимость реализованного алгоритма от авторства разработки (отсутствие “подчерка” разработчика) Максимальная независимость алгоритма от аппаратуры его реализации Разработка алгоритмов в физических величинах решаемых задач Максимальная независимость данных от алгоритмов, их использующих Часть 1. Общие положения Часть 2. Данные алгоритмического ПО. Словарь данных. Независимость данных от алгоритмов Часть 3. Разработка алгоритмов. Типовые конструкции разработки алгоритмов. Автогенерация кода Часть 4. Организация многопользовательской работы Часть 5. Структура электронной документации с навигацией, поиском, гиперссылками ООО “НПП Итэлма” Вопросы и замечания направлять Maksim.Mironov@itelma.su
  • 2. Состав инструментов Matlab / Simulink и специализированные инструменты собственной разработки Инструмент для генерации Инструмент для разработки С-кода моделей словаря данных моделей построенных с помощью Интерфейс данных спец. блоков Simulink словаря в Simulink и C кода данных Matlab / Simulink Библиотека Инструмент для генерации специализированных документации блоков Simulink 1-1
  • 3. Технологии разработки ПО изделий с использованием инструментов MSE Часть 2. Данные алгоритмического ПО. Словарь данных. Независимость данных от алгоритмов
  • 4. Типы данных алгоритмического ПО Основные типы данных Тип данных “Точка” или “Cкаляр” y=C Дополнительные типы данных Тип данных “строка символов” {c1,с2,с3,с4,с5} Тип данных “Линия” или “Вектор” y = “T”,”e”,”x”,”t” “координатный вектор” y= y = f(x) Тип данных “сетка”, Тип данных “упорядоченный список параметров” y = { параметр1, Тип данных “Поверхность” или параметр 2, “Таблица” или “Матрица” параметр 3,,,, параметр n } y= f(x,z) 2-1
  • 5. Метрология физического представления цифровых величин Базовые физические величины Типовые размерности данных Базовые физические Типовые размерности величины данных Масса грамм 8 bit Signet Integer Время Сек 8 bit Unsignet Integer Длина Метр 16 bit Signet Integer Температура С 16 bit Unsignet Integer Ток Ампер 32 bit Signet Integer Напряжение Вольт 32 bit Unsignet Integer Давление Бар Частота Гц Физическая Y = (A X + B ) / C Коэф1 приведения физ. величин к [ Физ. величина 1 ] *…* [ Физ. величина N ] цифровая величина X базовым величинам величина Коэф2 приведения физ. величин к заданной [ Физ. величина 2 ] *…* [ Физ. величина M ] Y размерности базовым величинам Примеры метрологий 1000 (приведение к баз. величине метр) [ Км ] Метрология одного бита 0,1 км/час (16 бит) Y = 1 X / 10 (16 бит без знака) 3600 (приведение к баз. величине сек) [ Час ] Метрология одного бита 1 (приведение к баз. величине Вольт [ Вольт ] 10 битного АЦП Y = 5 X / 1023 (16 бит без знака) с опорой 5 Вольт (16 бит) 2-2
  • 6. Примеры эффективного использования метрологий физических величин в Simulink. Автоматическое преобразование физ. величин к требуемому результату 2-3
  • 7. Примеры эффективного использования метрологий физических величин в Simulink. Автоматическое преобразование физ. величин к требуемому результату Все преобразования физ. величин с учетом фиксированной точки проводятся автоматически в блоках “умножение” “деление” “сумма” “разность” Свойство метрологии принадлежит параметрам и не зависит от модели Simulink (mg/Cycle) (mg/Cycle)/mBar mBar (mg/Cycle) mBar (mg/Cycle) 0…4 (mg/Cycle) mks/cycle 0…4 kg/hour 2-4
  • 8. Свойства алгоритмических данных (все свойства обязательные для заполнения при создании данных) Имя параметра / [Name] Свойство индексирование или тиражирование основных типов данных Полное название параметра / [Text] 1) индексирование по явному номеру / [Implicit Index] <параметр1>[1],[2],[3],,,,[n] Поле для дополнительных текстовых данных, 2) индексирование по значению параметра / [Explicit Index] комментариев к параметру / [Comment] <параметр1>[значение параметра2] Автор параметра / [Author] Тип данных “Точка” или “Cкаляр” Тип данных “Точка” или “Cкаляр” Тип данных “Точка” или “Cкаляр” Тип данных “Точка” или “Cкаляр” Тип данных “Точка” или “Cкаляр” yy==C yy==C y =CC C Свойство хранения параметров / [Memory Type] 1) Нет хранения, константа времени компиляции Тип данных “Линия” или “Вектор” Тип данных “Линия” или “Вектор” {c1,с2,с3,с4,с5} 2) Хранение в ОЗУ Тип данных “Линия” или “Вектор” Тип данных “Линия” или “Вектор” Тип данных “Линия” или “Вектор” “координатный вектор” Тип данных “сетка”, 3) Хранение в ПЗУ 4) Хранение в периодически перезаписываемом yy==f(x) yy =f(x) = f(x) y = f(x) f(x) EEPROM 5) Хранение в однократно перезаписываемом EEPROM (технологические данные производственных Свойство метрологии физ. величины параметра / операций) Тип данных “Поверхность” или Тип данных “Поверхность” или Тип данных “Поверхность” или [Metrology] Тип данных “Поверхность” или Тип данных “Поверхность” или Тип данных или “Матрица” или “Поверхность” У (физ) = (A*x + В) / C “Таблица” или “Матрица” “Таблица” или “Матрица” “Таблица” или “Матрица” “Таблица” или “Матрица” “Таблица” или “Матрица” “Таблица” Диапазоны метрологии / [Minimum Value] [Maximum yy== yy== Value] y= f(x,z)= y f(x,z) f(x,z) f(x,z) f(x,z) f(x,z) Свойство прямого управления / [External Access] Свойство возможности прямой внешней подстановки значения взамен рассчитываемому значению Адрес данных / [Data Address] Свойство доступа к параметру [Direct Access] Адрес фиксированный, либо определяемый сборщиком ПО Доступ к параметру через вспомогательную функцию Значения данных / [Value] (для калибровки), либо через адресацию, ОЗУ, EEPROM, – инициализационные данные определяемую сборщиком ПО (Linker) (прямой доступ) ПЗУ – постоянные данные 2-5
  • 9. Вариантная модификация данных Построение ПО многопроектных систем в одном словаре параметров Параметр Вариант 1 Вариант 2 Вариант 3 Имя параметра Имя параметра Имя параметра Имя параметра Полное название Полное название Полное название Полное название параметра параметра параметра параметра Тип данных Тип данных 1 Тип данных 2 Тип данных 3 Тип индексирования Тип индексирования 1 Тип индексирования 2 Тип индексирования 3 Значения данных Значения данных 1 Значения данных 2 Значения данных 3 Вариантная модификация данных позволяет хранить и использовать для одного и того же параметра различные типы данных, данные с различными свойствами, и различным содержанием Примеры: Настроечные константы для различных модификаций и исполнений Индексирование калибровочных данных для многотопливных системы Изменение зависимостей данных для различных проектов (константа, таблица, вектор) Использование различных векторов координат для данных (с различными зависимостями) Калибровочные данные для различных проектов (хранение самих калибровочных данных) 2-6
  • 10. MSE - инструмент для работы с словарем параметров и интерфейс словаря параметров в модели Simulink MSE предоставляет структурированный словарь параметров и функций для моделей Simulink Варианты параметров создания, модификации, хранения, навигации, поиска и выполнения прочих операций со всеми данными алгоритмов (входными и выходными параметрами, настроечными константами и калибруемыми величинами) Набор параметров MSE Инструмент для работы со словарем параметров Проект в виде моделей Simulink Один словарь может быть использован для различных проектов (моделей Simulink) Неиспользованные в проекте параметры словаря не попадают в финальный код проекта Вся необходимая информация для генерации A2l файла, кроме реальных физических адресов содержится в словаре параметров 2-7
  • 11. Использование данных словаря в среде в Simulink. Независимость алгоритмов от свойств данных. Блок чтения результата параметра словаря данных Тип данных “Точка” или “Cкаляр” MSE предоставляет интерфейс к словарю y=C параметров Тип данных “Линия” или В моделях Simulink считывается результат “Вектор” данных. y = f(x) Тип данных, свойства данных принадлежат самим данным Независимость моделей от свойств данных Тип данных “Поверхность” или “Таблица” или “Матрица” Имя параметра y= f(x,z) Блок Read Parameter Блок считывания результата параметра Тип данных “Поверхность” или “Таблица” или “Матрица” y= y= f(x,z) f(x,z) Индексированная таблица Данные Алгоритмы 2-8
  • 12. Независимость алгоритмов от свойств данных. Блок чтение параметра – Блок чтения результата Тип данных Тип данных “Поверхность” или “Поверхность” или “Таблица” [ROM] “Таблица” [ROM] y = f(x,z) y = f(x,z) Тип данных “Точка” или Тип данных “Линия” “Cкаляр” [ROM] [ROM] y=C y = f(x) Тип данных “Линия” [ROM] y = f(x) Тип данных “Линия” [ROM] y = f(x) Тип данных “Точка” или “Cкаляр” [RАM] y=C Тип данных “Точка” или Тип данных “Точка” или Тип данных “Точка” или Тип данных “Точка” или “Cкаляр” [ROM] y=C “Cкаляр” [ROM] “Cкаляр” [RАM] “Cкаляр” [RАM] y=C y=C y=C 2-9
  • 13. Технологии разработки ПО изделий Часть 3. Разработка алгоритмов. Типовые конструкции разработки алгоритмов. Автогенерация кода 3
  • 14. MSE – библиотека специальных блоков Simulink. Элементарные блоки библиотеки. Свойства блоков 1) Блоки оперируют с данными со свойствами метрологии физ. величины с автопреобразованием к требуемому результату 2) Блоки имеют встроенную диагностику соответствия метрологий аргументов, правильности диапазонов результатов 3-1
  • 15. Функциональные вызовы моделей Simulink. Библиотеки функций Simulink Action Call – блок функционального вызова либо функции C, либо модели Simulink Блок Action Call Action Definition – блок определения подсистемы Simulink, с возможностью вызова ее как функции Блок Action Definition Определена возможность создания библиотек функций объявленных как Action Definition Примеры библиотек - API функции для элементов ПО Библиотека API функций всех аналоговых каналов Библиотека API функций получения информации из CAN cообщений Библиотека API функций управления реле Библиотека объявления моделей для Модель вызываемая как функция функциональных вызовов Пример функционального вызова 3-2
  • 16. Механизм подключения или связывания различных моделей в зависимости от конфигурации Модель N1 (отдельный файл) Модель N2 (отдельный файл) Модель N3 (отдельный файл) Блок ссылок на внешние модели (отдельные файлы моделей) Модели на которые ссылается блок ссылки на модели файлы Условия подключения тех или иных моделей в зависимости от значения конфигурационных констант Примеры: Включение соответствующей модели в зависимости от комплектации системы и значения настроечной константы Модели заказчиков в зависимости от значения настроечных констант 3-3
  • 17. Размеры элементарных блоков и правила их изменения В библиотеке определены размеры следующих В библиотеке определена высота/вертикальный размер следующих блоков (запрещено изменять) блоков (разрешено изменять только ширину/горизонтальный размер) В библиотеке определена ширина/горизонтальный размер следующих блоков (разрешено изменять только высоту/вертикальный размер) 3-4
  • 18. Функциональные типовые конструкции элементарных блоков (1) Конструкции построения логических Общие правила для функциональных конструкций схем 1) Определены размеры блоков, размеры стрелок и Объединение логики Логический оператор условий <IF> взаимное расположение блоков внутри конструкции >,<,>=,<=,==,!= 2) Определено взаимное расположение нумерованных параметров, а именно, расположение слева->направо, сверху->вниз 3) В логических операторах IF А – всегда переменная величина (RAM) В – постоянная или переменная величина Конструкции выборки сигналов Максимум двух сигналов Минимум двух сигналов Подстановка значения в зависимости от Подмена сигнала при выполнении условий значения входного сигнала 3-5
  • 19. Функциональные типовые конструкции элементарных блоков (2) Конструкции счетчиков, интеграторов Счетчик с ограничением Интегратор Счетчик со сбросом в 0 при достижении порога Определение граничных условий счетчиков и интеграторов является обязательным условием их корректного использования 3-6
  • 20. Функциональные типовые конструкции элементарных блоков (3) Конструкции фильтрации, ограничение скорости изменения Апериодический фильтр первого порядка (вариант 1) Общие правила для функциональных конструкций 1) Определены размеры блоков, размеры стрелок и взаимное расположение блоков внутри конструкции 2) Входные параметры обработки и настроечные коэффициенты расположены с левой стороны, результат с правой Апериодический фильтр первого порядка (вариант 2) Линейное ограничение скорости изменения сигнала 3-7
  • 21. Функциональные типовые конструкции элементарных блоков (4) Конструкции функций. Передаточные характеристики Табличная функция натурального числа Индекс чтения параметра Обновление координаты табличной функции и чтение значения табличной функции по обновленной координате Subsystem Subsystem Функция обновление координаты 3-8
  • 22. Функциональные типовые конструкции элементарных блоков (5) Конструкции обработки сигналов. Определение изменения сигналов Определение абсолютного значения сигнала Определение положительного градиента сигнала (флаг) Определение отрицательного градиента сигнала (Флаг) Ограничение сигнала Определение изменения сигнала (Флаг) 3-9
  • 23. Функциональные типовые конструкции элементарных блоков (6) Конструкции определения диапазонов изменения сигналов Установка флага переключения диапазонов Общие правила для функциональных сигнала конструкций 1) Определены размеры блоков, размеры стрелок и взаимное расположение блоков внутри конструкции 2) Определено индексирование однотипных параметров, используемых в конструкциях Установка флага переключения диапазонов сигнала с гистерезисом 3-10
  • 24. Функциональные типовые конструкции элементарных блоков (7) Конструкции определения и функционального вызова API функций и моделей Вызов API функции, чтение Вызов API функции с результатов API функции параметрами Конструкции вызова подсистем Оператор <CASE> вызова подсистем Оператор <IF> вызова подсистем Оператор <FOR> вызова подсистем 3-11
  • 25. Сравнение подходов функциональных конструкций MSE или интегрированных элементарных блоков (Simulink) Связанные конструкции MSE построенные Интегрированные элементарные блоки с помощью элементарных блоков системы (Simulink) Фильтр Счетчик Интегратор Регулятор Плюсы: Плюсы: Схематичность Возможность контролировать и модифицировать конструкции под Минусы: любой конкретный случай. Скрытость, невозможность контроля и модификаций внутри блока Внутренние параметры конструкций, ( буферы задержек, флаги, Внутренние параметры без учета интеграторы) – параметры MSE с метрологии (цифровые величины). учетом метрологии (данные словаря) Внутренние параметры – отдельные данные Simulink (не принадлежат Возможность свободно управлять словарю параметров) внутренними параметрами конструкций Невозможность свободно управлять внутренними параметрами Минусы: Громоздкость конструкций 3-12
  • 26. Функциональные конструкции элементарных блоков. Объединение элементарных блоков, конструкций для построения более сложных схем алгоритмов 2 5 1 3 6 4 Антидребезговый фильтр дискретного сигнала Состав схемы алгоритма фильтра: Общие правила для объединения конструкций 1) Конструкция табличной функции натурального числа 2) Конструкция счетчика с ограничением 1) Минимальное число поворотов связующих стрелок 3) Конструкция определения изменения сигнала 2) Минимальное свободное пространство между 4) Конструкция сравнения сигнала с порогом конструкциями 5) Конструкция подстановки сигналов 6) Конструкция замены сигнала 3-13
  • 27. Функциональные конструкции элементарных блоков. Объединение элементарных блоков, конструкций для построения более сложных схем алгоритмов 2 1 5 3 6 4 Антидребезговый фильтр 3х диапазонного сигнала Состав схемы алгоритма фильтра: Общие правила для объединения конструкций 1) Конструкция установки флага переключения диапазонов сигнала 2) Конструкция счетчика с ограничением 1) Минимальное число поворотов связующих стрелок 3) Конструкция определения изменения сигнала 2) Минимальное свободное пространство между 4) Конструкция сравнения сигнала с порогом конструкциями 5) Конструкция подстановки сигналов 6) Конструкция замены сигнала 3-14
  • 28. MSE - Автогенерация и оптимизация кода - Генерация ANSI C с гибкой настройкой параметров, зависимых от компиляторов - Генерация кода для всего проекта “одной кнопкой” - Выборочная генерация кода моделей и словаря данных - Генерация словаря только для задействованных данных в проекте - Сохранение путей генератора кода индивидуально для каждого пользователя (многопользовательские настройки для работы на одном сервере) - Гибкие настройки оптимизации использования памяти (стек / глобальные переменные / классификаторы данных) - Оптимизация исключения переменных хранящих промежуточные вычисления - Оптимизация комбинирования операндов арифметических операций. Препроцессор констант. 3-15
  • 29. Технологии разработки ПО изделий Часть 4. Организация многопользовательской работы
  • 30. Архитектура оборудования для многопользовательской и автономной работы с использованием инструментов MSE Организация многопользовательской работы Сервер 1 для многопользовательской работы с Терминальный поддержкой удаленного доступа пользователей внутри пользователь 1 локальной сети 1) Разработка алгоритмов MSE / Simulink. Симуляция моделей 2) Компиляция, сборка ПО 3) Генерация A2L файла Терминальный 4) Генерация спецификаций ПО и документации пользователь 2 5) Хранение текущих рабочих версий проекта для каждого пользователя Терминальный пользователь 3 Сервер 2 для хранения исходных материалов ПО Система контроля версий Microsoft Team Server Терминальный пользователь 4 Организация автономной работы Автономное рабочее место 1) Разработка алгоритмов MSE / Simulink. Симуляция моделей 2) Компиляция, сборка ПО 3) Генерация A2L файла 4) Генерация спецификаций ПО и документации 5) Хранение текущей рабочей версии проекта 4-1
  • 31. Организация многопользовательской работы с использованием инструментов MSE Дисковое пространство сервера 1 для многопользовательской работы Папки пользователей Пользователь 1 Пользователь Рабочее пространство для Удаленный доступ сборки проекта 1 Сервер 2 Система контроля версий С Microsoft Team Server ое кт Пр Пользователь 2 Пользователь 2 Рабочее пространство для Удаленный доступ Проект 1 (вся история развития) кт С сборки проекта Прое Проект 2 (вся история развития) Проект С (вся история развития) Про е ... кт С Пользователь 3 Пользователь 3 Проект N (вся история развития) Пр Рабочее пространство для сборки проекта Удаленный доступ ое к тС Пользователь 4 Рабочее пространство для Удаленный доступ Пользователь 4 сборки проекта Правила многопользовательской работы с системой контроля версий 4-2
  • 32. Организация многопользовательской работы с использованием инструментов MSE с учетом территориального разделения сегментов сети Группа пользователей г. Тольятти Группа пользователей г. Москва Роутер VPN сети Сервер 1 Сервер 2 Хранение ПО пользователи Internet Группа пользователей г. Владимир Группа пользователей 4-3
  • 33. Технологии разработки ПО изделий Часть 5. Структура электронной документации с навигацией, поиском, гиперссылками
  • 34. Единая навигация моделей Simulink и документации Модель Simulink проекта Электронная документация проекта Единообразная навигация в моделях Simulink и в документации Электронная документация имеет точно такую же структуру и навигацию как и исходная модель Simulink 5-1
  • 35. Единая структура категорий словаря данных, названий элементов ПО и оглавлений документации MSE словарь данных проекта Электронная документация проекта тов ПО и , элемен я данных й словар тации категори ен труктура ий докум Единая с оглавлен Электронная документация имеет точно такую же структуру категорий словаря данных - названий элементов ПО, оглавлений документации 5-2
  • 36. Организация алфавитного поискового указателя для всех данных и функций проекта с последующей навигацией Алфавитный список всех Последующая навигация в моделях где данных и функций проекта задействован выбранный параметр 5-3
  • 37. В документации все параметры и все подсистемы являются гипессылками с последующей навигацией Цикловое наполнение по MAP При наведении курсором мыши появляется краткая информация о детализации параметра При одинарном “клике” на выбранный параметр открывается окно полной детализации с последующей навигацией в моделях, где задействован выбранный параметр 5-4
  • 38. Возможность предварительного просмотра содержимого внутри подсистемы не открывая ее (Subsystem PreView) Subsystem PreView При наведении мышки на подсистему справа открывается окно PreView 5-5
  • 39. В документации отражены свойства данных При выборе параметра отражены все его свойства, включая калибровки проекта 5-6
  • 40. Слои (Layers) разделения системного и алгоритмического ПО. Слои BIOS, API, Application Вход Функция Выход BIOS API Application API BIOS ПО имеет явное разделение на 3 слоя Application API - именованный, тарированный и конфигурируемый интерфейс Функции алгоритмического ПО к аппаратуре и его реализация Simulink+MSE через вызовы слоя BIOS BIOS API содержит минимальный Системное ПО набор функциональности процессора, канала компонентов схемы 1) Именование канала изделия. 2) Конфигурирование канала Портов ввода вывода 3) Тарирование канала АЦП, Таймеров Каналов обмена (CAN, С, ассемблер, Simulink+MSE SPI, LIN) памяти RAM, ROM, EEPROM С, ассемблер
  • 41. Примеры слоев BIOS, API API Перемещение стрелок КП API BIOS BIOS Функции API принимают Датчиков аналоговых каналов ШД процессора КП АЦП параметры позиционированием Функции API возвращают вольты АЦП стрелок ШД (шаги) API API Датчиков дискретных каналов Впрыска газовой форсунки BIOS BIOS (концевые выключатели, релейные Зажигания Компараторо, Порты ввода датчики) Функции API принимают портоы, АЦП вывода Функции API возвращают дискретные параметры управляющих сигналов токоизмерителей состояния портов (время, угловые положения) API API Датчиков частотных, импульсных Управления индикацией BIOS BIOS каналов Функции API принимают Таймерные ресурсы Шина I2C Функции API возвращают временные идентификаторы выборочной характеристики сигналов индикации сегментов (вкл/выкл) API данных Application API К-линии, LIN обмена Привода ПДЗ BIOS BIOS Функции API возвращают Функции API принимают Компараторы, UART информационные данные протоколов параметры управляющих сигналов порты. обмена (не служебные) (ШИМ) API данных, API CAN обмена Реле BIOS BIOS Функции API возвращают Функции API принимают CAN SPI информационные данные протоколов параметры идентификации обмена (не служебные) управления (вкл/выкл) API данных, API SPI обмена BIOS Иммобилизатора BIOS Функции API возвращают SPI Функции API обмениваются SPI информационные данные протоколов информационными данными обмена (не служебные)
  • 42. Уровни синхронизации. Операционная система. Машина времени. События системы Построение ПО в событийных уровнях синхронизации (Типовая схема) Приоритет Reset 1 Инициализационные уровни WakeUp 2 1ms 8 Уровни машины времени 10ms 9 100ms 10 6 гр КВ 3 Уровни событий системы 180 гр КВ 4 SPI 5 Уровни протоколов обмена CAN 6 LIN 7 Программный вызов 1 11 Уровни программных вызовов Программный вызов 2 12 Функции ПО (модели Simulink) явно размещаются в уровнях синхронизации операционной системы
  • 43. Язык именования параметров алгоритмов Правила языка именования параметров алгоритмов Приставка свойства “кличка” (alias) элемента ПО Детализация – Детализация - прилагательные существительные BIOS_ - функция уровня BIOS API_ - функция уровня API Пример: Пример: Пример: Raw - Необработанный Flag -Флаг c – константа времени компиляции AccPedSens – Датчик педали Flt -Фильтрованный State – Состояние p – параметр акселератора Up- Верхний Coeff – Коэффициент q - калибровка Dwn - Нижний MAF - расходомер Voltage – Напряжение rg – список параметров Calc - Расчитанный Current -Ток MAP – давление во впускной трубе os - системный параметр Meas - Измеренный Speed – Скорость Lowbeam - ближний свет lv – уровень ПО Mean - Средний Rate- Соотношение RPM – Тахометр cv - координатный вектор Defect- дефект m - метрология Детализация прилагательное имеет отношение к существительному Правила языка именования функций Приставка свойства “кличка” (alias) элемента Действие функции Детализация Детализация ПО (глагол) (прилагательные) (существительные) Пример: Пример: Пример: Пример: Raw - Необработанный AccPedSens – Датчик педали Flag -Флаг Get- Взять Flt -Фильтрованный акселератора State – Состояние Set- Установить Up- Верхний Coeff – Коэффициент BIOS_ - функция уровня BIOS MAF - расходомер Setup – Настроить Dwn - Нижний Voltage – Напряжение API_ - функция уровня API MAP – давление во впускной Init – Инициализировать Calc - Расчитанный Current -Ток трубе Transmit – Отправить Meas - Измеренный Speed – Скорость Lowbeam - ближний свет Receive- Принять Mean - Средний Rate- Соотношение Switch - Переключить RPM – Тахометр Defect- дефект Детализация прилагательного имеет отношение к существительному Все слова именований параметров и функций выбираются строго из словаря
  • 44. Элементы алгоритмического ПО. Состав элемента ПО Элемент ПО содержит материалы для построения независимой главы справочной документации 4. Модели Simulink. 1. Полное название элемента ПО Корневые подсистемы элемента ПО содержат полное Пример названием элемента ПО Element21 Element21 2. “Кличка” Alias элемента ПО Reset Пример Simulink Model Level Reset El21 Element21 3. Категория словаря параметров с полным названием ОСРВ TimeMachine10ms элемента ПО - глава документации Simulink Model Level 10 ms Element21 SWLevel 4. Параметры элемента ПО (с учетом правил именования) Simulink Model SW Level в категории словаря параметров элемента ПО 5. Блок связи категории набора параметров и моделей Simulink Simulink Model 6. Комплект документации элемента для каждой подсистемы