前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你写个小程序判断你的源程序是否被别人改动过

手把手教你写个小程序判断你的源程序是否被别人改动过

作者头像
剑指工控
发布2023-08-31 12:47:01
1980
发布2023-08-31 12:47:01
举报
文章被收录于专栏:剑指工控

JZGKCHINA

工控技术分享平台

作为PLC编程者,正常运行的源程序交给别人之后,在运行过程中,可能会出现被别人改动后下载,导致设备停机、撞机等情况,最后将责任归咎于源程序作者。

针对这种情况,小李今天给大家分享一个小程序,简单几步即可判断出你的PLC程序是否被别人修改过,并记录下修改时间作为证据。

01

使用的硬件与软件

硬件:西门子 S7-1500 CPU-1515

软件:博图TIA Portal

02

编写PLC程序,调用读取校验和功能块

2.1 先在程序里面建立一个DB块,作为证据存储点

如图所示:先编辑DB块变量的内容。

注意:这里建立的变量一定要设置为保持性变量,否则CPU断电或者Down机的时候,证据就丢失了哦!

2.2 调用功能块,编辑抓捕证据的小程序

如图所示,调用GetChecksum指令,指令位于“选项—扩展指令——诊断”文件夹里面。

2.3编辑功能块

指令块每个管脚的说明如下

2.4 判断程序校验和改变,当程序有改变并下载的时候,记录下下载时间

当前读取的校验和与上一周期保存的校验和比较,当校验和发生改变时,纪录校验和改变时的时间,这个时间是程序改变后下载的生效时间,这个时间我们可以发送到HMI或者其他人机软件上面,显示出程序改变下载时间。

2.5 记录上一周期的校验和

将本周期计算的校验和变量MOVE给上周期校验和的变量,用于下一次继续监视。

2.6 保存错误代码(非必须)

指令执行过程中有时候会发生错误,当错误输出管脚为1的时候,我们可以把错误代码抓取出来分析分析。

03

检查程序是否正常

程序编辑完成之后,将程序下载到CPU,对比离线的校验和及在线读取的校验和,检查程序是否正确下载,适当改变一下程序,再次下载,验证一下程序是否有效。

此小程序仅检查标准程序的修改;可以将GetChecksum指令 Scope管脚修改为 2,只检查安全程序的修改;可以将GetChecksum指令 Scope管脚修改为 3,只检查文本列表的修改。

编辑完成这个小程序之后,你就可以记录到别人修改或下载你的源程序的证据,保护你的权益。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档