背景
PLC是工业自动化控制系统的重要角色之一,西门子的PLC在市场上占比较高,它使用Portal这个平台为plc编程。很多工程师对于项目文件的管理通常为这种画风,这样的方式不方便把改动写清楚。版本管理工具刚好能解决这个问题。
本例使用的是Portal v16,低版本不确定是否有这功能
1、 Portal——新建样例
①创建新项目后点击左下角"项目视图"
②添加plc
添加一个任意型号的plc
③写一个梯形图
保存。用于测试的程序已准备完毕
2、下载插件
在西门子官网下载 点击右侧“插件”后单击“Addlns”即可看到他的路径,把插件放在这个目录内
激活插件
3、极狐gitlab——新建项目
极狐gitlab的基本使用可以看这个文章 ①新建一个空白项目,克隆到本地
如果没有安装git工具,下载安装https://webcdn.m.qq.com/spcmgr/download/Git-2.37.3-64-bit.exe
②在桌面右键
git clone 复制的极狐gitlab项目下载地址
打开plc目录,里面的.git不能删
4、Portal——配置工作区
①新增工作区
②组态工作区,路径选择刚刚用git克隆出来的目录
③将plc拖动到右侧工作区
④填入commit信息
后续有程序的更改,可以把更改的具体内容写到commit message
状态栏为绿色说明项目文件和工作区文件相同
⑤提交到极狐gitlab
在工作区目录(即和.git同级的目录)右键“git bash here”输入如下指令(main为分支名称)
git push -u origin main
⑥检查效果
刷新极狐gitlab项目的页面,看到文件和commit message都上传成功
5、最终效果
上面做了这么多,主要有两个作用:1、方便管理:减少历史项目文件数量,每次提交信息更直观;2、回滚。下面测试效果
验证1:方便管理
更改梯形图,提交。这把M0.1删掉加了一个M0.0
plc程序修改后工作区已经检查出不同(以程序块为单位),选择导出到工作区,点击上方同步按钮
输入commit message信息
与前面的步骤一样,push到极狐gitlab
git push -u origin main
在极狐gitlab项目内点击“仓库”——“提交”
验证2:回滚
假设项目文件更改后已经保存,且桌面的plc目录已经被删除,想恢复到“init”这次提交。注意:回滚会导致回滚到最新这段时间的代码消失,想保留可以通过新建分支解决。
①克隆
如果桌面上的工作区plc还在跳过此步
②回滚
输入git log查看历史,找到“init”这次提交的commit id
git reset --hard “commitid”
强制推送到极狐gitlab
git push -u origin main --force
③恢复plc程序
这次选择向左的箭头同步
程序已恢复到init状态