編程指南格式范本_第1頁
編程指南格式范本_第2頁
編程指南格式范本_第3頁
編程指南格式范本_第4頁
編程指南格式范本_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Pro-face普洛菲斯國際貿(mào)易(上海)有限企業(yè)

HumanMachineInterfacePro-faceChinaInternationalTrading

GP-PRO/PBnforwindows高級應用手冊(下)

上海市浦東大道138號永華大廈7樓F座

TEL:□igaidL

HumanMachineInterface------------

目錄

1D腳本編程語言(D-SCRIPT)............................................4

1.1選擇special(特殊)下拉菜單................................................4

1.2選擇D-Script(D腳本)彈出D-Script(D腳本列表)...........................4

1.3Add(添加)按扭,編輯增長D-Script(D腳本對話框)...........................5

1.4Options(設置)下拉菜單....................................................7

1.5Trigger(觸發(fā)欄)...........................................................7

定期周期觸發(fā).............................................................7

位邊緣觸發(fā)...............................................................7

體現(xiàn)式觸發(fā)...............................................................8

1.6D-ScriptToolbox。腳本工具箱)............................................8

1.6.1Functions(功能)下拉列表框..........................................9

1.6.2Statements(編程語句).............................................19

1.6.3operators(運算操作符).............................................20

1.6.4Compare(比較命令)...............................................23

2彈出鍵盤窗口......................................24

2.1彈出鍵盤時應用.........................................................24

2.2自動彈出鍵盤(V60后來)..................................................25

2.3U-tag實現(xiàn)彈出鍵盤的制作過程...........................................26

2.4窗口使用的限制..........................................................31

3密碼制作............31

3.1一級密碼制作的效果.....................................................32

3.2一級密碼制作的詳細簡介.................................................32

3.3多級密碼制作............................................................37

4擴展串口的應用.................................................................39

4.1接受功能................................................................39

4.2發(fā)送功能................................................................39

4.3控制....................................................................40

4.4狀態(tài)....................................................................42

4.5接受數(shù)據(jù)的大小.........................................................43

4.6擴展通訊口的設置.......................................................43

4.7通訊舉例...............................................................43

1D腳本編程語言(D-Script)

在用GP軟件制作畫面的過程之中,根據(jù)實際狀況,有時候需要對某些數(shù)據(jù)進行處

理,包括判斷、運算、轉移、復位,甚至包括某些匆畫的繪制,假如將這些數(shù)據(jù)所有交

給PLC處理,必然大大增長PLC的承擔,減緩通訊速率,并且給PLC編程人員加大

了編程的難度,為此,GP提供了一項特殊功能:D腳本編程語言(D-Script)。使用D腳

本編寫程序,使GP自身可以完畢某些數(shù)據(jù)處理,從而協(xié)調(diào)好與PLCH勺通訊工作。

1.1選擇special特殊)下拉菜單

SpecialLibraryWir

D-Script

GlobalD-Script

DataSampling

D-script(D腳本)僅僅針對目前畫面有效。

GlobalD-Script(全局D腳本)對所有畫面均有效,合用于GP77和GPZ000系列。

1.2選擇D?Script(D腳本)彈出D?Script(D腳本列表)

添加一個D腳本

D琳編號

明除斷的DSH

筑料選巾的D腳本

D期木注群

,復制選巾的D腳本

黏貼D/本

關閉列表

1.3Add(添加)按扭,編輯增長D-Script(D腳本對話框)

File(文獻)下拉采單:

FileOption

ExportTextFile

ImportTextFile

ExportTextFile(導出文本文獻):將公式編輯欄里的內(nèi)容轉化為txt文本文獻后保留到

指定H錄。

ImportTextFile(導入文本文獻):將指定目錄中日勺txt文本文獻內(nèi)容打開在公式編輯欄里。

1.4Options(設置)下拉菜單

LibraryWir

D-Script

GlobalD-5cript

DataSampling

usesyntaxGuide(語法導向):可以抽取公式編輯欄中的數(shù)據(jù)。

usesyntaxGuide(語法檢查):自動檢查公式編輯欄中U勺語句與否合法。

1.5Trigger(觸發(fā)欄)

