应用例程:通过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 | ---- | GND | P4端子 | STM32F103xC核心板 |
+5V | ---- | 5V |
TXD | ---- | RX |
RXD | ---- | TX |
- CAN分析仪通过USB连接到电脑。
-
CAN通讯模块连接STM32F103xC核心板
CAN通讯模块 | VCC | ---- | V5 | P1端子 | STM32F103xC核心板 |
TX | ---- | PB9 | P2端子 |
RX | ---- | PB8 |
GND | ---- | GND | P1端子 |
-
CAN分析仪连接CAN通讯模块
CAN分析仪连接 | CAN1-H | ---- | CANH | CAN通讯模块 |
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] |
相关下载
|