设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-1200 -1500 案例之生成动态验证码
返回列表
发新帖
[西门子]
S7-1200 -1500 案例之生成动态验证码
[复制链接]
81767
|
0
|
4 天前
|
显示全部楼层
|
阅读模式
S7-1200-1500案例之生成动态验证码
相关软(硬)件:
1、编程软件:TIA_V15.1
2、仿真软件:PLCSIM
控制要求:
1)生成动态验证码。
本文采用系统时间戳和生成的随机数作为验证码的生成数据源。
本文以生成6位数验证码为例,验证码有效时间为五分钟。
注:程序仅供参考!!!
一、生成动态验证码:
(新建项目、新建FB块、添加变量、编写程序、调用FB块、关联变量、下载测试)
1、新建FB块(CAPTCHA)、定义块接口参数:
(*块接口参数:
INPUT:
SetCaptcha :(BOOL)生成验证码
User_Captcha :(DINT)用户输入验证码
OUTPUT:
Is_Valid :(BOOL)验证是否成功
Captcha :(DINT)生成的验证码;*)
定义块接口参数
2、编写程序:
生成动态验证码程序
(*生成动态验证码:Smart Auto Control -- WangQuanFuGui 原创块接口参数:INPUT:SetCaptcha :(BOOL)生成验证码User_Captcha :(DINT)用户输入验证码OUTPUT:Is_Valid :(BOOL)验证是否成功Captcha :(DINT)生成的验证码*)
REGION Edge //触发生成验证码 #SetCaptchaU := #SetCaptcha AND NOT #statEdgeSave; #statEdgeSave := #SetCaptcha; //获取时间戳 #TimestampSwap(#TimeStamp);END_REGION
REGION captcha IF #SetCaptchaU THEN //触发时间戳 #statTimeStamp := #TimeStamp; //获取时间戳的后3位数字 #TimeCaptcha := #TimeStamp MOD 1000; //生成99-999之间的随机数 #RandomNumber := "FC_RandomNumberDINT"(MinValue := 99, MaxValue := 999); //生成6位数字验证码 #Captcha := #statCaptcha := #RandomNumber * 1000 + #TimeCaptcha; END_IF;END_REGION
REGION Valid // 用户输入的验证码验证 IF #User_Captcha = #statCaptcha AND (#TimeStamp - #statTimeStamp <= #CAPTCHA_EXPIRY_TIME) THEN #Is_Valid := TRUE; // 验证成功 ELSE #Is_Valid := FALSE; // 验证失败 END_IF;END_REGION生成动态验证码程序
3、调用程序、下载测试:
设置时区
调用FB块(CAPTCHA)
下载测试
下载测试
二、时间戳FB块:
1、新建FB块(TimestampSwap):
自定义数据类型
定义块接口参数
2、编写程序:
时间戳转换程序
三、随机数FC块:
1、新建FC块(FC_RandomNumberDINT):
定义块接口参数
2、编写程序:
随机数转换程序
注:程序仅供参考!!!
(参考文章:S7-1200 -1500 案例之生成随机数)
(参考文章:S7-1200 -1500 案例之读取设置本地时间)
(参考文章:S7-1200 -1500 案例之日期转换时间戳)
(参考文章:S7-200 SMART案例之生成随机数)
(参考文章:S7-200 SMART 填表与先进先出)
(参考文章:S7-200 SMART 填表与先进后出(LIFO))
感谢您点赞、分享、给小编加鸡腿。
如需程序源码请打赏小编或私信留言。
参考文献《STEP7和WinCC Engineering系统手册》
STEP 7 和 WinCC EngineeringV16-V20
链接:https://pan.baidu.com/s/1yndwGyRb0o6o5m6N2SbYAA?pwd=1234 提取码:1234
全集成自动化获取 TIA Portal 相关信息的最短途径!
https://docs.tia.siemens.cloud/
后台回复关键字获取TIA系列软件V11-V20:
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
u5900
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』