觸發(fā)欄用于設置啟動程序H勺觸發(fā)條件,當觸發(fā)條件成立,便執(zhí)行公式編輯欄中H勺程序。觸

-Trigger

e因

TimerDuration

「X

catrt好

發(fā)條件有三種形式:定期周期觸發(fā)、位邊緣觸發(fā)和體現(xiàn)式條件觸發(fā)。

1.5.1定期周期觸發(fā)

選擇定期周期觸發(fā)時,設置觸發(fā)時間(秒),則每隔這一段時間,程序執(zhí)行一次。

152位邊緣觸發(fā)

:在設定位地址的上升沿觸發(fā)。

:在設定位地址的卜.峰沿觸發(fā)。

X:在設定位地址H勺上升沿和下降沿均觸發(fā)。

Trigger

C因kction:UJ

尸atrtv

153體現(xiàn)式觸發(fā)

"t:當Action(操作)欄中H勺體現(xiàn)式為由假(0)變真⑴時,程序執(zhí)行一次。

:當Action(操作)欄中日勺體現(xiàn)式為由真⑴變假(0)時,程序執(zhí)行?次。

1.6D-ScriptToolbox(D腳本工具箱)

當ShowToolbox被選中時,彈出右圖所示D腳本工

具箱,在此工具箱中包括了D腳本所用到的所有指令。

D-Scirt.TooJLBox

St.a.dements

1.6.1Functions(功能)下拉歹!j表框

在Functions下拉菜單中有五大部分:DataSet(數(shù)據(jù)設置)、Draw(繪圖)、Memory

Ops.(內(nèi)存操作)、SIOPortOps.(SK)口操作)、BitOps.(位操作)。

1.6.1.1Dataset(數(shù)據(jù)設置)

BitAddress:設置位地址。

Constant:設置常量,有Dec(十進制)、0ct(八進制)、Hex(十六進制)三種數(shù)據(jù)格式。

Temp.Address:設置臨時地址。

WordAddress:字地址。

1.6.1.2Draw(繪圖)

CallScreen:調(diào)用一種畫面,需要設置畫面號以及目FI勺畫面中心所放置H勺坐標。

Circle:繪制圓,需要設置圓中心坐標以及半徑。

Dot:繪制點,需要設置點放置的坐標。

Line:繪制線段,需要設置線段放置的起始以及終止坐標。

Rectangle:繪制矩形,需要設置矩形的左上角和右下角坐標。

1.6.1.3MemoryOPs.(內(nèi)存操作)

D-ScriptTOOIBDK

MemoryCopy(內(nèi)存復制):該功能可以將字地址區(qū)段復制。

格式:memcpy([w:DIWordAddress],[w:SIWordAddress],CopySize)

DIWordAddress:內(nèi)存復制口勺目外J起始字地址。

SIWordAddress:內(nèi)存復制日勺源起始字地址。

CopySize:設置區(qū)段(范圍在1~640之內(nèi))。

范例:

MemoryCopy(variable):間接可更改口勺內(nèi)存復制。

格式:_memcpy_EX(Parameter1,Parameter?,Parameters)

Parameterl:帶偏移量的目的起始字地址,偏移量在臨時字地址中設置。

Parameter2:帶偏移量的源起始字地址,偏移量在臨時字地址中設置。

Parameters:設置區(qū)段,可以直接用常數(shù)給定,也可以用LS字地址或者臨時字地

址設置(范圍在1~640之內(nèi))。

Formula:

[t:OOOO]=B|±J

范例:

[t:0001]=10

-memcpyEXdwzDOIOOjqcOOOOI,[w:LS0020p|t:0001b5)|

LS0030L5003JLS0032LS0033LS0031

1r1,1F1F1F

DOJ06[)0107DO108[XH'O9[)01io

MemorySet(內(nèi)存設定):可以將字地址區(qū)間賦值。

SetWordAddress|DOOOOl]國

SetDataP5c|

SetSire

SetWordAddress:設置起始字地址。

SetData:給字地址賦值。

SetSize:設置區(qū)段(范圍在1~640之內(nèi))。

范例:

該語句將字地址LS0020-LS0024賦常量8.

MemorySet(Variable):間接可更改I向字地址區(qū)間賦值(僅使用于GP2023系列,GP2301

和GP2501除外)。

