专题介绍:使用向导来生成蓝图


基本信息

蓝图的结构实际反映了底层驱动的组织和调用关系,因此具有一定的复杂性。对于普通的应用,可以从需求侧提供配置要求,通过向导来自动完成蓝图的生成与关键参数的设置。这里以开发板DK60-STM32F412RE为例,介绍如何使用向导自动生成蓝图,快速完成全部的硬件配置。开发板的详细信息可以参考介绍:STM32F412开发板DK60-STM32F412RE

配置说明

在软件KQD Designer中,点击“设计”页面,在“新建”按钮弹出的菜单中,点击“通过向导创建”命令:

MCU类型

点击左侧导航的“MCU类型”,切换到MCU类型配置。这里根据开发板的信息,选择对应的MCU信息:

I/O管脚配置

点击左侧导航的“I/O管脚配置”,切换到I/O管脚配置。

根据开发板的硬件信息可知,板载了4个按键,对应的管脚分别是:PC0、PC1、PC2、PC3。按键按下时,单片机管脚被拉高,为高电平有效。外部有下拉电路,这里不用设置内部上下拉。可以设置一个滤波时间为x8。板载了4个LED灯输出,对应的管脚分别是:PA6、PA7、PB0、PB1。管脚对地导通时,可驱动LED发光,因此配置为低电平有效,开漏输出。

硬件示意图:

串口通讯

点击左侧导航的“串口通讯”,切换到串口通讯配置。

开发板使用了4个串口,其中USART1连接到USB转TTL的CH340N芯片上,USART2和USART3连接到RS485电路上。RS485电路使用自动收发控制,不用配置收发控制管脚。USART6用来连接4G-CAT1模块,这里暂时不做配置,在远程监控和物联网专题中会有详细介绍。

首先配置USART1,在列表中选择USART1,勾选“使能此串口模块”。勾选之后,下面有若干选项卡可用:

  • 硬件:勾选DMA硬件加速;设置发送管脚为PA9,接收管脚为PA10。
  • 自由口:勾选“可以在梯形图中使用STL/LAD指令手动操作此串口”。
  • MODBUS:勾选“此硬件端口可以支持MODBUS通讯协议”。
  • PPI:勾选“此硬件端口可以支持PPI通讯协议”。

    因为同一个硬件一次只能使用一种协议,前面已经开启了MODBUS协议,这里需要将启动状态设置为“Disable”。表示需要编译PPI协议的驱动但启动后并不使能。在实际使用PLC的时候,可通过PLC系统块或通过PLC指令关闭MODBUS协议后开启PPI协议。

USART2、USART3的配置和USART1基本一致。硬件上都尽量开启DMA加速以节约CPU的时间,设置好对应的收发管脚、使能相关协议即可。

硬件示意图:

CAN通讯

点击左侧导航的“CAN通讯”,切换到CAN通讯配置。

开发板使用了2个CAN通讯口,分别对应MCU的CAN1和CAN2。

首先配置CAN1,在列表中选择CAN1,勾选“使能此CAN模块”。勾选之后,下面有若干选项卡可用:

  • 硬件:设置发送管脚为PB9,接收管脚为PB8。
  • 自由口:勾选“可以在梯形图中使用STL/LAD指令手动操作此CAN口”。
  • MODBUS:勾选“此硬件端口可以支持MODBUS通讯协议”。
  • PPI:勾选“此硬件端口可以支持PPI通讯协议”。

CAN2的配置和CAN1基本一致。设置好对应的收发管脚、使能相关协议即可。

硬件示意图:

SPI通讯

点击左侧导航的“SPI通讯”,切换到SPI通讯配置。

网卡W5500、液晶屏SSD1306、存储芯片W25Q128均通过SPI1连接到MCU。他们之间通过不同的片选管脚来对SPI1进行分时复用。在SPI通讯配置中,只需要配置SPI1即可。在列表中选择SPI1,勾选“使能此SPI模块”。勾选之后,下面有若干选项卡可用:

  • 硬件:勾选DMA硬件加速;设置时钟SCLK为PB3,主发从收MOSI为PB5、从发主收MISO为PB4。
  • 自由口:因为不需要STL/LAD指令手动操作,这里不勾选。

