ERTEC200P-2 PROFINET设备完全开发手册(2-1)

news/2024/5/18 22:06:27/文章来源:https://blog.csdn.net/hiccc2012/article/details/130000077

2. 入门指导:第一个PN IO设备

开发之前的准备,需要的软件:

  1. TIA Portal V16、V17
  2. 串口终端软件 (MobaXtermPutty或TeraTerm)
  3. Win10 并且安装64位JAVA运行环境
  4. J-Link的驱动软件
  5. Proneta(推荐使用)

需要准备的硬件

  1. 性能好一些的PC (核数越多编译越快,否则编译会很慢)
  2. 评估板 (默认PN-CORE及底板)
  3. S7-1500 PLC (1200也可以,但是无法使用IRT)
  4. USB UART/TTL(注意不是RS232,淘宝上可以很容易买到)
  5. J-Link仿真器

2.1开发环境与协议栈的编译

V47协议栈的eclipse工程是基于64位Java运行环境的,需要确认已安装64位JDK/JRE,例如jdk-8u231-windows-x64

为了方便使用,笔者将代码适配到PN-CORE评估版,并且将相关的工具重新打包,请从西门子官方代理商处获取压缩包。

 

解压后的协议栈内容如下表所示:

目录

内容简介

contributions

BBB_xhif_device_tree

Beagle bone black 设备树文件,配合minimal design v3

GSDML

DEVKIT47的GSDML文件

Simatic_TIA

TIA博图示例项目

SNMP_MIBS

SNMP MIB文件

doc

HW

Minimal design,NANO,CORE的设计文件,EB200P的设计文件和手册,ERTEC200P-2的datasheet和参考手册

SW

开发指导:

Guideline_EvalKit_ERTEC200P_V4.7.0.pdf

协议栈接口: 

Interface_Description_PN_IO_DevKits_V4.7.0.pdf

GSDML文件概述: 

GSDML_GettingStarted_V1_5.pdf

Installed_tools

eclipse

64位 eclipse 开发环境

Mingw

工具链,交叉编译环境,ecos源代码

pn_ioddevkits/src

application

用户程序 (RT、IRT、PROFIDRIVE)

projects

项目目录和编译输出(e.g. projects\pnio_proj\ertec)

source

协议栈源码

tools

ecos配置工具

pn_run

src

协议栈源码

setup

/

开发环境自动下载工具

tools

DebugTool

JLINK 烧写NOR flash配置文件

PNConfigLib

替代TIA博图生成PN-driver配置文件的工具

PN-driver controller example

PN-driver 控制器程序,可以用PC机连接PN设备,读写IO,读写数据记录,发送周期32ms。在没有PLC的情况下可以用来模拟控制器(需要安装WinPCAP)

TcpFwLoader

通过TCP下载烧写固件的工具

USB to RS232 driver

EB200P-2 评估板USB驱动

新建一个文件夹作为eclipse工程的workspace,如\Devkit47\Installed_tools\eclipse\wsp

 

双击eclipse图标打开软件,在Workspace栏中选择新建好的路径:

点击Launch之后的界面如下: 

 

 接下来导入开发包中的ECOS和EK_ERTEC工程项目,点击菜单File -> Import

 选择General 下的Existing Projects into Workspace

点击Next,在Select root directory栏中选择开发包中提供的工程的路径 

 

 

勾选ECOS和EK_ERTEC两个工程即可:

(如果不使用标准的主机接口方案(MinimalDesign VAR2 + VAR3 + BBB),可以不导入 BBB(AM3358) Linux的项目HOST_XHIF。)

 导入项目后,Eclipse的界面如下图:

 首先编译ECOS操作系统,在Eclipse右侧的窗口双击"build ecos-native EB200P SDRAM 1x32bit NOR-FLASH 32bit",这是针对EB200P-2的配置。如果不是首次编译,需要先运行“fullclean ecos-native”清除中间文件。

 编译的输出可以在“Console”中看到,编译会需要一段时间,如果配置正确会看到如下输出结果

在PN协议栈中,包含5个示例程序APP:

 

 

APP

说明

EXAMPL_DEV_CONFIG_VERSION

App1_STANDARD

标准接口(SI)示例程序

1

App2_DBAI

