2.4.1 Khái niệm về Modbus
MODBUS do Modicon (hiện nay thuộc Schneider Electric) phát triển năm 1979, là một phương tiện truyền thông với nhiều thiết bị thông qua một cặp dây xoắn đơn. Ban đầu, nó hoạt động trên RS232, nhưng sau đó nó sử dụng cho cả RS485 để đạt tốc độ cao hơn, khoảng cách dài hơn, và mạng đa điểm (multi-drop).
Trang 14
2.4.2 Các loại Modbus:
Ba phiên bản Modbus phổ biến nhất được sử dụng ngày nay là :
- Modbus RTU
- Modbus ASCII
- Modbus/TCP
Tất cả thông điệp được gửi dưới cùng một format. Sự khác nhau duy nhất giữa 3 loại MODBUS là cách thức thông điệp được mã hóa.
Với MODBUS ASCII, mọi thông điệp được mã hóa bằng hexadeci-mal, sử dụng đặc tính ASCII 4 bit. Đối với mỗi một byte thông tin, cần có 2 byte truyền thông, gấp đôi so với MODBUS RTU hay MODBUS/TCP.
Tuy nhiên, MODBUS ASC II chậm nhất trong số 3 loại protocol, nhưng lại thích hợp khi modem điện thoại hay kết nối sử dụng sóng radio do ASC II sử dụng các tính năng phân định thông điệp. Do tính năng phân định này, mọi rắc rối trong phương tiện truyền dẫn sẽ không làm thiết bị nhận dịch sai thông tin. Điều này quan trọng khi đề cập đến các modem chậm, điện thoại di động, kết nối ồn hay các phương tiện truyền thông khó tính khác.
Trang 15 Đối với MODBUS RTU, dữ liệu được mã hóa theo hệ nhị phân, và chỉ cần một byte truyền thông cho một byte dữ liệu. Đây là thiết bị lí tưởng đối với RS 232 hay mạng RS485 đa điểm, tốc độ từ 1200 đến 115 baud. Tốc độ phổ biến nhất là 9600 đến 19200 baud.
MODBUS/TCP đơn giản là MODBUS qua Ethernet. Thay vì sử dụng thiết bị này cho việc kết nối với các thiết bị tớ, do đó các địa chỉ IP được sử dụng. Với MODBUS/TCP, dữ liệu MODBUS được tóm lược đơn giản trong một gói TCP/IP. Do đó, bất cứ mạng Ethernet hỗ trợ MODBUS/ IP sẽ ngay lập tức hỗ trợ MODBUS/TCP. Phiên bản MODBUS này sẽ được đề cập chi tiết trong bài viết lần sau với tiêu đề “MODBUS qua Ethernet”.
2.4.3 Lựa chọn phiên bản Modbus
Chọn phương án điều khiển truyền thông máy tính qua PLC Delta DVP-14SS2 bởi MODBUS ASCII với chuẩn truyền là RS 232.
a/ Giới thiệu
Chuẩn giao tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi hiện nay để nối ghép các thiết bị ngoại vi với máy tính. Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là hai thiết bị, chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5m đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt.
Chuẩn RS232 được nối ra một dắc cắm (gọi là cổng COM). Khi sử dụng có thể dùng hai hay toàn bộ chân của dắc cắm này, nếu mục đích chỉ truyền hoặc nhận tín hiệu giữa hai thiết bị thì ta chỉ cần sử dụng hai dây (một dây truyền hoặc nhận và một dây nối đất). Ý nghĩa của chuẩn truyền thông nối tiếp là trong một thời điểm chỉ có một bít được gửi đi dọc theo đường truyền. Các máy tính thường có một hoặc hai cổng nối tiếp theo chuẩn RS232 được gọi là cổng COM. Chúng được dùng để ghép nối cho chuột, modem, thiết bị đo lường…Trên main máy tính có loại 9 chân hoặc loại 25 chân tùy vào đời máy và main của máy tính. Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp.
Trang 16
Ưu điểm của giao diện nối tiếp RS-232 :
- Khả năng chống nhiễu của các cổng nối tiếp cao.
- Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện.
- Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp.
Những đặc điểm cần lưu ý trong chuẩn RS-232 :
- Trong chuẩn RS232 có mức giới hạn trên và dưới( logic 0 và 1) là 12V. Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 -7000 .
- Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ 3V đến 12V.
- Tốc độ truyền nhận dữ liệu cực đại là 100kbps (ngày nay có thể lớn hơn).
- Các lối vào phải có diện dung nhỏ hơn 2500pF.
- Trở kháng tải phải lớn hơn 3000 nhưng phải nhỏ hơn 7000 .
- Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt quá 15m nếu không sử dụng modem.
- Các giá trị tốc độ truyền dữ liệu chuẩn: 50, 75, 110, 750, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, …, 56600, 115200bps.
Các mức điện áp thường truyền
RS232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ lúc mới ra đời nó đã
Trang 17 mang vẻ lỗi thời của chuẩn TTL, nó vẫn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải và các trở kháng ra của bộ phát.
Mức điện áp của tiêu chuẩn RS232( chuẩn thường được dùng bây giờ) được mô tả như sau:
Mức logic 0: +3V, +12V. Mức logic 1: -12V, -3V.
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến. Chính vì từ -3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thời gian ngắn hợp lý. Điều này dẫn tới việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2kbit/s.
b/ Lựa chọn khối function trong Modbus
Sử dụng 3 khối function code trong Modbus để giao tiếp bao gồm :
- FC03
- FC05
- FC16
Hàm trong FC03 :
Chức năng:Đọc thanh ghi
Yêu cầu : Lệnh này sẽ được chứa trong thanh ghi tín hiệu ngõ ra analog
từ 40108 đến 40110 từ thiết bị slave với địa chỉ là 17. Ví dụ :
11 03 006B 0003 7687
11 : Địa chỉ slave ( 11 hex = địa chỉ 17)
03 : Đọc thanh ghi chứa đầu ra tín hiệu tương tự .
Trang 18 0003 : Tổng số yêu cầu của các thanh ghi .( đọc 3 thanh ghi từ 40108 đến 40110) 7687 : CRC( kiểm tra lỗi).
Phản hồi :
11 03 06 AE41 5652 4340 49AD 11 : Địa chỉ slave(11 hex= địa chỉ 17)
03 : Đọc thanh ghi chứa ngõ ra tương tự 06 : Số lượng byte dữ liệu nhận.
AE41 : Chứa nội dung của thanh ghi 40108 5652 : Chứa nội dụng của thanh ghi 40109 4340 : Chứa nội dung của thanh ghi 40110 49AD : Kiểm tra lỗi
Hàm trong FC 05
Chức năng : Ra lệnh và tác động vào cuộn coi.
Yêu cầu : Lệnh này sẽ được viết nội dung cho cuộn coil riêng biệt tại
#173 để ON trong thiết bị slave với địa chỉ 17. Ví dụ :
11 05 00AC FF00 4E8B 11 : Địa chỉ slave
05 : Lựa chọn lệnh tác động cuộn coi 00AC : Địa chỉ dữ liệu của cuộn coi
FF00 : Trạng thái để viết ( FF00= ON, 0000=OFF) 4E8B : Kiểm tra lỗi.
Phản hồi :
Phản hồi bình thường là tiếng kêu của cuộn coil sau khi lệnh được đưa xuống.
Trang 19 11 : Địa chỉ slave
05 : Lựa chọn lệnh tác động cuộn coi 00AC : Địa chỉ cuộn coil
FF00 : Trạng thái của cuộn coil sau khi đươợc ra lệnh( FF00=ON, 0000=OFF) 4E8B Kiểm tra lỗi
Hàm trong FC 16
Chức năng : Cài đặt cho nhiều thanh ghi.
Yêu cầu :Lệnh này sẽ được viết chứa nội dung của 2 thanh chứa ngõ ra
tương tự ở địa chỉ 40002 và 40003 đến thiết bị slave với địa chỉ 17.
11 10 0001 0002 04 000A 0102 c6F0 11 : Địa chỉ slave
10 : Lựa chọn lệnh cài đặt cho nhiều thanh ghi. 0001 : Địa chỉ dữ liệu thanh ghi đầu tiên. 0002 : Số lượng thanh ghi.
04 :Số lượng byte dữ liệu ( 2 thanh ghi x 2 byte = 4 byte). 000A : Giá trị viết xuống thanh ghi 40002.
0102 : Giá trị viết xuống thanh ghi 40003. C6F0 : Kiểm tra lỗi.
Phản hồi :
11 10 0001 0002 1298 11 : Địa chỉ slave.
10 : Lựa chọn lệnh cài đặt cho nhiều thanh ghi. 0001 : Địa chỉ dữ liệu của thanh ghi đầu tiên. 0002 : Số lượng các thanh ghi đã ra lệnh. 1298 : Kiểm tra lỗi.
Trang 20
2.5 Khái quát chương trình lập trình C-sharp 2.5.1 Nền tảng Microft.net và Framework
Microsoft .NET Framework là mô hình lập trình của Microsoft, nó cung cấp thư viện dùng chung hỗ trợ cho các ứng dụng được lập trình và chạy trên nền tảng .NET.
NET Framework là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các chương trình được viết trên nền .NET.
Không phải mọi ngôn ngữ lập trình đều khai thác được Framework, muốn sử dụng các “vật liệu” trong bộ Framework, đòi hỏi người lập trình viên phải dùng các ngôn ngữ lập trình có hỗ trợ công nghệ .NET như VB.NET, C#.NET, ASP.NET...
Microsoft .NET Framework có 2 thành phần chính là:
Common Language Runtime (CLR)
CLR là thành phần kết nối giữa các phần khác trong .NET Framework với hệ điều hành. CLR là chương trình viết bằng .NET, không được biên dịch ra mã máy mà nó được dịch ra một ngôn ngữ trung gian Microsoft Intermediate Language (MSIL). Khi chạy chương trình, CLR sẽ dịch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống. Nó cũng không cho phép các lệnh nguy hiểm được thi hành. Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine, …
Trang 21 Trong các phiên bản hệ điều hành Windows mới như XP.Net và Windows 2003, CLR được gắn kèm với hệ điều hành.Điều này đảm bảo ứng dụng viết ra trên máy tính của bạn sẽ chạy trên các máy tính khác mà không cần cài đặt.
NET Framework class library
NET Framework class library cung cấp thư viện lập trình như cho ứng dụng, cơ sở dữ liệu, dịch vụ web...
• Base class library – thư viện các lớp cơ sở:
Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng .NET Framework cũng phải dùng nó để xây dựng các lớp cao hơn.
• ADO.NET và XLM:
Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu. ADO.NET thay thế ADO để trong việc thao tác với các dữ liệu thông thường. Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới : XML.
• ASP.NET:
Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của .NET Framework.
Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web. ASP.Net cung cấp một bộ các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng của Windows. Nó cũng cho phép bạn chuyển một ứng dụng trước đây viết chỉ chạy trên Windows thành một ứng dụng Web khá dễ dàng.
• Web services:
Web services là các dịch vụ được cung cấp qua Web (hay Internet). Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm. Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán.
Trang 22 Bộ thư viện về Windows form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based. Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft. Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service.
2.5.2 C-sharp, công cụ lập trình giao diện trên windows
C-Sharp là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft dựa trên C++ và Java. C-Sharp là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. C-Sharp là ngôn ngữ lập trình được hổ trợ bởi Microsoft .NET Framework.
C-Sharp là ngôn ngữ rất thuần nhất và trong sáng, nó hiện thực hầu hết các tính chất tốt của mô hình hướng đối tượng giống như Java. Ngoài ra C-Sharp sẽ được dịch ra mã máy để chạy trên nền .NET, nền tảng này cung cấp rất nhiều đối tượng mạnh, phong phú và đa dạng để giải quyết nhiều vấn đề phổ biến trong lập trình, nhờ đó lập trình bằng C-Sharp tốn rất ít chi phí, thời gian, ứng dụng chạy với tin cậy cao, một phần do tính chất hướng đối tượng của C-Sharp, phần khác vì ứng dụng dùng chủ yếu các đối tượng đã được viết sẵn bởi Microsoft hay hãng thứ ba nào đó.
Mọi ngôn ngữ lập trình điều có những ưu đểm nổi bật, đồng thời cũng tồn tại không ít những khuyết điểm.C-Sharp là ngôn ngữ mạng mẽ và hiện đại nhưng cũng tồn tại nhiều khuyết điểm, đó là:
- C-Sharp hiện chỉ chạy trên nền .NET (tức là chỉ chạy trên hệ điều hành Windows, có thể trong tương lai nó sẽ chạy trên Linux và MacOS).
- C-Sharp có tốc độ chậm hơn C++ do phải chạy trên .NET framework.
- C-Sharp không cho phép thao tác và điều khiển trực tiếp với bộ nhớ, 1 hạn chế rất đáng kể so với C++ khi viết các chương trình lớn, cần đến lượng bộ nhớ dồi dào hoặc các tác vụ đòi hỏi phải dùng trực tiếp dữ liệu từ bộ nhớ.
- C-Sharp không cho phép lập trình chung hay lập trình template, là ngôn ngữ con khó viết nhất trong C++ nhưng lại mạnh mẽ nhất (đưa ra phương thức lập trình mà không cần biết rõ đối tượng đang thao tác, và mạnh
Trang 23 hơn nữa là khả năng chạy trực tiếp chương trình trong bộ biên dịch hệ thống, giúp tăng tốc độ và hiệu quả bộ nhớ khi thực thi tức là siêu lập trình template ).
- C-Sharp không hỗ trợ điều khiển phần cứng mạnh mẽ như C++ vốn được thừa hưởng từ C.
Trong mảng lập trình giao diện thì C-Sharp vẫn là ngôn ngữ phổ biến nhất, đơn giản là vì đây là ngôn ngữ được thiết kế cho lập trình giao diện với sự hổ trợ đồ họa đẹp, hướng đối tượng mạnh mẽ.
Trang 24
CHƯƠNG 3 THIẾT KẾ TỦ ĐIỆN VÀ PHẦN MỀM GIÁM SÁT
3.1 Tổng quan về mô hình và giải thuật điều khiển
Để phục vu cho việc nghiên cứu và thiết kế , thi công tủ điện điều khiển và giám sát cho vị trí của hệ thống cầu trục , nhóm đã thiết kế và thi công mô hình cơ khí hệ thống cầu trục.
3.1.1 Mô hình cầu trục
Mô hình cầu trục bao gồm các bộ phận chính như sau:
- Xe con.
- Dầm chính.
- Thanh ray.
- Động cơ điện.
- Encoder.