void Periodic_run(){ if(T_1ms){ // Read Arduino AI read_analog(); T_1ms = false; } if(T_10ms){ //read_analog(); T_10ms = false; } if(T_20ms){ // send and recieve RS485 send_485(); recieve_485(); T_20ms = false; } if(T_50ms){ // Read Arduino DI read_digital(); T_50ms = false; } if(T_100ms){ T_100ms = false; } if(T_200ms){ T_200ms = false; } if(T_500ms){ // RS485 recieve (for developing) recieve_485_0(); T_500ms = false; } if(T_1000ms){ // Read MC9 PV for(int i=0 ; i < 2 ; i++){ if(RS485_1_Addr[i] > 0){ write_buff(Buff_485_1_Wr, msg_MC9_PV(RS485_1_Addr[i])); } } T_1000ms = false; } if(T_2000ms){ if(numOf485 > 0){ Serial.print("----- remain 485 buff : "); // For Serial.println(numOf485); // Debugging } T_2000ms = false; } if(T_5000ms){ // Read MC9 SV for(int i=0 ; i < 2 ; i++){ if(RS485_1_Addr[i] > 0){ write_buff(Buff_485_1_Wr, msg_MC9_SV(RS485_1_Addr[i])); } } T_5000ms = false; } } void timer_1ms(){ msCnt += 1; T_1ms = true; if (msCnt % 10 == 0){ T_10ms = true; } if (msCnt % 20 == 0){ T_20ms = true; } if (msCnt % 50 == 0){ T_50ms = true; } if (msCnt % 100 == 0){ T_100ms = true; } if (msCnt % 200 == 0){ T_200ms = true; } if (msCnt % 500 == 0){ T_500ms = true; } if (msCnt % 1000 == 0){ T_1000ms = true; } if (msCnt % 2000 == 0){ T_2000ms = true; } if (msCnt > 5000){ T_5000ms = true; msCnt = 0; } }