Xõy dựng Module giải mó cụng tơ

Một phần của tài liệu Tổng quan về ghi chỉ số công tơ điện tử qua mạng viễn thông GSM (Trang 76 - 81)

76 Dữ liệu dạng

byte

Chuyển chuỗi Byte thành chuỗi String

Kiểm tra chuỗi “mó húa” cú trong chuỗi String

khụng

Tỏch IDMeter Tỏch Data

Thay đổi thứ tự hỏi Meter Hiển thị Lƣu vào CSDL SQL Server Meter lỗi? cú khụng cú khụng

77

Sau khi Modem kết nối đến Server, Server tiến hành gửi lệnh hỏi giỏ trị Meter, trong đú cú cả cõu lệnh giải mó. Meter sẽ gửi giỏ trị về Server qua Modem là 1 chuỗi Byte.

Server chuyển chuỗi Byte thành chuỗi ký tự String. Kiểm tra xem trong chuỗi đú cú chuỗi “Mó húa” hay khụng? Nếu khụngcú, thỡ Server hiểnthịluụnchuỗi String. Ngƣợclại, Server xỏcđịnhvịtrớkýtựđầutiờntrongchuỗi String sẽtỏchcỏcthụng tin cầnthiếttrongchuỗi String nhậnđƣợcIDMetervà Data. Server nhận đƣợc chuỗi IDMeter sẽ tiến hành so sỏnh với danh sỏch cỏc Meter đang bị lỗi (mất kết nối) và kiểm tra thứ tự của Meter xem đến thứ tự hỏi hay chƣa.

Nếu Meter cú trong danh sỏch cỏc Meter bị lỗi thỡ Server sẽ loai khỏi danh sỏch tờn Meter bị lỗi đú.

Nếu Meter khụng thuục danh sỏch cỏc Meter bi lỗi, thỡ tiến hành kiểm tra xem Meter đú cú đỳng thứ tự đƣợc hỏi khụng, nếu đỳng thứ tự hỏi thỡ lƣu giỏ trị Data vào CSDL và hiển thị.Nếu khụng đỳng thứ tự hỏi thỡ Server sẽ kiểm tra xem những Meter nào đó bị lỗi khụng trả dữ liệu về Server. Những Meter bị lỗi đú sẽ đƣợc đƣa lờn đầu danh sỏch lần hỏi dữ liệu tiếp theo.

Kết thỳc 1 vũng nhận dữ liệu, Server sẽ hiển thị cỏc thụng tin nhận đƣợctừ Meter gửi về

Danh sỏch cỏc hàm: - Cỏc hàm hiển thị.

78 getMultilineListBoxAddItem(Multiline ListBoxlb, String s, Color color)

Hiển thị chuỗi Strings lờn MutilineListBoxlb,

vớimàukýtựlàcolor getListBoxAddItem(ListBox lb, String

s)

Hiển thị chuỗi Strings lờnListBoxlb getListBoxRemoveItem(ListBox lb,

String s)

Xúa dũng cú chuỗi Strings ra khỏi ListBoxlb

SomayOnline() Hiển thị số Modem đang kết nối đến

Server trờn thanh Startusbar

AddClient(string s) Hiển thị Modem mới kết nối vào List Modem

RemoveClient(string s) Xúa Modem ngắt kết nối tới Server khỏi List Modem

ShowChatMessage(string s, int Index, String IP)

Hiển thị Strings với màu tƣơng ứng với chỉ số int Index lờn

MutilineListBox lbmessage, và cỏc MutilineListBox tƣơng ứng ở cỏc Tab cú tiờu đề là IP.

ShowMeterError(string IDESN, string idmeter)

Hiển thị Meter cú mó idmeter bị lỗi lờn Meter offlien và xúa khỏi Meter online trờn tab Data All và tab cú tờn

IDESN

ClearMeterError(string IDESN, string idmeter)

Hiển thị Meter cú mó idmeter bị lỗi lờn Meter online và xúa khỏi Meter offline trờn tab Data All và tab cú tờn IDESN

79

ByteArrayToString(byte[] ba) Chuyển từ mảng Byte sang dạng StringHex tƣơngứng.

Chuyenmangstr(string s) Chuyển từ chuỗi StringHex tƣơng ứng sang chuỗi String Asci.

ConvertAsci(string s) Chuyển 2 ký tự StringHex sang Mó Asci

strReverse(string s) Hàm đảo chuỗi ký tự s sao cho 2 ký tự liền nhau trong s sẽ đổi chỗ cho nhau

- Cỏc hàm kiểm tra:

CheckTabName(string IP) Kiểm tra xem cú tab nào cú tờn là IP khụng, nếu cú thỡ trả về trị số thứ tự của Tab đú

CheckTabText(string text) Kiểm tra xem cú tab nào cú nhón text là text khụng,

onlineMeter offline khỏi Tab tƣơng ứng với chỉ số n

showidmeter(string idesn, string IP) Hiển thị cỏc Meter lờn danh sỏch

Meter online Meter offline

tƣơng ứng với trạng thỏi của Meter trờn cỏc tab Data All và tab tƣơng ứng.

80

nếucúthỡtrảvềtrịsốthứtựcủa Tab đú KiemtraMeter(string IDMeter) Kiểm tra xem meter cú ID ID Meter

cú bị lỗi hay khụng, và xử lý cỏc tỏc vụ liờn quan nhƣ đảo thứ tự Meter hỏi khi cú Meter lỗi, Hiển thị cỏc Meter bị lỗi.

KiemtraMeternong(string IDMeter) Kiểm tra xem meter cú ID IDMeter cú đang đƣợc kiểm tra núng hay khụng.

CheckMeterError(string IDMeter) Kiểm tra xem Meter cú bị lỗi hay khụng.

Một phần của tài liệu Tổng quan về ghi chỉ số công tơ điện tử qua mạng viễn thông GSM (Trang 76 - 81)