Parcourir la source

20220523, 调度和plc的通信数据错误, 单片机gpio输入

huli il y a 3 ans
Parent
commit
76d9d47cf1

+ 4 - 4
dispatch/dispatch_communication.cpp

@@ -389,13 +389,13 @@ Error_manager Dispatch_communication::communication_init(int plc_id)
 	t_index += sizeof(unsigned char)*1;
 	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_error_code", typeid(unsigned int).name(), t_index,sizeof(unsigned int), 1 });
 	t_index += sizeof(unsigned int)*1;
-	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_reserved16_35", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 3 });
+	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_reserved16_35", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 20 });
 	t_index += sizeof(unsigned char)*20;
-	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_gpio_input", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 3 });
+	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_gpio_input", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 16 });
 	t_index += sizeof(unsigned char)*16;
-	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_gpio_output", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 3 });
+	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_gpio_output", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 8 });
 	t_index += sizeof(unsigned char)*8;
-	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_reserved60_79", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 3 });
+	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_reserved60_79", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 20 });
 	t_index += sizeof(unsigned char)*20;
 	t_variable_information_vector.push_back(Snap7_buf::Variable_information{"m_heartbeat", typeid(unsigned char).name(), t_index,sizeof(unsigned char), 1 });
 	t_index += sizeof(unsigned char)*1;

+ 0 - 1
dispatch/dispatch_singlechip.cpp

@@ -122,7 +122,6 @@ void Dispatch_singlechip::execute_thread_fun()
 				Dispatch_communication::Singlechip_response_from_manager_to_plc *p_response = &Dispatch_communication::get_instance_references().m_singlechip_response_from_manager_to_plc[t_temp];
 				Dispatch_communication::Singlechip_request_from_plc_to_manager *p_request = &Dispatch_communication::get_instance_references().m_singlechip_request_from_plc_to_manager[t_temp];
 
-
 				if (p_request->m_request_communication_mode != 2)
 				{
 					p_response->m_response_heartbeat = 1+p_response->m_response_heartbeat;

+ 1 - 0
setting/communication.prototxt

@@ -49,6 +49,7 @@ communication_parameters
     connect_string_vector:"tcp://192.168.2.245:30009"
     connect_string_vector:"tcp://192.168.2.233:30009"
 
+    connect_string_vector:"tcp://192.168.2.164:30009"
 
 }
 

+ 1 - 0
snap7_communication/snap7_communication_base.cpp

@@ -183,6 +183,7 @@ Error_manager t_error;
 		{
 			std::this_thread::sleep_for(std::chrono::milliseconds(m_communication_delay_time_ms));
 			std::this_thread::yield();
+
 			switch ( m_communication_status )
 			{
 			    case SNAP7_COMMUNICATION_READY:

+ 0 - 1
system/system_executor.cpp

@@ -589,7 +589,6 @@ void System_executor::execute_for_ground_status_msg(message::Ground_status_msg g
 //地面雷达的状态消息(地面雷达->null)
 void System_executor::execute_for_terminal_status_msg(message::Terminal_status_msg terminal_status_msg)
 {
-
 	Error_manager t_error;
 	t_error = Dispatch_manager::get_instance_references().execute_for_singlechip_data_msg(terminal_status_msg.singlechipdata(), terminal_status_msg.singlechip_validity());
 	if ( t_error != Error_code::SUCCESS )