Professional Documents
Culture Documents
Để hoàn thành được đề tài này, nhóm em xin gửi đến thầy Chung Tấn Lâm lời cảm ơn
chân thành nhất. Vì đã hướng dẫn tận tình và giúp đỡ nhóm em hoàn thành đề tài này.
Qua bài báo cáo này, đã tạo cho nhóm em có nhiều cơ hội được tiếp xúc với nhiều kiến
thức mới, cũng như nhiều điều ở bên ngoài cuộc sống.
Vì kiến thức bản thân còn hạn chế, trong quá trình làm, hoàn thiện báo cáo này nhóm em
không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy để
hoàn thiện hơn trong lần làm bài báo cáo tiếp theo.
Cuối cùng, một lần nữa xin chân thành cảm ơn thầy!
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Mục lục
Phần I: TỔNG QUAN PLC...............................................................................................1
2.3 Sơ đồ nguồn...........................................................................................................3
Phần II: TỔNG QUAN VỀ LẬP TRÌNH WINDOWNS FORMS BẰNG Csharp (C#). .27
Chương 1: Giới Thiệu về lập trình Windowns Forms bằng C#....................................27
1.2 Cách tạo một Windows Forms Application trên MicroSoft Visual Studio......27
Chương 2: Bài tập làm quen với lập trình Windowns Forms bằng C#..........................32
Một khi sự kiện được kích hoạt thật sự, nó bật ON hay OFF thiết bị điều khiển bên ngoài được
gọi là thiết bị vật lý. Một bộ điều khiển lập trình sẽ liên tục “lặp” trong chương trình do “người
sử dụng lập ra” chờ tín hiệu ở ngõ vào và xuất tín hiệu ở ngõ ra tại các thời điểm đã lập trình.
Để khắc phục những nhược điểm của bộ điều khiển dùng dây nối ( bộ điều khiển bằng rờ-le,
relay) người ta đã chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau :
Lập trình PLC đơn giản, ngôn ngữ lập trình dễ học
Gọn nhẹ, dể dàng bảo quản, sửa chữa
Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp
Hoàn toàn tin cậy trong môi trường công nghiệp
Giao tiếp được với các thiết bị thông minh khác như : máy tính , nối mạng , các môi
Module mở rộng
Giá cả có thể cạnh tranh được
1.2 Một số dòng PLC của họ Mitsubishi
Phân loại theo Model:
1
Dòng sản phẩm mới PLC FX3U là thế hệ thứ ba trong gia đình họ FX-PLC, là một PLC dạng
nhỏ gọn và thành công của hãng Mitsubishi Electric.
Sản phẩm được thiết kế đáp ứng cho thị trường quốc tế, tính năng đặc biệt mới là hệ thống
“adapter bus” được bổ xung cho hệ thống bus hữu ích cho việc mở rộng thêm những tính năng
đặc biệt và khối truyền thông mạng. Khả năng tối đa có thể mở rộng lên đến 10 khối trên bus
mới này.
Với tốc độ xử lý cực mạnh mẽ, thời gian chỉ 0.065µs trên một lệnh đơn logic, cùng với 209 tập
lệnh được tích hợp sẵn và cải tiến liên tục đặc biệt cho nghiệp vụ điều khiển vị trí. Dòng PLC
mới này còn cho phép mở rộng truyền thông qua cổng USB, hỗ trợ cổng Ethernet và Cổng lập
trình RS-422 mini DIN. Với tính năng mạng mở rộng làm cho PLC này nâng cao được khả năng
kết nối tối đa về I/O lên đến 384 I/O, bao gồm cả các khối I/O qua mạng.
Ví dụ: FX-3U-64MT/ES-A
ES-A: Nguồn cấp vào ({ES, ESS, UA – dùng 220 VAC}; {DS, DSS, DC – DÙNG 24 VDC};
{ES, DS- Sink};{ESS, DSS - Source})
2
2.3 Sơ đồ nguồn
3
Chương 3: Giới Thiệu Phần Mềm , Cách Khai Báo 1 Broject
3.1 Phần Mềm Lập Trình PLC GX Works 2
GX Works2 là phần mềm cấu hình và lập trình thế hệ kế tiếp cho điều khiển FX và Q Series. GX
Works2 cho phép nhà phát triển có thể “trộn” và kết hợp từ năm ngôn ngữ lập trình khác nhau,
phù hợp với các phong cách lập trình khác nhau. Nhà phát triển thoải mái thoải mái lựa chọn
ngôn ngữ để phát triển cho phù hợp với công việc. Môi trường này tuân theo tiêu chuẩn
IEC1131-3, cũng cho phép các bộ phận của dự án được lưu trong thư viện để sử dụng trong các
ứng dụng trong tương lai. Điều đó có nghĩa mỗi một chức năng, chức năng chặn các chương
trình, hoặc cấu trúc được viết, được thử nghiệm, và chứng minh, có thể được tích hợp vào các hệ
thống mới trong vòng vài phút. Hoàn toàn tùy biến các cài đặt, có nghĩa là lựa chọn công cụ và
các phím tắt để tối ưu hóa khả năng trực giác của riêng người dùng. Tích hợp mạng và các
module chức năng đặc biệt giữ cho các tập tin dự án tổ chức và dễ dàng truy cập. Được xây dựng
với PLC ảo trên máy tính mô phỏng cho phép hệ thống hoàn chỉnh trước khi đến phần cứng. Sau
khi dự án được tải về hệ thống thực tế, GX Works2 bao gồm nhiều chế độ theo dõi , theo dõi
chức năng, và khả năng gỡ lỗi trực tuyến cho phép kiểm soát được tình trạng của ứng dụng.
4
Sau khi khởi động phần mềm màn hình máy tính của bạn sẽ xuất hiện một giao diện làm việc của
phần mềm như hình vẽ
Đây chính là giao diện làm việc của phần mềm GX Works2
5
Bước 2 : sau khi tạo xong một project mới trên màn hình sẽ xuất hiện một cửa sổ ở đây là mục
người dùng chọn đúng tên đúng dòng PLC đang lập trình, nếu trường hợp chọn sai với PLC thực
tế bên ngoài thì lúc Download chương trình PLC sẽ báo lỗi. Ví dụ : ở đây ta chọn dòng CPU là
FX và tên CPU là FX3U/FX3UC như hình ảnh ở trường hợp này chương trình của bạn đều có
thể Download xuống được cho FX3U và FX3UC
Bước 3 : Sau khi đã chọn đúng tên và dòng CPU cần lập trình ta nhấn OK để hoàn tất quá trình
tạo project mới. Lúc này trên màn hình sẽ xuất hiện một giao diện đây chính là giao diện viết
chương trình cho PLC
6
Chương 4: Các Vùng Nhớ Và Các Tập Lệnh Cơ Bản
4.1 Các vùng nhớ của PLC Mitsubishi
PLC Mitsubishi có 3 loại vùng nhớ chính: vùng nhớ chương trình EEPROM, vùng nhớ Bit và
vùng nhớ dữ liệu.
Vùng nhớ chương trình (EEPROM): Vùng nhớ chứa chương trình chính của PLC,
tham số thiết lập, các chú thích và thanh ghi File
Vùng nhớ bit: Bao gồm vùng nhớ đầu vào số (X), Vùng nhớ đầu ra số Y, Vùng nhớ
trung gian(M), Vùng nhớ trạng thái (S), Vùng nhớ tiếp điểm Timer (T), Vùng nhớ tiếp
điểm Counter (C). Cụ thể:
Vùng nhớ đầu vào (ký hiệu là X) chứa các ô nhớ lưu dữ liệu mức logic ở đầu vào vật
lý của PLC và có kiểu dữ liệu là kiểu Bit (0 hoặc 1)
Vùng nhớ đầu ra (ký hiệu là Y) chứa các ô nhớ lưu dữ liệu mức logic mà PLC đưa ra
ở đầu ra vật lý và có kiểu dữ liệu là kiểu Bit (0 hoặc 1)
Vùng nhớ trung gian (ký hiệu là M) chứa các ô nhớ trung gian, các ô nhớ này có thể
sử dụng ở các vị trí mà người lập trình cần sử dụng biến nhớ/biến trung gian trong
chương trình, tuy nhiên các ô nhớ này không thể bị tác động trực tiếp từ đầu vào PLC
và không thể tác động trực tiếp đến đầu ra của PLC.
Vùng nhớ trạng thái (ký hiệu là S) chứa các ô nhớ trạng thái, thường được sử dụng
trong chương trình sử dụng ngôn ngữ instruction list hoặc SFC, nhằm thể hiện trạng
thái chương trình
Timer (T) có tác dụng định thời (đếm xung đồng hồ có chu kỳ 1ms, 10ms, 100ms,…).
Các tín hiệu ở dạng tiếp điểm của Timer (Bit cờ báo Timer đã đếm đủ, Bit reset timer,
…) sẽ được lưu trong vùng nhớ Timer, còn giá trị hiện thời của Timer sẽ được lưu
trong vùng nhớ dữ liệu.
Counter (C) có tác dụng làm bộ đếm (đếm các sự kiện). Các tín hiệu ở dạng tiếp điểm
của Counter (Bit cờ báo Counter đã đếm đủ, Bit reset counter,…) sẽ được lưu trong
vùng nhớ Counter, còn giá trị hiện thời của Counter sẽ được lưu trong vùng nhớ dữ
liệu.
Vùng nhớ dữ liệu: Chứa các thanh ghi dữ liệu (D), giá trị tức thời của Timer (T), giá trị
tức thời của Counter (C) và các thanh ghi chỉ số (V, Z)
Thanh ghi được ký hiệu D và đánh số thập phân. Ví dụ: D0, D9, D128. Thanh ghi rất
quan trọng khi xử lý dữ liệu số được thập phân bên ngoài. Ví dụ: dữ liệu từ các công
tắc chọn nhấn bộ chuyển đổi A/D……có thể được đọc vào thanh ghi, xử lý và sau đó
đưa lại cho các ngõ ra điều khiển, màn hình hiện chuyển đổi D/A…….. ví dụ minh
họa việc sử dụng thanh ghi được trình bày trong “sổ tay lập trình cho các bộ điều
khiển họ FX”.
4.2 Các tập lệnh cơ bản
4.2.1 Lệnh LD (load)
Tập Lệnh Chức Năng Dạng Mẫu Thiết Bị
Có nhiệm vụ khởi tạo loại
LD (load) công tắc NO, nối trực tiếp X,Y,M,S,T,C
đầu bên trái của mạch
7
VD:
Ngõ ra Y000 có điện khi ngõ vào X000 đóng hay ngõ vào X000=1
Ngõ ra Y000 luôn có điện và sẽ mất điện khi ngõ vào X000 được tác động hay ngõ vào X000=1
Ngõ ra Y000 = ON khi công tắc logic thường đóng X000 đóng (X000 =0 ); Ngõ ra Y000 = OFF
khi công tắc logic thường đóng X000 hở (X000 = ON )
8
Tập Lệnh Chức Năng Dạng Mẫu Thiết Bị
- Nối song song các
công tắc NO
AND X, Y, M, S, T, C
- Tối đa là 10 nhánh
nối song song cho
một cuộn dây
VD:
Khi ngõ vào X000 = ON thì ngõ ra Y000 sẽ ON và đồng thời tiếp đểm thường hở Y000 = 1 và sẽ
lưu giá trị ON cho ngõ ra kể ca khi ngõ vào X000 = OFF
9
Khi X000 = 1 rồi X000 =0 thì Lệnh sườn xuống sẽ bắt cạnh xung sườn xuống và đưa ra ngõ ra 1
xung duy nhất khi ngõ ra Y000 =1 tiếp điểm thường hở Y000 sẽ =1 và ngõ ra được duy trì
Khi X000 = 1 rồi X000 =0 thì Lệnh sườn xuống sẽ bắt cạnh xung sườn xuống và đưa ra ngõ ra 1
xung duy nhất khi ngõ ra Y000 =1 tiếp điểm thường hở Y000 sẽ =1 và ngõ ra được duy trì
VD:
Khi ngõ vào X0 = 1 thì ngõ ra Y000 sẽ luôn luôn =1, cho dù ngõ vào X0 = 0 trở lại thì Y00 vẫn
luôn là 1
10
4.2.8 Lệnh RESET
Tập Lệnh Chức Năng Dạng Mẫu Thiết Bị
Ghi giá trị địa chỉ đầu ra
RESET bằng 0 Y, M, S, T, C
VD:
Khi ngõ vào X000=1 thì ngay lập tức ngõ ra Y000 sẽ luôn sét ON khi ngõ vào X001=1 thì Ngõ
ra Y000 sẽ bị reset OFF
11
Khi ngõ vào xóa bằng 1 thì tất cả các thiết bị trong phạm vi trên bị xóa về 0
13
4.4 Lệnh di chuyển
4.4.1 Lệnh MOV
Lệnh MOV là lệnh di chuyển giá trị của 1 thanh ghi hay di chuyển 1 giá trị hằng số vào một
vùng nhớ thanh ghi khác với cấu trúc lệnh như sau
K100, D0 là giá trị đặt trước cần di chuyển D1, D10 là thanh ghi lưu giữ giá trị di chuyển
Trong đó: D0 là nguồn chuyển hay là nguồn chứa dữ liệu được chuyển. D10 số thiết bị đích
chuyển đến K3 số điểm được chuyển.
VD:
Khi ngõ vào X000 bằng 1 thì lệnh BMOV được thực thi và dữ liệu các thanh ghi từ D0 đến D2
được di chuyển đến các thanh ghi theo thứ tự từ D10 đến D12
14
Khi ngõ vào X001 bằng 1 thì lệnh BMOV được thực thi và dữ liệu các thanh ghi từ D100 đến
D103 được di chuyển đến các thanh ghi theo thứ tự từ D200 đến D203
VD:
Khi ngõ vào X000 bằng 1 thì lệnh FMOV được thực thi và dữ liệu K0 sẽ được di chuyển vào các
thanh ghi từ D10 đến D12
VD:
15
Trong ví dụ trên:
VD:
Trong ví dụ trên:
D0 Là dữ liệu hoặc số thiết bị được xem như là giá trị so sánh thấp.
D1 Là dữ liệu hoặc số thiết bị được xem như là giá trị so sánh cao.
D2 Là dữ liệu hoặc số thiết bị được xem như là nguồn so sánh.
M0 Là số thiết bị đầu mà kết quả so sánh được xuất ra.
Khi X000 được ON lên lệnh ZCP được thực thi và kết quả sẽ như sau:
M0 sẽ ON lên khi “D0 > D2”
M1 sẽ ON lên khi “D0 <= D2 <= D1”
M2 sẽ ON lên khi “D2 > D1”
16
Chương 5: Các Vùng Nhớ Và Các Tập Lệnh Cơ Bản
5.1 Lệnh Time
Các timer cộng và đếm các các xung clock 1ms, 10ms, 100ms,… trong PLC. Khi giá trị đếm
được đạt được giá trị cài đặt, tiếp điểm ngõ ra của timer bật ON.
Giá trị cài đặt có thể được xác định trực tiếp bằng hằng số (K) trong bộ nhớ chương trình hoặc
gián tiếp bởi nội dung của thanh ghi dữ liệu (D)
cho các xung Cho các xung 10 Loại khả nhớ Loại khả nhớ Cho các xung
100ms 0.1s to ms 0.01s to cho các xung cho các xung 1ms
3276,7s 327.67s 1ms*1 0.001s to 100ms*1 0.1s to 0.001 to 32.767s
32.767s 3276.7s
T0 đến T199 T200 đến T245 T246 đến T249 T250 đến T249 T256 đến T511
(200 điểm) (46 điểm) (4 điểm) Loại (6 điểm) loại (256 điểm)
được chốt được chốt
Các số của timer không được sử dụng cho các các bộ định thì có thể được sử dụng như các thanh
ghi dữ liệu cho việc lưu trữ giá trị số. VD : Loại time chung
Khi ngõ vào điều khiển X000 của cuộn dây timer T0 bật ON, bộ đếm giá trị hiện hành của T0
cộng và đếm các xung clock 100ms. Khi giá trị đếm được bằng với giá trị cài đặt là K30, tiếp
điểm ngõ ra của timer bật ON. Nói một cách khác, tiếp điểm ngõra bật ON sau 3s khi cuộn dây
17
được điều khiển. Khi ngõ vào điều khiển X000 bật OFF hoặc khi nguồn điện bật OFF, timer
được reset và các tiếp điểm ngõ ra trở về trạng thái đầu.
Khi ngõ vào điều khiển X000 của cuộn dây timer T246 bật ON, bộ đếm giá trị hiện hành của
T246 cộng và đếm các xung clock 1ms. Khi giá trị đếm được bằng với giá trị cài đặt là K3000,
tiếp điểm ngõ ra của timer bật ON. Nói một cách khác, tiếp điểm ngõ ra bật ON sau 3s khi cuộn
dây được điều khiển. Khi ngõ vào điều khiển X000 bật OFF hoặc khi nguồn điện bật OFF, timer
vẫn luôn được set ON khi ngõ vào X001 ON thì lập tứ lệnh Reset (RST) sẽ reset T246 về =0 lúc
này Time sẽ về trạng thái ban đầu và ngõ ra Y000 OFF.
Bộ đếm 16 bit Tầm đếm từ 0 đến 32767 Bộ đếm hai chiều 32 bit Tầm đếm từ -
2,147,483,648 to +2,147,483,647
Kiểu chốt (nguồn dự Kiểu chốt (nguồn
PLC phòng),(được bảo vệ dự phòng),(được
FX3G/FX3GC, Kiểu chung bởi nguồn pin chống Kiểu chung bảo vệ bởi nguồn
FX3U/FX3UC lại sự cố mất nguồn) pin chống lại sự cố
mất nguồn)
C0 to C99 C100toC199 100 C200 to C219 20 C220 to C234 15
điểm*2 điểm*1 điểm*2
18
100 điểm*1
Lệnh đọc dữ liệu đồng hồ từ thời gian thực trong PLC và chuyển ra 7 thanh dữ liệu.
Dữ liệu đồng hồ lưu trong D8013 và D8019 của đồng hồ thời gian thực trong PLC được đọc và
lưu ở thanh ghi D0 đến D6.
19
5.3.2 Lệnh TWR/lệnh cài đặt dữ liệu RTC
Dữ liệu đồng hồ lưu ở thanh ghi D10 đến D16 được viết đến D8013 đến D8019 cho đồng hồ thời
gian thực trong PLC.
20
- Khi X000 ON lên lệnh TWR thi hành, lập tức dữ liệu đồng hồ thời gian thực thay đổi.
- Khi dùng lệnh này cài đặt dữ liệu đồng hồ (thời gian), không cần dùng đến relay phụ trợ
M8015 (thời gian dừng và thời gian cài đặt).
- Nếu cài giá trị ngày/giờ không đúng, dữ liệu đồng hồ không thay đổi.
- Chú ý: Số thanh ghi chiếm chỗ Bảy thanh ghi chiếm chỗ từ D10 đến D16. Chắc chắn
rằng các thanh ghi này không được sử dụng cho bất kỳ mục đích khác.
21
Chương 6: Bài Tập Về PLC
6.1 Hệ thống đóng gói sản phẩm (Táo)
Quy trình thực hiện
Ấn ON DC1 chạy để bang tải thùng chạy đưa vỏ thùng đóng táo vào. Khi vỏ
thùng vào đến vị trí S2 thì DC1 dừng.
Ngay khi DC1 dừng thì DC2 chạy để kéo băng tải táo hoạt động đưa táo rơi vào
thùng. Táo được đếm bởi một cảm biến hồng ngoại S1.
Khi số táo đưa vào thùng đủ 10 quả (mỗi thùng 10 quả) thì DC2 dừng. Tiếp tục
DC1 chạy lại để đưa thùng táo thành phẩm ra ngoài và đóng thùng táo mới.
Thực hiện Code
22
6.2 Hệ thống tín hiệu Đèn Giao thông
Quy trình thực hiện
Chế độ 1: Đèn xanh 1 sáng, ở hướng hai đèn đỏ 2 sáng. Sau thời gian T0 = 250
(25s) thì đèn xanh 1 tắt, ở hướng hai đèn đỏ 2 vẫn sáng. Tiếp theo là đèn vàng 1
sáng. Sau T1 = 50 (5s) đèn vàng tắt,
Chế độ 2: Đèn xanh, đỏ ở hướng 1, 2 đều tắt. Đèn vàng hướng 1, 2 nháy chu kì 1s
(sáng 5s, tắt 0.5s)
Chế độ 3: Chạy với thời gian thực. Nghĩa là từ 4h sáng và đến 23h đêm thì chay
chế độ 1. Và sau 23h đêm và trc 4h sáng thì đèn xanh, đỏ hướng 1, 2 tắt. Đèn
vàng hướng 1, 2 nháy chu kì 1s (sáng 5s, tắt 0.5s)
Thực hiện code
Các chế độ:
23
Chế độ 2: Điều khiển đèn vàng hướng 1 và 2 nhấp nháy theo chu kì
24
Chế độ 3: Điều khiển tín hiệu đèn theo thời gian thực
25
6.3 Hệ thống điều khiển cấp và xả nước với bình chứa.
Quy trình thực hiện
- Chế độ Cấp nước: Khi xung điều khiển PLC M8000 tác động thì M0 chạy van cấp
nước được bật (Y000), đèn (Y001) được bật sáng. Sau 20s thì M0 sẽ dừng và có D0
là đồng hồ hiển thị
- Chế độ xả nước: Khi xung điều khiển PLC M8000 tác động thì M1 chạy van cấp
nước được bật (Y002), đèn (Y003) được bật sáng. Sau 15s thì M1 sẽ dừng và có D1
là đồng hồ hiển thị
Thực hiện Code
26
27
Phần II: TỔNG QUAN VỀ LẬP TRÌNH WINDOWNS FORMS BẰNG
Csharp (C#)
1.2 Cách tạo một Windows Forms Application trên MicroSoft Visual Studio
Việc đầu tiên chúng ta cần cài đặt Microsoft Visual Studio trên máy tính, các bạn có thể
download Microsoft Visual Studio 2019 , đây là phiên bản mới nhất cho đến hiện tại.
Tiếp theo, thực hiện các bước sau để tạo một Windowns Form
Khởi động Visual Studio 2019 -> chọn vào mục Create a new project để tạo một project
mới.
Sau khi chọn mục Create a new project thì một cửa sổ khác mở ra, trong đó có các
platforms mà các bạn đã cài. Vì chúng ta sẽ lập trình winforms với c# nên sẽ chọn
platforms Windows Forms App (.NET FrameWork) -> Next.
28
Sau khi chọn platforms một cửa sổ mới hiện ra, yêu cầu các bạn nhập thông tin cho
project. Các bạn sẽ nhập các thông tin được yêu cầu rồi chọn create để tạo.
chờ một lúc cho hệ thống tạo project, quá trình tạo nhanh hay chậm tùy thuộc vào cấu
hình máy của các bạn. Sau khi tạo xong thì màn hình ứng dụng sẽ như sau:
29
1.3 Các thuộc tính cơ bản trên Windows Forms Application
1.3.1 ToolBox
ToolBox là nơi chứa các điều khiển để thiết kế giao diện, để mở cửa sổ ToolBox các bạn vào
View | ToolBox (Ctrl + Alt + X).
C# cung cấp danh sách các Component/Control được liệt kê theo nhóm. Cho phép các bạn sử
dụng thao tác kéo thả vào form để thiết kế giao diện cho chương trình.
Trong ToolBox có các nhóm điều khiển để thiết kế giao diện như sau:
30
- Common Controls: Chứa các điều khiển thông dụng như: TextBox, Label…..
- Containers: Chứa các điều khiển giúp trình bày các điều khiển khác trên form.
- Menus & Toolbsrs: Chứa các điều khiển giúp tạo thanh thực đơn và thanh trạng thái:
MenuStrip, StatusStrip.
- Components: Chứa các điều khiển giúp kiểm tra dữ liệu nhập như: Errorprovider,
Helpproder.
- Printing: Chứa các điều khiển giúp làm việc với in ấn: PrintDialog, PrintReviewDialog
- Dialogs: Chứa các điều khiển làm việc với tập tin.
- WPF interoperability: Chứa điều khiển cho phép Đặt điều khiển của WPF trong cửa sổ
Windows Form: ElemenHost.
- Data: Chứa các điều khiển giúp làm việc với cơ sở dữ liệu’
1.3.2 Form
Form là vùng để thiết kế giao diện, ta chọn nhấn dữ chuột trái kéo điều khiển vào form hoặc
double click vào điều khiển mà bạn muốn thiết kế. Các điều khiển còn được gọi là control hay
component
Form được gọi là control "chứa" (vì nó có thể được chứa trong các control khác)
31
1.3.3 Properties
Properties là nơi thiết lập thuộc tính của các điều khiển, với mỗi điều khiển/ Control đều được
cung cấp sẵn một danh sách các thuộc tính để các bạn có thể thiết lập.
Hầu hết giữa các điều khiển đều có những thuộc tính chung (giống nhau) và những thuộc tính
riêng đặc trưng cho điều khiển đó.
Với mỗi điều khiển, để xuất hiện cửa sổ thiết lập thuộc tính các bạn chỉ cần nhấp chuộc phải lên
điều khiển đó và chọn properties trong menu hiện ra.
32
Lập trình ứng dụng winforms là lập trình theo hướng sự kiện. Mỗi control có danh sách các sự
kiện đi kèm, ta cần lập trình tương tác ở sự kiện nào thig phát sinh và code ở sự kiện đó.
Sự kiện sau khi phát sinh có tên dạng: [Tên control] _ [Tên sự kiện].
Chương 2: Bài tập làm quen với lập trình Windowns Forms bằng C#
2.1 Video1: Chia cửa sổ
Form1.cs
Form1.cs[Design]
33
2.2 Video2: Truyền thông UART có đồ thị
Form1.cs
34
35
Form1.cs[Design]
36
File protues
37
38
Form1.cs[Design]
39
2.4 Video4: TreeView và PropertyGrid dùng mô tả tham số robot
Form1.cs
40
41
Form1.cs[Design]
42