西门子PLC系统时间与随机数函数运用案例——锁机(催款)程序
前期录制了一期锁机程序编制的案例,后台很多小伙伴咨询我,下面我来详细来分析一下程序。(视频版是LAD编制,此处讲解SCL版)
1、首先硬件组态这里随便选择了一款1500的PLC,添加了一个HMI;
2、程序结构;
3、建立一个FB块,命名为LOCK_program,开始编写程序,首先接口定义如下:
4、程序段编制,首先我们整理一下思路,我们要实现定时锁机功能,可以通过调用PLC的系统时间,然后与我们设定的试用时间作比较,一旦到了设定时间,即触发一个变量;
RD_LOC_T指令就是我们西门子自带的读取PLC本地时间指令,需要注意的地方是,这里的数据类型是DTL;
5、提取DAY,HOUR,MINUTE,SEC(天、小时,分钟,秒);
6、随机数函数调用,这里引用随机数主要是为了生成解锁码,以及验证码的动态显示;
7、8位解锁码生成,这里的可以自己随便定义解锁码的生成算法;
8、解码算法 (IN1+IN2+IN3+IN4+IN5+IN6+IN7+IN8)* * A + B * C,可以按照个人喜好随意更改,当设备上锁后,使用人员需要在触摸屏上生成8为解锁验证码,然后发给厂家,厂家根据发来的验证码,发回一个对应的解锁密码;
9、一些状态为复位;
10、功能演示
11、详细请看我发的视频西门子1500 催款程序编制,随机数与plc时间读取指令运用
感谢阅读!