上一期我们通过英雄联盟游戏的更新来说明版本管理的重要性,西门子PLC的代码托管和团队方式有两种:
- 版本控制接口——VCI(博途免费插件 ),通过GIT的方式托管到本地仓库,或者Github,GitLab这样的平台
- 通过博途选件ProjectServer来托管到公司内部的服务器
今天主要给大家介绍第一种方式——VCI。
01
VCI——架构与用途
VCI (Version Control Interface),版本控制接口,从博途V16开始支持。在安装“TIAPortal Openness”之后即可使用VCI,无需单独安装。
西门子提供的该软件中不包含任何版本控制程序,由客户自行选择。
(本文使用Git-connector作为说明)
版本控制,允许将个人项目存放或者提交到称为代码仓库的存储区域中,通常是在服务器或者云端。
如果其他开发人员对文件进行了更改,则在项目上的工作人员可以查看和克隆存储库来编辑文件,并进行二次提交。
任何对代码仓库有权限的人都可以看到两次提交之间的更改,所有工作站的内容都可以被提交,并继续从更新的文件中进行开发。
那么使用版本控制有哪些好处呢?
- 云端代码库可以保证工作时不会丢失任何更改记录
- 随时可以回溯之前某一个稳定版本的项目
- 允许多个开发人员,通过一个工作流创建和合并相应更改到主文件中
- 允许项目经理跟踪团队的开发进度
02
通过VCI可以管理哪些对象?
大家也许了解到,大多数IT向的版本管理对象主要是管理文本类的代码。而对于PLC工程师而言,有许多的工程对象其实是梯形图,功能块,或者是WinCC的templates等控件。所以无法直接使用Git、SVN做有效的托管和对比。
而博途VCI就是通过将博途的一些元素转换为XML或者其它文本的方式,帮助我们管理这些工程对象。
VCI还是一个新选件,当前的功能和局限性如下:
- 支持OB, FB, FC, DB, 数据类型,变量表,Safety等元素
- 不支持CEM,专有技术保护块,实例类型,WinCC画面等
03
我需要哪些工具?
以下组件除了博途之外均为免费
- TIA PortalV16以上的版本,安装好Openness(安装博途时,默认会安装Openness)VCI git-connector Add-inhttps://support.industry.siemens.com/cs/cn/en/view/109773999
- SIMATIC AutomationCompare Tool(若使用非文本的编程语言,如梯形图、功能图块等,需要借助此工具)https://support.industry.siemens.com/cs/cn/en/view/109797235/en
- GIT任意的GUI软件 (直接用Bash也可以)
- 一个Git仓库 (可搭建一个GitLab服务器或者注册一个Github, Gitee的账户)