KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Một phần của tài liệu Đồ án tốt nghiệp thiết kế thi công mô hình điều khiển giám sát bãi giữ xe ô tô tự động (Trang 105)

6.1. KẾT LUẬN

Qua những cố gắng và nổ lực của bản thân, sự giúp ỡ tận tình của giảng viên hướng dẫn cũng như thầy cô và bạn bè trong thời gian qua, nhóm ã hoàn thành ề tài “Thiết kế và thi công mô hình iều khiển, giám sát bãi ỗ xe ô tô tự ộng”.

Cụ thể ề tài ã ạt ược những nội dung sau: − Hệ thống có thể ưa xe vào và lấy xe ra.

− Camera chụp ược ảnh.

− Thẻ RFID giao tiếp ược với Adruino và máy tính.

− Giao diện C# kết nối ược với PLC, nhận dạng ược biển số, ọc mã thẻ lưu ảnh và mở ảnh.

− Có thể tính chi phí gửi xe.

− Giao diện WinCC iều khiển ược hệ thống với chế ộ tự ộng và chế ộ bằng tay.

 Bên cạnh những kết quả ạt ược như trên thì hệ thống không thể tránh ược những sai sót:

− Hệ thống chạy thực sự chưa ược ổn inh.

− Nhận dạng biển số chưa hoàn toàn úng, ôi lúc bị sai.

 Lý do xảy ra các lỗi trên

− Có thể do chưa giải quyết triệt ể chương trình dẫn ến sự cố trên.

− Thiếu hiểu sâu về cách lập trình PLC nên chương trình viết còn dài và rườm rà

dẫn ến người ọc khó hiểu.

6.2. HƯỚNG PHÁT TRIỂN

− Có thể mở rộng nhiều hơn số lượng vị trí gửi xe.

− Sử dụng những thiết bị khác ể làm mô hình nhỏ gọn, thẩm mỹ và tiết kiệm. − Điều chỉnh chương trình ể có thể tính tiền thông qua thẻ ngân hàng.

− Nâng cấp ể hệ thống có thể quan iều khiển, giám sát thông qua iện tho ại cũng như web.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH 85 HƯƠNG 6. K T LUẬN VÀ HƯỚNG PHÁT TRIỂN

− Thêm chức năng ặt chỗ trước thông qua tin nhắn SMS hoặc ứng dụng Web, iện

thoại.

− Gửi dữ liệu khách hàng lên giao diện Web ể tiện theo dõi cũng như cung cấp

thông tin cho phía an ninh khi cần thiết.

TÀI LIỆU THAM KHẢO

Sách tham khảo:

− [1] Nguyễn Văn Hiệp (2014), Giáo trình công nghệ nhận dạng bằng sóng vô

tuyến, nhà xuất bản ĐH Quốc Gia Tp. Hồ Chí Minh.

− Trần Văn Hiếu (2015). Tự ộng hóa PLC S7-1200 với Tia Portal. Nhà xuất bản

khoa học và kỹ thuật.

− Lê Chí Kiên (2014). Giáo trình o lường cảm biến, nhà xuất bản ĐH Quốc Gia Tp.

Hồ Chí Minh.

− Nguyễn Đình Lâm – Lê Văn Quân (2015), Luận văn tốt nghiệp Trường ĐH Bách

Khoa Tp. Hồ Chí Minh, Thiết kế và thi công mô hình bãi giữ xe ô tô tự ộng.

− Vũ Tiến Trình – Lê Vũ Khanh (2017), Đồ án tốt nghiệp Trường ĐH Sư phạm Kỹ

thuật Tp. Hồ Chí Minh, Hệ thống bãi giữ xe ứng dụng công nghệ RFID kết hợp nhận

diện biển số.

Website tham khảo:

− [1*] Thống kê Hải quan (21/09/2018 4:00 PM), Thống kê nhập khẩu ô tô nguyên

chiếc các loại và linh kiện & phụ tùng ô tô trong tuần (từ ngày 14/9/2018 ến ngày 20/9/2018).

