|
编者按
施耐德电气在2020年推出了基于IEC61499分布式工业控制标准的全新EcoStruxure™开放自动化平台(EcoStruxure Automation Expert)。该平台最大的特点是结合了IEC61499 功能块应用,使用该标准能够像PLC 类似的方式,快速、高效地构建分布式控制系统。
那这个EcoStruxure开放自动化平台究竟是如何通过功能块来构建控制系统的呢?资深技术专家、IT技术独立研究者姚远老师为此进行了试用。经姚老师授权,我们将分4期刊登姚老师的试用手记,以飨读者。
今天,我们刊登施耐德电气EcoStruxure开放自动化平台初体验(一)。
我收到的文件是一个压缩包EAE V20.2.ZIP,文件大小为1.26GB。解压到硬盘后看到下面的文件。
其中EcoStruxure Automation Expert - Buildtime - v20.2 - 20318.07.exe 是软件开发环境的安装程序,他们称为Buildtime ,直接翻译为构建时,感觉有点怪,我还是称它为开发环境。
EcoStruxure Automation Expert - Runtime - v20.2 - 20318.07.exe 是一个在PC中运行的SoftPAC 运行时(Runtime)安装程序。
三个文件夹中分别包含了sedp 扩展名的文件。应该是施耐德变频器(ATVD),Modicon M580 ePAC和Modicon M251 ePAC 的固件。
在本文中,我们介绍在本地测试环境下建立一个测试程序的过程,暂时不用到Soft PAC。先建立Buildtime 。根据施耐德工程师的建议,最好安装在英文版windows10 上面。
第一个项目
第一个项目非常简单,使用EcoStruxure Automation Expert 20.2 程序构建一个计数器功能块网络应用,然后建立一个winPAC 设备,将该设备选择成为local test 模式。在这个模式下可以启动一个EAE 自带的运行时,运行编写的IEC61499 功能块网络。让我们开始吧!
第一步 新建项目
启动程序,File->New ,建立一个新项目Blinky
选择 start Kit模板。(注意:上图的项目名称demoB 应该为Blinky。)点击Create。
完成后窗口的左边为:
第二步 构建功能块应用程序
展开左边的Blinky->System 然后点击 APP1,出现APP 工作区。击右键选择FB->Project:runtime Base ->IEC61499->E_CYCLE.放置一个事件周期功能块。并以同样的方式放置 E_SWITCH 和E_CTU 功能块。
通过在功能块IO 端子按住鼠标拖动的方式建立事件和数据之间的连接(connection)。
DT 击右键选择 “Add Constant” 添加常量T#100ms。FB3 的PV 端添加常量“16”。
第三步 添加设备,将APP 中的功能块映射(map)到 device 的资源中。
在左侧的Blinky->System 条目下已经预先设立了一个设备(ecoRT_0),点击出现设备窗口区,你可以修改设备名称和类型,这里我们将设备名称修改为winPAC,设备类型为SE.DPAC.SoftdPAC。并且将network Profile 选择为 “local test”
然后回到APP 工作区,对功能块击右键选择 Mapping
将所有功能块映射到 winPAC的RES0 资源。
然后点击 winPAC 下的RES0
连接Start 的COLD和WARM 到E_CYCLE的START。STOP 到 E_CYCLE的 STOP。如下图所示:
第四步 部署
所谓“部署”就是将你构建的功能块网络应用下载到一个运行时上运行。在EAE开发软件中自带一个本地的Soft PAC ,所以在这里我们先将应用部署到本地的Soft PAC 上。Device 的Network Profile 选择为“Local Test”。
需要提示的是,我目前使用的是Try 版本,这一版本不支持(物理设备的部署,包括网络中的另一台PC),等拿到授权版以后,我们再测试如何部署到物理设备上。
部署本地测试的过程
主菜单选择views ,点击 “general pads”
选择最后一项“Deploy and Diagnostic ” 部署和诊断。出现部署的工作区。可以看到Action下面有个上下箭头。可以选择各种操作。
具体步骤为
1、Deploy
2、Runtime simulator->Start
3、Device->Run
4、Device Login
这时你可以看到runtime simulator 运行起来了。
第五步 观察
对于要观察的功能块IO 击右键,选择 watch
View->Debug pads ->Watch
最后的样子是这样的!
应该说,支持用户界面是施耐德的EAE 的一大特色。下面我们讨论如何构建一个简单的HMI。
在介绍具体过程之前,我们先介绍一个概念-Composite Automation Type(CAT)复合自动化类型。CAT 并不是IEC61499 的概念和术语。它其实是一个复合功能块,内部包含了一个HMI的服务功能块。EAE 就是使用CAT 及其实例来构建HMI 的。
第1步:新建一个CAT 类型
在CAT 下的application 击右键:
选择 new Item。出现:
按finish以后,左边栏目出现:
在这里,CAT1 就是新建的CAT 类型,记住,它是一个复合功能块。CAT1_HMI 是一个实现HMI的服务功能块。
第2步:修改 CAT1_HMI 的事件和数据的输入/输出(也就是这个功能块的接口interface)
添加数据输入输出的目的是为了将应用中的功能块与CAT1 HMI 功能块之间交换数据,比如,我们要将计数器的值显示到用户界面的活动条上,所以我添加了一个VAL 输入端。
具体的做法是点击左边CAT1_HMI 图标。
第3步:编辑HMI 图型界面(sDefault)
双击CAT1_HMI 下的sDefault ,出现下列窗口:
当拖动VAL 到显示屏区域时,软件会根据数据类型,弹出相应的图标。
在这里我们选择了 BarValueHorize。
第4步:修改 CAT1 的事件和数据的输入/输出
(与第2步类似)
第5步:完成CAT1 复合功能块内部网络
双击左边CAT1 图标,选择 composite。然后将左边的CAT1_HMI 拖进去,连线。完成复合功能块内部的逻辑
第 6步 :建立CAT1 的实体(instance)
坐标CAT Instance 击右键,选择 Add Item。取名为MyHMI。
第 7 步:在App1 中添加CAT1 功能块
切换到App 网络工作区,击右键选择
第8步:设计HMI 屏幕画面
到这里为止,我们已经完成了CAT1类型设计,建立instance,并且在App1 中添加了CAT1功能块,并且添加了连线。下面可以设计HMI 屏幕布局了。
在左边栏的Canvases 下的1280x980 图标击右键。选择 Add Item。然后点击下面的Canvas1.将 CAT Instance ->Application 下的MyHMI 拖入屏幕画面。适当调整完成。
第9步:编译,运行项目
编译项目,部署启动设备
第10步:本地测试HMI
在左边栏的Canvases 下的1280x980 图标击右键。选择“Test HMI Runtime On Local Computer”
终于HMI 窗口跳了出来,它是这个样子的
结束语 施耐德电气的这套系统是从nxtControl 演变而来的,有许多nxtStudio的影子。不过使用界面,功能,功能块库都有很大的改善,并且增加了对施耐德电气PAC 的硬件的支持。功能强大的软件初次使用相对比较麻烦的。而且没有什么文档,唯一的参考就是软件中自带的help 文档。而且网络上的信息也不多。施耐德电气公司的工程师给我一些建议和帮助。在此表示感谢。
个人感觉,使用EAE 软件之前,学习IEC61499 的概念,术语和编程技巧。对使用EAE 系统具有极大的帮助。
与其它IEC61499 的IDE (比如4diac) 相比,施耐德电气的EAE 应该是采用C++ 编译功能块程序的。不过EAE 内部支持build ,而且速度很快。相比4diac 需要导出之后,和Forte 源代码一起编译。这一点的确方便多了。
初次使用,还有许多不明白的地方,先分享这些吧,等拿到授权版程序,再分享分布式物理设备的使用体验。 |
|