_memset_EX(J^rameterl/Parajneter2rfParameter3)

ter1電vic色with0££§&t[v'DOOOO]#[t:0000]

Parajneter2|LSDevice二]|LS0020H

ParametersDevice二]|LS0020I搠I

Parameterl:目日勺起始字地址,在臨時字地址中設定偏移量。

Parameter2:賦值??梢栽贚S區(qū)或者臨時字地址設置,或者直接輸入常最設置。

Parameter:設置區(qū)段,可以在LS區(qū)或者臨時字地址設置,或者直接輸入常量設置

(范圍在1~640之內(nèi))。

范例:

Formula!

[t:0000]=8

[w;LS0020]-50

[w:LS0080]=5

memset_EX(|w:D0100]qt:OOO0L[w:LS0020],|w:LS0080|)

zr±j

該語句執(zhí)行下列功能:將常量80賦于字地址D0108一D0113o

OffsetAddress:字地址偏移,該功能合用于GP77R系到、377系列和GPZ000系列。

格式:[WordAddress]#TemporaryWork],該語句表達一種新的字地址,即舊地址Word

Address+TemporaryWorkH勺數(shù)值而生成的新地址。

Formula:

范例:|w:LS0200]=[w:LS0100]/r|t0000]

[t:00001=5

該語句表達:將字地址LS0105的內(nèi)容賦給字地址LS0100。

1.6.1.4SlOPortOPs.(擴展串口,合

LabelSettingsX

用GP2023系歹ij)

LABEL

|EXT_SIO_CrRL3

LabelSetting

該功能可寫,用于清空輸出、清空輸入、復:位錯誤狀態(tài)”

格式:以“位”為對象時:[c:EXTSIOCTRL**]**代表00-15

以“字”為對象時:[c:EXTSIOCTRL]

EXTSIOCTRL(擴展口清空控制)

Bit?)Constant(內(nèi)容)

15

14

13

12

11

10

9保留

8

7

6

5

4

3

21:復位錯誤

11:清空輸出

01:清空輸入

注意:當EXTSIOCTRL被設定后,程序將以如下次序執(zhí)行:復位錯誤,清空輸入->清空

輸出。

EXTSIOSTAT(擴展口狀態(tài))

該功能只讀,包括如下某些內(nèi)容。

Bit(位)Constant(內(nèi)容)

0:擴展II無通訊協(xié)漢

15

1:擴展口有通訊協(xié)議

14

13

12

11

10

9保留

8

7

6

5

4

0:正常工作

3

1:數(shù)據(jù)接收錯收

0:未接收數(shù)據(jù)

2

1:正接收數(shù)據(jù)

0:正常工作

1

1:傳輸數(shù)據(jù)錯誤

6:輸出口有數(shù)據(jù)

0

1:輸出II無數(shù)據(jù)

注意:保留位留待后來設定,勿占用。

數(shù)據(jù)傳播錯誤有兩種:傳播間歇和數(shù)據(jù)堵塞。當兩種錯誤同步存在日勺時候,傳播錯誤位

ON.,

數(shù)據(jù)接受錯誤有四種:奇偶錯誤、滿載錯誤、楨錯誤、溢出錯誤。只要其中之一發(fā)生,

數(shù)據(jù)接受錯誤位ON。

EXTSIORECV(擴展口輸入)

該功能只讀,顯示接受到的字節(jié)數(shù)。

格式:卜:EXT_SIO_RECV]

STRERRSTAT(字符串錯誤狀態(tài))

SIOReceive(擴展口數(shù)據(jù)接受)

從擴展口讀入數(shù)據(jù)寫入指定

地址寄存器。

格式;IOREADUP:SIOPortNo.l,[w:ReceiveBufferTo。Address],10)

SIOPortNo.(擴展口):指定接受數(shù)據(jù)的擴展口。

ReceiveBufferToPAddress(數(shù)據(jù)接受始地址):起始地址存儲接受數(shù)據(jù)日勺數(shù)吊,其

后持續(xù)地址寄存數(shù)據(jù)。