https://www.customs.gov.vn/ − [2*] Ngôn ngữ lập trình C#.

https://vi.wikipedia.org/

− [3*] Communication with Siemens S7 Plc with C# and S7.Net plc driver.

https://www.mesta-automation.com/siemens-s7-plc-c-s7-net-plc-driver/

− [4*] Chương trình nhận dạng biển số xe bằng C# (Demo version).

https://laptrinhvb.net/bai-viet/chuyen-de-csharp/Chuong-trinh-nhan-dang-bienso- xe-bang--Csharp--(Demo-version)/3a4500923205f566.html

https://vi.wikipedia.org/wiki/Serial_Peripheral_Interface

https://vi.wikipedia.org/wiki/Ethernet −[6*] Programmable

logic controller.

https://vi.wikipedia.org/wiki/Programmable_logic_controller

− [7*] Công ty TNHH iện lực và tự ộng hóa Hưng Long (13/07/2012), Giới thiệu

chung về nguyên lý của cảm biến quang.

https://banbientan.com/nguyen-ly-cua-cam-bien-quang/

− [8*] Công tắc hành trình là gì? Nguyên lý cấu tạo phân loại ra sao? https://codientudong.com/cong-tac-hanh-trinh.html

− [9*] Ứng dụng của rơ le trung gian trong iện công nghiệp.

https://bachkhoa.org/ro-le-trung-gian/

− [10*] Động cơ iện một chiều.

https://vi.wikipedia.org/

−[11*] DINHNGHIA.VN (5/12/2017), Định nghĩa hộp giảm tốc, nguyên lý hoạt ộng

hộp giảm tốc.

https://dinhnghia.vn/hop-giam-toc-va-nguyen-ly-hoat-dong.html

− Nguyễn Thanh Bình & Đoàn Như Bảo, “Hệ thống bãi giữ xe thông minh ứng dụng

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xvii

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

PHỤ LỤC

Thuật ngữ viết tắt

− PLC: Programmable Logic Controller

− SPI: Serial Peripheral Interface

− RFID: Radio Frequency Identification

− USB: Universal Serial Bus

− XML: eXtensible Markup Language

− PID: Proportional Integral Derivative

− SCADA: Supervisory Control And Data Aquisition

− RTC: Real-Time control

− ATS: Advanced Technology Services

− HMI: Human Machine Interface

− CPU: Central Processing Unit

CODE CHƯƠNG TRÌNH CON

Chương trình con PLC

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xix

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

Chương trình con di chuyển ến vị trí cất xe

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxi

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

Chương trình con hạ xe vào vị trí

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxiii

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

Chương trình con di chuyển ến vị trí lấy xe

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxv

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

Chương trình con hạ xe trả khách

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxvii

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

Chương trình con on/off

Chương trình con vị trí

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxix

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

Chương trình con reset

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxxi

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)  Chương trình con trên C#

Chương trình con quản lý thẻ

public void LoadDataID() {

string sqlSelectID = "SELECT ROW_NUMBER () OVER (ORDER BY [TIME] DESC ) STT , * FROM [APC].[dbo].[QLID]";

SqlCommand cmd = new SqlCommand(sqlSelectID, Connect); DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); dataGridViewID.DataSource = dt;

}

