CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
5.1. Hệ thống mô hình
Sau khi thi công toàn bộ hệ thống thì với mô hình trên nhóm ã ạt ược những kết quả như sau.
– Hoàn thành hoàn chỉnh mô hình với các thiết bị ược lắp ặt úng vị trí –Động cơ có thể ưa cánh tay ra ể lấy xe.
– Động cơ có thể vận hành nâng xe, hạ xe, quay và di chuyển lên xuống
– Các công tắc hành trình cũng hoạt ộng giới hạn ường i cho các ộng cơ cánh
tay.
– Cảm biến hoạt ộng ể ưa xe ến úng vị trí.
– Camera cũng ược lắp ặt.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78
Hình 5.2. Mặt dưới của mô hình khi lắp thiết bị
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79
Hình 5.4. Động cơ quay ến vị trí chẵn lẽ hoạt ộng
Hình 5.5. Động cơ nâng hạ xe ến vị trí hoạt ộng
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 80
Sau khi kết nối i ường dây iện kết nối cấp nguồn ến các thiết bị nhóm ược kết quả sau:
− Cấp nguồn ủ cho ngõ vào và ngõ ra PLC hoạt ộng
− Cấp nguồn ủ cho Domino ể phân bố iện áp ến các thiết bị.
Hình 5.6. Domino phân bố iện áp cho các thiết bị trong mô hình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 81
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 82
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 83
Hình 5.10. Điện áp cấp vào PLC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 84
5.3. KẾT QUẢ MÔ PHỎNG 5.3.1. Mô phỏng trên WinCC
Sau khi ã thiết kế giao diện cho hệ thống giám sát hệ thống qua WinCC và chạy chương trình như sau:
− Hệ thống giám sát ược hoạt ộng của toàn bộ hệ thống.
− Các nút nhấn có thể tắt mở cho phép chương trình hoạt ộng. − Hiện thi úng vị trí và thời gian của hệ thống.
− Người dùng có thể iều khiển hệ thống bằng tay hoặc chế ộ tự ộng.
Hình 5.12. Giao diện giám sát bãi xe trên WinCC khi hoạt ộng
5.3.2. Mô phỏng trên C#
Ở phần này nhóm ã ạt ược các kết quả sau:
− Hệ thống quẹt thẻ có thể ọc ược thẻ và lưu thẻ khi có xe vào − Giao diện camera có thể chụp ảnh là lưu ảnh biển số khi xe vào. − Hệ thống xử lý ảnh có thể nhận dạng ược biển số xe. −
Hệ thống có thể lưu vị trí, mã thẻ, thời gian ra vào của xe − Hiện ược chi phí gửi xe.
Bên canh ó còn có các vấn ề gặp phải những vấn ề sau:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 85
− Chương trình chưa tối ưu nên có sự chậm trễ của toàn bộ hệ thống.
Hình 5.13. Giao diện quản lý thẻ xe trên C# khi xe vào
Hình 5.13. Giao diện quản lý thẻ xe trên C# khi xe ra
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86
5.3.3.Kết quả thống kê
Bảng 5.1. Kết quả thử nghiệm chạy hệ thống
STT Số lần thử nghiệm Số lần thực hiện úng Xác xuất(%)
1 5 4 80%
2 10 8 80%
3 20 16 80%
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
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")