《实时控制软件设计》之Automation Studio开发环境

摘要:
Automation Studio是百家乐的控制软件开发平台。该软件可以在百家乐基于PC的控制器上运行。基于Automation Studio,我们可以构建一个完整的控制软件构建、测试和仿真操作平台。软件安装Automation Studio软件可以在Bacalay的官方网站上下载。试用期为30天。本文中使用的版本是v4.2.1,其中包含了ARSim仿真软件。。完成以上练习后,您将初步了解AutomationStudio的基本开发环境。您可以进一步调用STL、Baccarat提供的函数库和自定义库来完成C++软件开发。

Automation Studio是贝加莱公司的控制软件开发平台,软件可运行在贝加莱的基于PC的控制器上,基于Automation Studio我们可构建一个完整的控制软件构建、测试和仿真运行平台。本文以一个简单的例子介绍用Automation Studio进行基于C++的控制软件开发环境搭建和仿真运行。

  • 我们的目标:

1)用C++写一个用户程序,该程序被实时控制器的一个实时任务所调用,每100ms执行一次。
2)用组态工具画一个可视化界面,把用户程序中的一些变量和界面上的控件关联起来。
3)把C++程序和可视化界面都下载到具体的硬件中去,并运行。

为达到上述目的,在一个实际项目开发中(以贝加莱系统为例),我们通常需要三个硬件平台:

1)一台装有windows的笔记本,安装好Automation Studio开发软件,工程师用于软件开发。
2)一台安装在现场的实时控制器,装有实时操作系统(Vxworks)。
3)一块安装在现场的触摸屏作为人机界面,实现操作的输入和状态显示。

在教学过程中为每个人都配齐上述硬件成本比较高,我们采用变通的方法,在我们的笔记本电脑上,安装一个ARSim软件,来模拟一个实际的控制器硬件,再安装一个VNC Viewer软件,用来模拟一块触摸屏。它们之间通过TCP/IP通信,因为都在一台电脑上,所以都通过本地IP地址127.0.0.1来访问。

软件安装
Automation Studio软件可到贝加莱官网上进行下载,试用期为30天,本文所用版本为v4.2.1,ARSim仿真软件已包含在内。。
VNC Viewer可采用各种开源软件,比如Real VNC

创建新工程

打开Automation Studio,点击File -> New Project,在对话框中选择新工程路径并命名工程名,我们建立一个rtcsd1的新工程,如下图所示。
《实时控制软件设计》之Automation Studio开发环境第1张
主界面如下图所示
《实时控制软件设计》之Automation Studio开发环境第2张
接下来我们要添加一个C++程序,双击右侧的Program图标创建一个C++程序,将程序名修改为Program_cpp,如下图所示
《实时控制软件设计》之Automation Studio开发环境第3张

点击Cyclic.cpp,添加自己的代码如下:

#include <bur/plctypes.h>
#ifdef _DEFAULT_INCLUDES
	#include <AsDefault.h>
#endif


#include "complex.h"

using namespace std;
unsigned long bur_heap_size = 0xFFFF;

complex c1(20, 10);
complex c2(1,1);
   
void _CYCLIC ProgramCyclic(void)
{
	
	c1 = c1 + c2;
	x = c1.real();
	y = c1.imag();

}

这里我们实例化两个Complex复数对象,Complex类是我们之前自己编写的,定义在头文件complex.h里,我们把complex.h文件拷贝到Program_cpp程序的子目录中,并在Cyclic.cpp文件里添加:

#include "complex.h"

在函数ProgramCyclic()中,我们把复数c1的实部和虚部分别赋给变量x和y,我们把x和y的定义放在单独的变量定义文件Variables.var中,如下图所示:
《实时控制软件设计》之Automation Studio开发环境第4张

C++程序的编写我们已经完成了,大家注意到,在这段程序里,没有main()函数,这是因为通常我们编写的程序生成二进制文件后,运行时是作为一个独立的进程被操作系统调用的。而在这里,函数ProgramCyclic()前面有一个修饰关键字_CYCLIC,表明这个程序将被控制器实时操作系统的一个周期性实时任务所调用。点击软件左侧工程导航器的Configuration View选项卡,并双击PC_any下的Cpu.sw文件,如下图所示,可以看到实时操作系统有八个周期性任务,我们把VisuProgram_cpp程序放入第一个周期任务,循环周期为100ms。
《实时控制软件设计》之Automation Studio开发环境第5张

