开放自动化探究 | 施耐德电气EcoStruxure开放自动化平台试用手记(一)
编者按
施耐德电气在2020年推出了基于IEC61499分布式工业控制标准的全新EcoStruxure™开放自动化平台(EcoStruxure Automation Expert)。该平台最大的特点是结合了IEC61499 功能块应用,使用该标准能够像PLC 类似的方式,快速、高效地构建分布式控制系统。
那这个EcoStruxure开放自动化平台究竟是如何通过功能块来构建控制系统的呢?资深技术专家、IT技术独立研究者姚远老师为此进行了试用。经姚老师授权,我们将分4期刊登姚老师的试用手记,以飨读者。
今天,我们刊登施耐德电气EcoStruxure开放自动化平台初体验(一)。
EAE V20.2 压缩包
我收到的文件是一个压缩包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 的固件。
EcoStruxure Automation Expert - Buildtime的使用
在本文中,我们介绍在本地测试环境下建立一个测试程序的过程,暂时不用到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
最后的样子是这样的!
建立用户界面HMI
应该说,支持用户界面是施耐德的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 源代码一起编译。这一点的确方便多了。
初次使用,还有许多不明白的地方,先分享这些吧,等拿到授权版程序,再分享分布式物理设备的使用体验。
看到这里,如果您对开放自动化或者施耐德电气开放自动化平台有什么疑问或需求,欢迎加入下面的“开放自动化”微信讨论群交流。