应用例程:通过CAN进行下载监控


基本信息

基于STM32F103RCT6核心板,在最小系统的基础上,添加一路CAN通讯口。CAN通讯口挂载MODBUS协议后,在电脑端通过CANalyst-II连接到开发板并进行梯形图程序的下载和监控。

视频下载

暂无

实验硬件

STM32F103RCT6核心板(1块)[ 购买 ]

CH340E通讯小板(1块)[ 购买 ]

Micro-USB通讯线(1根)[ 购买 ]

CAN通讯模块(1块)[ 购买 ]

CAN分析仪CANalyst-II(1个)[ 购买 ]

电路参考

  • CH340E通讯小板通过Micro-USB通讯线连接到电脑。
  • CH340E通讯小板连接STM32F103xC核心板
    CH340E通讯小板GND----GNDP4端子STM32F103xC核心板
    +5V----5V
    TXD----RX
    RXD----TX
  • CAN分析仪通过USB连接到电脑。
  • CAN通讯模块连接STM32F103xC核心板
    CAN通讯模块VCC----V5P1端子STM32F103xC核心板
    TX----PB9P2端子
    RX----PB8
    GND----GNDP1端子
  • CAN分析仪连接CAN通讯模块
    CAN分析仪连接CAN1-H----CANHCAN通讯模块
    CAN1-L----CANL

关键配置说明

在Fcc蓝图中,选择Rtu_ModbusL模块,点击鼠标右键,添加Can_ModbusL模块。

分别添加Can模块、CAN1_CanL模块、CAN_CanLI模块。

蓝图中选择CAN1_CanL模块,在配置节点中选择Pin,确认单片机使用的管脚是:PB9(发送)、PB8(接收)。

蓝图中选择Can模块,在配置节点中选择Controller,添加节点Controller0,使用的CAN底层实现为CAN1_CanL。

蓝图中选择Can_ModbusL模块,在配置节点中选择Port,添加端口Port0,使用的控制器为Controller0。

蓝图中选择Modbus模块,在配置节点中选择Port,添加端口Port1,使用的MODBUS传输层是Can_ModbusL模块下面的端口Port0。

应用程序

梯形图程序:OB

NETWORK 0 M0.0和M0.1都有效后,MW20会进行自加

实验步骤

  • 将配置上传到服务器,固件下载到STM32F103xC核心板

  • 编写好梯形图后,双击项目管理中的通讯,在通讯设置中选择通讯方式为CANAlyst-II,确认参数无误后,点击确认按钮,然后将梯形图下载到核心板。

  • 连线后,分别将M0.0、M0.1置1,然后观察变量VW20的变化。

指令说明

其他

MODBUS基于CAN的传输层协议说明:

请求

Master -> Slave (Query)
M > S FF:[04][MA][SA][BytesCount:2][BytesCRC:2]
M < S FF:[05][SA][MA]
OR [45][SA][MA] Busy, Try Later...
OR [85][SA][MA] Buffer Error...
M > S CF:[06][MA][SA][Byte0...Byte4]
M > S CF:[06][MA][SA][Byte5...Byte9]
M > S CF:[06][MA][SA][Byte10...Byte14]

应答

Master <- Slave (Reply)
M < S FF:[07][SA][MA][BytesCount:2][BytesCRC:2]
M > S FF:[08][MA][SA]
OR [88][SA][MA] Buffer Error...
M < S CF:[09][SA][MA][Byte0...Byte4]
M < S CF:[09][SA][MA][Byte5...Byte9]
M < S CF:[09][SA][MA][Byte10...Byte14]

相关下载