COMX51 基于 STM32 实现 PROFINET 从站开发

  • 关键词: COMX51 STM32 PROFINET
  • 摘要:comX CA-RE 实时以太网嵌入式模块(如图 1 所示)的主机接口为50根管脚的排针,支持所有主流的实时工业以太网协议(EtherCAT、PROFINET IO、Ethernet/IP、PowerLink、Sercos III、Modbus TCP 等),其协议堆栈作为可装载的 固件存储在内部 Flash中。

blob.png

1.产品简介

1.1 COMX 和 COMXEB 硬件产品介绍

comX CA-RE 实时以太网嵌入式模块(如图 1 所示)的主机接口为 50 根管脚的排针,支持所有主流的实时工业以太网协议(EtherCAT、PROFINET IO、Ethernet/IP、PowerLink、Sercos III、Modbus TCP 等),其协议堆栈作为可装载的固件存储在内部 Flash 中。在系统启动时,comX 模块会自动装载保存在 Flash 中的协议固件。如果要使用其它的实时以太网协议堆栈,可重新通过软件更新协议栈即可。

blob.png

           图 1 comX CA-RE 嵌入式模块

COMXEB 是针对 comX 嵌入式模块的评估测试版,可实现通过主机接口或诊断口连接到 PC 或者网络。通过 COMXEB 采用 netHOST 可以进行协议栈的下载与更新,通过 USB 诊断口进行非周期诊断,或者通过 SPM via USB 接口进行周期数据的发送。

1.2 实验目的

本测试采用 COMXEB 的 SPM 接口,通过跳线连接到 STM32 开发板,然后运行 STM32 F7 PROFINET 应用程序配置 comX 51CA-RE。PROFINET 主站采用西门子 PLC1200,并在博途中创建 PROFINET 网络组态,进行通讯测试。

blob.png

                  图 2 COMXEB 与 STM32 开发板连接图

2. 实验准备

试验所需设备:

blob.png

3.硬件连接图

根据 netX 芯片与 Host CPU 通过 SPI 的连接方式,如下图图 3 所示,将

COMXEB 与 STM32 开发板连接起来。

blob.png

                                               图 3 SPI 连接方式

comX CA-RE 的以太网口通过交换机连接到 PLC1200,然后将 PC 以太网口连接到交换机,以便进行以太网组态。同时,STM32 通过 USB 接口进行供电,comX 嵌入式模块通过 USB 进行协议线的下载和更新,硬件连接框图如下图所示:

blob.png

                                                  图 4 硬件连接框图

4. 软件安装

首先,对于下载协议栈的软件 netHOST,无需安装,可直接点击运行。若电脑中未安装 USB 驱动,需要安装 USB 驱动,赫优讯提供相应的驱动安装包,双击安装文件,根据提示进行一步步操作。

安装 STM32 编译环境 System Workbench for STM32,需在 JAVE jdk 环境下安装,可根据系统提示选择并下载安装文件。

安装串口工具 Tera Term ,用来查看 STM32 工程编译后的打印信息。

安装西门子博软件,用于 PROFINET 网络组态。

5. 实例介绍

本文以 comX 51CA-RE 作为 PROFINET 从站,通过 SPI 的方式连接到 STM32

开发板,并通过基于 STM32 开发板的软件程序,实现应用程序的开发。以西门

子 PLC 作为 PROFINET 主站,与 comX 进行数据的接收和发送。

5.1 配置 comX 51CA-RE

comX 51CA-RE 嵌入式模块基于赫优讯 COMXEB 开发板,采用 netHOST 软

件进行协议栈的下载与更新,在 COMXEB 开发板上有两个 USB 接口可以选择,

如下图所示,下面分别介绍通过这两种方式配置 comX 51。

blob.png

                            图 5 COMXEB 开发板硬件图

(1) 选择(16) X829 为 SPM via USB 接口,首先选择 SPM 的方式对 comX51

进行配置,需要设置滑动开关 S701 和 S302 拨码,设置如下图所示:

① S701 设置

blob.png

                                 图 6 滑动开关 S701 设置

② S302 设置

blob.png

                                    图 7 滑动开关 S302 设置

其次需要对 S700 滑动开关进行设置,因通过 USB 进行配置,所以 X829 设置为具体设置方式如下:

blob.png

                                   图 8 接口方式选择

通过串口选择对 comX 51CA-RE 进行配置,原理图如下图所示:

blob.png

                                                   图 9 串口形式

通过 SPM via USB 接口,打开 netHOST 软件,首先选择相应的驱动 SelectnetX SPM USB Driver,然后点击 Open,如下图所示:

blob.png

                                     图 10 选择驱动

打开之后,选择 cifx0,然后点击右下侧 Open 按钮,打开通道,如下图所示:

blob.png

                                               图 11 打开通道

打开通道之后,选择 Device,点击 Download,进行协议栈的下载,如下图 所示:

blob.png

                                               图 12 点击下载

进入下载界面之后,在 Download Mode 的下拉界面选择 Firmware Download,如下图所示:

