Mô hình cầu trục hoàn thành
Trang 44
4.1.2 Tủ điện điều khiển
Hình 4 - 2 Tủ điện điều khiển
Trang 45
4.1.3 Thực nghiệm sai số vị trí cầu trục
Với khoảng cách đo so sánh là 125cm, ta có bảng số liệu đo đạc sau
Lần 1 2 3 4 5 6 7 8
Khoảng cách(cm)
125,3 126,4 125,7 125,5 125,4 126,7 125,7 126,4
Bảng 4 - 1 Bảng đo thực nghiệm Khoảng cách trung bình sai lệch là 125,9 Sai số là 0.72% .
Tốc độ đo được là 12m/phút khi chạy ở 3 cấp tốc độ 80Hz, 60Hz và 5Hz.
4.2 Nhận xét
Dầm và xe con chạy tương đối tốt.
Sai số tương đối nhỏ.
Di chuyển ít rung lắc.
Tốc độ xe con cũng như dầm chính còn thấp.
Trang 46
CHƯƠNG 5: KẾT LUẬN 5.1 Kết luận
Với tình hình phát triển như hiện nay ở Việt Nam cũng như trên thế giới, việc tạo ra sản phẩm có chức năng giám sát cũng như điều khiển trực tiếp như vậy sẽ giúp tăng năng suất lao động cũng như giảm thiểu thời gian điều khiển và có thể quan sát hệ thống thuận tiện hơn, đảm bảo an toàn cho con người trong công việc cũng vô cùng quan trọng.
Việc điều khiển và giám sát vị trí cho hệ thống cầu trục đã đáp ứng được nhu cầu thự tế trên.Đây được xem như là một hướng nghiên cứu cho bản thân cũng như các thế hệ sau để có thể nâng cấp, cải tiến hơn chức năng góp phần tích cực hơn trong lao động sản xuất hiệu quả và đặc biệt là giúp con người an toàn và tiết kiệm thời gian hơn.
5.2 Hướng phát triển
Tuy đã hoàn thành toàn bộ những yêu cầu đặt ra từ trước, nhưng trong thiết kế và thi công không thể tránh những thiếu sót, cũng như những ý tưởng mới mà do một vài lý do khách quan chưa thể thực hiện được.
Qua đây, nhóm xin đưa ra một số vấn đề cần được khắc phục cũng như phát triển thêm trong tương lai:
Giảm bớt sai số vị trí cho hệ thống cầu trục.
Vận tốc điều khiển đạt tốc độ cao và ổn định.
Hệ thống chống được rung lắc hơn, tốt nhất có thể.
Thêm cảm biến, công tắc hành trình để cầu trục làm việc chính xác hiệu quả hơn.
Trang 47
TÀI LIỆU THAM KHẢO Tiếng Việt
[1]: Nguyễn Thế Hùng, Bài giảng môn học Điều Khiển Tự Động, 2012.
Tiếng Anh
[1]: Delta “ DVP-PLC Application Examples”.
[2]: Delta “DVP-PLC Application Manual: Programming”. [3]: Teco “ Inverter Manual”.
Website tham khảo:
http://www.dailybientandelta.com/ http://www.bientan24s.com/ http://bigger.com.vn/ http://simplymodbus.ca/ http://delta.com/ http://vocsyit.com/
Trang 48
PHỤ LỤC
Phụ lục A: Chương trình điều khiển trong WPLSOFT
Chương trình trong PLC
Nhiệm vụ : Xử lý tính toán dữ liệu
Chương trình xử lý tính toán dữ liệu
Nhiệm vụ: Đọc tín hiệu từ encoder
Chương trình đọc tín hiệu từ encoder
Trang 49 Chương trình điều khiển biến tần
Phụ lục B: Code lập trình C-sharp
Code giao tiếp giữa PC với PLC
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace My_Modbus_2 { class clsFunction { #region ModbusAddress
public static string ModbusAddress(string address) {
string MSB; string LSB;
string Modbus = ""; int n = address.Length;
string device = address.Substring(0, 1);
int range = Convert.ToInt32(address.Substring(1, n - 1)); if (device == "m") { MSB = "0"; range = range + 2048; LSB = range.ToString("X"); Modbus = string.Concat(MSB, LSB); } else if (device == "d") { MSB = "1"; LSB = range.ToString("X");
Trang 50 int m = LSB.Length; switch (m) { case 1: LSB = "00" + LSB; break; case 2: LSB = "0" + LSB; break; } Modbus = string.Concat(MSB, LSB); } return Modbus; } #endregion
#region Function Code
public static string ForceSingleCoil(string slaveID, string Register, bool status) { string data; if (status) { data = "FF00"; } else { data = "0000"; }
string sendword = string.Concat(slaveID, "05", Register, data); return sendword;
}
public static string PresetMultiRegister(string slaveID, string Register, string data)
{
int Data = Convert.ToInt32(data); string hexData = Data.ToString("X"); int n = hexData.Length;
#region Full Hex switch (n) { case 0: hexData = "0"; break; case 1:
hexData = string.Concat("0000000", hexData); break;
Trang 51 case 2:
hexData = string.Concat("000000", hexData); break;
case 3:
hexData = string.Concat("00000", hexData); break;
case 4:
hexData = string.Concat("0000", hexData); break;
case 5:
hexData = string.Concat("000", hexData); break;
case 6:
hexData = string.Concat("00", hexData); break;
case 7:
hexData = string.Concat("0", hexData); break; } #endregion string LSB = hexData.Substring(0, 4); string MSB = hexData.Substring(4, 4); hexData = string.Concat(MSB, LSB);
string sendword = string.Concat(slaveID, "10", Register, "000204", hexData);
return sendword; }
public static string ReadHoldingRegister(string slaveID, string Register, string data)
{
string sendword = string.Concat(slaveID, "03", Register, data); return sendword;
}
#endregion }