《電子技術(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)進(jìn)行編程和測試,其仿真結(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)進(jìn)行編程和測試,其仿真結(jié)果表明密碼鎖的功能是可靠且有效的,。

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

  中圖分類號:TP277文獻(xiàn)標(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)的流失,。

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

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

 ?。?)使用方便靈活,,不需要佩帶鑰匙來開鎖[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],本文采用此編程軟件對密碼鎖的部分功能進(jìn)行仿真,。

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

1問題描述

  1.1控制原理

  本文設(shè)計的密碼鎖系統(tǒng)主要包括開鎖和設(shè)密碼兩個部分,。在開鎖環(huán)節(jié),進(jìn)行輸入數(shù)字的判斷以及輸入位數(shù)的判斷,,本文采用四位密碼輸入的形式,,當(dāng)依次輸入的數(shù)字與設(shè)定的密碼完全一致時,實現(xiàn)開鎖,,否則開鎖失?。涣硗庠诖谁h(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進(jìn)行仿真,必須將按鍵和指示燈轉(zhuǎn)化為大家熟知的按鈕,,這就必須將其符號表[9]導(dǎo)入程序中進(jìn)行仿真,,本文的PLC密碼鎖的符號表如表1所示。

006.jpg

2軟件設(shè)計

  2.1功能模塊FC1

  功能塊FC1主要描述開鎖的程序,,利用PLC的內(nèi)部存儲器標(biāo)志位存儲器區(qū)(M區(qū)),,賦予0~9不同的地址,詳情可見文獻(xiàn)[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四個初值,,詳情可見文獻(xiàn)[11],。在FC1模塊中設(shè)定四個變量地址,即0~9按鍵按下時的數(shù)轉(zhuǎn)化為十六進(jì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è)定的密碼達(dá)到四位時,將之前已經(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來完成,,將起始密碼的十六進(jìn)制儲存在以上地址中,,其主要程序如下:

  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è)備的開啟模塊或部分危險操作的保護(hù)模塊,,從而有效降低設(shè)備的誤操作率,提高整個系統(tǒng)的安全性,。

3仿真結(jié)果

  本文采用PLCSIM仿真器進(jìn)行程序的仿真,。

003.jpg

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

  其次是調(diào)試設(shè)密程序,將初始密碼設(shè)置成0000,,然后將密碼改成0123進(jìn)行調(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的外部輸入輸出的特性來進(jìn)行相關(guān)研究和設(shè)計,,從而使密碼鎖的解密和設(shè)密功能得以實現(xiàn)。就密碼鎖的功能齊全性而言,,本設(shè)計還有待進(jìn)一步改進(jìn),。另外本文所編寫的程序都是基于PLC程序之間具有相似性來編寫的,以此來簡化密碼鎖的程序,,即使出現(xiàn)故障也能快速地修復(fù),,不影響整個系統(tǒng)的運行。

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

參考文獻(xiàn)

  [1] 亓秀玲. 用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)載。