应用例程:西门子S7-200 SMART兼容系统(基于W5500模块)


基本信息

基于STM32F103RCT6核心板,在最小系统的基础上,添加了S7-200 SMART兼容系统。添加一路TCP/IP通讯口,TCP/IP通讯口挂载PPI协议。添加一路RS485通讯口,RS485通讯口挂载PPI协议。在电脑端打开软件STEP 7-MicroWIN SMART,分别尝试通过以太网和USB/PPI多主电缆连接兼容系统。

视频下载

暂无

实验硬件

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

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

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

W5500以太网通讯模块(1块)[ 购买 ]

TTL转RS485通讯小板(1块)[ 购买 ]

USB/PPI多主电缆(1根)

电路参考

  • CH340E通讯小板通过Micro-USB通讯线连接到电脑。
  • CH340E通讯小板连接STM32F103xC核心板
    CH340E通讯小板GND----GNDP4端子STM32F103xC核心板
    +5V----5V
    TXD----RX
    RXD----TX
  • W5500以太网通讯模块连接STM32F103xC核心板
    W5500以太网通讯模块5V----V5P1端子STM32F103xC核心板
    GND----GND
    SCS----PA7
    RST----PA6
    SCLK----PB3P2端子
    MOSI----PB5
    MISO----PB4
  • W5500以太网通讯模块通过网线连接到电脑(通过路由器或则直连)
  • TTL转RS485通讯小板连接到STM32F103xC核心板
    TTL转RS485通讯小板VCC----V5STM32F103xC核心板
    GND----GND
    DI----PC10
    DE、RE----PA8
    RO----PC11
  • USB/PPI多主电缆的USB端连接到电脑
  • USB/PPI多主电缆连接到TTL转RS485通讯小板
    USB/PPI多主电缆DB9.8----ATTL转RS485通讯小板
    DB9.3----B

图片暂缺

关键配置说明

最小系统

因为系统固件需要的FLASH空间比较大,同时使用外置FLASH存放西门子的梯形图,所以这里将用户空间BANK0和BANK1都缩小成8K。多余的空间分配给系统固件使用。

NvM数据存储

西门子梯形图存储在外置的FLASH中,而Sx200_Ecc模块需要通过NvM接口来进行数据的读取和保存,这里需要先添加NvM蓝图。在蓝图中,添加NvM模块、MemIf模块、W25Q_Fls模块、Spi模块、SPI1_SpiL模块、SPI_SpiLI模块。

在蓝图中选择模块SPI1_SpiL,确定SPI通讯的管脚分别是PB3、PB5、PB4。因为此路SPI数据量比较大(不仅连接FLASH芯片,还负连接网络芯片W5500),推荐打开DMA数据传输功能,减轻CPU的中断处理负荷。

在蓝图中选择模块Spi,在Device节点下面添加设备Devicke0,调用硬件模块SPI1_SpiL。

在蓝图中选择模块W25Q_Fls,在配置节点Chip下面添加存储芯片Chip0。选择芯片型号为W25Q16。

在蓝图中选择模块Spi,在配置节点Job下面查看系统自动添加的通讯任务:W25Q_Fls_Chip0_Spi。确认通讯设备是Device0,片选管脚是PC9。

PPI通讯协议(基于RS485)

这里需要先添加PPI通讯蓝图,在蓝图中,添加PPI模块、Rs485_PPIL模块。最小系统通常使用USART1部署Modbus协议,这里我们添加USART3来部署PPI协议。

在蓝图中选择模块USART3_AscL,确认USART3的通讯管脚分别是PC10、PC11。

在蓝图中选择模块Asc,在Device节点下面添加设备Device1,调用硬件模块USART3_AscL。这里我们配置了一个RS485收发使能脚PA8,高低平有效。

在蓝图中选择模块Rs485_PPIL,在Port节点下面添加端口Port0,调用Asc管理的设备Device1。默认的工作模式为从站,波特率为19200bps。

在蓝图中选择模块PPI,在Port节点下面添加端口Port0,调用传输模块Rs485_PPIL的端口Port0。

PPI通讯协议(基于W5500)

在原PPI通讯蓝图的基础上,添加TcpIp_PPIL模块、TcpIp模块、W5500_TcpIpL模块。Spi模块在配置NvM的时候已经添加,会自动出现。

在蓝图中选择模块W5500_TcpIpL,在LocalAddr节点下面添加网卡LocalAddr0。网卡使用SPI设备Device0进行通讯,复位管脚是PA6,默认的IP地址是192.168.1.110。

在蓝图中选择模块Spi,在配置节点Job下面查看系统自动添加的通讯任务:W5500_TcpIpL_LocalAddr0_SpiJob。确认通讯设备是Device0,片选管脚是PA7。SPI的通讯参数使用默认值。

在蓝图中选择模块TcpIp,在配置节点LocalAddr下面添加网卡LocalAddr0,调用硬件模块W5500_TcpIpL的LocalAddr0。

在蓝图中选择模块TcpIp_PPIL,在Port节点下面添加端口Port0,使用的网卡为IcpIp模块管理的LocalAddr0,其他参数可以使用默认值。

在蓝图中选择模块PPI,在Port节点下面添加端口Port1,调用传输模块TcpIp_PPIL的端口Port0。

S7x200西门子兼容扩展控制

这里需要先添加S7x200蓝图:

在蓝图中选择模块S7x200_Ecc,因为STM32F1的内存比较小,主要修改下几个块的空间分配即可。这里将程序块设置为4K,运行块设置为8K。

实验步骤

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

  • 打开软件STEP 7-MicroWIN SMART,选择通讯方式为:PC/PPI cable.PPI,手动添加PLC:2 (19.2Kbp)或通过扫描得到。

  • 在软件STEP 7-MicroWIN SMART中写一个简单程序并通过USB/PPI多主电缆将程序下载到PLC运行。进入监控模式,监控程序的运行。

  • 选择通讯方式为:Killer E2400 Gigabit Ethernet Controller.TCPIP.1(电脑连接PLC的网卡名字,不同的电脑名字不同),手动添加PLC:192.168.1.110(目前PLC不支持扫描功能)。

  • 在软件STEP 7-MicroWIN SMART中写一个简单程序并通过网线下载到PLC运行。进入监控模式,监控程序的运行。

指令说明

相关下载