private void btnThem_Click(object sender, EventArgs e) {

bool kt = false;

for (int i = 0; i < dataGridViewID.Rows.Count; i++) { if (txtID.Text == dataGridViewID.Rows[i].Cells ["MATHE"].Value.ToString()) { kt = true; } } if (txtID.Text == "") {

MessageBox.Show("Vui long quet the", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else

{

if (kt == true) {

MessageBox.Show("The a tôn tai", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtID.Clear(); // Xoa dư liêu ơ textbox Ma the

} else {

string sqlInsert = "INSERT INTO [APC].[dbo].[QLID] VALUES ('" + txtID.Text + "', '" + DateTime.Now.ToString

("yyyy/MM/dd HH:mm:ss") + "')";

SqlCommand cmd = new SqlCommand(sqlInsert, Connect); cmd.ExecuteNonQuery(); txtID.Clear(); // Xoa dư liêu ơ textbox Ma the

} }

LoadDataID(); }

private void btnXoa_Click(object sender, EventArgs e) {

if (txtID.Text == "") {

MessageBox.Show("Vui long chon the cân xoa", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Warning);

} else {

DialogResult tt = MessageBox.Show("Ban a chăc chăn xoa", "Thông bao", MessageBoxButtons.YesNo,

MessageBoxIcon.Question); if (tt == DialogResult.Yes) {

string sqlDelete = "DELETE FROM QLID WHERE ID = '" + txtID.Text + "'";

SqlCommand cmd = new SqlCommand(sqlDelete, Connect); cmd.ExecuteNonQuery(); txtID.Clear(); // Xoa dư liêu ơ textbox Ma the

} }

LoadDataID(); }

private void dataGridViewID_CellClick(object sender, DataGridViewCellEventArgs e)

{

int index = e.RowIndex; if (index >= 0) { txtID.Text = dataGridViewID.Rows[index].Cells ["MATHE"].Value.ToString(); }} #endregion

Chương trình con quản lý dữ liệu xe ra vào

#region Quản lý dữ liệu xe ra vào public void LoadDataCAR()

{

string sqlSelectCAR = "SELECT ROW_NUMBER () OVER (ORDER BY [TOUT] DESC ) STT , * FROM [APC].[dbo].[CARINOUT]";

SqlCommand cmd = new SqlCommand(sqlSelectCAR, Connect); DataTable dt = new DataTable();

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxxiii

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); dataGridViewCAR.DataSource = dt;

}

#region Quan ly xe trong bai public void LoadDataCARIN()

{

string sqlSelectCARIN = "SELECT ROW_NUMBER () OVER (ORDER BY [VT] DESC ) STT , * FROM [APC].[dbo].[CARIN]";

SqlCommand cmd = new SqlCommand(sqlSelectCARIN, Connect); DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); dataGridViewIN.DataSource = dt; }

Chương trình con kết nối camera

#region Kêt nôi CAMERA

private void btnCMR_Click(object sender, EventArgs e) {

if (comboBoxCAM.SelectedIndex < 0) {

MessageBox.Show("Chưa chon Camera!", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Error); } else

{

Cam = new VideoCaptureDevice(Camera

[comboBoxCAM.SelectedIndex].MonikerString); Cam.NewFrame += Cam_NewFrame; if

(!Cam.IsRunning) {

Cam.Start(); btnCMR.Text = "Đa kêt nôi"; btnCMR.Enabled = false; comboBoxCAM.Enabled = false;

CA = true;

MessageBox.Show("Kêt nôi thanh công!", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Information); }

}

void Cam_NewFrame(object sender, NewFrameEventArgs eventArgs) {

pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone(); }

Chương trình con kết nối RFID

#region Kêt nôi RFID

private void btnRFID_Click(object sender, EventArgs e) {

if (comboBoxRFID.Text == "") {

MessageBox.Show("Vui long chon kêt nôi", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (!serialPort1.IsOpen) { serialPort1.PortName = comboBoxRFID.Text; serialPort1.Open();

MessageBox.Show("Kêt nôi thanh công!", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Information);

btnRFID.Text = "Ngăt kêt nôi"; comboBoxRFID.Enabled = false; } else { serialPort1.Close(); btnRFID.Text = "Kêt nôi"; comboBoxRFID.Enabled = true; }}}

Chương trình con kết nối với PLC

#region Kêt nôi PLC

private void btnPLC_Click(object sender, EventArgs e) {

Plc plc = new Plc(CpuType.S71200, txtIP.Text, 0, 0); if (txtIP.Text == "")

{

MessageBox.Show("Vui long nhâp ia chi IP", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Warning); }

else

{ if (plc.Open() == ErrorCode.NoError)

{

MessageBox.Show("Kêt nôi thanh công!", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Information);

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxxv

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

btnPLC.Text = "Đa kêt nôi"; btnPLC.Enabled = false; txtIP.Enabled = false; PL = true; plc.Close();

} else {

MessageBox.Show("Không thê kêt nôi vơi PLC!", "Thông bao", MessageBoxButtons.OK, MessageBoxIcon.Error);

txtID.Clear(); }}}

Chương trình con quẹt thẻ,nhận dạng biển số iều khiển cho xe vào ra

#region Xư ly quet the, nhân diên biên sô, iêu khiên cho xe vao va lây xe ra

private void DataReceive(object obj, SerialDataReceivedEventArgs e) { InputData = serialPort1.ReadExisting(); if

(InputData != string.Empty) {

SetText(InputData); }}

private void SetText(string text) {

if (this.txtID.InvokeRequired) {

SetTextCallback d = new SetTextCallback(SetText); this.Invoke(d, new object[] { text });

}

else this.txtID.Text += text; RF = true;

string mathe = text.Trim();

if (!string.IsNullOrEmpty(txtID.Text) && CA == true && RF == true) //&& PL == true)

{

#region Kiêm tra the hê thông bool ktID = false;

for (int i = 0; i < dataGridViewID.Rows.Count; i++) {

if (txtID.Text == dataGridViewID.Rows[i].Cells ["MATHE"].Value.ToString())

{ ktID = true; }}

#endregion if (ktID == false) {

MessageBox.Show("The không co trong hê thông!", "Canh bao", MessageBoxButtons.OK, MessageBoxIcon.Error);

delay_ms(1000); } else

{

#region Kiêm tra xe trong bai bool ktCAR = false;

for (int i = 0; i < dataGridViewIN.Rows.Count; i++) { if (mathe == dataGridViewIN.Rows[i].Cells ["MT"].Value.ToString()) { ktCAR = true; }} #endregion if (ktCAR == false) {

DialogResult carin = MessageBox.Show("Xe chưa co trong bai!\nBan co muôn cho xe vao?", "Thông bao",

MessageBoxButtons.OKCancel, MessageBoxIcon.Error); if (carin == DialogResult.OK)

{ txtID.Clear(); // Xoa dư liêu ơ textbox Ma the

#region Chup anh va nhân diên biên sô Image xxx = pictureBox2.Image;

pictureBox2.Image = (Bitmap) pictureBox1.Image.Clone();

//bool ndin = false; //Kiêm tra nhân dang biên sô vao Image temp1; string

temp2, temp3;

Reconize_in(@"D:\DATN\VS_CODE\PICTURE\CARIN\" + mathe + DateTime.Now.ToString("_yyyyMMdd_HHmmss") + ".Jpeg", out temp1, out temp2, out temp3); xxx = temp1; if (temp3 == "")

{

txtBSV.Text = "Không nhân dang ươc"; //ndin = false;

} else {

txtBSV.Text = Regex.Replace(temp3, @"\s", ""); // Căt bo khoang trăng

//ndin = true; }

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxxvii

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

#endregion

pictureBox2.Image.Save(@"D:\DATN\VS_CODE\PICTURE \CARIN\" + mathe + DateTime.Now.ToString

("_yyyyMMdd_HHmmss") + ".Jpeg");

pictureBoxBSV.Image.Save(@"D:\DATN\VS_CODE \PICTURE\BSV\" + mathe + DateTime.Now.ToString ("_yyyyMMdd_HHmmss") + ".Jpeg");

pictureBoxKTV.Image.Save(@"D:\DATN\VS_CODE \PICTURE\KTV\" + mathe + DateTime.Now.ToString ("_yyyyMMdd_HHmmss") + ".Jpeg"); string sqlispicture = "INSERT INTO [APC].[dbo].

[PICTURE] VALUES ('" + mathe + "','" +

DateTime.Now.ToString("_yyyyMMdd_HHmmss") + "')"; SqlCommand cmdispicture = new SqlCommand

(sqlispicture, Connect); cmdispicture.ExecuteNonQuery(); #region Điêu khiên cho xe vao

Plc plc = new Plc(CpuType.S71200, txtIP.Text, 0, 0);

if (plc.Open() == ErrorCode.NoError) {

WindowsMediaPlayer sound = new WindowsMediaPlayer(); sound.URL = @"D:\DATN\VS_CODE\MP3 \moixevao.mp3"; sound.controls.play(); txtIDV.Text = mathe; txtTV.Text = DateTime.Now.ToString("yyyy/MM/ dd HH:mm:ss"); plc.Write("M0.0", 1); plc.Write("M0.0", 0); delay_ms(500); txtVTV.Text = vitri; string sqliscarin = "INSERT INTO [APC].[dbo]. [CARIN] VALUES ( '" + txtVTV.Text + "','" + mathe + "','"

+ txtBSV.Text + "' ,'" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "')";

SqlCommand cmdin = new SqlCommand(sqliscarin, Connect); cmdin.ExecuteNonQuery();

LoadDataCARIN(); plc.Close();

} else {

MessageBox.Show("Không thê kêt nôi ên PLC!",

"Lôi", MessageBoxButtons.OK, MessageBoxIcon.Error); }

#endregion } else {

txtID.Clear(); }} else {

DialogResult carout = MessageBox.Show("Xe a co trong bai!\nBan co muôn cho xe ra?", "Thông bao", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); if (carout == DialogResult.OK) { txtID.Clear(); txtIDR.Text = mathe; txtTR.Text = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");

#region Mơ lai thông tin luc xe vao ê quan sat string sqlmott = "SELECT * FROM [APC].[dbo].

[CARIN] WHERE ID = '" + mathe + "'"; SqlDataAdapter drmott = new SqlDataAdapter (sqlmott, Connect);

DataTable dtmott = new DataTable(); drmott.Fill(dtmott); txtVTV.Text =

dtmott.Rows[0][0].ToString(); txtVTR.Text = dtmott.Rows[0][0].ToString(); txtIDV.Text = dtmott.Rows[0][1].ToString(); txtBSV.Text = dtmott.Rows[0][2].ToString(); txtTV.Text = dtmott.Rows[0][3].ToString(); string sqlmopic = "SELECT * FROM [APC].[dbo]. [PICTURE] WHERE ID = '" + mathe + "'";

SqlDataAdapter drmopic = new SqlDataAdapter (sqlmopic, Connect);

DataTable dtmopic = new DataTable(); drmopic.Fill(dtmopic); pictureBox2.Image = new Bitmap(Image.FromFile

(@"D:\DATN\VS_CODE\PICTURE\CARIN\" + mathe + dtmopic.Rows [0][1] + ".Jpeg"));

pictureBoxBSV.Image = new Bitmap(Image.FromFile

(@"D:\DATN\VS_CODE\PICTURE\BSV\" + mathe + dtmopic.Rows[0] [1] + ".Jpeg"));

pictureBoxKTV.Image = new Bitmap(Image.FromFile

(@"D:\DATN\VS_CODE\PICTURE\KTV\" + mathe + dtmopic.Rows[0] [1] + ".Jpeg"));

#endregion

#region Điêu khiên lây xe ra

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xxxix

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

0);

if (plc.Open() == ErrorCode.NoError) { plc.Write("M0.1", 1);

plc.Write("M0.1", 0); #region Chon vi tri lây xe if (txtVTV.Text == "1") { plc.Write("M37.2", 1); plc.Write("M37.2", 0); } else if (txtVTV.Text == "2") { plc.Write("M37.3", 1); plc.Write("M37.3", 0); } else if (txtVTV.Text == "3") { plc.Write("M37.4", 1); plc.Write("M37.4", 0); } else if (txtVTV.Text == "4") { plc.Write("M37.5", 1); plc.Write("M37.5", 0); } else if (txtVTV.Text == "5") { plc.Write("M37.6", 1); plc.Write("M37.6", 0); } else if (txtVTV.Text == "6") { plc.Write("M37.7", 1); plc.Write("M37.7", 0); } #endregion delay_ms(1000); pictureBox3.Image = (Bitmap) pictureBox1.Image.Clone(); pictureBox3.Image.Save(@"D:\DATN\VS_CODE \PICTURE\CAROUT\" + mathe + DateTime.Now.ToString ("_ddMMyyyy_HHmmss") + ".Jpg"); Image yyy = pictureBox3.Image;

//bool ndout = false; //Kiêm tra nhân dang biển số ra Image temp11;

string temp22, temp33;

Reconize_out(@"D:\DATN\VS_CODE\PICTURE\CAROUT

\" + mathe + DateTime.Now.ToString("_ddMMyyyy_HHmmss") + ".jpg", out temp11, out temp22, out temp33);

yyy = temp11; if (temp33 == "") {

txtBSR.Text = "Không nhân dang ươc"; //ndout = false;

} else {

txtBSR.Text = Regex.Replace(temp33,

@"\s", ""); // Căt bo khoang trăng //ndout = true; } pictureBoxBSR.Image.Save(@"D:\DATN\VS_CODE \PICTURE\BSR\" + mathe + DateTime.Now.ToString ("_ddMMyyyy_HHmmss") + ".Jpeg"); pictureBoxKTR.Image.Save(@"D:\DATN\VS_CODE \PICTURE\KTR\" + mathe + DateTime.Now.ToString ("_ddMMyyyy_HHmmss") + ".Jpeg"); bool ktbs = false; if (txtBSR.Text == txtBSV.Text) //Trung biên sô

{ ktbs = true; }

if (ktbs == false) {

DialogResult ktr = MessageBox.Show("Biên sô xe không trung.\n Ban co muôn cho xe ra?", "Thông bao",

MessageBoxButtons.OKCancel, MessageBoxIcon.Error); if (ktr == DialogResult.OK)

{

WindowsMediaPlayer sound = new WindowsMediaPlayer(); sound.URL = @"D:\DATN\VS_CODE\MP3

\moixera.mp3";

sound.controls.play();

//delay_ms(500); plc.Write("M15.0", 1);

#region Tinh thơi gian xe trong bai va chi phi gơi xe DateTime startdate = DateTime.Parse

(txtTV.Text);

DateTime stopdate = DateTime.Parse (txtTR.Text);

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xli

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

TimeSpan time = new TimeSpan(); time = stopdate - startdate; if (time.Days.ToString() == "0") {

txtTG.Text = time.Hours.ToString

() + " giơ " + time.Minutes.ToString() + " phut "; } else if ((time.Days.ToString() == "0") && (time.Hours.ToString() == "0")) { txtTG.Text = time.Minutes.ToString() + " phut "; } else {

txtTG.Text = time.Days.ToString() + " ngay " + time.Hours.ToString() + " giơ " +

time.Minutes.ToString() + " phut "; } double days =

(int)time.TotalDays; var hours = (int)time.TotalHours; if (hours <= 0) hours = 1; double sotien = hours * 5000; txtCP.Text =

sotien.ToString(); #endregion

string sqlInsertcarout = "INSERT INTO

[APC].[dbo].[CARINOUT] VALUES ( '" + mathe + "','" + txtBSV.Text + "','" + txtTV.Text + "' ,'" + txtTR.Text +

"','" + txtCP.Text + "')";

SqlCommand cmdcarout = new SqlCommand (sqlInsertcarout, Connect);

cmdcarout.ExecuteNonQuery(); LoadDataCAR(); string sqldltcarin = "DELETE FROM

[APC].[dbo].[CARIN] WHERE ID = '" + mathe + "'";

SqlCommand cmddltcarin = new SqlCommand(sqldltcarin, Connect);

cmddltcarin.ExecuteNonQuery(); LoadDataCARIN(); string sqldltpic = "DELETE FROM

[APC].[dbo].[PICTURE] WHERE ID = '" + mathe + "'"; SqlCommand cmddltpic = new SqlCommand(sqldltpic, Connect);

cmddltpic.ExecuteNonQuery(); } else

{

// Reset hê thông plc.Write("M9.4", 1);

plc.Write("M9.4", 0); if (txtVTV.Text == "1") { plc.Write("M1.1", 1); } else if (txtVTV.Text == "2") { plc.Write("M1.2", 1); } else if (txtVTV.Text == "3") { plc.Write("M1.3", 1); } else if (txtVTV.Text == "4") { plc.Write("M1.4", 1); } else if (txtVTV.Text == "5") { plc.Write("M1.5", 1); } else if (txtVTV.Text == "6") { plc.Write("M1.6", 1); }}} else {

WindowsMediaPlayer sound = new WindowsMediaPlayer(); sound.URL = @"D:\DATN\VS_CODE\MP3

\moixera.mp3"; sound.controls.play(); //delay_ms(1000);

plc.Write("M15.0", 1);

#region Tinh thơi gian xe trong bai va chi phi gơi xe

DateTime startdate = DateTime.Parse (txtTV.Text); DateTime stopdate = DateTime.Parse

(txtTR.Text);

TimeSpan time = new TimeSpan(); time = stopdate - startdate; if (time.Days.ToString() == "0")

{ txtTG.Text = time.Hours.ToString() + " giơ " + time.Minutes.ToString() + " phut

";}

else if ((time.Days.ToString() == "0") && (time.Hours.ToString() == "0"))

BỘ MÔN ĐIỆN TỬ CÔNG NGHI ỆP xliii

Downloaded by Thi Hoa Nguyen (nguyenthihoa.30499@gmail.com)

{

txtTG.Text = time.Minutes.ToString() + " phut ";

} else {

txtTG.Text = time.Days.ToString() + "

ngay " + time.Hours.ToString() + " giơ " +time.Minutes.ToString() + " phut "; }

double days = (int)time.TotalDays; var hours = (int)time.TotalHours; if (hours <= 0) hours = 1; double sotien = hours * 5000; txtCP.Text = sotien.ToString();

#endregion

string sqlInsertcarout = "INSERT INTO

[APC].[dbo].[CARINOUT] VALUES ( '" + mathe + "','" + txtBSV.Text + "','" + txtTV.Text + "' ,'" + txtTR.Text +

"','" + txtCP.Text + "')";

SqlCommand cmdcarout = new SqlCommand (sqlInsertcarout, Connect);

cmdcarout.ExecuteNonQuery(); LoadDataCAR(); string sqldltcarin = "DELETE FROM [APC]. [dbo].[CARIN] WHERE ID = '" + mathe + "'";

SqlCommand cmddltcarin = new SqlCommand (sqldltcarin, Connect);

cmddltcarin.ExecuteNonQuery();

LoadDataCARIN(); string sqldltpic = "DELETE FROM [APC]. [dbo].[PICTURE] WHERE ID = '" + mathe + "'"; SqlCommand cmddltpic = new SqlCommand

(sqldltpic, Connect); cmddltpic.ExecuteNonQuery(); } }

else {

MessageBox.Show("Không thê kêt nôi ên PLC!",

"Lôi", MessageBoxButtons.OK, MessageBoxIcon.Error); }

#endregion } else { txtID.Clear();}}}} else if (CA == false) {

DialogResult tt = MessageBox.Show("Camera chưa ươc kêt nôi! ", "Lôi!", MessageBoxButtons.OK, MessageBoxIcon.Error);

{ txtID.Clear(); }}

Chương trình xử lý biển số xe vào

#region Xư ly biên số xe vao

Một phần của tài liệu Đồ án tốt nghiệp thiết kế thi công mô hình điều khiển giám sát bãi giữ xe ô tô tự động (Trang 105)

Tải bản đầy đủ (PDF)

(198 trang)