c++2010如何运行程序_vs编译c源代码的程序是

c++2010如何运行程序_vs编译c源代码的程序是文章目录0概述1环境2实现过程2.1新建一个portal项目2.2新建一个ODK项目2.3在ODK中编写C++代码2.4打包3测试4特别声明0概述1518MFP(多功能平台)是1500系列高端CPU,采用双系统的设计

0 概述

1518MFP(多功能平台)是1500系列高端CPU,采用双系统的设计结构,PLC的实时系统和Linux系统,这两个系统是并行进行的,注意是并行,不是并发,这两个是完全不同的概念。
本案例主要介绍的是将C++开发的代码转换成FB块,运行在PLC的实时系统中。

1 环境

  • TIA portal V16 +
  • ODK 1500S V2.5(集成eclipse,所有需要JRE(Java Runtime Env))
  • visual studio 2019 (或者其他IDE)
  • PLCSIM Advance V3.0+
  • Chrome浏览器

2 实现过程

2.1 新建一个portal项目

  • 创建一个新项目,项目名称定义为Test_C++_MFP(可自定义,下文中所有名称类的都可自定义,后面不再强调)
    在这里插入图片描述
  • 添加一个1518MFP CPU
    在这里插入图片描述
  • 对CPU进行属性配置

(1)启动web服务器
web服务器用于上传SO(共享对象)文件,关闭HTTPS,使用HTTP,新建用户,并赋予权限,设置密码
在这里插入图片描述
(2)设置IP地址
选择启用使用该端口IP访问web服务,IP地址要与PLCSIM advanced的虚拟网卡在一个网段内,否则无法仿真
在这里插入图片描述
(3)新建程序块
新建一个OB100(用于初始化),一个全局DB(用于存储数据)
在这里插入图片描述
(4)启动PLCSIM Advanced V3.0
在这里插入图片描述
(5)将Portal项目下载到PLCSIM Advanced V3.0
在这里插入图片描述
如果下载过程中出现报错,按照下图所示开启块编译时支持仿真功能
在这里插入图片描述
重新编译下载,应该能够成功下载,这时portal部分的准备工作就已经做好了。
在这里插入图片描述

2.2 新建一个ODK项目

当你安装好ODK1500S后,开始菜单会出出现一个Eclipse for ODK 1500S V2.5,打开这个编辑器
在这里插入图片描述

  • 创建项目

在这里插入图片描述
在这里插入图片描述

2.3 在ODK中编写C++代码

  • 模板文件目录树
    我们自己的代码要写在src文件夹内,如果使用多文件编程,那么最终的启动文件就是Test_CPP_MFP.cpp,如果时单文件编程,那么程序要写在Test_CPP_MFP.cpp中。
    def下面的Test_CPP_MFP.odk中做接口定义。
    开发过程中,只需要关注这两个文件夹,其他位置都不在开发过程的考虑范围内。
    在这里插入图片描述
  • 单文件编程
    (1) 在Test_CPP_MFP.cpp文件下
using namespace std; // 命名空间

void sum(int a, int b, int res); // 函数声明

void sum(int a, int b, int res){  // 函数定义
	res = a + b;
}

// 下面时重点 套用模板
ODK_RESULT TestSum (const ODK_INT32& num1, const ODK_INT32& num2, ODK_INT32& result, ODK_DOUBLE& myReal)
{
	sum(num1,num2,result); // 调用函数,传入实参
    return ODK_SUCCESS;
}

(2) 在Test_CPP_MFP.odk文件下

// 定义函数名和接口
ODK_RESULT TestSum([IN]    ODK_INT32    num1
				 , [IN]    ODK_INT32    num2	
                 , [OUT]   ODK_INT32    result		
                 , [INOUT] ODK_DOUBLE   myReal);		

对比.odk和.cpp文件你会发现他们直接的规律和套路

  • 多文件编程

按照C/C++常规方法创建.h头文件即可

2.4 打包

在这里插入图片描述
build成功后会出现下面的文件目录树
Test_CPP_MFP.scl 是portal导入外部源文件使用的;
Test_CPP_MFP.so 需要使用1518MFP的web client上传。
在这里插入图片描述

3 测试

  • 导入外部源文件
    在这里插入图片描述
  • 选择scl文件后右键,选择从源生成块
    在这里插入图片描述
    生成成功后出现下图所有的程序块目录,XX_load功能块代表加载;XX_unload功能块代表卸载;
    XX_TestSum功能块代表C++的程序,XX表示的是创建ODK项目时候的项目名称,本例中是Test_CPP_MFP
    在这里插入图片描述
  • 上传SO文件

在这里插入图片描述

  • 调用程序

(1) OB100 里面调用load程序load的作用是加载web server中的so文件

在这里插入图片描述

(2) OB1 里面调用unload程序+C++编程的代码块unload的作用是卸载web server中的so文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

stautus为0表示调用成功

4 特别声明

  • 当你需要修改程序的时候,必须按照下面的步骤进行

在这里插入图片描述

先clean all 再build all 生成的so文件和scl文件就是更新后的程序

  • 当你更换SO文件后,需要按照下面的步骤进行

(1) 先将unload的req位置为1,随后再置为0;
(2) 重新启动CPU

今天的文章c++2010如何运行程序_vs编译c源代码的程序是分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65647.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注