《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于西門子S7-300 PLC的電子密碼鎖系統(tǒng)設(shè)計
基于西門子S7-300 PLC的電子密碼鎖系統(tǒng)設(shè)計
2017年微型機與應(yīng)用第10期
莫冰1,2,劉長江2
1.四川理工學(xué)院 自動化與信息工程學(xué)院, 四川 自貢 643000;   2.四川理工學(xué)院 數(shù)學(xué)與統(tǒng)計學(xué)院, 四川 自貢 643000
摘要: 西門子S7-300可編程邏輯控制器(Programmable Logic Controller,PLC)在工業(yè)控制系統(tǒng)中有較為廣泛的應(yīng)用,但一直以來缺少密碼鎖方面的相關(guān)研究。針對西門子S7300 PLC控制的相關(guān)工業(yè)設(shè)備,設(shè)計了一類內(nèi)嵌式電子密碼鎖系統(tǒng),并將該系統(tǒng)的解密與設(shè)密與PLC控制原理相結(jié)合,使其能直接應(yīng)用于工業(yè)設(shè)備,從而實現(xiàn)設(shè)備的防盜功能。最后,采用軟件STEP 7 SIMATIC對密碼鎖系統(tǒng)進行編程和測試,其仿真結(jié)果表明密碼鎖的功能是可靠且有效的。
關(guān)鍵詞: 密碼鎖 PLC STEP7SIMATIC S7-300
Abstract:
Key words :

  莫冰1,2,劉長江2

  (1.四川理工學(xué)院 自動化與信息工程學(xué)院, 四川 自貢 643000;2.四川理工學(xué)院 數(shù)學(xué)與統(tǒng)計學(xué)院, 四川 自貢 643000)

  摘要:西門子S7-300可編程邏輯控制器(Programmable Logic Controller,PLC)在工業(yè)控制系統(tǒng)中有較為廣泛的應(yīng)用,但一直以來缺少密碼鎖方面的相關(guān)研究。針對西門子S7300 PLC控制的相關(guān)工業(yè)設(shè)備,設(shè)計了一類內(nèi)嵌式電子密碼鎖系統(tǒng),并將該系統(tǒng)的解密與設(shè)密與PLC控制原理相結(jié)合,使其能直接應(yīng)用于工業(yè)設(shè)備,從而實現(xiàn)設(shè)備的防盜功能。最后,采用軟件STEP 7 SIMATIC對密碼鎖系統(tǒng)進行編程和測試,其仿真結(jié)果表明密碼鎖的功能是可靠且有效的。

  關(guān)鍵詞:密碼鎖;PLC;STEP 7 SIMATIC;S7-300

  中圖分類號:TP277文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.003

  引用格式:莫冰,劉長江.基于西門子S7-300 PLC的電子密碼鎖系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2017,36(10):7-10,14.

0引言

  *基金項目:四川省人工智能重點實驗室資助項目(2014RZY02);四川省橋梁無損檢測與工程計算重點實驗室資助項目(2014QZY01)

  縱觀密碼鎖的悠久歷史,其種類繁多,從機械密碼鎖發(fā)展到如今功能齊全的電子密碼鎖。電子密碼鎖以其自身的優(yōu)點被人們所廣泛關(guān)注和使用。其特點如下。

 ?。?)保密性能好,隨機輸入成功率極低,避免資料的丟失和財產(chǎn)的流失。

 ?。?)密碼可以隨時更改,防止密碼被盜。

 ?。?)比機械鎖零件少,減少人為的磨損。

  (4)使用方便靈活,不需要佩帶鑰匙來開鎖[1]。

  如今,在工業(yè)和工程領(lǐng)域中,因其自身的易操作性,PLC被廣泛使用在工業(yè)過程控制中。但是在一些大型的PLC工業(yè)整體系統(tǒng)中,由于非專業(yè)操作員的不當(dāng)使用以及PLC程序的泄露,導(dǎo)致經(jīng)濟效益下降和財產(chǎn)的損失,產(chǎn)生了諸多不安全性因素,所以本文提出一種基于PLC的密碼鎖設(shè)計,該設(shè)計應(yīng)用于PLC所處的工業(yè)領(lǐng)域的防盜中,可以大大加強管控力度,保證系統(tǒng)的安全運行,提高工廠的經(jīng)濟效益。

  但是工業(yè)領(lǐng)域中將密碼鎖嵌入到PLC中用于防盜的案例實在太少,為了填補其空缺,本文采用德國西門子S7300 PLC來實現(xiàn)密碼的設(shè)定和解鎖功能,其結(jié)構(gòu)簡單,且故障率低。

  S7300系列PLC采用模塊化結(jié)構(gòu)[2],適用于輸入/輸出(I/O)點數(shù)在1 000左右的集中或分布式控制系統(tǒng),一般由中央處理單元(CPU)、輸入信號模塊、輸出模塊、電源模塊、通信模塊、接口模塊和功能模塊等組成[3],其中最基本的S7300 PLC系統(tǒng)只需中央處理單元、電源模塊以及輸入輸出模塊組成。在模塊的安裝方面也有一些規(guī)定,第一號槽位是電源模塊,第二號槽位是中央處理器模塊,第三號槽位是接口模塊,接下來的模塊可以自由分配接上即可[4]。

  本文采用STEP 7 SIMATIC軟件結(jié)合S7300 PLC芯片,仿真出密碼鎖的部分功能。STEP7 SIMATIC V5.5軟件是德國西門子公司針對S7300/400 PLC所研發(fā)的一款支持中文及多個國家語言的編程軟件[5],本文采用此編程軟件對密碼鎖的部分功能進行仿真。

  目前,PLC技術(shù)已經(jīng)被廣泛應(yīng)用于機械制造、能源、交通運輸及文化娛樂等行業(yè)中。隨著其進一步發(fā)展,PLC必將滲透到生活中的每個角落[68]。對密碼鎖和以太網(wǎng)結(jié)合技術(shù)的深入研究也會給生活中各領(lǐng)域的防盜帶來極大的改善。