blob.png

                                  图 13 选择 Firmware 下载模式

Download Mode 选择好之后,点击路径按钮,选择相应的协议栈,点击打开按钮,如下图所示:

blob.png

                                        图 14 选择相应的协议栈

选择好相应的协议栈,点击 Download 即可,如下图所示:

blob.png

                                        图 15 下载协议栈

blob.png

                                           图 16 下载完成

当下面的 Progress 的进度条显示完全之后,就是完成了协议栈的下载。将通道Close 即可,点击 Device,选择 Close,如下图所示:

blob.png

                                    图 17 关闭通道

协议栈下载之后,可重新启动 comX 51CA-RE,然后打开通道可以看到已经 下载的协议栈,如下图所示:

blob.png

                                         图 18 协议栈显示

(2) 选择 17 口 X611 对 comX 51CA-RE 进行协议栈下载时,只需要通过USB 口连接到电脑即可,如下图所示:

blob.png

                              图 19 通过 USB 方式

具体的设置步骤与通过串口的方式一样,只是在第一步需要选择 USB 的驱动,如下图所示。其余的下载步骤请参考通过串口的方式。

blob.png

                        图 20 选择 USB 驱动

若需要更换其他协议栈,需先将原来的协议栈删除,重新下载,删除协议的方式如下图所示,选择 Device,点击 File Explorer,选择文件资源管理器。

blob.png

                                       图 21 选择文件资源管理器

进入文件资源管理器之后,选择协议栈,点击右侧的 Delete 按钮即可,如下图所示:

blob.png

                                   图 22 删除协议栈

删除协议栈之后,按照之前的下载步骤,选择相应的协议栈进行下载即可。

5.2 组态 PROFINET 网络

在博图软件中创建工程文件,对 PROFINET 网络进行组态。首先需要将COMX 51XX-RE/PNS 的设别描述文件导入到博图软件中,在博途中创建的网络结构如下图所示,注意,PLC 和电脑的 IP 地址在同一个网段之内。

blob.png

                                           图 23 网络组态

组态好网络之后,将所有配置信息下载到 PLC 中,如下图所示:

blob.png

                                      图 24 装载配置信息

下载完之后,直接点击完成即可。

5.3 运行软件程序

打开 System Workbench for STM32 软件,选择上侧导航栏 File→Import,导入工程文件,如下图所示:

blob.png

下载完之后,直接点击完成即可。

5.3 运行软件程序

打开 System Workbench for STM32 软件,选择上侧导航栏 File→Import,导

入工程文件,如下图所示:

blob.png

                                      图 26 选择将文件保存

然后进入具体的工程文件选项,如下图所示:

blob.png

                                              图 27 选择文件

点击 Brown,根据相应的路径选择 STM32 文件夹中的 Project,如下图所示:

blob.png

                                                    图 28 工程文件

赫优讯提供的资料中包含多种以太网实例,用户可根据自己的测试选择相应的文件,本文测试 PROFINET,所以可只选择 PROFINET 工程文件。导入文件之后,需要更改热启动参数,因原有工程文件是基于 netSHIELD 模块的,将热启动参数与设备描述文件的各项参数匹配起来。更改之后,首先选择工程文件,编译整个工程,点击 File→Build,如下图所示:

blob.png

                                                  图 29 编译

编译好整个文件,进入程序调试模式,选择 Run→Debug,如下图所示:

blob.png

                                       图 30 程序调试

5.4 通讯测试

程序运行起来之后,即可以进行通讯测试,首先通过串口工具查看代码运行起来之后的打印信息,打开串口工具,设置其连接方式为串口连接模式,如下图所示:

blob.png

                                        图 31 串口工具连接模式

然后设置波特率,点击 Setup,将波特率改为 115200,如下所示:

blob.png

                                                图 32 设置波特率

此时,可手动拨动一下 STM32 开发板上的 SETUP 按钮,可以在串口工具看到相应的打印信息,如图所示:

blob.png

                                    图 33 打印信息

由打印信息可以看出程序已经运行起来,可以打开博图软件,是 PLC 处于在线状态,进行通讯测试,如下图所示:

blob.png

                                      图 34 通讯测试

6 总结

本次测试是选择 comX 51CA-RE 嵌入式模块基于 STM32 开发板实现PROFINET 从站开发,采用赫优讯提供的 STM32 Demo 程序。同样的,做其他实时以太网测试的话,流程一样,只是不同的协议栈需要更改的参数不同,另外,再需选择相应的主站设备即可。