ReceiveSize(數(shù)據(jù)大?。涸O定接受數(shù)據(jù)的數(shù)量。

該程序執(zhí)行:

接收地址內(nèi)容

LSO1OO5

LSO1O1數(shù)據(jù)1

LS0I02數(shù)據(jù)2

LS0103數(shù)據(jù)3

LSOIOI數(shù)據(jù)4

LS0105數(shù)據(jù)5

SIOSend(擴展口數(shù)據(jù)發(fā)送)

SIOWRITEFunction

SIOFortNo.

SendBuffer從指定寄存器寫入數(shù)據(jù)到擴

TopAddress

展口,然后由擴展口發(fā)送

SendSize

OK

格式:IO_WRITE([p:SIQPortNo.1,[w:SendBufferTODAddress],SendSize)

SIOPortNo.(擴展口):指定發(fā)送數(shù)據(jù)的擴展口。

SendBufferTopAddress(數(shù)據(jù)發(fā)送始地址):指定發(fā)送數(shù)據(jù)的起始源地址。

SendSize(數(shù)據(jù)大小):指定發(fā)送數(shù)據(jù)的數(shù)量。

范例:

該程序執(zhí)行:

發(fā)送地址內(nèi)容

LS0100數(shù)據(jù)1

LS0101數(shù)據(jù)2

LS0102數(shù)據(jù)3

LS0103如,H.>4

LS010IrFindi.ons

1.6.1.5BitOps.(位操作)

ClearBit:將指定的位置“0”。

SetBit:將指定日勺位置“1”。

ToggleBit:將指定H勺位狀態(tài)轉換,0->1或者1->0。

1.6.2Statements(編程語句)

當()中的條件為真,則執(zhí)行{}中的命令。

Formula:

HO-J

{,除令1

else

{愉令2j|

endif|1

321

當()中H勺條件為真,則執(zhí)行命令1,否則執(zhí)行命令2。

Formula:

呼:loop(|t:OOQ1]]Ld

(

}endloop

jJ?

循環(huán)執(zhí)行{}中日勺命令,循環(huán)次數(shù)設定于臨時地址中。

Fomula;

loop([t:0001]J

{"命令1

break

〃命令2

}endloop

在執(zhí)行完命令1之后,不執(zhí)行命令2,結束循環(huán)。Break指令合用于GP77R、GP377

和GPZOOO系歹h

1.6.3operators(運算操作符)

*加法一減法

*乘法Z除法

%求余=賦值

55:左移位。將左邊的數(shù)據(jù)向左移位,移日勺位數(shù)由右邊的數(shù)據(jù)決定。

范例:

0i0110。1ii0。101

//////JJJ//////

i0ifo-0i1-fo-0「o-r10

—:右移位。將左邊的數(shù)據(jù)向右移位,移的位數(shù)右右邊的數(shù)據(jù)決定。

&:字的與運算。將兩個字的對應位進行“與”運算。

formula:

范例:

[t:0000]=41

[w:0020]=|w:0020]&[t0000||

AJ

JJ:字的或運算。將兩個字的對應位進行“或”運算。

Formula:

范例:[t:0000]=41

[w:0020]=[w;0020]||t:0000]|

J

ZJ

A:字日勺或非運算。將兩個字口勺對應位進行“或非”運算。

范例:

W0020

T0000

運算后

o|ooooo||o|iiii|oooio

W0020

~L字取非。將一種字的所有位進行“非”運算。

formula;

范例:

[w:0020]="[w:0020]|

ZJ

W0020

W0020

1.6.4Compare(比較命令)

“9”運兌。]“或”運算i“非”運算

區(qū)|:小于<=:小于等于<>:不等廣

■:大廣>=:大于等于==|:等于

2.7功能塊

在寫D腳本口勺時候,才以將某些常用日勺功能寫成一Functions:種功能

塊,以便在其他D腳本中調(diào)用(GP270不支持該功能)。

Call:調(diào)用一種功能塊。

New:新建一種雙能塊。

Edit:編輯選中的功能塊。

Delete:冊]除選中的功能塊。

Copy:兔制選中H勺功能塊。

Paste:粘貼選中的功能塊。

怎樣編輯功能塊,請參照D腳本編輯器。

2彈出鍵盤窗口

2.1彈出鍵盤的應用

彈出鍵盤在實際應用中,可以使畫面美觀簡潔緊湊。

GP-PRO/PBV5.05及此前支持不自動彈出鍵盤,可以用U-TAG實現(xiàn)彈出鍵盤。

GP-PRO/PBV6.0后來支持自動彈出鍵盤。

2.2自動彈出鍵盤(v60后來)

這是GP-PRO/PBV6.0后來版本的。

在[parts(部品)]菜單中選擇"[KeypadInputDisplay(鍵盤瑜入顯示屏)「,出現(xiàn)"[KeypadInput

Display(鍵盤輸入顯示屏)「設定對話框中(如圖2-2-1)。

(圖2-2-I)

在圖上假如選擇"UsePop-upKeypad(用自動彈出鍵盤)”就可以實現(xiàn)自動彈出鍵盤功能,

而在GP-PRO/PBV6.0此前的版本就沒有這個選項。如不選擇或沒有這一選項,就要川

U-TAG來實現(xiàn)。下面重要簡介怎樣用U-TAG來實現(xiàn)這一功能。

2.3U-tag實現(xiàn)彈出鍵盤的制作過程

1.新建一工程文獻,打開畫面編輯器窗口。

2.制作一鍵盤畫面。新開一種基本畫面,然后從「Parts(部品)]菜單中選擇「KeyPad(鍵盤力

放置到畫面,并保留畫面(例如保留為畫面2),如圖2-3-1°

3.將上面W、J鍵盤進行窗匚注冊,從「Screen(畫面)]下拉菜單中選擇!WindowRegistering

(窗口注冊)],出現(xiàn)?種對話框(圖2-3-2),點擊ADD(添加)把鍵盤窗口注冊為窗口,本例

