Для студентов МГУ им. Ломоносова 10 семестрa по предмету (ИУС РВ) Архитектура управляющих систем реального времени Домашнее задание 2Домашнее задание 2 2020-08-25 СтудИзба

Домашнее задание 2

Описание

Описание файла отсутствует

Список файлов в архиве

Приведение виртуалки в порядок

Чтобы виртуалка нормально себя вела лучше переустановить virtual box tools:

#su

#apt-get update

#apt-get install linux-headers-$(uname -u)

Пойти и кликнуть в менюшке виртуальной машины «Устройства» -> «Подключить образ, …»

Зайти в проводник в виртуалке «Меню приложений» -> «Файловый мнеджер» и скопировать то, что есть на cd-rom куда-нибудь на виртуалку.

Потом запустить «<>.run»

Перегрузить виртуалку.

Теперь всё в порядке с разрешением, перетаскиванием файлов из хоста в виртуалку и обратно, …

Log1 - нормальная кодировка

**************************************** ***********

* Протокол функционального тестирования LOG1 *

* Собран компонентом tck *

* Тип компонента: TCK::TCK *

* Имя эксперимента: exp *

* Дата эксперимента: Пнд Дек 14 13:57:41 MSK 2015 *

* Продолжительность эксперимента: 7с 910мс *

* Эксперимент запущен пользователем: user *

**************************************** ***********

>>>> [0мс] от начала эксперимента

---------------------------------------- -----------

|Starting functional testing of the central computer (BCVM)

---------------------------------------- -----------

Тест "3.1.1"

---------------------------------------- -----------

|// Checking startup, first cyclogram handling on arinc and first message sending duration on mils ( 50 + 100 + 50 ).

|Switching on the 'Work' mode

|RTS_WHEN( 'H_in == 1', 200 )

---------------------------------------- -----------

>>>> [200мс] от начала эксперимента

Тест "3.1.1" не прошёл

---- Нарушены требования: BCVM.SKV.START.HTRANS

---------------------------------------- -----------

|Error: waiting too long for the 'Work' mode

---------------------------------------- -----------

Тест "3.1.2"

---------------------------------------- -----------

|// Checking if bcvm process correcly 'sensor failure flag', waiting for the main cycle of bcvm, arinc and mils delays ( 1000 + 100 + 50 ).

|RTS_WHEN( 'H_in == 0 && P_in == 0 && T_in == 0', 1150 )

---------------------------------------- -----------

>>>> [2с 300мс] от начала эксперимента

Тест "3.1.2" прошёл

++++ Выполнены требования: BCS.SKV.SENSFAIL.FLAG

Тест "3.1.3"

---------------------------------------- -----------

|// Checking if bcvm process correcly incorrect sensor data, waiting for the main cycle of bcvm, arinc and mils delays ( 1000 + 100 + 50 ).

|RTS_WHEN( 'H_in == 0 && P_in == 0 && T_in == 0', 1150 )

---------------------------------------- -----------

>>>> [4с 300мс] от начала эксперимента

Тест "3.1.3" прошёл

++++ Выполнены требования: BCS.SKV.SENSFAIL.HNEG

Тест "3.1.4"

---------------------------------------- -----------

|// Checking if bcvm process correcly incorrect sensor data, waiting for the main cycle of bcvm, arinc and mils delays ( 1000 + 100 + 50 ).

|RTS_WHEN( 'State_in == 1', 1150 )

---------------------------------------- -----------

>>>> [5с 450мс] от начала эксперимента

Тест "3.1.4" не прошёл

---- Нарушены требования: BCS.SKV.SENSFAIL.FORCEFLAG

---------------------------------------- -----------

|Error: waited too long for correct state to be stored

---------------------------------------- -----------

Readme

Василенко Анатолий

521 группа

Тест номер 1 - проваливается, потому что там происходит сравнение с тем значением, которое я передал от имени сенсора, однако при передаче по шине значение портится и "1" становитя "0.99". Что приводит к провалу теста, т.к. в требованиях написано "БЦВМ должна начать выдачу полученного от датчика (Sensor) значения параметра H_sens в хранилище".

(Видно, что иногда не правильные значения передаются и когда запускается модель "Stand" (хотя не всегда)).

(У себя я видел, как значение меняется за счёт его печати:

H_sens = 1;

while(true)

{

DelayBeforeNextOp(1000);

RTS_PRINTF( "got %f", H_in );

}

)

Тест номер 4 - проваливается, потому что в bcvm допущена ошибка:

H_out = 0.0;

T_out = 0.0;

P_out = 0.0;

State_out = State_sens; // Должно быть = любому ненулевому значению

Также в тестах 3.1.{2,3,4} в случае их успешного завершения (т.е. если bcvm будет детектировать ошибку данных), я отправляю от имени сенсора новые валидные данные и жду 1150 милисекунд, чтобы bcvm перешла в нормальный режим работы и тем самым я исключаю побочный эффект своего тест (на самом деле не принципиально важно, что я назову нормальным режимом работы, важно просто условиться, чтобы был конкретный режим работы, чтобы можно было написать тест так, чтобы после срабатывания одного теста, это не приводило к срабатыванию последующих тестов (например, у меня есть тест 3.1.2 и 3.1.3, которые выполняются последвательно, и оба проверяют, что bcvm детектирует ошибки датчика, однако если бы не было восстаноления состояния, то т.к. первый тест переводит bcvm в состояние "Sensor Failure", то второй тест будет срабатывать мгновенно за первым))

Комментарии

Сопутствующие материалы
Дата публикации 25 августа 2020 в 13:41
Рейтинг -
0
0
0
0
0
Автор Koala (- из 5)
Цена Бесплатно
Скачивания 0
Просмотры 18
Размер 2,16 Mb
Безопасность Файл был вручную проверен администрацией в том числе и на вирусы
Поделитесь ссылкой:
Свежие статьи
Популярно сейчас