0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于动态加密计时催块程序的解决思路

PLC技术圈 来源:博途V15 作者:ypac 2021-04-13 15:55 次阅读

很多公众号都发过这个程序,这也许是很多乙方和甲方都曾经遇到过的事情~

非标行业是一个特殊的行业,面对设备发货到现场后迟迟不肯付款的和找各种理由拒绝搪塞验收的客户,必须的采取非常的手段,其中给设备加密定时锁机是一种优选的方案。一来可以提醒客户要遵守规则要求,按时验收,按时付款,二来不会给客户造成任何的损失,三来避免走法律途径冗繁的手续和律师代理费。

在这里介绍下动态加密计时催块程序的解决思路及博途V15的源程序供各位朋友参考。所谓动态密码,就是所用的解密密码是动态实时生成的,也就是说密码是随时间变化而变化。

过程是这样实现的。当调试人员在项目调试完成后,设置一个到计时天数,当天数到达后设备锁机,HMI上跳出解锁界面,这个时候点击HMI上的生成解锁码按钮,生成解锁码(解锁码是在动态验证码中挑选8位生成的,在此基础上还可以扩展出随机生成的解锁码。..。..。..。)。

然后客户把解锁码告诉给调试人员,调试人员根据解锁码计算出解密密码告诉给客户解密(调试人员是需要知道这个解密算法)。

加密计时模块

43e1d0b0-95cc-11eb-8b86-12bb97331649.jpg

程序块数据结构

440fd56e-95cc-11eb-8b86-12bb97331649.jpg

程序完成步骤

1、首先调用RD_LOC_T读取日期时间存入到FB块本地临时变量中,读取秒数,根据秒数计算天数

44236b7e-95cc-11eb-8b86-12bb97331649.jpg

444153aa-95cc-11eb-8b86-12bb97331649.jpg

2、调用西门子官方随机数生成块,并将随机数加上索引

445015b6-95cc-11eb-8b86-12bb97331649.jpg

3、将随机数按照索引的顺序,放入相应的寄存器,并转成字符并显示在HMI上,可以看到动态的字符变化的炫酷效果

445e9f50-95cc-11eb-8b86-12bb97331649.jpg

4、生成解锁码显示在HMI,客户把这个解锁码告诉调试人员,调试人员需要解锁码计算出密码。

447050ec-95cc-11eb-8b86-12bb97331649.jpg

5、制作解密算法(这个机密算法根据需要可以自己更改)并强转成DINT类型,并密码核对解密。

449e6af4-95cc-11eb-8b86-12bb97331649.jpg

44af4efa-95cc-11eb-8b86-12bb97331649.jpg

6、解密完成复位状态

44ffc678-95cc-11eb-8b86-12bb97331649.jpg

4514c14a-95cc-11eb-8b86-12bb97331649.jpg

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HMI
    HMI
    +关注

    关注

    9

    文章

    580

    浏览量

    48412
  • 动态加密
    +关注

    关注

    0

    文章

    2

    浏览量

    5086

原文标题:【解密】 西门子PLC动态加密计时催款程序

