在stm32f4上面进行opcua client 移植(rtos : rtthread2.1.0)

1. 前言:

在做opcua - client 移植之前,进行了opcua - server 的移植,但是程序在移植的时候发现,在申请内存的时候一直失败,后来实在做不下去了,就去找opcua 组件商用开发的公司,咨询了下他们,发现stm32f407VG的ram不够支持最小server的搭建,也考虑过将f4的三块ram拼接起来使用(ram还差那么点,想着再优化优化),但是开发的时间不够了,就暂停了server的开发。但是stm32f407VG的ram足够支持最小client(40K)的搭建,所以就先尝试client的搭建。

另外搭建的过程,跟 rtos及具体的芯片类型的关系不是很大,想在其他MCU或者rtos搭建的小伙伴也可以尝试下。

我在之前已经搭建并测试OK了,在这里就不涉及测试软件的显示成功之类的信息了(太懒了),但是我会在代码里面说明什么时候表示收发OK了。

移植说明: 需要ram  50KB(大小可以进行调整),所需资源越小,可接收处理服务器的内容就越少,对于数据量大的服务器可能连接成功之后,数据接收失败。

以下是搭建的过程:

 

2. 环境准备:

1)  源代码copy,采用的是open62541的源代码:https://github.com/open62541/open62541

api说明里面有基于freeRTOS移植的简答说明:https://open62541.org

部分api的使用可以查看api使用手册,不能翻墙的同学可以在码云上找

2)opcua 框架及说明:https://blog.csdn.net/hbin5110209161/article/details/100560003,把这里的1~4浏览一遍就差不多了,因为只是移植,没有深入了解。

 

3)调试软件的准备:

服务器搭建:kepserver6 这个软件必须要熟练掌握,有官方群的,学这个软件在网上问了很多人(周围没人用过),太累了

模拟客户端搭建:KepOpc ,怎么使用网上教程比较多这里就不说了

MCU 上完成lwip的移植,即可

 

3.具体移植及代码修改过程

1)学习 kepserver6 -server 及 KepOpc-client的搭建,在以后调试的时候不知道是服务器配置问题还是客户端有问题,可以通过这个demo 来进行问题跟踪。将kepserver6 搭建的服务器运行起来,保证kepopc能读取到数据,此时初始环境搭建OK 。

2)将下载opcua库放到对应工程目录下,并添加对应的.c 文件进行编译

 

3)Opcua client的函数说明及调用

 

4)client app 函数说明

5) 资源配置说明

 

6)rtos 相关函数

7)关键函数的流程说明

 

 

一路下来剩下的也就是一些函数的复用,隐式声明等等一些语法问题了,基本大问题没有的,有问题可以call 我微信:m872873

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值