liu234193892
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 32 個(gè)
工控威望: 106 點(diǎn)
下載積分: 828 分
在線時(shí)間: 2(小時(shí))
注冊時(shí)間: 2018-10-15
最后登錄: 2024-09-27
查看liu234193892的 主題 / 回貼
樓主  發(fā)表于: 2023-11-09 09:49
觀看完整版教學(xué)請點(diǎn)擊以下鏈接
B站視頻可放心觀看

程序版本為博途V17。整體由兩部分組成,首先利用博途自帶的LGF庫文件生成隨機(jī)數(shù),隨機(jī)數(shù)的作用主要是實(shí)現(xiàn)動(dòng)態(tài)密碼的計(jì)算,然后再調(diào)用自制的分期付款庫文件程序塊,來實(shí)現(xiàn)三段天數(shù)控制鎖定控制和無限分段區(qū)間天數(shù)控制。
分期付款程序塊有兩種模式,分別為三段天數(shù)控制鎖定控制程序模式和無限分段區(qū)間天數(shù)控制程序模式,具體使用請看如下操作:
一、填加LGF庫文件(隨機(jī)數(shù))
  
二、設(shè)置LGF程序塊針腳

三、添加分期付款程序庫文件


給分期付款程序塊添加一個(gè)背景數(shù)據(jù)塊,默認(rèn)就好。



四、設(shè)置分期付款程序塊針腳。



五、分期付款程序塊針腳說明
1、公用針腳說明:
輸入端:
(1)    模式1或2:模式選擇針腳,設(shè)置為1時(shí),為三段天數(shù)控制鎖定控制程序;設(shè)置為         2時(shí),為無限分段區(qū)間天數(shù)控制程序;設(shè)置為0或其他數(shù)字時(shí),為初始化。
(2)    隨機(jī)數(shù):此針腳需要將LGF程序塊輸出的隨機(jī)數(shù)變量填加在此處,用于程序生成6個(gè)隨機(jī)數(shù)。
(3)    HMI激活碼:此針腳變量需要填加到HMI上位機(jī)上,對應(yīng)一個(gè)輸入輸出域,用于用戶輸入激活密碼使用。
(4)    永久解鎖密碼:此針腳需要在下位機(jī)設(shè)定一個(gè)9位數(shù)的密碼,當(dāng)用戶輸入的激活碼與此處相等時(shí),將永久解除鎖定程序,所有模式的控制程序均失效。
輸出端:
(1)運(yùn)行天數(shù):顯示并記錄當(dāng)前系統(tǒng)運(yùn)行的天數(shù)。
2、模式1控制針腳說明:
當(dāng)模式1或2針腳設(shè)置為1時(shí),天數(shù)設(shè)定區(qū)域針腳和控制區(qū)域針腳有效(如下圖)。
天數(shù)設(shè)定1、天數(shù)設(shè)定2、天數(shù)設(shè)定3為三段鎖定日期設(shè)置針腳,當(dāng)系統(tǒng)運(yùn)行天數(shù)到達(dá)設(shè)定的對應(yīng)天數(shù)后,將觸發(fā)控制輸出,分別對應(yīng)天數(shù)1到達(dá)、天數(shù)2到達(dá)、天數(shù)3到達(dá),將控制輸出賦值為1。

此時(shí)HMI上位機(jī)上會(huì)彈出一個(gè)提示窗口(如下圖),上面會(huì)顯示6個(gè)隨機(jī)數(shù),需用通過預(yù)先設(shè)置的公式,結(jié)合這6個(gè)隨機(jī)碼計(jì)算出動(dòng)態(tài)密碼,然后將計(jì)算出的動(dòng)態(tài)密碼輸入到激活碼當(dāng)中即可解鎖。三段控制可提供三次鎖定程序的機(jī)會(huì),最后一次輸入激活碼后將永久解鎖。

3、模式2控制針腳說明:
當(dāng)模式1或2針腳設(shè)置為2時(shí),分段區(qū)間天數(shù)設(shè)置針腳和分段控制輸出針腳有效(如下圖)。

