gitlab极狐API文档 极狐 gitlab_自动化

背景

PLC是工业自动化控制系统的重要角色之一,西门子的PLC在市场上占比较高,它使用Portal这个平台为plc编程。很多工程师对于项目文件的管理通常为这种画风,这样的方式不方便把改动写清楚。版本管理工具刚好能解决这个问题。

gitlab极狐API文档 极狐 gitlab_git_02


本例使用的是Portal v16,低版本不确定是否有这功能

1、 Portal——新建样例

①创建新项目后点击左下角"项目视图"

gitlab极狐API文档 极狐 gitlab_gitlab极狐API文档_03


②添加plc

添加一个任意型号的plc

gitlab极狐API文档 极狐 gitlab_运维_04


③写一个梯形图

gitlab极狐API文档 极狐 gitlab_gitlab_05


保存。用于测试的程序已准备完毕

2、下载插件

在西门子官网下载 点击右侧“插件”后单击“Addlns”即可看到他的路径,把插件放在这个目录内

gitlab极狐API文档 极狐 gitlab_gitlab极狐API文档_06


激活插件

gitlab极狐API文档 极狐 gitlab_运维_07

3、极狐gitlab——新建项目

极狐gitlab的基本使用可以看这个文章 ①新建一个空白项目,克隆到本地

gitlab极狐API文档 极狐 gitlab_自动化_08

如果没有安装git工具,下载安装https://webcdn.m.qq.com/spcmgr/download/Git-2.37.3-64-bit.exe

②在桌面右键

gitlab极狐API文档 极狐 gitlab_gitlab_09

git clone 复制的极狐gitlab项目下载地址

gitlab极狐API文档 极狐 gitlab_自动化_10


打开plc目录,里面的.git不能删

gitlab极狐API文档 极狐 gitlab_自动化_11

4、Portal——配置工作区

①新增工作区

gitlab极狐API文档 极狐 gitlab_运维_12


②组态工作区,路径选择刚刚用git克隆出来的目录

gitlab极狐API文档 极狐 gitlab_运维_13


③将plc拖动到右侧工作区

gitlab极狐API文档 极狐 gitlab_git_14


④填入commit信息

后续有程序的更改,可以把更改的具体内容写到commit message

gitlab极狐API文档 极狐 gitlab_git_15


状态栏为绿色说明项目文件和工作区文件相同

gitlab极狐API文档 极狐 gitlab_git_16


⑤提交到极狐gitlab

在工作区目录(即和.git同级的目录)右键“git bash here”输入如下指令(main为分支名称)

git push -u origin main

gitlab极狐API文档 极狐 gitlab_git_17


⑥检查效果

刷新极狐gitlab项目的页面,看到文件和commit message都上传成功

gitlab极狐API文档 极狐 gitlab_自动化_18

5、最终效果

上面做了这么多,主要有两个作用:1、方便管理:减少历史项目文件数量,每次提交信息更直观;2、回滚。下面测试效果

验证1:方便管理

更改梯形图,提交。这把M0.1删掉加了一个M0.0

gitlab极狐API文档 极狐 gitlab_运维_19


plc程序修改后工作区已经检查出不同(以程序块为单位),选择导出到工作区,点击上方同步按钮

gitlab极狐API文档 极狐 gitlab_自动化_20


输入commit message信息

gitlab极狐API文档 极狐 gitlab_gitlab_21


与前面的步骤一样,push到极狐gitlab

git push -u origin main

在极狐gitlab项目内点击“仓库”——“提交”

gitlab极狐API文档 极狐 gitlab_gitlab_22


gitlab极狐API文档 极狐 gitlab_运维_23

验证2:回滚

假设项目文件更改后已经保存,且桌面的plc目录已经被删除,想恢复到“init”这次提交。注意:回滚会导致回滚到最新这段时间的代码消失,想保留可以通过新建分支解决。
①克隆
如果桌面上的工作区plc还在跳过此步
②回滚
输入git log查看历史,找到“init”这次提交的commit id

git reset --hard “commitid”

gitlab极狐API文档 极狐 gitlab_gitlab极狐API文档_24


强制推送到极狐gitlab

git push -u origin main --force

③恢复plc程序

这次选择向左的箭头同步

gitlab极狐API文档 极狐 gitlab_gitlab_25


程序已恢复到init状态

gitlab极狐API文档 极狐 gitlab_gitlab_26