子注冊為“窗口1”(*詳細口勺窗口注冊請參閱《操作手冊》第98頁)。

:PopupTindovSetting

RegisteredWindowList:Add...

No.ScreenSizeDescriptionModify

1B2160x203Copy

Delete

Close

Help

力.

(圖2-3-2)

4.鍵盤輸入顯示。再新建一基本畫面,在「Paris(部品)]下拉菜單中選擇[KeyPadInPul

Display(鍵盤輸入顯示屏)],出現(xiàn)如下對話框:

輸入用于存儲

口—.皿4?口nhta

觸發(fā)位地加

(圖233)

[KeyPadInPutDisplay(鍵盤輸入顯示屏)]放置到畫面后,畫面如下:

圖234:[KeyPadInPutDisplay(鍵盤輸入顯示屏)]放置到畫面圖

(圖2-3-4)

5.按圖2-3-3所示的設置地址例子,要輸入數(shù)據(jù)時,須使鍵盤輸入功能被激活,即要使

LS0020地址為ON,可以在“[KeyPadInPutDisplay(健盤輸入顯示屏)「上面疊力口一種Bit

Sw血h(位開關)(*要透明於J),地址設置為:LS100100.如圖2-3-5:

疊加一種透明的)位開關

□B3:調(diào)用鍵盤,

12345

(圖2-3-5)

6.用U-Tag去調(diào)用鍵盤窗I」。從「Tags]下拉菜單項選擇擇「U-tag,彈出對話框],然后進

行設

U-Tag有兩種方式。

Direct方式用一種寄存器(bit。)控制窗口時顯示與消失,哪個窗口出現(xiàn)以及窗口顯示

H勺位置是固定H勺Direct方式下還可以選擇“Highspeed”方式,通過一種BitAddress

來控制窗口H勺顯示與消失。

Indirect方式用四個持續(xù)寄存器控制窗口的顯示與消失、窗口號、窗口X坐標、窗

口丫坐標。因此可以變化窗口顯示II勺內(nèi)容、移動窗口的位置。

例子我們用Direct方式。

“DesignatedWindow(指定窗口)”里直接選擇Direct(直接)方式。

“WordAddress(字地址)”設置為:LS1000。