C++程序的编写我们告一段落,下面我们来设计可视化人机界面,首先添加一个可视化对象VC4 Visualisation,命名为Visu
《实时控制软件设计》之Automation Studio开发环境第6张

点击软件左侧工程导航器的PhysicalView选项卡,导航器显示的树状结构是我们的仿真控制器硬件ARSim的硬件资源,右键点击第一个网卡ETH,选择Configuration,在弹出的界面中,将Visu对象映射到一个VNC Server中去,如下图所示。
《实时控制软件设计》之Automation Studio开发环境第7张
编辑Visu画面,创建4个控件,如下图所示:
《实时控制软件设计》之Automation Studio开发环境第8张
接下来我们把两个显示控件与变量x,y链接起来,如下图所示
《实时控制软件设计》之Automation Studio开发环境第9张
点击菜单Project -> Build Configuration,编译工程,成功后软件询问是否把该工程下载到控制器硬件(这里是仿真控制器ARSim)中去,点击Transfer按钮进行下载,如下图所示。
《实时控制软件设计》之Automation Studio开发环境第10张
下载完成后,程序将自动在ARSim中运行,现在我们需要通过VNC Viewer浏览人机界面,双击VNC Viewer,输入本地IP:127.0.0.1,将看到如下的运行画面。
《实时控制软件设计》之Automation Studio开发环境第11张
x和y的值实时显示在画面上,并且每个100ms增加1,这个和我们的程序设计和配置是一致的。
更详细的操作介绍,可参见贝加莱文档。当完成上述练习后,就对Automation Studio的基本开发环境有了初步了解,可进一步调用STL、贝加莱提供的功能库以及自定义库来完成C++软件开发。

免责声明:文章转载自《《实时控制软件设计》之Automation Studio开发环境》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇chrome出现“由贵单位管理”原因及解决方法OneCloud记录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于系统用户数,并发用户数,在线用户数,吞吐量

1、  关于系统用户数,并发用户数和在线用户数 系统用户数 侠义上来说,可以理解为系统注册用户数;广义上来说,可以理解为所有访问过系统的用户数 在线用户数 侠义上来说,可以理解为已登录系统的用户数;广义来说,可以理解为当前时间访问系统的用户数。 并发用户数 可以分两种: 1)同一时间点,执行同一(业务)操作的用户数 2)同一时间点,执行不同(业务)操作的...

MyEclipse激活步骤

1、前言:    MyEclipse 成功安装后使用天数仅仅有30天,打开软件后常常会弹出提醒我们在5天内要激活的对话框。没有激活的话,时间一到就不能使用了。众所周知,中国的软件是不用花钱的,这里就介绍一种MyEclipse 的激活方法。   以MyEclipse 10.7为例,使用激活工具crack(下载请点这里)。 2、激活步骤   (1)在...

混合开发的几个框架

  下面给大家介绍几个最厉害的混合开发框架:   1.IONIC 是目前最有潜力的一款HTML5手机应用开发框架。通过SASS构建应用程序,它提供了很多UI组件来帮助开发者开发强大的应用。它使用JavaScript MVVM框架和 AngularJS来增强应用。提供数据的双向绑定,使用它成为Web和移动开发者的共同选择。即将发布的AngularJS 2.0...

VMware Workstation 15 安装教程

注:操作系统必须是64位    软件:360软件管家获取 1、运行下载完成的Vmware Workstation虚拟机软件包。   虚拟机软件的安装向导初始界面 2、在虚拟机软件的安装向导界面单击“下一步”。   虚拟机的安装向导 3、在用户许可协议界面选中“我接受许可协议中的条款”复选框,然后单击“下一步”。   接受许可条款 4、选择虚拟机软件的安装位...

什么是UML?

UML是统一建模语言,Unified Modeling Language的缩写 综合了面向对象的建模语言、方法和过程,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持 可以帮助沟通与交流、辅助应用设计、文档的生成、阐释系统的结构和行为 定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构 包括:用例图(...

屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

前阵子,Oracle 发布了一个黑科技 “GraalVM”,号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么神奇? GraalVM 简介 GraalVM 是一个跨语言的通用虚拟机,不仅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的语言,以及 C、C++ 等基于 LLVM 的语言,还支持其他像 Jav...