- 背景
在工业自动化项目调试过程中,经常会出现程序部分代码使用迭代更新、回滚等需求,时间久远后,经常会发生,不知那个版本才是自己需要的版本,git管理工具可以满足工程师们这个需求。
- 概述
通过博图版本控制接口VCI,可以将开源式分布式控制系统Git连接的计算机博图软件中。
可以实现对FB/FC/DB/软件单元等实现版本管理。
- 软件需求
- 博图V16
- Git软件 Git-2.47.1-64-bit(根据自身计算机系统版本确定)
- 远程仓库https://gitee.com 注册账户
- 实现步骤
4.1下载git软件及博图插件
TIA_Add-In_VCI_Git_Connector_1.0.0
下载网址:
a)https://support.industry.siemens.com/cs/document/109773999/tia-add-in?dti=0&lc=zh-CN
b)https://git-scm.com/downloads
4.2 安装
a) 将
Siemens.VCIGitConnector.addin 放入到 博途安装路径 AddIns 中,
默认是 C:\Program Files\Siemens\Automation\Portal V16\AddIns 文件夹中.
b) Git-2.47.1-64-bit,右键,选择“以管理员身份运行”。
4.3激活博图VCI 插件
开启博图新建事例项目,鼠标左键单击软件右侧“插件”。
鼠标选择“
Siemens.VciGitConnect.addin”,左键单击“状态”列箭头,选择“激活”。激活后如下图所示:
- 在计算机L盘新建文件夹,例如文件夹名称 “L:\Private\gitProTest”,此文件夹作为本地仓库存储程序文件用途。右键单击gitProTest,选择“Open Git Bash here”.弹出下图所示
- 本地仓库初始化及仓库配置
- 输入git init,执行仓库初始化。
2)git config --global user.name "anum" #配置用户名为 anum
git config --global user.email "123@qq.com" #配置邮箱信息为 123@qq.com
3)查看仓库状态 输入git status
- 博图软件端程序代码执行推入本地仓库及远程仓库操作
- 在工程树管理窗口—>版本控制接口下,新建工作区,并打开工作区。
- 工作区配置:工作区路径选择刚新建的文件夹gitProTest,版本控制插件选择Git.
单击弹出窗口的 “确定”按钮。
- 将所需控制的程序FB/FC/DT鼠标左键选择后拖拽到右侧工作区,本例以“FB2000_Motor”为例,如下图所示:
输入注释后,单击OK按钮,执行完成后弹出如下窗口。
- 将FB2000_Motor修改,删除输入变量“i_bEnable”,重新编译。
此刻注意,版本控制接口之工作区已经发生变化。
动作:选择 “->导出到工作区”,动作图标再次发生变化。
选择顶部 “同步”按钮。
弹出注释输入窗口,对新变更做备注,单击“OK”按钮。
(5)查看本地仓库文件存储状态
从上图可以看出,仓库存在2个版本,V1.0.0 和V1.1.0. 文件资源管理器中,可以看见FB已经在仓库中了。
- 远程仓库端操作
- 在https://gitee.com/注册账户并登录,然后新建仓库。
- 在本地仓库“Open Git Bash here”窗口实现本地仓库与远程仓库关联。
git remote add origin https://gitee.com/XXXX-lukas/portal-vci.git 将本地仓库与一个远程仓库关联起来。origin 是远程仓库在本地的默认名称,用于指代名称后面的远程仓库地址,也可以用其它名字。XXXX-lukas/portal-vci.git为远程仓库名称。
- 输入git remote –v查看关联状态
- 将本地仓库中文件推入远程仓库中。
工作区右键选择带推入的文件,选择Git –>Push.
推送完成后,弹出如下界面。
查看远程仓库:
4.10 版本回滚操作
经过FB修改,现在本地仓库有2个版本的文件,其中一个是普通A,没有使能信号及清除数据信号,另一个版本B添加了使能信号及清除运行数据信号。
- 使用git reflog 查看对应版本号
HEAD@{0}:最新版本
HEAD@{1}:之前版本
- 例如我们需要回滚到之前的版本,使用git reset --hard HEAD @{1} #回滚版本
其中的 1 就是 reflog 中显示的版本号。
在图中, 1 是第一版, 0 是第二版。
如果新增第三版。那 2 就会指向第一版, 0 指向第三版。
博图版本控制接口-工作区,变化如下图所示:
动作选择:从工作区导入 –> 单击顶部 “同步”按钮。PLC程序更新完成。
- 远程仓库推送到本地仓库
后期如果其它项目需要使用该远程仓库程序文件,可以同样建立本地仓库文件,然后初始化->本地仓库配置用户名和邮箱 ->关联远程仓库,然后再博图版本控制接口-工作区,右键选择.Vci,选择pull. 这操作就可以实现将远程仓库pull到本地仓库。
完成后弹出如下所示:
如果发生报错,则需要在本地仓库文件下,右键选择git bash here.输入指令:git pull origin master.