1問題描述

  1.1控制原理

  本文設(shè)計的密碼鎖系統(tǒng)主要包括開鎖和設(shè)密碼兩個部分。在開鎖環(huán)節(jié),進行輸入數(shù)字的判斷以及輸入位數(shù)的判斷,本文采用四位密碼輸入的形式,當(dāng)依次輸入的數(shù)字與設(shè)定的密碼完全一致時,實現(xiàn)開鎖,否則開鎖失??;另外在此環(huán)節(jié)還增加了超時自鎖功能,當(dāng)用戶超過某一時間不輸入密碼,鍵盤將自動加鎖;在設(shè)密碼環(huán)節(jié),依次輸入要設(shè)置的密碼即可,按下確定鍵即實現(xiàn)密碼的設(shè)置,同時密碼已重置。同樣在此環(huán)節(jié),用戶沒有在規(guī)定時間重置密碼,鍵盤將自動加鎖。

  1.2結(jié)構(gòu)和符號表

  基于西門子S7300PLC控制的密碼鎖結(jié)構(gòu)的外部接線圖如圖1所示。

  

001.jpg

  由圖1可知,本文采用15個按鍵輸入和6個指示燈作為輸出,可以清楚地看出密碼解鎖和設(shè)密的整個過程。

  用PLC進行仿真,必須將按鍵和指示燈轉(zhuǎn)化為大家熟知的按鈕,這就必須將其符號表[9]導(dǎo)入程序中進行仿真,本文的PLC密碼鎖的符號表如表1所示。

006.jpg

2軟件設(shè)計

  2.1功能模塊FC1

  功能塊FC1主要描述開鎖的程序,利用PLC的內(nèi)部存儲器標(biāo)志位存儲器區(qū)(M區(qū)),賦予0~9不同的地址,詳情可見文獻[10]。由于0~9的程序非常相似,以下只列出按鍵0的程序:

  A(

  O "0"

  O M 11.0

  )

  AN  "密碼正確"

  AN"密碼錯誤"

  AN"取消"

  = M 11.0

  以上程序表明,當(dāng)密碼正確(Q11.1燈亮)和密碼錯誤(Q11.2燈亮)任意一個有效的時候,按鍵0~9均無效,而當(dāng)取消按鍵按下時,0~9也均無效。

  接下來的工作就是判斷輸入的位數(shù)是否滿足設(shè)定的位數(shù)要求,利用一個加法計數(shù)器,每當(dāng)0~9的按鍵按下時,都會加1,按下取消按鍵則給計數(shù)器清零。

