本系列课程列举了常见 S7-300/ET200S 系列模块如何向 S7-1500/ET200SP 系列移植的各种可能性,不仅包括普通 IO,还有通信模块、故障安全、工艺模块以及 TCPU 相关,内容总结全面。

程序块的管理

¥139
会员免费

507人已观看 2022-06-15

本文版权归西门子1847工业学习平台所有,未经允许,不得转载。

文章摘要

讲解博途软件的IP转发新功能,并且回顾讲解传统的S7路由基础知识和信息。

文章内容

1. 为什么要编写一个程序块

这里所说的程序块就是FC或者FB块,我们可以设想一下为什么要编写一个程序块?编写程序块大部分的目的是为了重复使用。程序块对应一个设备,哪些设备控制功能是相同的呢?不同行业中的程序也是各具特色,例如钢铁行业转炉的程序和立体仓库的程序编写的思路就有差异,我们可以将一个企业进行拆解,求同排异,找出相同的控制部分,如图1所示。

图片1.png

图1

从拆分的结果上看,越是顶层架构,控制程序差异越大,这里指程序部分,控制层级可能都是相同的,例如管理层、监控层、控制层、现场层等。从工序E向下,慢慢与行业工艺脱钩,程序可能就越来越相似了,例如一个电机的控制,无论是一个化工厂还是一个钢铁厂,控制方式和程序大体相等。再往下,对一个传感器的处理,就完全相同了,例如一个4-20毫安信号的处理。这些类似的控制对象可以进行归类,然后编写一个程序块。其实这里说的比较简单,做起来还是有一定的难度,比如怎么拆解到一个合适的程度,拆解对象大了,程序不灵活,可复用的程度比较低,拆解对象小了,太灵活,复用时还需要再次拼装。有的还可以根据设备的运输和机械拼装划分程序块,程序块随设备的更新而更新到不同的版本。

2. 怎样编写一个程序块

这个话题在文章《TIA博途可选软件与新功能—工厂对象1》中也做过介绍,从我的角度来看,使用一个FB块编写一个拆解后的控制对象比较方便,因为每次调用一个FB块都会生成一个实例DB块,这个DB块的名称可以定义为该对象的名称,用于区分多个相同的控制对象。

在程序块中可能需要编写初始化程序、控制程序(必要)、状态控制、仿真和基于该对象的报警程序,如图2所示。因人而异,除了控制程序,其它程序段都可以省略。但是想要功能全,其它部分也要相应增加。

图片2.png

图2

在程序的编写中还要考虑到标准化的问题,这个标准可以按照企业的要求进行编写,作为企标,再大一点可以是行业标准或者申请更高层次的标准,也可以按照现有的标准进行编写,例如OMAC组织的PackML标准。

接口也是程序块非常重要的参数,其实这也是标准化的一部分,例如有哪些参数需要作为接口,是输入、输出、输入\输出?哪些参数作为该对象的属性存储在FB块的静态区,这些接口参数的数据类型是什么?例如是使用DB_ANY还是Variant?不同的选择将导致程序结构和灵活性的差异性。还要考虑对象属性中是使用一个UDT还是多个UDT?这些UDT中包含哪些属性,是否需要元数据(Meta Data,在能源管理套件中大量使用,用于对数据的描述,例如单位值 )?是否为扩展预留数据区,便于程序的版本更新。总之,许多东西需要考虑,编写之前考虑的越周到,后期的修改和更新可能就会越顺利。如果接口参数比较多,还是建议使用UDT替代,UDT可以进行版本控制,所以程序块的管理功能从接口参数的设置开始。

3. 程序块的版本控制

前面的文章《TIA博途的管理功能_版本控制接口VCI》说的是整个项目的版本控制,表示项目在编写过程中的不同阶段。对项目再细化,项目中程序块也可以进行版本控制,这个版本控制是通过库进行的。

程序块的版本控制是有要求的,首先这个程序块是一个FB或者FC并带有形参,其次这个程序块中不能带有全局变量,因为程序块是要复用的,除了自己使用,还要分享给其他同事,所以不能带有全局变量,将程序块拖放到库中,系统会自动检测,如果不满足要求,是不能拖放到库中的。

打开TIA博途软件,在最右边的标签栏中,点击“库”标签,显示项目库和全局库,如图3所示。

图片3.png

图3

