C#上位机通信协议部分

本文介绍了C#上位机通过串口和CAN总线与下位机通信的方法。包括使用无线串口透传模块、TTL转RS232模块进行串口通信,以及通过CAN转WiFi、CAN转TCP实现远程通讯。内容还涉及到上位机与下位机之间如何选择合适的通讯协议,如RS232、RS485、PROFIBUS-DP,并给出了UART接收数据的代码示例。
摘要由CSDN通过智能技术生成

1.底盘上面有串口协议,可以使用无线串口进行通信,这样需要使用两个无线串口透传模块:无线转USB和无线转串口。
还需要使用转换器件TTL转RS232模块。
这种会降低难度,但是通讯范围为100m,所以要根据自己的实际需求决定要不要用这个

2.底盘上还有CAN总线通信协议,可以通过can转wifi、can转tcp把无线通信的信号转换成CAN信号。这个通讯距离是有保障的。

两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,手册里会告诉如何使用特有协议通讯。
通常上位机和下位机通讯可以采用不同的通讯协议,可以有RS232的串口通讯,或者采用RS485串行通讯,当用计算机和PLC通讯的时候不但可以采用传统的D形式的串行通讯,还可以采用更适合工业控制的双线的PROFIBUS-DP通讯,采用封装好的程序开发工具就可以实现PLC和上位机的通讯。当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。

uint32_t startByteIndex = 0;
static uint8_t buffer[500];
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
    int headerIndex = 0;
    uint8_t noHeader = 0;
    uint8_t checkSum = 0;
    uint8_t msgLength = 0;

    if(huart->Instance==USART1)
    {
        memcpy(&buffer[startByteIndex]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhhh5555666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值