002.jpg

  如何判斷輸入是否正確是開鎖過程中最重要的部分,在OB1主程序中設(shè)定初值地址MW0、MW2、MW4、MW6四個初值,詳情可見文獻[11]。在FC1模塊中設(shè)定四個變量地址,即0~9按鍵按下時的數(shù)轉(zhuǎn)化為十六進制的數(shù)所存放的變量地址,分別為MW30、MW32、MW34、MW36,主要程序如下:

  A M 60.2

  A(

  L MW 0

  L MW30

  ==I

  )

  A(

  L MW 2

  L MW32

  ==I

  )

  A(

  L MW 4

  L MW34

  ==I

  )

  A(

  L MW 6

  L MW36

  ==I

  )

  A(

  L MW40

  L 4

  ==I

  )

  = M 60.3

  2.2功能模塊FC2

  FC2功能塊與FC1在功能形式上是相似的,利用開鎖部分的程序類推得到設(shè)密部分的程序,首先介紹0~9按鍵按下時的數(shù)由地址MW0、MW2、MW3以及MW4傳送給新設(shè)定的地址MW50、MW52、MW54和MW56,由MW0~MW50借助當(dāng)前值地址MW10來完成數(shù)據(jù)的傳遞,其程序如下:

  A(

  L MW40

  L 1

  ==I

  )

  JNB _001

  L "當(dāng)前密碼位的值"

  T MW50

  _001: NOP 0

  其次,當(dāng)設(shè)定的密碼達到四位時,將之前已經(jīng)賦值的地址MW50、MW52、MW54和MW56重新傳遞給MW0、MW2、MW4和MW6,按下確定鍵,則顯示密碼已重置,完成密碼的修改。

  2.3組織模塊OB1

  組織模塊OB1的功能可簡述為兩點:第一,編譯主程序;第二,使所有的功能模塊都必須在組織塊中調(diào)用,以完成程序的編譯,功能模塊相當(dāng)于組織模塊的子程序。

  初始密碼的設(shè)定:為方便程序調(diào)試,初始密碼設(shè)為0000,借助功能模塊中的地址MW0、MW2、MW4和MW6來完成,將起始密碼的十六進制儲存在以上地址中,其主要程序如下:

  A(

  O M8.0

  ONM8.0

  )

  FPM8.1

  = L 20.0

  A L 20.0

  JNB _001

  L W#16#1

  T MW 0

  _001: NOP 0

  A L 20.0

  JNB _002

  L W#16#1

  T MW 2

  _002: NOP 0

  A L 20.0

  JNB _003

  L W#16#1

  T MW 4

  _003: NOP 0

  A L 20.0

  JNB _004

  L W#16#1

  T MW 6

  _004: NOP 0

  當(dāng)按下開鎖按鍵時,會提示請“輸入密碼”的字樣,一旦輸入密碼,按下確定鍵,即可完成密碼的驗證,PLC驗證密碼的程序和設(shè)定密碼的程序相似,其程序如下:

  A(

  O "設(shè)定"

  O M 61.2

  )

  AN"密碼已重置"

  AN"加鎖"

  AN"超時50S取消改密碼"

  = M 61.2

  = "請設(shè)定密碼"

  L S5T#50S

  SD"超時50S取消改密碼"

  OB1組織模塊的關(guān)鍵是如何判定密碼輸入錯誤,當(dāng)沒有依次輸入密碼或密碼的輸入位數(shù)超過四位時,均不能通過密碼驗證,在驗證完密碼是否正確后,要將FC1功能模塊中加法計數(shù)器儲存的位數(shù)MW40清零,以便在下一次輸入的過程中,MW40從0開始計數(shù),程序如下:

  A(

  A(

  O "密碼正確"

  O M 61.2

  )

  A "加鎖"

  O "超時1M鎖鍵盤"

  O "鍵盤已加鎖"

  )

  AN"開鎖"

  = L 20.0

  A L 20.0

  BLD 102

  = "鍵盤已加鎖"

  A L 20.0

  JNB _007

  L W#16#0

  T MW40

  _007: NOP 0

  本文中的電子密碼鎖系統(tǒng)可以嵌入到相關(guān)的PLC的工業(yè)設(shè)備中,作為設(shè)備的開啟模塊或部分危險操作的保護模塊,從而有效降低設(shè)備的誤操作率,提高整個系統(tǒng)的安全性。

3仿真結(jié)果

  本文采用PLCSIM仿真器進行程序的仿真。

003.jpg

  首先要調(diào)試的是密碼的驗證結(jié)果,驗證仿真結(jié)果依次為開鎖前(如圖2所示)、輸入四位密碼后(如圖3所示)以及密碼正確后(如圖4)。

  其次是調(diào)試設(shè)密程序,將初始密碼設(shè)置成0000,然后將密碼改成0123進行調(diào)試,其仿真結(jié)果依次為設(shè)置密碼前(如圖5所示)、設(shè)置密碼后(如圖6所示)和密碼已重置(如圖7所示)。圖中的前四個矩形框用于驗證數(shù)字,第五個矩形框用于驗證位數(shù)。

  

004.jpg

005.jpg

  本文的仿真結(jié)果,清晰地展示了整個密碼鎖系統(tǒng)的運行狀態(tài)和運行的過程。經(jīng)過驗證,程序是合理有效的。

4結(jié)論

  本文提出的基于西門子S7300 PLC的密碼鎖設(shè)計,主要遵循PLC的外部輸入輸出的特性來進行相關(guān)研究和設(shè)計,從而使密碼鎖的解密和設(shè)密功能得以實現(xiàn)。就密碼鎖的功能齊全性而言,本設(shè)計還有待進一步改進。另外本文所編寫的程序都是基于PLC程序之間具有相似性來編寫的,以此來簡化密碼鎖的程序,即使出現(xiàn)故障也能快速地修復(fù),不影響整個系統(tǒng)的運行。

  在本文的基礎(chǔ)上,密碼鎖系統(tǒng)還可以與圖像識別技術(shù)(例如指紋識別、虹膜識別)等結(jié)合起來應(yīng)用于高級密碼鎖中[1214],從而完善其防盜的功能,具有工業(yè)領(lǐng)域或者現(xiàn)實生活中所要求的一些功能特性。

參考文獻

 ?。?] 亓秀玲. 用PLC實現(xiàn)密碼鎖的控制[J]. 機電工程技術(shù), 2013, 42(1): 5556.

 ?。?] 吳麗, 劉玉賓. 西門子S7300 PLC基礎(chǔ)與應(yīng)用[M]. 北京: 機械工業(yè)出版社, 2011.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。