文章出处:【微信号:xue_PLC,微信公众号:PLC技术圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在bootloader和应用程序之间共享FEE

    电子发烧友网站提供《在bootloader和应用程序之间共享FEE.pdf》资料免费下载
    发表于 10-10 09:18 0次下载
    在bootloader和应用<b class='flag-5'>程序</b>之间共享FEE<b class='flag-5'>块</b>

    用于具有AES硬件加密功能的TM4C129器件的共享密钥引导加载程序

    电子发烧友网站提供《用于具有AES硬件加密功能的TM4C129器件的共享密钥引导加载程序.pdf》资料免费下载
    发表于 08-27 09:56 0次下载
    用于具有AES硬件<b class='flag-5'>加密</b>功能的TM4C129器件的共享密钥引导加载<b class='flag-5'>程序</b>

    求助,关于双面板运放PCB铺铜遇到的疑问求解

    1,在单极性运放PCB铺铜设计时思路:bottom layer 铺铜(电源地),TOP layer铺铜(信号地),信号地与电源地通过0欧姆电阻或者磁珠单点连接。这种思路合理吗? 2,电源一般需要铺铜吗? 3,信号地一般需
    发表于 08-16 08:12

    STM32不加密,内部的用户程序可以读出来吗?

    STM32不加密,内部的用户程序可以读出来吗?,如果能读应该用什么软件,如何读取呢
    发表于 05-16 08:12

    西门子博途:“自动化创建器”功能

    在使用“从(含虽有相关联的)生成源”功能对进行备份,重复上述恢复的动作,在观察程序的结果。
    的头像 发表于 04-30 12:57 1964次阅读
    西门子博途:“自动化<b class='flag-5'>块</b>创建器”功能

    西门子PLC实现动态加密计时催款功能的程序设计

    当调试人员在项目调试完成后,设置一个到计时天数,当天数到达后设备锁机,HMI上跳出解锁界面,这个时候点击HMI上的生成解锁码按钮,生成解锁码(解锁码是在动态验证码中挑选8位生成的,在此基础上还可以扩展出随机生成的解锁码..........)。
    的头像 发表于 04-24 11:05 1635次阅读
    西门子PLC实现<b class='flag-5'>动态</b><b class='flag-5'>加密</b><b class='flag-5'>计时</b>催款功能的<b class='flag-5'>程序</b>设计

    用IAR给STM8编程的每次下载完之后要给它加密,可以在程序里面写一段代码加密吗?

    我用IAR给STM8编程的,每次下载完之后要给它加密。有点麻烦,想问一下哪位大神有没有试过在程序里面写一段代码加密的?
    发表于 04-18 06:11

    STEP7-5.5-F程序中FB修改后的变化

    STEP7-5.5-F程序中FB修改后的变化
    发表于 04-07 11:46 512次阅读
    STEP7-5.5-F<b class='flag-5'>程序</b>中FB<b class='flag-5'>块</b>修改后的变化

    程序加密之辩:究竟是否应该加密

    一般都要加,尤其是做设备生产的,防同行,以前工作的单位是做乙方,PLC和上位机程序都不加密,最后被友商完整的复制过去。
    的头像 发表于 03-28 09:49 264次阅读

    STM32G4多个参数如何实现精准的计时

    计时精度:有的参数需要精确到1ms 有的参数需要100s systick已经用作精准延时,在延时中计数器会清零。 那么计时有什么好的方法呢? 感谢 大神们请指点个思路
    发表于 03-11 07:48

    什么是动态线程池?动态线程池的简单实现思路

    因此,动态可监控线程池一种针对以上痛点开发的线程池管理工具。主要可实现功能有:提供对 Spring 应用内线程池实例的全局管控、应用运行时动态变更线程池参数以及线程池数据采集和监控阈值报警。
    的头像 发表于 02-28 10:42 565次阅读

    简单认识安全加密处理器

    安全加密处理器 (Secure Cryptoprocessor) 是一种本身不产生加密数据或程序指令,但产生密钥(Key)的处理器,其应用产品有智能卡、ATM、电视机机顶盒、军事系统等。而加密
    的头像 发表于 12-06 09:19 1109次阅读

    如何查看及更改函数/函数的调用环境

    模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数或函数,这样就可以反复调用。其优点是:使程序架构更加清晰,避免重复编写相似功能的代码。不过可能会产生一个疑惑:既然PLC的程序
    的头像 发表于 11-17 09:08 827次阅读
    如何查看及更改函数/函数<b class='flag-5'>块</b>的调用环境

    整机电磁兼容设计时思路方法

    电子发烧友网站提供《整机电磁兼容设计时思路方法.doc》资料免费下载
    发表于 11-15 09:59 0次下载
    整机电磁兼容设<b class='flag-5'>计时</b>的<b class='flag-5'>思路</b>方法

    什么是FB功能?为什么要使用FB功能?如何制作一个FB功能

      FB功能是一种封装了特定逻辑功能的模块。它类似于一个子程序或函数,但是它有自己的内部变量和接口。FB功能可以被多次调用,并且每次调用都会创建一个新的实例。
    的头像 发表于 11-09 16:13 3647次阅读
    什么是FB功能<b class='flag-5'>块</b>?为什么要使用FB功能<b class='flag-5'>块</b>?如何制作一个FB功能<b class='flag-5'>块</b>?