(1)    分段起始天數(shù):當(dāng)系統(tǒng)運(yùn)行天數(shù)到達(dá)此針腳設(shè)定的天數(shù)后,分段區(qū)間鎖定程序生效,當(dāng)此針腳設(shè)置為0或者1時(shí),程序默認(rèn)為0天,分段區(qū)間控制程序?qū)⒅苯由,也就是說從第幾天開始啟動(dòng)分段區(qū)間控制程序。
(2)    分段區(qū)間天數(shù):此針腳為設(shè)定分段區(qū)間鎖定程序的間隔天數(shù)。程序會(huì)根據(jù)此針腳設(shè)定的天數(shù)進(jìn)行無限循環(huán)鎖定系統(tǒng),也就是說系統(tǒng)每隔多少天鎖定一次。
控制方式:
當(dāng)系統(tǒng)運(yùn)行天數(shù)到達(dá)分段起始天數(shù)時(shí),將啟動(dòng)分段區(qū)間鎖定程序,當(dāng)系統(tǒng)運(yùn)行天數(shù)滿足分段區(qū)間天數(shù)時(shí),將鎖定系統(tǒng),HIM上位機(jī)會(huì)同樣彈出如下窗口,通過計(jì)算公式輸入正確的激活碼后,系統(tǒng)才會(huì)解鎖。當(dāng)系統(tǒng)運(yùn)行天數(shù)再次滿足分段區(qū)間天數(shù)時(shí),再次鎖定系統(tǒng),如此無限循環(huán)。只有輸入永久解鎖密碼才會(huì)永久解除鎖定程序。

模式2實(shí)例:分段起始天數(shù)設(shè)定為3,分段區(qū)間天數(shù)設(shè)定為2
當(dāng)運(yùn)行天數(shù)到達(dá)3時(shí),分段鎖定程序生效,分段區(qū)間程序開始計(jì)時(shí),當(dāng)運(yùn)行天數(shù)到達(dá)5時(shí),系統(tǒng)鎖定,輸入激活碼后解除鎖定,當(dāng)系統(tǒng)運(yùn)行天數(shù)到達(dá)7時(shí),系統(tǒng)再次鎖定,輸入激活碼再次激活,如此反復(fù)。
也就是說,當(dāng)?shù)竭_(dá)分段起始天數(shù)后,只要系統(tǒng)時(shí)間每運(yùn)行2天就會(huì)鎖定一次,只有輸入激活碼才能解鎖。如此反復(fù)無限循環(huán),只有輸入永久激活碼才能永久解鎖。
六、下位機(jī)動(dòng)態(tài)密碼計(jì)算公式設(shè)置:
打開博途項(xiàng)目文件,找到程序段7中的動(dòng)態(tài)密碼計(jì)算公式程序,根據(jù)您自己的需求進(jìn)行修改即可(如下圖)。

程序如下:
#內(nèi)部計(jì)算.動(dòng)態(tài)密碼 := #HMI隨機(jī)碼[0] + #HMI隨機(jī)碼[1] - #HMI隨機(jī)碼[2] + #HMI隨機(jī)碼[3] + #HMI隨機(jī)碼[4] - #HMI隨機(jī)碼[5] + 99977 + 1997 + 2022;
注釋:此語句中的變量不需要修改,只修改從“#內(nèi)部計(jì)算.動(dòng)態(tài)密碼 :=  ”之后的+或者-號和最后的3個(gè)可變數(shù)值即可。
七、填加上位機(jī)變量
1、填加HMI激活碼變量
此變量需要填加到上位機(jī)上,供用戶輸入激活碼使用。


可以在HMI針腳直接填加一個(gè)變量如下圖

也可以找到分期付款庫文件的背景DB塊地址,將其地址填加到上位機(jī)上。如下圖:


2、填加HMI隨機(jī)碼變量

同樣打開分期付款庫文件的背景DB塊



按照下圖找到HMI隨機(jī)碼變量,記住時(shí)HMI隨機(jī)碼變量,不是隨機(jī)碼!按照圖中步驟操作即可。