“windowRegistrationNo.(窗口注冊號廠選擇1,如圖236的對話框。

U-Tag設置的對話框。

U-Tag設置

(圖2-3-6)

設置好U-TAG并放置在“基本畫面1”上(自己認為比較理想U勺地方)。如圖2-3-7紅色區(qū)域

所示。

U-TAG的位置

(圖2-3-7)

7.當然要想讓U-tag動作,也要對其進行觸發(fā)。

由于前面『、J例子,U-Tag是Direct方式控制,因此在基本畫面1中日勺"「KeyPadInput

Display(鍵盤輸入顯示屏)了'上再置加一種開關,按下該開關時將地址LS1001置為1,控

制窗口顯不。

8.彈出鍵盤輸入數(shù)據(jù)后來,要讓鍵盤窗口自動消失,只要把U-tag的觸發(fā)位進行復位,

在GP系統(tǒng)數(shù)據(jù)區(qū),Enter鍵輸入數(shù)據(jù)時,LS0006的bit03位對應發(fā)生狀態(tài)反轉。我們

可以根據(jù)這個bit口勺狀態(tài)變化,增長一種D-SCRIPT程序,來使LS0200復位。注意選

擇Trigger為“上、下沿工

此外,我們也可以在鍵盤Enter鍵的下面,疊加一種開關,按下該開關時將地址LS3200

置為0(當然這需要在鍵盤畫面里做!)。

Enter鍵使U-Tag觸發(fā)復位H勺D-SCRIPT程序。

行D-ScriptEditor:Intitled

FileOption

ID~Trig科

Description:因EdgeBitAddrtss

F‘X2||LS0006O3

Macro

ShowToolbox口

Formula:Functions:

|w:LS1001]=0

(圖2-3-8)

9.OK

不過,尚有可以簡化的地方。假如U-TAG是用HighSpeed方式,即用一種bitAddress

來控制窗口的顯示與消失。我們想到“[KeyPadInPulDisplay(鍵盤輸入顯示屏)]”也是用

一種bitAddress來觸發(fā)輸入狀態(tài)W、J。因此我們可以公用同一種bitAddress來控制輸入、

U-TAGo這樣就省了LS1001地址的使用、以及對LS1001操作日勺有關設置!

不過U-TAG采用Highspeed方式是有限制日勺。

2.4窗口使用的限制

在使用U-TAG時當然也會有某些限制:

?在同一窗口上不能同步執(zhí)行U-TAG,K-TAG及V-TAGf.

?請勿在窗口上顯示TrendGraph(趨勢圖)。

?有選擇Highspeed選項和沒有選擇Highspeed選項的U-TAG不能在同一種畫面顯

示。當選擇Highspeed選項雖然窗口尚未顯示,但資料寫入的TAG(如W-TAG,

D-Script等)觸發(fā)發(fā)生時,將會動作。假如你但愿先顯示窗口后,再執(zhí)行資料寫入的

TAG,請

不要選擇"HighSpeed"。

?假如目前基本畫面上的TAG和窗口數(shù)超過了256,則第257開始口勺TAG不起作用

(GP270/GP370/GPH70為128個)。

?再同一種畫面中,最多可以設定兩個使用"Highspeed'H勺U-TAG。

?假如目前畫面及它調(diào)用H勺窗口上,所有日勺R-TAG中設定的顯示位置數(shù)超過了512,

則第513開始依J位置不會顯示(GP270/GP370/GP470只有256)。

3密碼制作

密碼在實際應用中是很有用口勺,許多地方需要進行加密碼保護,這樣為了防止重要的操

作參數(shù)被修改不便于機器工作。

下面重要進行簡介密碼(及多級密碼)制作過程:

3.1一級密碼制作的效果

舉一種簡樸口勺例子:如下圖4-1所示:

信息顯示(Message

Display),字地址:

LS0200

U-TAG字地址:LS020I

鍵盤,每個數(shù)字健上放

透明的字開關字地價:

圖4-1

3.2一級密碼制作的詳細簡介

1.先建一基本畫面,為了要輸入密碼,就要有一種鍵盤輸入顯示窗口。在窗口上放置一種

K-TAG(如圖4-2)就可以實現(xiàn)。本例中K-TAG的J地址設置如下圖4-2,字地址設為:

數(shù)據(jù)輸入到1000,觸發(fā)位地址設為:110000。

(圖4-2)

2.當然要輸入密碼就要芍個鍵盤,可以在部品中直接選擇,形狀可以自己按照需要改動。

3.在實際輸入密碼時我們當然不想讓他人懂得,在輸入密碼時用*號來表達,這個功能可