直接内存访问(DBAI)示例程序

2 (本手册用不到)

App3_IsoApp

IRT同步示例程序

3

App4_XHIF

Minimal design V3 XHIF示例程序

4 (本手册用不到)

App44_PROFIDrive_AC4

PROFIDrive AC1/AC4 示例程序

44

通过改变EXAMPL_DEV_CONFIG_VERSION宏来切换不同的APP。在编译协议栈前确认我们使用APP1

 再编译PN协议栈,右键点击EK_ERTEC项目,选择配置Bulid Configurations -> Set Active -> EB200P_Debug_EcosNative(EB200P-2 Debug Firmware)

 配置好后就可以进行协议栈的编译了,右键点击EK_ERTEC项目 -> Build Project

编译结束之后可以在Console界面看到如下结果: 

 

可以看到编译输出有两个文件:

PNIO4ECOS是包含调试信息的elf文件,可以用来下载到SDRAM调试运行。EB200P_Debug_EcosNative.bin是2进制固件文件,可以烧写到flash中运行。

这两个文件可以在\Devkit47\pn_ioddevkits\src\projects\pnio_proj\ertec\EB200P_Debug_EcosNative中找到。

下一篇:2.2调试协议栈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_282417.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信算法之130:软件无线电-接收机架构

1. 超外差式接收机 2.零中频接收机 3.数字中频接收机

洛谷B2033A*B问题

洛谷B2033 题目描述 输入两个正整数A 和B,求 AB 的值。注意乘积的范围和数据类型的选择。 输入格式 一行,包含两个正整数 A 和B,中间用单个空格隔开。1≤A,B≤50000。 输出格式 一个整数,即AB 的值 代码: #include&…

MySQL-双主高可用

目录 🍁拓扑环境 🍁配置两台MySQL主主同步 🍃修改MySQL配置文件 🍃配置主从关系 🍃测试主主同步 🍁keepalived高可用 🍃keepalived的安装配置 🍃master配置 🍃slave配置 …

Aurora 64B/66B 协议介绍

简介 Aurora 是一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议。这为物理层提供透明接口,让专有协议或业界标准协议上层能方便地使用高速收发器。虽然使用的逻辑资源非常少,但 Aurora 能提供低延迟高带宽和高度可配置的特性集。 特性&…

凹凸/法线/移位贴图的区别

你是否在掌握 3D 资产纹理的道路上遇到过障碍? 不要难过! 许多刚接触纹理或 3D 的艺术家在第一次遇到凹凸贴图(Bump Map)、法线贴图(Normal Map)和移位贴图(Displacement Map)时通常…

React class组件和hooks setState异步更新数据详解

