通过git控制博途程序版本

之前分享过一篇关于TIA Portal Version Control Interface(版本控制接口)如何添加代码比较程序的推文,如何实现版本控制一笔带过了。本文填一下此接口如何结合版本控制软件如git ,实现plc程序版本管理,感兴趣的可以到坑里来一起玩耍。

了解git

git是一个分布式版本控制软件,可以直接在本地实现文件的版本管理。使用命令行就可以完成操作。

还可以把本地库传送到支持git的远程源代码托管服务平台进行保存如github。也可以使用git用本地主机自己搭建一台git服务器作为代码仓库使用。与别人分享、进行协同开发。

git软件直接到官网下载最新版安装即可:

https://git-scm.com/downloads

2  添加TIA Portal项目

新建一个文件夹,作为TIA Portal项目的版本控制接口的workspace即工作空间,并作为版本控制软件git的代码库目录。

示例中文件夹:C:\Users\liubing\Documents\TIAPRJ

为项目添加一个工作区:

在项目树中打开“版本控制接口”——双击“新增工作区”。

通过git控制博途程序版本

打开添加的工作区,点击“组态工作区”,指定工作区路径为C:\Users\liubing\Documents\TIAPRJ

然后从工作区左侧项目中把PLC中需要进行版本管理的对象拖到右侧工作区

通过git控制博途程序版本

此时,PLC_1中FC1块自动与工作区中FC1.scl文件关联,之间状态一致即该FC的比较版本与工作区中的完全相同。

通过git控制博途程序版本

项目中可以导出到工作区的对象包括:

组织块 (OB)

函数块 (FB)

功能 (FC)

数据块 (DB)

PLC 数据类型

PLC 变量表

创建git仓库

右击“TIAPRJ”文件夹,菜单中点击“Git Bash Here”,启动shell命令行界面

通过git控制博途程序版本

然后,输入git init,以TIAPRJ为目录初始化git仓库的创建

通过git控制博途程序版本

同时会创建一个默认的分支master,并作为当前分支。

该命令执行完后会在TIAPRJ目录生成一个 .git 目录。所有git需要的数据和资源都存放在这个目录中。

通过git控制博途程序版本

然后,配置Author信息:设置用户名与邮箱

通过git控制博途程序版本

这样就基本完成一个git仓库创建。

管理PLC程序版本

本文不聊git命令,只说明一下一个PLC程序版本控制涉及的一些主要操作。

有关git使用的详细内容可阅读官网book:

https://git-scm.com/book/zh/v2

保存一个FC1版本

前面提到当从项目把FC1拖到工作区,FC1.scl自动添加到工作区TIAPRJ目录中即git仓库工作区目录。

v1.0版本FC1源文件


FUNCTION "FC1" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1

BEGIN
END_FUNCTION

先使用命令 git add

通过git控制博途程序版本

把FC1.scl的修改添加到暂存区

使用命令 git status

通过git控制博途程序版本

可以查看暂存区的信息,包括了刚才添加的FC1.scl

然后使用命令 git commit

通过git控制博途程序版本

提交已暂存的修改,v1.0为附加的信息,这样可以容易的辨识已保存的版本,当然也可以给每个commit添加tag。

使用命令 git log

通过git控制博途程序版本

可以查看已提交的历史版本信息,黄色行commit后面的字符串为该commit的ID

再保存一个FC1版本

修改FC1程序,如添加一个输入、一个输出参数,编译保存

通过git控制博途程序版本

v2.0版本FC1源文件


FUNCTION "FC1" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      Input_1 : Bool;
   END_VAR
   VAR_OUTPUT 
      Output_1 : Bool;
   END_VAR

BEGIN
END_FUNCTION

打开workspace,FC1状态被标记为

通过git控制博途程序版本

,表示项目中对象的比较版本与工作区中的不同。自上一次同步操作后,TIA Portal 对象已更改。

通过git控制博途程序版本

先点击“将更改导出到工作区”,然后点击“同步”,把FC1修改同步到git仓库工作区,覆盖其中FC1.scl文件

通过git控制博途程序版本

然后在git bash中保存更改,流程与上面保存v1.0相同

先使用命令 git add

通过git控制博途程序版本

把FC1.scl的修改添加到暂存区

然后使用命令 git commit

通过git控制博途程序版本

提交已暂存的修改,v2.0为附加的信息

使用命令 git log

通过git控制博途程序版本

可以查看所有已提交的历史版本信息

恢复FC1到指定版本

如把FC1恢复到第一次保存的v1.0版本

使用命令 git restore

通过git控制博途程序版本

--source为指定commit的ID

打开TIAPRJ中FC1.scl文件,可以看到已恢复到v1.0

打开workspace,FC1状态被标记为

通过git控制博途程序版本

,表示项目中对象的比较版本与工作区中的不同。自上一次同步操作后,工作区文件已更改。

通过git控制博途程序版本

先点击“从工作区导入更改”,然后点击“同步”,把git仓库工作区FC1同步到项目

通过git控制博途程序版本

到此结束,本文只是抛砖引玉,git使用的更多内容,感兴趣的可自行学习,应该不会太难。

上一篇:linux常用命令


下一篇:centos7 下面搭建mysql 5.7 主从复制【原创并亲测有效】