I2C通讯

点击左侧导航的“I2C通讯”,切换到I2C通讯配置。

开发板上只有铁电存储芯片MB85RC64通过I2C1连接到MCU。在I2C通讯配置中,只需要配置I2C1即可。在列表中选择I2C1,勾选“使能此I2C模块”。勾选之后,下面有若干选项卡可用:

  • 硬件:勾选DMA硬件加速,这里需要将发送DMA修改为DMA1_Stream7,否和会和前面串口的DMA冲突;设置控制管脚SCL为PB6、数据管脚SDA为PB7。
  • 自由口:因为不需要STL/LAD指令手动操作,这里不勾选。

TCP/IP通讯

点击左侧导航的“TCP/IP通讯”,切换到TCP/IP通讯配置。点击添加按钮,添加W5500网卡驱动:

在列表中选择W5500A,下面有若干选项卡可用:

  • 硬件:SPI选择MCU的SPI1模块;片选管脚设置为PC12;芯片复位脚设置为PC13。因为STM32F412内存比较充足,这里推荐使用原始MAC模式,即使用软TCP/IP协议栈,方便集成后续的物联网或PROFINET协议。
  • 自由口:勾选“可以在梯形图中使用STL/LAD指令手动操作此TCP/IP端口”,并将最大SOCKET数量设置为4。
  • MODBUS:勾选“此硬件端口可以支持MODBUS通讯协议”。
  • PPI:勾选“此硬件端口可以支持PPI通讯协议”。
  • PROFINET:勾选“此硬件端口可以支持PROFINET通讯协议”。
  • KQDNET:不勾选,这里暂时不做配置,在远程监控和物联网专题中会有详细介绍。
  • MQTT:不勾选,这里暂时不做配置,在远程监控和物联网专题中会有详细介绍。

硬件示意图:

非易失存储器

点击左侧导航的“非易失存储器”,切换到非易失存储器配置。

点击添加按钮,添加W25Q存储芯片;选择芯片编号为W25Q128、SPI使用SPI1、CS管脚为PD2。

硬件示意图:

点击添加按钮,添加AT24存储芯片;选择芯片编号为AT24C64(板载芯片为MB85RC64读写协议兼容)、I2C使用I2C1、I2C地址为0xA0。

硬件示意图:

添加了两个存储芯片后,需要指定存储位置。文件保存位置为驱动中除掉电保持以外的信息存储在哪个芯片上,因为其中包含西门子梯形图等比较大的文件,建议存放到外置FLASH中,即W25Q。PLC掉电保持数据因为经常需要更新,故存放在AT24中(铁电存储器MB85RC64)。最后指定下掉电保持区域的大小为1K。

FCC控制系统

点击左侧导航的“FCC控制系统”,切换到FCC控制系统配置。

连接协议将PPI和MODBUS都勾选上,这样对于一次只能跑一种协议的串口,不论工作在MODBUS协议下,还是工作在PPI协议下,都可以通过KQD Application Editor进行编程。指定RUN、COM、ERR三个状态指示灯的管脚分别为PC4、PC5、PA4,低电平有效。

硬件示意图:

S7-200 SMART兼容系统

点击左侧导航的“S7-200 SMART兼容系统”,切换到S7-200 SMART兼容系统配置。

勾选“使能S7-200 SMART兼容系统”,文件大小可以使用默认值。在系统块配置中,使能西门子系统块对TCP/IP端口的配置,并选择配置作用于W5500A这个以太网口。使能西门子系统块对RS485端口的配置,并选择配置作用于USART2这个RS485口。使能西门子系统块中的输出保持配置,使能西门子系统块中的掉电保持设置。

微型LCD液晶屏

点击左侧导航的“微型LCD液晶屏”,切换到微型LCD液晶屏配置。

点击添加按钮,添加SSD1306芯片;图像模式为128x64、SPI选择SPI1、CS管脚为PC8、复位管脚为PA8、DC管脚为PC9。

硬件示意图:

配置导入与导出

在生成蓝图之前,也可以点击“导出”按钮,将向导配置导出成文件,供下次使用。

以上向导配置也可以在此处下载:DK60-STM32F412RE-Wizard.bin

生成蓝图

点击确认,即可自动生成蓝图。