@startuml title 测量系统主框架结果图 class System_Manager { +System_Manager(); +~System_Manager(); +//初始化各个模块,包括雷达,plc,locater,terminor() +//1,读取运行环境下setting目录下的laser.prototxt,plc.prototxt,locater.prototxt,terminal.prototxt() +//2,根据配置创建雷达,plc,locater,terminal() +Error_manager init(); +//读取protobuf 配置文件() +//file:文件() +//parameter:要读取的配置() +static bool read_proto_param(std::string file, ::google::protobuf::Message& parameter); -//plc指令回调函数,当plc收到测量指令后,调用此回调函数() -//terminal_id:收到指令的终端编号() -//owner:this指针() -static Error_manager plc_command_callback(int terminal_id,void* owner); -std::vector m_laser_vector; -std::vector m_terminal_vector; -Locater* mp_locater; -Plc_Communicator* mp_plc; -//结果检验工具 -Verify_result* mp_verify_result_tool; -///terminoal 配置 -Terminal::Terminor_parameter_all m_terminal_parameter_all; -//万集雷达管理对象 -Fence_controller* mp_wj_controller; } note bottom of Plc_Communicator 详见 plc 模块 end note note bottom of Verify_result 详见 verify 模块 end note note bottom of Fence_controller 详见 wj_lidar 模块 end note note bottom of Locater 详见 locate 模块 end note note bottom of Laser_base 详见 laser 模块 end note note bottom of Terminor_parameter_all 详见 terminor 模块 end note note bottom of Terminor_Command_Executor 详见 terminor 模块 end note note left of System_Manager 系统管理类 负责各个模块配置的读取 负责各个模块的创建,运行,释放 end note System_Manager --> Plc_Communicator System_Manager --> Verify_result System_Manager --> Fence_controller System_Manager --> Locater System_Manager --> Laser_base System_Manager --> Terminor_Command_Executor System_Manager --> Terminor_parameter_all @enduml