赫优信(上海)自动化系统贸易有限公司(http://c.gongkong.com/?cid=35397

COMX51 基于 STM32 实现 PROFINET 从站开发-COMX51-技术文章-中国工控网 (gongkong.com)

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32 USB虚拟串口名称更改其实就是将设备管理器中的串口名称更改。一般来说,STM32单片机作为USB主机时,可以通过ST官方提供的USB Virtual COM Port Driver驱动来实现USB虚拟串口的功能。在使用时,通常需要进行串口号更改。以下是基于Windows 10操作系统的步骤: 1. 连接STM32单片机到电脑,打开设备管理器; 2. 在设备管理器中找到“端口(COM和LPT)”一栏,可以看到已经有一个“USB Serial Port(COMx)”; 3. 右键点击“USB Serial Port(COMx)” -> 属性 -> 端口设置 -> 高级; 4. 在高级选项中,可以看到串行器编号(COMx),将其修改成想要的串口名,如“STM32虚拟串口”; 5. 点击确定,重新连接STM32单片机,此时设备管理器中会出现“STM32虚拟串口”。 需要注意的是,在修改串口名时,要保证修改后的名称与其他串口名称不重复,否则会出现串口号冲突导致无法正常使用。此外,STM32单片机的虚拟串口名称也可以通过修改固件代码来实现,但需要具备一定的STM32编程基础。 ### 回答2: 在STM32单片机中,通过USB连接到电脑可以仿真出一个串口,通常被称为“虚拟串口”。在使用虚拟串口的过程中,我们可能会需要修改虚拟串口的名称。下面我将介绍如何在STM32上修改虚拟串口的名称。 首先需要了解的是,虚拟串口的名称通常是由驱动程序自动生成的。在Windows系统下,驱动程序会按照固定的规则自动为串口分配名称,例如COM1,COM2,COM3等等。然而在Linux系统下,驱动程序会按照其他规则分配名称。因此要修改虚拟串口的名称,需要针对具体的操作系统进行相应的操作。 对于Windows系统: 1. 进入“设备管理器”,找到虚拟串口对应的设备(通常位于“端口(COM和LPT)”下面)。 2. 右键点击该设备,选择“属性”选项。 3. 在弹出的对话框中,选择“端口设置”选项。 4. 在“高级”选项卡中,可以看到“端口号(COM和LPT)”一栏。在其后面的下拉菜单中,可以选择其他的虚拟串口名称。 5. 完成后,点击“确定”按钮,重新打开虚拟串口,此时已经使用新的名称进行通信。 对于Linux系统: 1. 打开终端,执行命令 ls /dev/tty*,列出系统中所有的串口设备。 2. 找到需要修改名称的虚拟串口设备,例如 /dev/ttyUSB0。 3. 执行命令 sudo ln -s /dev/ttyUSB0 /dev/myserial,其中 /dev/myserial 是你希望修改的名称。 4. 执行命令 ls -l /dev/myserial,确认新的名称已经生效。 5. 打开终端软件,使用新的名称连接虚拟串口,开始通信。 需要注意的是,以上方法仅供参考。不同的驱动程序可能会有不同的规则来生成虚拟串口名称,因此实际操作中可能需要根据具体的情况进行调整。同时,在进行修改时也要确保不会跟其他设备的名称冲突,以免造成其他问题。 总结来说,虚拟串口的名称更改其实是比较简单的,只需要按照系统的规则进行操作即可。在STM32单片机中,我们可以通过这种方式修改虚拟串口的名称,更好地进行调试和开发工作。 ### 回答3: STM32是具有强大处理能力以及高度集成化的嵌入式系统的微控制器。STM32也支持使用USB来进行虚拟串口的通信。虚拟串口是一种通过USB或其他虚拟端口来模拟标准串口的方式。它可以作为一个标准的串口使用,并且应用程序可以使用相同的方式来与它进行通信。然而在使用STM32虚拟串口时,经常会遇到default名称无法满足需求的情况,需要更改虚拟串口名称。 STM32 USB虚拟串口名称能够通过修改USB设备描述符来实现。USB设备描述符是通过USB接口进行传输的,包含了设备的信息。如果需要更改STM32虚拟串口名称,首先需要知道USB设备描述符中串口名称的位置。然后需要修改描述符中的串口名称为所需的名称。 在使用STM32的开发板时,通常使用了现成的USB库,例如STMicroelectronics提供的USB Device 库。这个库提供了用户可以修改的USB设备描述符。用户可以使用以下步骤更改STM32的USB虚拟串口名称: 1. 打开STM32的USB库工程。 2. 打开usbd_desc.c文件(文件名可能会有所不同)。 3. 在usbd_desc.c文件中查找设备描述符,可以使用Ctrl + F搜索框架。 4. 在设备描述符中查找串口描述符(INTERFACE_DESCRIPTOR_TYPE),可以在描述符数组中进行搜索。 5. 修改串口描述符中的字符串描述符。CString将会是USB字符串描述符的名称。当用户程序打开串口名称时,将会展示该名称。 例如,在usbd_desc.c文件中可以找到下面这些代码行: #define VCP1_InterfaceStr "VCP1 Interface" #define VCP1_StringSerial "100000000001B" 用户可以修改它们的值,例如: #define VCP1_InterfaceStr "MySerial Port" #define VCP1_StringSerial "MyDeviceSN" 6. 最后进行编译并下载到STM32板子上。 通过以上步骤,用户就成功地更改了STM32 USB虚拟串口的名称。新的名称会在用户打开串口的时候被展示。这对于调试和开发非常有用,因为用户可以定义STM32虚拟串口的名称来提高代码可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值