如何创建一个C#gui来运行simulink模型?

如何创建一个C#gui来运行simulink模型?,c#,matlab,simulink,communication,C#,Matlab,Simulink,Communication,我不熟悉Matlab,并试图用C#为simulink模型编写一个基于winform的GUI。但我有一个问题,那就是如何有效地与他们沟通 我试着在C#和matlab之间进行COM通信,但加载模型后,它被冻结了 C#代码: 对我来说,这看起来像是缓冲区溢出,但我找不到有关该主题的任何资源 我怎样才能防止冰冻 我尝试用udp协议与c#和matlab通信来控制simulink模型。我编写了一个matlab脚本作为桥接器。然而,我意识到我需要创建多个线程来相互通信。即使我使用matlab中的并行计算工具箱

我不熟悉Matlab,并试图用C#为simulink模型编写一个基于winform的GUI。但我有一个问题,那就是如何有效地与他们沟通

  • 我试着在C#和matlab之间进行COM通信,但加载模型后,它被冻结了
  • C#代码:

    对我来说,这看起来像是缓冲区溢出,但我找不到有关该主题的任何资源

    我怎样才能防止冰冻

  • 我尝试用udp协议与c#和matlab通信来控制simulink模型。我编写了一个matlab脚本作为桥接器。然而,我意识到我需要创建多个线程来相互通信。即使我使用matlab中的并行计算工具箱,我也无法完成它
  • matlab脚本:

    u = udp('', 'LocalHost', '127.0.0.1', 'LocalPort', 49013);
    fopen(u);
    while(true)
        command = fread(u);
    
       if(command == 1)
            %start model 
            set_param('model','SimulationCommand','start')
          
        elseif(command == 3)
            %pause model 
            set_param('model','SimulationCommand','pause')
        .
        .
        .
        else(command == 4)
            %stop model 
            set_param('model','SimulationCommand','pause')
        end
    end
    
    在matlab中有没有一种相互通信线程的方法

    任何建议都很好

    u = udp('', 'LocalHost', '127.0.0.1', 'LocalPort', 49013);
    fopen(u);
    while(true)
        command = fread(u);
    
       if(command == 1)
            %start model 
            set_param('model','SimulationCommand','start')
          
        elseif(command == 3)
            %pause model 
            set_param('model','SimulationCommand','pause')
        .
        .
        .
        else(command == 4)
            %stop model 
            set_param('model','SimulationCommand','pause')
        end
    end