|
@@ -535,17 +535,20 @@ void Go_homepage(void)
|
|
|
void Lcd_Init(void)
|
|
|
{
|
|
|
//初始化界面
|
|
|
-
|
|
|
+ uint8_t i=0;
|
|
|
|
|
|
WrDwinCmd16(ADDR_DWIN_CoverSmall,0x00);//人孔小盖关
|
|
|
// HAL_Delay(15);
|
|
|
WrDwinCmd16(ADDR_DWIN_CoverBig,0x00);//人孔大盖关
|
|
|
// HAL_Delay(15);
|
|
|
- WrDwinCmd16(ADDR_DWIN_HaiDiFa,0x00);//底阀关
|
|
|
+ //WrDwinCmd16(ADDR_DWIN_HaiDiFa,0x00);//底阀关
|
|
|
// HAL_Delay(15);
|
|
|
+ for(i=0;i<StoreNumber;i++){
|
|
|
+ WrDwinCmd16(ADDR_DWIN_UnloadVlave_Status+2*i, VALVESTATUS_CLOSE);
|
|
|
+ WrDwinCmd16(ADDR_DWIN_SeaVlave_Status+2*i, VALVESTATUS_CLOSE);
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- WrDwinCmd16(ADDR_DWIN_XieYouFa,0x00);//卸油阀关
|
|
|
+ //WrDwinCmd16(ADDR_DWIN_XieYouFa,0x00);//卸油阀关
|
|
|
// HAL_Delay(15);
|
|
|
|
|
|
WrDwinCmd16(ADDR_DWIN_Seal_Lock,0xff);//锁不显示--
|
|
@@ -681,18 +684,30 @@ void Lcd_Init(void)
|
|
|
输入:无
|
|
|
输出返回:无
|
|
|
******************************************************************************/
|
|
|
-uint8_t a=0,b=0,c=0,d=0,i =0;
|
|
|
-uint8_t e1=0,f1=0,g1=0,h1=0;
|
|
|
+//uint8_t a=0,b=0,c=0,d=0;
|
|
|
+uint8_t e1=0,f1=0;
|
|
|
void Dispaly_CarAndValveState(void)
|
|
|
{
|
|
|
uint8_t e=0,f=0,g=0,h=0;
|
|
|
- e=0,f=0,g=0,h=0;
|
|
|
+ uint8_t i=0;
|
|
|
+
|
|
|
+ uint8_t SeaValue001=0x00;//8个海底阀的状态
|
|
|
+ uint8_t UnloadingValve001=0x00;//8个泄油阀的状态
|
|
|
+ uint8_t ManHole_CoverBig001=0x00;//8个人孔大盖的状态
|
|
|
+ uint8_t ManHole_CoverSmall001=0x00;//8个人孔小盖的状态
|
|
|
+ //uint8_t Unloaded001=0x00;//8个卸尽状态, 卸尽仓置1
|
|
|
+
|
|
|
+ static uint8_t static_unloadvalve_state[8] ={VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK\
|
|
|
+ ,VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK};
|
|
|
+ static uint8_t static_seavalve_state[8] ={VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK\
|
|
|
+ ,VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK,VALVESTATUS_BREAK};
|
|
|
+
|
|
|
for(i=0;i<StoreNumber;i++)
|
|
|
{
|
|
|
- a|= (0x0001&(IO_Date.IO_state[0]>>i*4))<<i;
|
|
|
- b|= (0x0001&(IO_Date.IO_state[0]>>(i*4+1)))<<i;
|
|
|
- c|= (0x0001&(IO_Date.IO_state[0]>>(i*4+2)))<<i;
|
|
|
- d|= (0x0001&(IO_Date.IO_state[0]>>(i*4+3)))<<i;
|
|
|
+ //a|= (0x0001&(IO_Date.IO_state[0]>>i*4))<<i;
|
|
|
+ //b|= (0x0001&(IO_Date.IO_state[0]>>(i*4+1)))<<i;
|
|
|
+ //c|= (0x0001&(IO_Date.IO_state[0]>>(i*4+2)))<<i;
|
|
|
+ //d|= (0x0001&(IO_Date.IO_state[0]>>(i*4+3)))<<i;
|
|
|
e|= (0x0001&(IO_Date.IO_normalstate[0]>>i*4))<<i;
|
|
|
f|= (0x0001&(IO_Date.IO_normalstate[0]>>(i*4+1)))<<i;
|
|
|
g|= (0x0001&(IO_Date.IO_normalstate[0]>>(i*4+2)))<<i;
|
|
@@ -707,6 +722,9 @@ void Dispaly_CarAndValveState(void)
|
|
|
// WrDwinCmd16(0x1003,b);//人孔大盖关
|
|
|
// WrDwinCmd16(0x1006,d);//底阀关
|
|
|
// WrDwinCmd16(0x1009,c);//卸油阀关
|
|
|
+
|
|
|
+ PreProcess_GetValveStatus(&ManHole_CoverBig001, &ManHole_CoverSmall001, &SeaValue001, &UnloadingValve001);
|
|
|
+
|
|
|
if(e1!=e)
|
|
|
{
|
|
|
WrDwinCmd16(ADDR_DWIN_StateYiChang_CoverSmall,e);//人孔小盖异常
|
|
@@ -717,6 +735,8 @@ void Dispaly_CarAndValveState(void)
|
|
|
WrDwinCmd16(ADDR_DWIN_StateYiChang_CoverBig,f);//人孔大盖异常
|
|
|
f1=f;
|
|
|
}
|
|
|
+
|
|
|
+#if 0
|
|
|
if(h1!=h)
|
|
|
{
|
|
|
WrDwinCmd16(ADDR_DWIN_StateYiChang_HaiDiFa,h);//底阀异常
|
|
@@ -727,6 +747,44 @@ void Dispaly_CarAndValveState(void)
|
|
|
WrDwinCmd16(ADDR_DWIN_StateYiChang_XieYouFa,g);//卸油阀异常
|
|
|
g1 = g;
|
|
|
}
|
|
|
+#else
|
|
|
+ for(i=0;i<StoreNumber;i++)
|
|
|
+ {
|
|
|
+ uint8_t status = VALVESTATUS_CLOSE;
|
|
|
+ if((g&(0x01<<i)) > 0){ //异常了
|
|
|
+ status = VALVESTATUS_EXCEPTION;
|
|
|
+ }else{
|
|
|
+ if((UnloadingValve001&(0x01<<i)) == 0){ //关
|
|
|
+ status = VALVESTATUS_CLOSE;
|
|
|
+ }else{ //开
|
|
|
+ status = VALVESTATUS_OPEN;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(static_unloadvalve_state[i] != status){
|
|
|
+ WrDwinCmd16(ADDR_DWIN_UnloadVlave_Status+2*i, status);
|
|
|
+ static_unloadvalve_state[i] = status;
|
|
|
+ }
|
|
|
+
|
|
|
+ //SealVlave
|
|
|
+ if((h&(0x01<<i)) > 0){ //异常了
|
|
|
+ status = VALVESTATUS_EXCEPTION;
|
|
|
+ }else{
|
|
|
+ if((SeaValue001&(0x01<<i)) == 0){ //关
|
|
|
+ status = VALVESTATUS_CLOSE;
|
|
|
+ }else{ //开
|
|
|
+ status = VALVESTATUS_OPEN;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(static_seavalve_state[i] != status){
|
|
|
+ WrDwinCmd16(ADDR_DWIN_SeaVlave_Status+2*i, status);
|
|
|
+ static_seavalve_state[i] = status;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+#endif
|
|
|
#if 0
|
|
|
if(Full_Oil_allinfo.Null_ID!=Full_Oil_allinfo.Null_ID_disp)
|
|
|
{
|