一、 class组件setState详解 1.class组件setState异步更新数据详解 class Father extends React.Component{state {num:0}addHandler () > { this.setState({num: 100})console.log(state中的值,this.state.num)}render() { return (<div><button onClick{this…

DBC数据库中定义信号时采用的两种字节顺序:Intel、Motorola(深度好文)

我之前写过好几篇文章介绍大端小端的存储、显示和读取。在介绍DBC的文章中,也有信号在CAN消息数据中如何定义的顺序,它和大端小端采用的原理相同,但是不能带入数据大端小端存储的方法。这里千万要注意! DBC数据库中定义信号时采用的字节顺序,如果想讲明白,很简单。但是如…

「解析」Jetson 安装 CUDA/cuDNN

注意&#xff1a;自从JetPack 升级到 5.0版本之后&#xff0c;可以&#xff0c;JetPack 官方教程 官方教程提供了三种方法&#xff1a;SD卡、SDK Manager 以及 apt安装Jetpack。前两种主要用于Orin系列之前的 Jetson开发板&#xff0c;主要针对还没有烧录系统的空机。而从 Jets…

手机也可以3D沙发建模

3D沙发建模是当今室内设计领域中必不可少的一种技术。通过此技术&#xff0c;我们可以使用虚拟设计软件创建高质量的3D沙发模型。这些模型具有极高的精度和逼真度&#xff0c;可以帮助设计师更好地展示他们的创意&#xff0c;并有效地促进设计过程。 在进行3D沙发建模时&#…

洛谷B2038奇偶ASCII值判断

洛谷B2038 题目描述 任意输入一个字符&#xff0c;判断其 ASCII 是否是奇数&#xff0c;若是&#xff0c;输出 YES&#xff0c;否则&#xff0c;输出 NO 。 例如&#xff0c;字符 A 的 ASCII 值是 65&#xff0c;则输出 YES&#xff0c;若输入字符 B(ASCII 值是 66)&#xff0…

shell脚本基础之详解结构化命令(一)

详解结构化命令使用if-then语句注意&#xff1a;if-then-else语句嵌套if语句elif语句注意&#xff1a;test语句注意&#xff1a;数值比较字符串比较字符串相等性字符串顺序字符串大小文件比较检查目录检查对象是否存在检查文件检查是否可读检查非空文件复合条件测试if-then高级…

怎么选购邮件营销工具?

据可靠数据统计&#xff0c;邮件营销得投资回报比达1&#xff1a;44&#xff0c;他高性价比的特性在众多营销方式中脱颖而出。他促使企业能够以较低的成本&#xff0c;和客户建立联系并维持长期联系。邮件营销对企业来讲无疑是极佳的获客渠道和营销方式。 想要做好邮件营销通常…

API 优先级和公平性(APF)

1. 概述 目前apiserver默认的限流方式太过简单 目前k8s缺少客户端业务请求隔离&#xff0c;一个错误的客户端发送大量请求可能造成其他客户端请求异常&#xff0c;也不支持突发流量。 2. 开启APF APF测试 开启APF&#xff0c;需要在apiserver配置 --feature-gatesAPIPrior…

乐观锁的作用(php代码实现)

非乐观锁场景时序图&#xff1a; 乐观锁场景示意图&#xff1a; 假设有一个账户余额表 user_balance&#xff0c;其中有两个字段&#xff1a;user_id 和 balance&#xff0c;分别表示用户 ID 和账户余额。现在有两个用户同时进行充值操作&#xff0c;充值金额分别为 100 元…

Zotero安装教程

一、下载 可以直接通过Zotero | Your personal research assistant下载安装包。 根据对应的系统选择下载包。 二、安装 安装过程简单&#xff0c;一路next直到出现下图为安装成功。 三、注册账号 安装完成后&#xff0c;打开zotero&#xff0c;选择编辑->首选项->同步…

【Python_Selenium学习笔记(五)】基于Selenium模块实现鼠标操作

基于Selenium模块实现鼠标操作 前言 为了模拟鼠标操作&#xff0c;Selenium 模块提供了 Actionchains 类&#xff0c;可以模仿人的几乎任何鼠标行为操作&#xff1b; 在此篇文章主要介绍 Actionchains类 的常用方法&#xff0c;使用流程&#xff0c;并以具体的示例进行展示。…

ERROR: No matching distribution found for subprocess

安装python包时出现了 ERROR: Could not find a version that satisfies the requirement subprocess (from versions: none) ERROR: No matching distribution found for subprocess 这里我们使用的指令是&#xff1a; 尝试使用特定版本的库。如果pip无法找到最新版本的库&a…

IDEA的Git操作

1、在Idea中配置Git 安装好IDEA后&#xff0c;如果Git安装在默认路径下&#xff0c;那么IDEA会自动找到git的位置&#xff0c;如果更改了git的安装位置则需要手动配置git的路径。选择File->Settings打开窗口&#xff0c;找到Version Control下的git选项。 2、在GitHub或码云…

Prefix-Tuning: Optimizing Continuous Prompts for Generation

Prefix-Tuning: Optimizing Continuous Prompts for Generation思路总结IntroductionPrefix-TuningIntuitionMethodParametrization of P_theta实验参考Introduction 在当时Fine-tuning 是预训练大模型在下游任务的主要方法。在千亿级别的参数背景下&#xff0c;针对不同的下游…

打破软件开发“不可能三角” 只需一个低代码方案

世界在软件上运行&#xff0c;商业世界也不例外。面对变化&#xff0c;企业过去依赖的传统软件开发流程可能不再有效。从头开始构建软件解决方案需要花费数月甚至数年的时间来规划、设计、测试和部署。在软件行业&#xff0c;有一条业内公认的“潜规则”&#xff1a;长周期、大…