最近根据要求要利用simulink中RS232模块与下位机进行通讯
配置环境:MATLAB2018b、工控机
1、工控机串口配置信息
不同的工控机上会有不同数量的串口,可以进行不同类型协议的通讯,本文因为工控机需要和simulink进行通讯,所以利用的是RS232协议进行通讯。
首先需要得到工控机上各串口的配置信息,开机进入工控机BIOS,在Advance中找到SIO Configure,就可以找到每个串口对应的中断序列号IRQ和IO口号,如本文中使用IRQ=4,IO=3E0h
2、上位机向下位机发送信号
在simulink中调用BaseboardSerial模块,并对串口的信息进行配置



上位机设置一个方波信号向下位机发送,并利用串口助手进行观察

3、利用上位机向下位机发送特定字符指令

利用串口助手进行观察,发现指令一直在循环发送,不符合只发送一次的要求。

为了解决循环发送指令的问题,可以通过检测指令中的特定字符,并利用enable实现对模块是否运行

利用串口助手观察,发现指令只发送一次,达到了需要的效果。

本文介绍了如何在MATLAB2018b的Simulink环境中,利用RS232模块与工控机进行串口通讯。首先,详细讲述了获取工控机串口配置信息的方法,包括IRQ和IO口号。接着,演示了在Simulink中配置BaseboardSerial模块,并通过发送方波信号进行测试。最后,针对指令循环发送的问题,提出了通过检测特定字符来控制模块运行的解决方案,成功实现了只发送一次指令的需求。
2078

被折叠的 条评论
为什么被折叠?



