[Ochiq manba] Tsement ko'p miqdorda o'lchash asbobi

——DWIN dasturchilar forumidan

DWIN forumi tomonidan tavsiya etilgan mukofotga sazovor bo'lgan ochiq kodli korpusdan qurilish sanoatida tsement komponentlari tarkibini aniqlash uchun foydalanish mumkin - T5L smart-ekraniga asoslangan tsement ko'p miqdorda o'lchash vositasi.Muhandislar T5L aqlli ekranidan elektron og'irlikni aniqlash moduli, haroratni o'lchash moduli, isitish moduli, namlik sensori va aralashtirish modulini boshqarish uchun qattiq eritma va suyuq tsement komponentlari tarkibini aniqlash funktsiyasini amalga oshirish va real vaqt rejimida tezlikni ko'rsatishni qo'llab-quvvatlash, haroratni sozlash, tarixni yozish, Bosqich parametrlarini sozlash va boshqa funktsiyalar.

1. Dastur tuzilishi

acdsb (1)

2.UI Material Displey

acdsb (2)
acdsb (4)
acdsb (3)
acdsb (5)

3.UI ishlab chiqish misoli

acdsb (6)

4.C51 dasturiy ta'minot dizayni

T5L seriyali port 2 dan foydalangan holda muhandisning boshqaruv paneli bilan bog'lanishi uchun ishga tushirish buyrug'i dasturi quyidagicha:

app_init() bekor

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

davr1 = 0;

is_period1 = 0;

uart2_init(115200);

send_bayt("AT+INIT=0\r\n",sizeof("AT+INIT=0\r\n")-1);

sys_delay_ms (2500);

sys_pic(1);

send_bayt("AT+START\r\n",sizeof("AT+START\r\n")-1);

}

Tsement tarkibini aniqlash funktsiyasini amalga oshirish uchun boshqaruv paneli bilan o'zaro ishlaydigan T5L aqlli ekranining asosiy dasturi quyidagilardan iborat:

void btn_click_handler()

{

#BTN_VAL_ADDR 0x1000 ni aniqlang

u16 btn_val;

if(is_testing&&is_sec)

{

is_sec = 0;

test_run_time++;

btn_val = sprintf(commbuff,"%02u:%02u",(u16)(test_run_time/60),(u16)(test_run_time%60));

commbuff[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP,commbuff,5);

agar(uart2rxsta&UART2_PACKET_OK)

{

if(uart2buf[0]==0x01&&uart2buf[1]==0x02)

{

init_weight = *(float*)(uart2buf+2);

init_weight *= (*(float*)flashdat);

sys_write_vp(0x1178, (u8*)&init_weight, 2);

}alse if(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = *(float*)(uart2buf+2);

init_ml /= (*(float*)flashdat+20);

sys_write_vp(0x1180, (u8*)&init_ml, 2);

}alse if(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

speed_val = *(float*)(uart2buf+2);

disp_val += (tezlik_valli * 2.45f);

sys_write_vp(0x1180, (u8*)&disp_val, 2);

}alse if(uart2buf[0]==0x04)

{

jami_num = uart2buf[1]*256+uart2buf[2];

}alse if(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

agar(1-davr)

{

is_period1 = 0;

t_sample();

if(is_testing&&is_en_tmp)

sys_write_vp(0x1170,(u8*)&tmp,2);

}

if(is_btn_scan==0)

qaytish;

is_btn_scan = 0;

sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

agar(btn_val==0)

qaytish;

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

}

 

Qo'shimcha ma'lumot uchun manba kodiga qarang.


Yuborilgan vaqt: 2023 yil 02 dekabr