TIA博途的库分为两种,一种是项目库,一种是全局库。每个项目都连接一个项目库,可以存储在项目中多次使用的对象,项目库总是随项目打开、保存和关闭。全局库是用于分享的,可以导出。只能通过项目库中的类型生成程序块的版本。将程序块拖放到项目库的类型中,将弹出“添加类型”的对话框,如图4所示。

图片4.png

图4

程序块的版本可以自定义,也可以由系统自动排序。在其它栏中可以添加作者和与程序块变更的相关信息。点击“确定”按钮后,程序块将标注版本信息。

一个程序块可以带有多个版本,如图5所示,项目中的程序块右上角带有三角符号表示该块是项目库中块。

图片5.png

图5

到这里大家可能会有疑问,程序块的版本都在项目中,与管理有什么关联?其实项目库只是生成程序块的版本,管理功能还需要全局库。大家需要弄明白版本管理的流程,设想一个场景,假如你正在使用一个程序块,版本是2.0,现在网上有新的版本了,例如版本是3.0了,增加了一些新的功能,你想更新目前项目中程序块。两个问题,你怎么得到版本2.0的程序块?怎么更新?第一个问题,程序块是别人通知全局库提供的,当然也可以复制别人的项目,这样做不方便。第二个问题,同样是别人通知全局库提供的,打开全局库,发现程序块有新的版本,然后就可以使用最新版本的程序块替换旧版本程序块。所以项目库“类型”中的程序块必须复制到全局库中才能相互传递和分享。

4. 企业库的创建

带有版本的程序块可以存放在全局库中,将全局库存放到公司的服务器中,程序块就可以分享了,这样使用的方式比较多,但是缺少了管理功能,例如服务器中的程序块与本地全局库中的程序块相互同步问题,服务器中库的安全问题都不好解决,通过企业库的功能可以更好地管理这些程序块。 

企业库也是将全局库存放到公司的服务器中,然后在TIA博途的选项中定义存放全局库的位置,这样系统将自动建立本地与服务器间的关系。具体设置如下:

1) 将导出的全局库存放到企业的服务器或者网络上的一台PC中。

2) 选择TIA博途的菜单栏,导航至“选项”->“设置”->“常规”->“常规”->“组态文件的存储位置”,缺省的情况下存储企业库位置的文件目录为(版本为V17):C:\ProgramData\Siemens\Automation\Portal V17\CorporateSettings 。

3) 使用记事本打开该文件,在 <CorporateLibraryPaths> 和</CorporateLibraryPaths>间定义企业库的路径,如图6所示。示例中企业库存储在本地。

图片6.png

图6

4) 保存该文件并关闭。打开TIA博途,弹出“更新企业库的组态”对话框,表示与服务器中的库建立了连接,如图7所示。

图片7.png

图7

5) 在全局库中将显示关联的企业库。

5. 程序块的后期管理

企业库创建完成后,仅仅是程序块管理的开始,后期怎么维护、怎么制定程序块更新的流程、怎么加载程序块的在线帮助文档以及各个版本更改的描述说明等都需要考虑,大部分的工作还需要从组织上制定相应的规则,这里不再介绍了。

库具体的使用方法以及程序块捆绑帮助文档将在后续的文章中介绍,请大家关注。

 

 【声明:本文/视频版权归西门子1847工业学习平台所有,未经允许,不得转载。】

可试看部分内容,登录后会员或购买课程可观看完整内容

课程答疑(4)

想把程序下到advanced v5.0.博途V18老是搜不到advanced,硬件选的s1500.
1 2025-01-07
展开
亮点介绍

介绍和推广介绍STEP7、TIA博途和相关联PLC的使用经验,特别是前沿的博途功能和技术发展。

用户收益

您将收获:

1.STEP7、TIA博途和相关联PLC的使用经验;

2.循序渐进学习西门子PLC编程知识,建立西门子PLC控制系统的理念;

3.收获现场问题的解决方法,扩展和丰富自身的知识体系,跨越瓶颈,提升能力

适用人群

面向范围从刚涉足西门子PLC领域的工程师,到合有一定经验的工程师。

542

关注

4万+

浏览

244

订阅

692

收藏

10

作品

崔工谈博途与PLC

已完结 共24集
1. TIA博途可选软件与新功能
2. TIA博途的管理功能

2.1 版本控制接口VCI-1

付费

2.2 版本控制接口VCI-2

付费

2.3 程序块的管理

付费

2.4 库功能

付费

2.5 自定义在线帮助文档

付费

2.6 UMC与UMAC-1

付费

2.7 S7-1500 CPU用户和权限的统一管理

免费
400

相关推荐