[Open Source] Instrumento sa Pagsukod nga Daghang kantidad sa Semento

——Gikan sa DWIN Developer Forum

Ang award-winning nga open source nga kaso nga girekomenda sa DWIN forum mahimong magamit sa industriya sa konstruksyon aron makit-an ang sulud sa sangkap sa semento - usa ka instrumento sa pagsukod nga daghang kantidad nga semento nga gibase sa T5L smart screen.Gigamit sa mga inhenyero ang T5L smart screen aron makontrol ang electronic weight detection module, temperature measurement module, heating module, moisture sensor, ug mixing module aron maamgohan ang detection function sa solid solution ug liquid cement component content, ug pagsuporta sa real-time nga pagpakita sa rate, setting sa temperatura, rekord sa kasaysayan, setting sa parametro sa Stage ug uban pang mga gimbuhaton.

1. Istruktura sa Programa

acdsb (1)

2.UI Materyal nga Display

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

3.Ehemplo sa Pagpalambo sa UI

acdsb (6)

4.C51 software nga disenyo

Ang initialization command program para sa engineer nga makigkomunikar sa control board gamit ang T5L serial port 2 mao ang mosunod:

void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

yugto1 = 0;

is_period1 = 0;

uart2_init(115200);

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

sys_delay_ms(2500);

sys_pic(1);

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

}

Ang nag-unang programa sa T5L intelihenteng screen nga nakig-uban sa control board aron maamgohan ang function sa semento nga komposisyon detection mao ang mosunod:

void btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

kung(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);

kung(uart2rxsta&UART2_PACKET_OK)

{

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

{

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

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

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

}lain kon(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

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

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

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

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

{

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

disp_val += (speed_val*2.45f);

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

}lain kon(uart2buf[0]==0x04)

{

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

}lain kon(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

kung(is_period1)

{

is_period1 = 0;

t_sample();

kung(is_testing&&is_en_tmp)

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

}

kung(is_btn_scan==0)

pagbalik;

is_btn_scan = 0;

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

kung(btn_val==0)

pagbalik;

kung(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Tan-awa ang source code alang sa dugang.


Oras sa pag-post: Dis-02-2023