以用部品中BTMessageDisplay(信息顯示)”來實現(xiàn)(:

本例為四位密碼?!癕essageDisplay(信息顯示)”的字地址設為:LS0200。用LS0200

對鍵盤按鍵H勺次數(shù)進行記錄。按一下鍵時LS0200T就顯示一種*號;按兩下健時LS0200=2,

就顯示兩個**號,依此類推。

MessageDisplay日勺設定如下圖4-3所示,圖中NO.ofmessage(信息數(shù))選擇8以上都

可以。message所對應的每一條信息在selectedmessage中輸入,0對應的信息輸入空白

內(nèi)容,I/2/3/4分另ij對應輸入“*"、"**”、-***”、E**“。

(圖4-3)

4.卜面就要實現(xiàn)用LS0200對按鍵次數(shù)的計數(shù)。

I)為配合*號顯示.在堆盤卜疊加放置透明U勺開關按鈕,對按鍵次數(shù)的計數(shù)c

2)數(shù)字鍵上透明的字開關,按下時“次數(shù)加1”,設置如下圖(4-4),字地址是LS200

(同Messagedisplay相對應),按下時內(nèi)容加I(假如I個*號按一下就2個*號):

3)DEL鍵上透明字開關,按下時“次數(shù)減1”,設置如圖(4-5):

4)CLR鍵上透明字開關,按下時“次數(shù)清零”,設置如圖(4-6);

5)ENTER鍵上口勺透明開關是為了實現(xiàn)輸入密碼后判斷密碼與否對日勺。ENTER鍵上

透明位開關設置,位地址:LS10001,

WordAddress

固網(wǎng)3ISI

Constant

F皿ction

「YerdSet

GAdd/Sub

44圖4-5圖4-6

5.當輸入錯誤時密碼時需要彈出一種報警對話框,提醒密碼錯誤。這可以用U-TAG實

現(xiàn)(U-TAG的使用在上一章中也有簡介)。

:碼錯誤,請重新輸

I)先在此外的一種BASE畫面里制作報警內(nèi)容a

2)將它注冊為一種報警窗口如圖47。

3)在密碼輸入畫面,使用U-TAG。U-TAG時

字地址:LS0201:放在畫面5上自己認為可以

的地方。

6.有關的D-SCRIPT腳本

D腳本編程是此例中最重要的,可以在基本畫面5上,菜單欄選擇Special的下拉菜單

D-Script,再選擇ADD,就可以進行編程了.

本例包括進入畫面時初始化、密碼判斷、關閉報警窗口幾種腳本。

?進入畫面時初始化。如圖4-8

/'D-ScriptEditor:初始化

FileOption

ID|00002…3口

「國Action:

|w:LS0000]==5

Description:

「兇

網(wǎng)始化I

GM廠t*

ShowToolboxV

Formula:Functi

set([b:LS010000])

||b:LS020100]=0

