Додайте свій проект безкоштовно і почніть отримувати пропозиції від фрілансерів-виконавців вже через хвилини після публікації!
2500 ₴

Создание отладочного скетча для проекта Железнодорожные весы

проект завершено


Создание отладочного скетча для проекта Железнодорожные весы согласно ТЗ.

ТЗ.

Константы при прошивке:

длина платформы l=130 // мм

абсолютный порог датчика 1 n =-10000

абсолютный порог датчика 2 m=-10000

калибровочное значение датчика 1 k1=203857   // на 1000 кг

калибровочное значение датчика 2 k2=212963 // на 1000 кг

порог фильтрации последовательности измерений P=0,12

Алгоритм такой после включения:

Запрос программы: Положение локомотива (0 локомотива нет, 1 локомотив впереди, 2 локомотив сзади) 

//Ответ записываем в память. X

Запрос программы: Количество осей локомотива (4, 6 и т.д.)

// Ответ записываем в память. Y

Запрос программы: Количество осей вагона (4, 6)

// Ответ записываем в память. Z

Запрос программы: Количество вагонов

// Ответ записываем в память. Q

// Программа переходит в режим ожидания, согласно абсолютным порогам датчиков. В случае превышения одного из них, оба канала начинают считывание.

Считаем каждый канал следующим образом:

При проезде колеса получаем последовательность значений, например

a1, a2, a3, a4, a5, a6, a7, a8, a9, a10. Выводим эту последовательность в лог. Запоминаем количество измерений (тут c=10). Рассчитываем вес. Порядок расчета.

Значения сортируются от максимального к минимальному. Пусть в данном примере последовательность a сохранится.

От большего числа рассчитывается убывание  значения, например F1=(a1-a2)/a1, F2-=(a2-a3)/a2  и т.д. т.е. Fn=(an – an+1)/an 

Если  Fn>P, тогда an+1 и остальные an+3an+4 (проверенное число и все последующие меньшие) отбрасываются

Определяем среднее арифметическое оставшихся значений S= ∑an/n

Определяем вес колеса M=S/k, где коэффициент k соответствует каналу.

Определяем скорость проезда V=l/2.22*c   (т.к. у нас 45 Гц частота считывания)

Запоминаем V и М данной оси

Получив M1, M, считаем ось O1=M1+M2, дальше получаем M3, M4, считаем ось O2=M3+M4 и т.д.

Если вначале ожидается локомотив (X=1) с заданным количеством осей (Y=6), то расчет продолжается до получения O6. Сумма осей – это вагон (или локомотив).

После чего выводятся в лог вес каждой оси, ее скорость и общий вес осей

Локомотив

Ось 1      ХХ,ХХ т      Скорость  Х,ХХ м/с

Ось 2     ……………………………………….

….

Всего  ХХХ,ХХ т

Дальше считаются вагоны, по тому же принципу, пока количество осей вагона не сравняется с их осностью Z

Вагон 1

Ось 1      ХХ,ХХ т      Скорость  Х,ХХ м/с

Ось 2     ……………………………………….

….

Всего  ХХХ,ХХ т

………………………

Вагон  E

Ось 1      ХХ,ХХ т      Скорость  Х,ХХ м/с

Ось 2     ……………………………………….

….

Всего  ХХХ,ХХ т

 

Если X=2 (локомотив сзади), когда E=Q, и вагон Е взвешен, то система ожидает локомотив.

Если Х=1, то после локомотива, система взвешивает столько вагонов, сколько их будет, присваивая им последовательную нумерацию.

Если Х=0, локомотива нет и система взвешивает столько вагонов, сколько их будет, присваивая им последовательную нумерацию.

Відгук замовника про фрилансера Александре М.

Якість
Професіоналізм
Вартість
Контактність
Терміни

Александр - исполнитель с неравнодушным отношением к результату проектов

Андрей З. Андрей Зоц | Персональний Персональний проект

Відгук фрілансера про замовника Андрее Зоце

Оплата
Постановка задачі
Чіткість вимог
Контактність

Просто я люблю своё дело. Спасибо за проекты.

Александр М. Александр Малыгин | Персональний Персональний проект



  1.  1769 
       25   0

    7 днів2500 ₴Переможець
    Александр Малыгин перевірений 


    Україна Запоріжжя | 15 листопада о 12:52 |

Замовник
Андрей Зоц
Україна Харків  18   0
Проект опублікований
15 листопада о 12:52
1 перегляд
Качество описания проекта
0
0
100%