应用例程:基于CAN的MODBUS通讯实现PLC的相互连接基本信息通过两块STM32F103RCT6核心板,演示如何通过基于CAN的MODBUS通讯进行数据的发送与接收。核心板B采集电位器的数据,转换为电压后,通过CAN发送到核心板A,核心板A接收到数据后,将数据通过OLED屏显示出来。 视频下载暂无 实验硬件STM32F103RCT6核心板(2块)[ 购买 ]: CH340E通讯小板(2块)[ 购买 ]: Micro-USB通讯线(2根)[ 购买 ]: OLED屏SSD1306(1块)[ 购买 ]: 可调电位器模块(1块)[ 购买 ]: CAN通讯模块(2块)[ 购买 ]: 电路参考
关键配置说明为了简化,这里STM32F103xC核心板A与核心板B采用同一套硬件配置。
添加Can蓝图,在蓝图中添加CAN通讯驱动管理模块Can、CAN通讯底层模块CAN1_CanL、CAN通讯底层实现模块CAN_CanLI。 选择模块Can,在配置节点Controller中,添加控制器Controller0,使用的底层实现为CAN1_CanL。在确认下默认的总线波特率是否为500K。 在Modbus的下级添加模块Can_ModbusL。Can_ModbusL的Port中添加Port0,控制器选择前面配置的Controller0。 在Modbus的Port中添加Port1,Port1的Module指定为Can_ModbusL,Port指定为Port0。 添加Modbus蓝图,这样在梯形图中可以调用Modbus指令发起主站通讯: A/D转换器、OLED屏的配置可以参考以下两个例程: 应用程序梯形图(核心板A,接收并显示)NETWORK 0 使能CAN通讯Modbus主站与从站,设置本站站号为4: NETWORK 1 获取CAN通讯Modbus从站状态: NETWORK 2 通讯过来的数据写入VW20供液晶屏显示: NETWORK 3 通讯状态统计,转换成字供液晶屏显示: 液晶屏配置(核心板A,接收并显示)梯形图(核心板B,采集并发送)NETWORK 0 使能CAN通讯Modbus主站与从站,设置本站站号为4: NETWORK 1 获取CAN通讯Modbus从站状态: NETWORK 2 通讯过来的数据写入VW20供液晶屏显示: NETWORK 3 通讯状态统计,转换成字供液晶屏显示: 实验步骤
指令说明相关下载
|