[w:LS0200|=0

|w:LS1000|=0

(圖4-8)

圖中當畫面跳到基本畫面5(LSOOOO是系統(tǒng)區(qū)地址它口勺內(nèi)容顯示的是畫面號,本例是

第5畫面)時,信息顯示(LS0200)為零,報警信息(LS020IU-1AG)不觸發(fā),鍵盤輸入顯

示(LS1000)為空,set[(LS010000)]使健盤輸入處在待輸入狀態(tài)。

?密碼判斷。如圖4-9

本例固定密碼為:1234

if([w:LS1000]==1234)〃假如海口馬為1234

{[w:LS0008]=2〃畫面就切換到基本畫面2

clear([b:LS020230])〃清報警

[w:LS0200]=0〃清信息

[b:LS020230]=0

)

endif

if([w:LS1000]<>1234)〃假如密碼不是1234

{set([b:LS020230])〃彈出報警

endif

★圖4-9中EdgeBitAddress(邊緣位地址)為:LS010001,同ENTER鍵上H勺透明的位

關相對應,當ENTER鍵按下后就執(zhí)行這個腳本進行判斷。

D-ScriptEditor:密碼判斷

FileOption

IDpOOOOTrigger

「圖EdgeBitAddress

Description:

I密碼多噴■y「丹3j|l£01000l.圜

r用「t+f

ShewToolbox”

Formxila:Function:

郵w:LS1000]—1234W如果窕碼為1234

{[w:LS0008]=2A畫面就切挖到基本畫面2

clearQb:LS0201網(wǎng)隔在警

M:LS02㈣=叫清信息

[b:LS020100]=0

}

endif

i"M:LS100(}]?1234川如果宓碼不是1234

(set([b:LS|D20100D//flH?S

}

endif

(圖4-9)

?關閉報警窗口、清除信息、重新開始輸入。如圖4-10

/?D-ScriptEditor:去除投酬斷

FileOption

ID|00001Trigger

Action|w:LS0201]==0

Description:

趟報翳斷

4圮飛球

ShowToolbox

Formula:Fwt

|w:LS0200]=0

(圖4-10)

當密碼錯誤、圖4-7報警窗I」彈出后,按下窗口里的OK鍵,消去窗口同步使信息顯

刁〈(LS0200)消空為零。

至此,密碼制作功能完畢。

提小1.本例固定密碼為:1234。如果要想在實用中采用可變密碼,則將1234用數(shù)

據(jù)寄存器號代替,寄存:器的值就是密碼。這樣修改密碼只需要修改寄存器

的值.

3.3多級密碼制作

一種簡樸口勺多級密碼就是在一級密碼的基礎上多加幾條判斷語句,下面就上例基礎上

舉一種三級密碼來進行闡明。

1.按上例一級密碼放置部件,如圖4?1,地址及各設置都同樣。

2.要變化的重要是D腳本中H勺密碼判斷。其他的D腳本不變,把圖4-9中D腳本的

內(nèi)容改為:

〃一級密碼判斷

if([w:LS1000]==1111)〃假如密碼為1111

{[w:LS0008]=2〃畫面就切換到基本畫面2

clear([b:LS020230]〃清報警

[w:LS0200]=0〃清信息

[b:LS020230]=0

)

endif

〃二級密碼判斷

if([w:LS1000]==2222)〃假如密碼為2222

{rw:LS0008]=3〃畫面就切換到基本畫面3

clear([b:LS020230])〃清報警

[w:LS0200]=0〃清信息

[b:LS020230]=0

)

endif

〃三級密碼判斷

if([w:LS1000]==3333)〃假如密碼為3333

{[w:LS0008]=4〃畫而就切換到基本畫面4

clear([b:LS020230])〃清報警

[w:LS0200]=0〃清信息

[b:LS020230]=0

)

endif

〃密碼錯誤

if([w:LSI000]<>1111and[w:LSI000]<>2222and[w:LSI000]<>3333)〃假如密碼不是

1111和2222和

3333

{set([b:LS020230])〃彈出報警

}

endif

這樣一種簡樸的三級密碼就基本做好了。

4擴展串口的I應用

這個功能僅合用于GP2023系列(除GP2301,2501,2401H和2301H外)

擴展串口通過D腳本的編寫可以以便H勺實現(xiàn)通訊(RS232口),下面是D腳本的編寫語句口勺

闡明:

4.1接受功能

下面的命令被用于讀從擴展口接受到的數(shù)據(jù)。

格式

IO_READ([p:EXT_SIO]?LSStorageAddress,TranserByte)

例如

IO_READ([p:EXT_SIO],[w:LS0100],10)

[p:EXT_SIO]表達接受數(shù)據(jù)

[w:LS0100]這是寄存接受數(shù)據(jù)I向起始地址,接受數(shù)據(jù)的大小寄存在LS0100,接受時數(shù)

據(jù)從LS0101開始存,10表達有10個字節(jié)寄存在LS區(qū)(最大傳送字節(jié)是6095)。

4.2發(fā)送功能

下面的命令表達把要發(fā)送日勺數(shù)據(jù)寫到擴展口

格式IO_WRITE([p:EXT_SIO],LSStorageAddress,TranserByte)

例子IO_WRITE([p:EXT_SIO],[w:LS0010],10)

[w:LS0100]是要發(fā)送均數(shù)據(jù)日勺開始地址,10表達要發(fā)送10個數(shù)據(jù),

*注意:每一種傳送的是字節(jié),也就是說傳送的是每一種字的低八位,同樣接受的I數(shù)據(jù)

也是同樣H勺,如下圖所示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論