Chương 1: Giới thiệu đề tài
Đặt vấn đề:
Trong thời đại hiện nay, ngành công nghệ thông tin phát triển rất nhanh và ngày càng phục vụ tốt trong các lĩnh vực kinh tế, khoa học và đời sống. Trong lĩnh vực kinh tế, công nghệ thông tin được áp dụng rộng rãi vào đời sống con người, cụ thể là trong việc quản lý và sản xuất.
Trong nền kinh tế cạnh tranh khốc liệt như hiện nay thì việc áp dụng công nghệ thông tin vào việc quản lý và sản xuất là một thách thức lớn cho các công ty tại Việt nam. Hiện nay
73 trang |
Chia sẻ: huyen82 | Lượt xem: 2274 | Lượt tải: 3
Tóm tắt tài liệu Hệ thống điều khiển và giám sát máy nhuộm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hầu hết các công ty áp dụng công nghệ thông tin vào việc quản lý như quản lý nhân sự, quản lý tiền lương…Còn áp dụng công nghệ thông tin vào quy trình sản xuất thì còn rất ít, không được quan tâm, cụ thể là áp dụng công nghệ thông tin để tự động hoá các thiết bị máy móc sản xuất.
Tự động hoá các thiết bị máy móc sản xuất trong công ty sẽ mang lại nhiều lợi ích như năng xuất tăng cao, nguồn nhân lực cho việc quản lý và điều khiển thiết bị máy móc giảm… Vì vậy việc áp dụng công nghệ thông tin để tự động hoá thiết bị máy móc, dây chuyền sản xuất của các công ty tại Việt Nam là hết sức cần thiết và cấp bách để nâng cao khả năng cạnh tranh của công ty trên thương trường.
Hiện nay ngành dệt may tại Việt Nam trong xu hướng ngày càng phát triển mạnh mẽ vì thế việc áp dụng công nghệ thông tin để tự động hoá các dây chuyền sản xuất để tăng cao năng suất, giảm giá thành sản phẩm, tăng khả năng cạnh tranh là một nhu cầu hết sức cấp bách hiện… Trong xu thế đó chúng em đã xây dựng một hệ thống điều khiển và giám sát máy nhuộm để phục vụ cho các công ty nhuộm vải.
Mục đích nghiên cứu:
Quá trình lựa chọn và thực hiện đề tài này là nhiệm vụ chúng em hoàn tất khóa học đại học.
Ngoài ra, việc nghiên cứu đề tài này để phát huy ứng dụng công nghệ thông tin vào lĩnh vực quản lý và điều khiển máy trong ngành công nghiệp dệt may. Cụ thể là áp dụng công nghệ thông tin trong việc tự động hoá các thiết bị máy móc sản xuất nhuộm.
Hiện trạng: Trong các công ty nhuộm vải tại Việt Nam hiện nay, mỗi máy nhuộm cần một kỹ thuật viên và hai công nhân quản lý điều khiển và giám sát. Bên cạnh đó một số công ty đang sử dụng một chương trình điều khiển và giám sát các máy nhuộm, chương trình điều khiển và giám sát này thực hiện theo dõi trạng thái máy nhuộm gồm các thông số kỹ thuật như: nhiệt độ máy, tốc độ bơm, áp suất máy,…và tải chương trình nhuộm đến một máy nhuộm cụ thể. Tuy nhiên chương trình điều khiển và giám sát này hoạt động bán tự động, nghĩa là nó sẽ gửi toàn bộ một chương trình nhuộm đến máy nhuộm và khi máy nhuộm đã hoạt động nhuộm thì con người không thể can thiệp vào. Vì vậy con người không điều khiển hoàn toàn máy nhuộm trong qua trình hoạt động, điều này làm cho quá trình điều khiển máy nhuộm không linh hoạt.
Hiện nay các công ty nhuộm tại Việt nam muốn trang bị một phần mềm điều khiển và giám sát máy nhuộm tự động hoá hoàn toàn và linh động hơn để tăng cao năng suất, giảm chi phí sản xuất, nâng cao khả năng cạnh tranh.Vì vậy công ty phải đầu tư một chi phí rất lớn để trang bị phần mềm điều khiển và giám sát máy nhuộm từ nước ngoài. Điều này sẽ gây khó khăn cho các công ty nhuộm vừa và nhỏ tại Việt Nam muốn trang bị phần mềm này.
Yêu cầu cải tiến: Xây dựng một hệ thống điều khiển và giám sát máy nhuộm nhằm cung cấp một giải pháp cho các công ty nhỏ với chi phí thấp phù hợp với hiện trạng nhiều doanh nghiệp nhỏ trong ngành dệt may của nước ta.
Bên cạnh đó nhằm cải tiến chương trình điều khiển và giám sát máy nhuộm hiện có, xây dựng thêm chức năng điều khiển máy nhuộm nhằm nâng cao tính tự động hóa trong sản xuất, giảm chi phí và nhân công cho các công ty lớn.
Phương pháp thực hiện:
Đề tài này được thực hiện như sau:
- Tìm hiểu nghiệp vụ về máy nhuộm gồm: cơ chế hoạt động của máy nhuộm, quy trình hoạt động của máy nhuộm từ lúc đưa vải vào, các thông số kỹ thuật dùng để thiết kế cấu trúc dữ liệu, cấu trúc gói lệnh điều khiển máy và cơ chế gửi lệnh.
- Tìm hiểu cách thức truyền dữ liệu qua cổng nối tiếp: cơ chế truyền dữ liệu qua cổng giao tiếp nối tiếp của máy tính, kiểm tra tính toàn vẹn của dữ liệu trong quá trình truyền bằng cách áp dụng thuật toán checksum CRC_16_CCITT.
- Tìm hiểu cơ chế chuyển đổi tín hiệu giữa RS232 và RS485: máy nhuộm và PC giao tiếp với nhau thông qua bộ chuyển đổi CONVERTER chuyển từ tín hiệu RS233 sang RS485 và ngược lại.
- Vận dụng kiến thức về lập trình C# để hiện thực chương trình: áp dụng kỹ thuật trong C# hỗ trợ giao tiếp qua cổng giao tiếp nối tiếp để truyền dữ liệu giữa máy điều khiển và máy nhuộm, xây dựng giao diện chương trình đẹp và tiện dụng với người sử dụng, lưu trữ dữ liệu dùng hệ quản trị MS SQL server 2000 và trạng thái máy nhuộm được lưu trữ trong thời gian dài để phục vụ cho việc xem lại và theo dõi năng suất hoạt động của máy nhuộm.
Chương 2: Phân tích nghiệp vụ
2.1 Cơ chế hoạt động giao tiếp giữa PC và máy nhuộm:
Cơ chế 1: PC sẽ gửi một package dữ liệu của một chương trình nhuộm đến máy nhuộm. Khi người sử dụng bấm nút start thì máy nhuộm sẽ chạy các bước nhuộm của chương trình nhuộm.Với cơ chế này, PC có thể lập chương trình nhuộm và gửi đến máy nhuộm, có thể giám sát máy nhuộm nhưng không thể điều khiển máy nhuộm(ví dụ: khởi động một bước nhuộm, tạm dừng một bước nhuộm, kết thúc một bước nhuộm hay nhảy bước).
Cơ chế 2: PC sẽ gửi một package dữ liệu của một bước nhuộm cụ thể đến máy nhuộm và máy nhuộm sẽ chạy bước nhuộm đó theo yêu cầu của PC. PC điều khiển hoạt động của máy nhuộm bằng cách gửi lệnh yêu cầu khởi động một bước nhuộm(chạy bước), tạm dừng một bước nhuộm, kết thúc một bước nhuộm hay nhảy bước. Cơ chế này cho phép điều khiển và giám sát máy nhuộm.
Giao tiếp giữ PC và máy nhuộm thông qua driver điều khiển gọi là Converter theo sơ đồ Hình 2.1
PC
CONVERTER
Package RS 232
send
receive
Machine 1
Machine 3
Machine 2
Machine n
Package RS 485
Hình 2.1 Sơ đồ giao tiếp giữa PC-CONVERTER-MÁY NHUỘM
Tín hiệu giao tiếp giữa PC và CONVERTER là RS232, giữa CONVERTER và máy nhuộm là RS485. CONVERTER đảm nhiệm hai chức năng: 1-chuyển đổi tín hiệu RS232 thành RS485 và ngược lại, 2-chuyển package từ PC đến các máy nhuộm theo cơ chế Hub, lắng nghe(nhận dữ liệu) từ các máy nhuộm trả về cho PC.
Quá trình giao tiếp diễn ra theo trình tự: PC gửi package đến CONVERTER, CONVERTER chuyển package RS232 thành pakage RS485 rồi gửi đến tất cả các máy nhuộm đang hoạt động(online) kết nối đến CONVERTER(giống cơ chế làm việc của Hub). Các máy nhuộm nhận package, phân tích package để biết máy nào sẽ thực thi lệnh. Trong một thời điểm chỉ có một máy nhuộm nhận lệnh, chạy và trả tín hiệu về CONVERTER, CONVERTER sẽ chuyển package RS485 thành package RS232 và trả về cho PC.
Package chứa các thông tin: máy nhuộm(ID), lệnh chạy(command), các tham số lệnh(para-command), dạng lệnh(gửi/nhận), thông tin kiểm tra tính toàn vẹn dữ liệu, các tham số dữ liệu( các bit(0/1) trạng thái các van đóng/mở, thời gian, nhiệt độ, mực nước, tốc độ quay, tốc độ quay tối đa, trạng thái chạy xong bước…).
Quá trình giám sát và điều khiển:
+Giám sát: sau mỗi đơn vị thời gian(phút/giây) PC gửi package lệnh hỏi trạng thái máy nhuộm và nhận package trả lời từ máy nhuộm. PC phân tích được các thông tin trạng thái máy nhuộm: bước nhuộm, nhiệt độ, thời gian, trạng thái end step, trạng thái hoạt động(error/none)…các thông tin giám sát được hiển thị lên màn hình giám sát đồng thời được lưu vào cơ sở dữ liệu. Thông tin máy nhuộm được hiển thị bằng biểu đồ so sánh giữa quy trình nhuộm theo kỹ thuật và thực tế trạng thái máy hoạt động. Điều này tạo sự thuận lợi cho người theo dõi giám sát phát hiện ngay những tình trạng lỗi kỹ thuật xảy ra. Trình giám sát lưu các thông tin và cho phép xem lại theo máy nhuộm, ngày sản xuất và theo phiếu nhuộm.
+Điều khiển: PC gửi package lệnh điều khiển máy đến máy nhuộm để khởi động một bước nhuộm(step). PC dựa vào dữ liệu giám sát máy, khi máy nhuộm gặp sự cố(error) PC có thể can thiệp dừng bước nhuộm(sau đó có thể cho tiếp tục bước nhuộm này dựa vào thông tin ghi nhận từ giám sát). Có hai tùy chọn: điều khiển tự động(auto) và điều khiển từng bước(manual). Điều khiển theo mô hình: PC là Host(server) và máy nhuộm là client, PC hoàn toàn chủ động điều khiển bằng cách gửi lệnh cho máy nhuộm, máy nhuộm nhận lệnh thực thi và trả lời.
Khi xử dụng cơ chế này PC và CONVERTER phải giao tiếp với nhau một cách tốt nhất(perfect). Làm việc theo cơ chế này sẽ tự động hóa hoàn toàn đưa vải vào máy nhuộm và nhận vải thành phẩm sau khi nhuộm.
2.2 Quy trình hoạt động máy nhuộm:
Máy nhuộm thực hiện một phiếu nhuộm(hay còn gọi là mẻ, theo thuật ngữ là Batch): Trục quay cuốn vải vào trong khoang nhuộm, van cấp nước vào khoang nhuộm, các hóa chất được pha chế dạng chất lỏng được đưa vào khoang nhuộm. Máy cấp nhiệt bằng van thổi hơi nước nóng vào khoang, máy bơm nước đẩy cho guồng quay hoạt động cuộn vải liên tục trong quá trình nhuộm. Quy trình nhuộm vải qua nhiều công đoạn còn gọi là bước nhuộm: khởi động máy, vào vải, vào hóa chất, vào nước, ra nước, hấp, xấy khô, hồ, giặt khử…và bước cuối cùng là ra vải thành phẩm. Tùy theo loại vải và quy trình nhuộm mà mỗi một mẻ nhuộm thực hiện trong tối đa là 12 giờ.
Sơ đồ biểu diễn trạng thái máy nhuộm khi thực hiện một phiếu nhuộm(Batch): (StateChart Diagram)
Hình 2.2- Sơ đồ biểu diễn trạng thái máy nhuộm
Mô tả ý nghĩa sơ đồ:
1.Các trạng thái(state):
+ Batch opened: trạng thái bắt đầu phiếu nhuộm
+ Batch closed: trạng thái kết thúc phiếu nhuộm
+ Available: máy nhuộm đã khởi động và kết nối đến máy điều khiển trung tâm
+ Active: máy nhuộm đang hoạt động
+ Ready: trạng thái máy nhuộm sẵn sàng nhận lệnh khởi động một bước nhuộm
+ Run: máy nhuộm đang chạy một bước nhuộm
+ Stop: máy nhuộm tạm dừng hoạt động
2.Các sự kiện(event):
+ Create Batch: tín hiệu tạo một phiếu nhuộm, máy được chọn để thực hiện phiếu nhuộm sẽ ở trong trạng thái Available.
+ Start Batch: máy điều khiển gửi tín hiệu khởi động phiếu nhuộm, máy thực hiện nhuộm chuyển sang trạng thái Active.
+ Start step: tín hiệu khởi động bước nhuộm sẽ chuyển trạng thái máy nhuộm từ Ready sang Run.
+ End step: tín hiệu kết thúc bước nhuộm sẽ chuyển trạng thái máy nhuộm từ Run sang Ready.
+ End program: tín hiệu kết thúc chương trình nhuộm, máy nhuộm chuyển trạng thái từ Run sang Stop.
+ End Batch: tín hiệu kết thúc phiếu nhuộm, máy nhuộm chuyển từ trạng thái Stop sang trạng thái Batch closed kết thúc phiếu nhuộm.
2.3 Đóng gói dữ liệu và lệnh điều khiển:
Gói dữ liệu:
Trao đổi dữ liệu giữa máy điều khiển và máy nhuộm thông qua cổng nối tiếp RS232 nên việc truyền dữ liệu sẽ được đóng gói. Gói dữ liệu có kích thước 18 byte gồm 15 byte dữ liệu và 3 byte khác
Kiem tra
4 bit
Ma May
1byte
TapLenh
1byte
Nhan gui
1bit
Cac van
47bit
Nhietdo
2byte
Thoigian
1byte
TD Bom
1byte
TD max
1byte
Muc nuoc
3bit
Chedo
1bit
Trangthai
3bit
Ins
1bit
Arlam
1byte
CRC
2 byte
Kiem tra
4 bit
+ Kiem tra: kiểm tra đầu và cuối của một gói dữ liệu
+ MaMay: IDMay , Có thể quản lý đến 255 máy nhuộm
+ TapLenh: Lệnh điều khiển máy nhuộm
+ Nhan/Gui: Cơ chế nhận gửi 0: Gui , 1: Nhận
+ Các Van: Các van đóng mở điều khiển
+ NhietDo: Nhiệt độ của bước nhuộm và nhiệt độ thực tế của máy nhuộm.
+ Thoi Gian: Thời gian chạy một bước tối đa 255 phút
+ TDBom: Tốc độ quay của máy bơm (tính theo nấc tối đa 255)
+ TDmax: Tốc độ quay tối đa của máy bơm (tính theo nấc tối đa 255)
+ Mucnuoc: Mức nước trong máy nhuộm : mức 0,1,2,3,4,5
+ Chedo: Chế độ điều khiển Auto=0, Manual=1
+ Trangthai: Trạng thái của máy nhuộm : Ready(Online)=1, Run = 2, Pause = 3, Stop =4, EndProgram= 5
+ Ins: Trạng thái của bước nhuộm 0 (default): chưa xong bước;1: xong bước
+ Alarm: Thông báo của máy nhuộm .
+ CRC: số checksum kiểm tra tính toàn vẹn gói dữ liệu theo thuật toán CRC_16 bit.
Lệnh điều khiển: Có hai chế độ điều khiển máy nhuộm là Auto và Manual
Chế độ Auto: Khi khởi động phiếu nhuộm mà máy nhuộm đang ở chế độ Auto thì Chương trình điều khiển sẽ cho máy nhuộm lần lượt chạy các bước nhuộm cho đến khi kết thúc chương trình. Trong quá trình giám sát máy nhuộm, khi máy nhuộm chạy xong một bước thì chương trình sẽ tự động nhảy sang bước kế tiếp.
Chế độ Manual: Khi khởi động phiếu nhuộm mà máy nhuộm đang ở chế độ Manual thì Chương trình điều khiển sẽ cho máy nhuộm chạy một bước nhuộm, khi kết thúc bước nhuộm sẽ dừng lại chờ lệnh điều khiển tiếp theo từ người dùng. Do đó khi kết thúc một bước nhuộm, người dùng phải chọn chức năng nhảy bước hay chọn một bước cụ thể để gửi tín hiệu điều khiển cho máy nhuộm tiếp tục chạy bước nhuộm vừa gửi.
Tập lệnh cơ bản:
- Lệnh 1: SendStep(package), TapLenh=00000001. Mô tả: Nạp dữ liệu bước nhuộm chứa trong gói package đến máy nhuộm xác định. Khi gửi lệnh SendStep đến máy nhuộm, nếu máy nhuộm nhận lệnh thành công sẽ gửi tín hiệu trả lời về cho PC. Máy nhuộm sau khi nạp dữ liệu bước nhuộm sẽ chuyển sang trạng thái sẵn sàng chờ lệnh khởi động bước nhuộm.
- Lệnh 2: StartStep(package), TapLenh=00000100. Mô tả: Khởi động một bước nhuộm. Máy nhuộm đang ở trạng thái chờ lệnh khởi động nhận được lệnh StratStep sẽ chạy bước nhuộm và gửi tín hiệu khởi động thành công về cho PC.
- Lệnh 3: StopStep(package), TapLenh=00000101. Mô tả: Dừng một bước nhuộm. Người điều khiển muốn ngưng một bước nhuộm đang chạy thì gửi lệnh này đến máy nhuộm. Máy nhuộm nhận được lệnh StopStep lập tức dừng ngay bước nhuộm đó, các van điều khiển sẽ đóng lại.
- Lệnh 4: PauseStep(package), TapLenh=00000110. Mô tả: Tạm dừng một bước nhuộm. Người điều khiển muốn tạm ngưng một bước nhuộm đang chạy thì gửi lệnh này đến máy nhuộm. Máy nhuộm nhận được lệnh PauseStep lập tức dừng ngay bước nhuộm đó, một số van điều khiển đóng lại, tuy nhiên vẫn duy trì nhiệt độ hiện tại và máy nhuộm trong trạng thái chờ lệnh StartStep trở lại.
- Lệnh 5: EndProgram(package), TapLenh =00000011. Mô tả: Kết thúc chương trình nhuộm. Khi hoàn tất các bước nhuộm trong một phiếu nhuộm PC sẽ gửi lệnh kết thúc chương trình nhuộm để ra vải thành phẩm.
- Lệnh 6: InputMaterial(package): TapLenh=00001000. Mô tả: Gọi công nhân cho vải và các phẩm màu vào máy nhuộm. Khi PC gửi lệnh này đến máy nhuộm thì đèn tín hiệu cho nguyên vật liệu vào máy nhuộm sẽ bật báo cho công nhân cho nguyên vật liệu váo máy nhuộm.
- Lệnh 7: SetMode(package): TapLenh=00001001. Mô tả: Thiết lập chế độ điều khiển là auto hay manual.
- Lệnh 8: RequestInforMachine(package), TapLenh=00001010. Mô tả: Yêu cầu lấy thông tin máy nhuộm. PC liên tục gửi lệnh này đến máy nhuộm để theo dõi giám sát trạng thái máy nhuộm. Máy nhuộm nhận lệnh này sẽ trả về gói dữ liệu chứa thông tin trạng thái máy cho PC. Nếu PC không nhận được tín hiệu trả về từ máy nhuộm sau cơ chế gọi sẽ hiển thị trạng thái máy nhuộm là OffLine(không kết nối đến máy điều khiển trung tâm).
- Lệnh 9: NextStep(package), TapLenh = 00001011. Mô tả: Nhảy đến bước nhuộm tiếp theo. Khi máy nhuộm đang chạy một phiếu nhuộm gồm nhiều bước nhuộm, nếu muốn bỏ qua một bước nhuộm nào đó đang thực hiện thì PC gửi lệnh NextStep đến máy nhuộm. Máy nhuộm nhận lệnh này sẽ dừng ngay bước nhuộm đang thực hiện và tiến hành nạp dữ liệu bước nhuộm mới sau đó chạy bước nhuộm này.
- Lệnh 10: PreviousStep(package), TapLenh = 00001100. Mô tả: Nhảy lùi đến bước nhuộm trước đó. Cơ chế hoạt động tương tự như lệnh NextStep nhưng lùi về bước nhuộm trước đó.
2.4 Cơ chế gửi lệnh :
Tần số quét là một khoảng thời gian chương trình sẽ gửi lệnh hỏi thông tin từng máy nhuộm. Trong khoảng thời gian này chương trình sẽ gửi gói dữ liệu chứa mã lệnh hỏi thông tin trạng thái lần lượt từng máy nhuộm. Người dùng được phép thay đổi khoảng thời gian này.
Trong quá trình chương trình gửi lệnh hỏi thông tin máy nhuộm mà người dùng muốn gửi lệnh điều khiển thì lệnh điều khiển sẽ được gửi sau khi chu kỳ hỏi thông tin trạng thái các máy nhuộm hoàn tất.
Trong quá trình gửi nhận dữ liệu giữa máy điều khiển và máy nhuộm có thể xảy ra những yếu tố khách quang như nhiễu điện, mất tín hiệu hay suy giảm tín hiệu...Điều này làm cho gói tín hiệu không được bảo toàn. Do đó khi máy điều khiển gửi 1 lệnh điều khiển đến máy nhuộm thì máy điều khiển sẽ chờ tín hiệu trả về từ máy nhuộm để bảo đảm tín hiệu được gửi thành công.
Khi máy điều khiển gửi một gói dữ liệu chứa mã lệnh hỏi thông tin trạng thái máy nhuộm hay lệnh điều khiển đến máy nhuộm, trong một khoảng thời gian quy định mà máy điều khiển không nhận được tín hiệu trả về thì máy điều khiển sẽ gửi lại gói dữ liệu vừa gửi lại một lần nữa. Mặc định chương trình sẽ gửi gói dữ liệu này trong 3 lần khi không có tín hiệu trả về. Khoảng thời gian chờ nhận dữ liệu trả về có thể thay đổi bởi người dùng.
Sau 3 lần gửi tín hiệu đến máy nhuộm mà không có tín hiệu trả về thì chương trình sẽ gán trạng thái Offline cho máy nhuộm đó và chương trình sẽ tiếp tục gửi gói dữ liệu chứa mã lệnh đến máy nhuộm tiếp theo.
Đối với mã lệnh điều khiển khi gửi đến máy nhuộm, máy nhuộm nhận được lệnh điều khiển sẽ xử lý và trả về gói dữ liệu chứa mã lệnh trả về của lệnh điều khiển vừa gửi. Gói dữ liệu này chỉ chứa mã máy, mã lệnh và loại gói dữ liệu, các dữ liệu phía sau không quan trọng.
Đối với mã lệnh hỏi thông tin trạng thái máy nhuộm thì khi gửi đến máy nhuộm, máy nhuộm nhận được lệnh hỏi thông tin trạng thái thì sẽ xử lý và tạo ra gói dữ liệu chứa thông tin máy nhuộm bao gồm tên máy nhuộm, trạng thái, nhiệt độ, tốc dộ bơm, mực nước, các van đóng mở…và gửi về máy điều khiển. Máy điều khiển nhận được sẽ giải mã lệnh và hiện những thông tin lên màn hình.
Trong quá trình gửi gói dữ liệu chứa mã lệnh điều khiển đến máy nhuộm, chưa có tín hiệu trả về thì không được gửi lệnh điều khiển khác.
Sau một khoảng thời gian quy định chương trình sẽ lưu thông tin trạng thái từng máy nhuộm vào cơ sở dữ liệu, phục vụ cho việc xem lại sau này. Nếu trạng thái máy Offline thì chương trình sẽ kiểm tra trong cơ sở dữ liệu có dòng dữ liệu Offline không. Nếu có chương trình sẽ cập nhật lại thời gian, nếu chưa có chương trình sẽ lưu mới xuống cơ sở dữ liệu. Khoảng thời gian này gọi là tần số lưu dữ liệu, người dùng có thể thay đổi thông số này.
Chương 3: Lập trình tương tác với máy nhuộm
3.1 Truyền dữ liệu qua cổng nối tiếp:
Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa giữa máy tính và thiết bị ngoại vi, có các ưu điểm sau:
Khoảng cách truyền xa hơn truyền xong xong
Số dây kết nối ít
Có thể truyền không dây dùng hồng ngoại
Có thể ghép nối vi điều khiển hay PLC(Programmable Logic Device)
Cho phép nối mạng
Có thể tháo lắp thiết bị trong lúc máy tính đang hoạt động
Có thể cung cấp nguồn cho các mạch điện đơ giản
Các thiết bị ghép nối chia thành hai loại: DTE(Data Terminal Equipment) và DCE(Data Communication Equipment). DCE là các thiết bị trung gian như MODEM, DTE là các thiết bị nhận hay truyền dữ liệu như máy tính, PCL, vi điều khiển… Việc trao đổi tín hiệu thông qua hai chân RxD(nhận) và TxD(truyền). Các tín hiệu còn lại có chức năng hỗ trợ để thiết lập và điều khiển quá trình truyền được gọi là tín hiệu bắt tay(handshake). Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là có thể kiểm soát đường tuyền.
Tín hiệu truyền theo chuẩn RS-232 của EIA(Electronics Industry Associations) là giao diện phổ biến rộng rãi nhất. Người dùng máy tính PC còn gọi các cổng này là COM1, COM 2. Cổng nối tiếp RS-232 sử dụng rất thuận tiện cho mục đích đo lường và điều khiển.
Chuẩn RS-232 cho phép truyền dữ liệu với tốc độ là 20Kbps với khoảng cách truyền lớn nhất gần 15m. Các tốc độ truyền thông dụng trong cổng nối tiếp là: 1200bps, 4800bps, 9600bps, 19200bps.
Đặc tính kỹ thuật của chuẩn RS-232:
Chiều dài cable cực đại
15m
Tốc độ dữ liệu cực đại
20Kbps
Điện áp ngõ ra cực đại
+/- 25V
Điện áp ngõ ra có tải
+/- 5V đến +/- 15V
Trở kháng tải
3K đến 7K
Điện áp ngõ vào
+/- 15V
Độ nhạy ngõ vào
+/- 3V
Trở kháng ngõ vào
3K đến 7K
Cổng COM có hai dạng: đầu nối DB25(25 chân) và đầu nối DB9(9chân) mô tả theo hình 3.1,3.2.
14
13
1
25
6
9
1
5
Hình 3.1 : Bộ nối 25 chân (DB25) Hình 3.2 : Bộ nối 9 chân (DB9)
Ý nghĩa các chân mô tả như sau:
DB25
DB9
Tín hiệu
Mô tả
1
AA
Protective Ground (nối đất bảo vệ)
2
3
TxD
Transmitter Data (dữ liệu truyền)
3
2
RxD
Received Data (dữ liệu nhận)
4
7
RTS
Request To Send (yêu cầu truyền dữ liệu)
5
8
CTS
Clear To Send (sẵn sàng nhận dữ liệu)
6
6
DSR
Data Set Ready (sẵn sàng làm việc)
7
5
GND
Ground (nối đất)
8
1
DCD
Carrier Detect (phát hiện sóng mang)
20
4
DTR
Data Terminal Ready (sẵn sàng làm việc)
22
9
RI
Ring Indicator (báo chuông)
23
DSRD
Data Signal Rate Selector(dò tốc độ truyền)
24
TSET
Transmitter Signal Element Timing(tín hiệu định thời truyền đi từ DTE)
15
TSET
Transmitter Signal Element Timing(tín hiệu định thời truyền từ DCE)
17
RSET
Receiver Signal Element Timing(tín hiệu định thời nhận dữ liệu từ DCE)
18
LL
Local Loopback(kiểm tra cổng)
21
RL
Remote Loopback(Tạo ra bởi tín hiệu DCE khi tín hiệu nhận từ DCE bị lỗi)
14
STxD
Secondary Transmitter Data
16
SRxD
Secondary Received Data
19
SRTS
Secondary Request To Send
13
SCTS
Secondary Clear To Send
12
SDSRD
Secondary Recived Line Signal Detector
25
TM
Test Mode
9
Dành riêng cho chế độ test
10
Dành riêng cho chế độ test
11
Không dùng
3.2 Thuật toán CRC_16:
Thuật toán CRC_16_CCITT được áp dụng để bảo đảm tính toàn vẹn dữ liệu trong việc truyền dữ liệu giao tiếp giữa máy tính và máy nhuộm thông qua cổng nối tiếp.
Mô tả thuật toán:
Công thức: x16 + x12 + x5 + 1
Số lượng bit sử dụng : 16 bit
Số poly dùng để tính checksum: 0x1021
Giá trị khởi tạo: 0xFFFF
Giá trị cần tính checksum không thông qua ánh xạ(NOT reflected)
Không XOR kết quả checksum sau khi tính toán
Thông điệp =” giá trị khởi tạo + giá trị cần tính CRC + 16 bit 0”
Thực hiện xor thông điệp với số poly cho đến khi kết quả nhận được là 16 bit
Ví dụ: tính giá trị CRC-CCITT cho một byte dữ liệu lưu giá trị ký tự “A”:
“A”= 01000001
Giá trị khởi tạo =1111111111111111
16 bit 0 = 0000000000000000
Poly= 10001000000100001
Thông điệp =” giá trị khởi tạo + giá trị ký tự “A”+ 16 bit 0”
Thông điệp: 1111111111111111010000010000000000000000 poly: 10001000000100001 ----------------- 11101111110111111 10001000000100001 ----------------- 11001111100111100 10001000000100001 ----------------- 10001111000111010 10001000000100001 ----------------- 00001110000110110 00000000000000000 ----------------- 00011100001101100 00000000000000000 ----------------- 00111000011011000 00000000000000000 ----------------- 01110000110110001 00000000000000000 ----------------- 11100001101100010 10001000000100001 ----------------- 11010011010000110 10001000000100001 ----------------- 10110110101001110 10001000000100001 ----------------- 01111101011011110 00000000000000000 ----------------- 11111010110111100 10001000000100001 ----------------- 11100101100111010 10001000000100001 ----------------- 11011011000110110 10001000000100001 ----------------- 10100110000101110 10001000000100001 ----------------- 01011100000011110 00000000000000000 ----------------- 10111000000111100 10001000000100001 ----------------- 01100000000111010 00000000000000000 ----------------- 11000000001110100 10001000000100001 ----------------- 10010000010101010 10001000000100001 ----------------- 00110000100010110 00000000000000000 ----------------- 01100001000101100 00000000000000000 ----------------- 11000010001011000 10001000000100001 ----------------- 1001010001111001 = CRC
Chuyển sang số hex: binary nibbles 1001 0100 0111 1001 hexadecimal 9 4 7 9
Kết luận: Số CRC_16 của ký tự “A”=0x9479
Thuật toán CRC_16 có thể cài đặt bằng phần cứng sẽ cải thiện đáng kể tốc độ tính toán so với cài đặt bằng phần mềm trong trường hợp truyền khối dữ liệu lớn. Tuy nhiên lượng dữ liệu truyền giữa PC và máy nhuộm là trung bình nên cài đặt thuật toán CRC_16 bằng phần mềm không ảnh hưởng đáng kể đến tốc độ truyền.
3.3 Giao tiếp với cổng nối tiếp trong .net
Sử dụng thư viện cổng giao tiếp nối tiếp trên nền framework .net 2.0: System.IO.Port để trao đổi dữ liệu giữa máy điều khiển PC đến máy nhuộm.
Các thuộc tính cơ bản của Serial Port:
-Port Name : tên cổng giao tiếp nối tiếp của máy tính như COM1, COM2.
-Baudrate: tốc độ truyền tải dữ liệu của cổng giao tiếp nối tiếp : 1200bps, 4800bps, 9600bps, 19200bps, 34800bps…
-Parity: kiểm tra chẳn lẻ, với các giá trị: Odd (kiểm tra lẻ), Even (kiểm tra chẳn), Mark (luôn bằng 1), Space (luôn bằng 0), None (không kiểm tra).
-Databits :số bit dữ liệu : 4, 5, 6, 7, 8 mặc định là 8.
-Stopbits: số bit stop : 1, 1.5, 2
-ReadTimeOut :thời gian đọc dữ liệu từ bộ đệm đọc của cổng giao tiếp nối tiếp, mặc đinh -1.
- WriteTimeOut: thời gian ghi dữ liệu từ bộ đệm ghi của cổng giao tiếp nối tiếp, mặc định la -1.
-ReceiveBytesThresHold: quy định số byte nhận về và xảy ra sự kiện receive trên cổng giao tiếp nối tiếp.
-ReadBufferSize: quy định số byte trong bộ đệm đọc dữ liệu trên cổng giao tiếp nối tiếp, mặc định là 2048 byte.
-WriteBufferSize: quy định số byte trong bộ đệm ghi dữ liệu trên cổng giao tiếp nối tiếp, mặc định là 4096 byte.
Các hàm sử dụng:
-Read(byte []): đọc dữ liệu từ cổng nối tiếp
-Write(byte[]): ghi dữ liệu ra cổng nối tiếp
-Open(): mở kết nối đến cổng nối tiếp
-Close(): đóng kết nối cổng nối tiếp
Lớp SerialPort sinh ra sự kiện và truyền nhận dữ liệu trên một luồng xử lý khác với luồng dữ liệu cửa sổ chính của chương trình sinh ra.
Để đồng bộ hóa các control của cửa sổ chính với luồng dữ liệu từ cổng nối tiếp phải sử dụng hàm Invoke để ép luồng dữ liệu các control của cửa sổ chính theo luồng dữ liệu của cổng COM.
Ví dụ: txtLog.Invoke(new EventHandler(delegate { txtLog.Text+= comport.ReadExisting(); });
3.4 Phần mềm giả lập máy nhuộm:
Phần mềm giả lập máy nhuộm là một ứng dụng mô phỏng cơ chế hoạt động của máy nhuộm vải. Nó mô tả đầy đủ các tính năng hoạt động của một máy nhuộm. Phần mềm giao tiếp với máy điều khiển thông qua cổng giao tiếp nối tiếp RS232.
Mô tả hoạt động:
Giả lập nhận gói dữ liệu từ cổng nối tiếp, giả lập giải mã gói dữ liệu và thực hiện lệnh yêu cầu từ máy điều khiển chứa trong gói dữ liệu nhận:
Nếu là lệnh nạp bước nhuộm: Giả lập hiển thị các thông tin về bước nhuộm ở phần “Dữ Liệu Nhận” gồm: nhiệt độ, thời gian, tốc độ bơm, tốc độ bơm tối đa, mức nước.
Khi máy nhuộm hoạt động, các trạng thái máy về nhiệt độ thời gian, mức nước, chế độ, các van … sẽ hiển thị trên giao diện “Trạng Thái Và Các Van Đóng Mở ”
Trạng thái máy nhuộm sẽ được gửi cho máy điều khiển khi có lệnh hỏi thông tin máy từ máy điều khiển.
Nhiệt độ của máy nhuộm sẽ hoạt động tự động tăng hay giảm theo nhiệt độ cụ thể của từng bước nhuộm.
Tốc độ bơm của máy nhuộm sẽ hoạt động tự động tăng hay giảm theo giá trị cụ thể của từng bước nhuộm và tốc độ quay không vượt quá tố độ bơm tối đa.
Cho phép cấu hình cổng giao tiếp nối tiếp.
Hình 3.3- Giao diện chương trình giả lập máy nhuộm
Chương 4: Phân tích và thiết kế
4.1 Phân tích hệ thống:
4.1.1 Mô hình Usecase :
Hình 4.1- Mô hình Usecase
Hệ thống phân quyền cho người dùng và người quản lý:
- Người dùng được sử dụng các chức năng: Đăng nhập, Đổi mật khẩu, Xem lịch sử, Giám sát máy, Điều khiển máy, Quản lý phiếu nhuộm.
- Người quản lý được sử dụng các chức năng: các chức năng của người dùng và Cấu hình, Báo cáo thống kê, Quản lý máy nhuộm, Quản lý tài khoản, Quản lý bước nhuộm, Quản lý chương trình nhuộm.
Các chức năng Giám sát máy và Điều khiển máy tác động trực tiếp lên máy nhuộm.
4.1.2 Mô hình Component :
Hình 4.2- Mô hình Component
- GUI : xây dựng lớp giao diện tương tác với người dùng. Bao gồm các cửa sổ có chức năng hiện thị dữ liệu, trao đổi dữ liệu giữa người dùng với máy nhuộm. Giao tiếp với lớp Controller .
- Controller: Lớp xử lý nghiệp vụ, thực hiện các xử lý thuật toán, các hàm xử lý nghiệp vụ máy nhuộm.Lớp này có chức năng giao tiếp với lớp DBConnection và lớp giao tiếp trung gian giữa lớp GUI và lớp DBConnection.
- DBConnection: Lớp giao tiếp với cơ sở dữ liệu, thực hiện các chức năng giao tiếp và tương tác trực tiếp với cơ sở dữ liệu, cụ thể cung cấp các hàm thêm, xoá, sửa, lấy danh sách, lấy thông tin…Lớp này giao tiếp với MayNhuomDatabase.
- MayNhuomDatabase: Cơ sở dữ liệu của máy nhuộm, xây dựng ._.