Bài giảng Điều khiển lập trình I - Nguyễn Đình Hoàng

Chương 1: ĐẠI CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH

1.1 Các loại điều khiển trong công nghiệp

Quá trình thực hiện cơ khí hoá - hiện đại hoá các ngành công nghiệp đòi hỏi vấn

đề tự động hoá các dây chuyền sản xuất ngày càng tăng. Tự động hoá công nghiệp

ngày càng đòi hỏi tính chính xác cao nên trong kỹ thuật điều khiển có nhiều thay đổi

về thiết bị cũng như thay đổi về phương pháp điều khiển.

Trong lĩnh vực điều khiển người ta có hai phương pháp điều khiển là: phương

pháp điều khiển nối cứng và phương pháp điều khiển lập trình được.

1.1.1 Phương pháp điều khiển nối cứng

Trong các hệ thống điều khiển nối cứng người ta chia ra làm hai loại: nối cứng

có tiếp điểm và nối cứng không tiếp điểm.

Điều khiển nối cứng có tiếp điểm: là dùng các khí cụ điện như contactor, relay,

kết hợp với các bộ cảm biến, các đèn, các công tắc các khí cụ này được nối lại với

nhau thành một mạch điện cụ thể để thực hiện một yêu cầu công nghệ nhất định. Ví

dụ như: mạch điều khiển đổi chiều động cơ, mạch khởi động sao – tam giác, mạch

điều khiển nhiều động cơ chạy tuần tự

pdf 74 trang phuongnguyen 5540
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Điều khiển lập trình I - Nguyễn Đình Hoàng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Điều khiển lập trình I - Nguyễn Đình Hoàng

Bài giảng Điều khiển lập trình I - Nguyễn Đình Hoàng
TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA KỸ THUẬT CÔNG NGHỆ 
BÀI GIẢNG 
ĐIỀU KHIỂN LẬP TRÌNH I 
Bậc học: CAO ĐẲNG 
 GV: Nguyễn Đình Hoàng 
 Bộ môn: Điện - Điện tử 
 Khoa: Kỹ thuật Công nghệ 
Quảng Ngãi, năm 2015 
TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA KỸ THUẬT CÔNG NGHỆ 
BÀI GIẢNG 
ĐIỀU KHIỂN LẬP TRÌNH I 
Bậc học: CAO ĐẲNG 
 SỐ TÍN CHỈ: 2 ( 30T) 
 GV: Nguyễn Đình Hoàng 
 Bộ môn: Điện - Điện tử 
 Khoa: Kỹ thuật Công nghệ 
Quảng Ngãi, năm 2015 
 Lời nói đầu 
Hiện nay, Việt Nam đang bước vào giai đoạn phát triển công nghiệp hóa – hiện đại 
hóa rất mạnh mẽ. Trong nhiều lĩnh vực, đặc biệt là ngành tự động hóa có nhiều bước 
phát triển vượt bậc, góp phần thúc đẩy sự nghiệp công nghiệp hoá nước nhà. 
Nhằm đáp ứng cho việc giảng dạy môn Điều khiển lập trình (PLC) bậc Cao Đẳng, 
tác giả đã biên soạn bài giảng này nhằm làm tài liệu học tập cho các lớp chuyên ngành 
Kỹ thuật Điện- Điện tử tại Đại học Phạm Văn Đồng. Tài liệu này được sử dụng cho 
sinh viên các lớp Cao đẳng với thời lượng 30 tiết. Tác giả hy vọng rằng đây sẽ là tài 
liệu thiết thực cho các bạn sinh viên. 
Trong quá trình biên soạn, chắc chắn tài liệu không tránh khỏi có những sai sót. 
Mọi góp ý xin gửi về địa chỉ Nguyễn Đình Hoàng - Khoa Kỹ Thuật Công Nghệ - 
Trường Đai học Phạm Văn Đồng. Xin chân thành cảm ơn. 
 Tác giả 
MỤC LỤC 
Chương 1: ĐẠI CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH 1 
1.1 Các loại điều khiển trong công nghiệp 
1.2 Ưu điểm của PLC . 
1.3 Các ứng dụng trong thực tế . 
Chương 2: CẤU TRÚC VÀ PHƯƠNG THỨC HOẠT ĐỘNG CỦA PLC 3 
 2.1 Cấu trúc của một PLC . 
 2.2 Các khối của PLC . 
 2.3 Các ngõ vào ra và cách kết nối . 
 2.4 Xử lý chương trình . 
 2.5 Các phương pháp lập trình (LAD,STL) . 
Chương 3: CÁC PHÉP TOÁN NHỊ PHÂN CỦA PLC 14 
 3.1 Các liên kết logic . 
 3.2 Chức năng nhớ RS . 
 3.3 Timer . 
 3.4 Counter . 
 3.5 Các thí dụ . 
Chương 4: CÁC PHÉP TOÁN SỐ CỦA PLC 43 
 4.1Chức năng truyền dẫn . 
 4.2Chức năng so sánh . 
 4.3Chức năng dịch chuyển . 
 4.4Chức năng biến đổi . 
 4.5Chức năng toán học (cộng ,trừ ,nhân ,chia ). 
 4.6Chức năng số ( trị tuyệt đối , căn , sin , cos) . 
 4.7Các thí dụ . 
Chương 5: XỬ LÝ TÍN HIỆU ANALOG 64 
 5.1 Tín hiệu analog . 
 5.2 Biểu diễn giá trị analog . 
 5.3 Kết nối các cảm biến và tải . 
 5.4 Đọc và chuẩn hoá giá trị đo . 
 5.5 Hiển thị giá trị đo . 
TRANG 
1 
Chương 1: ĐẠI CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH 
1.1 Các loại điều khiển trong công nghiệp 
Quá trình thực hiện cơ khí hoá - hiện đại hoá các ngành công nghiệp đòi hỏi vấn 
đề tự động hoá các dây chuyền sản xuất ngày càng tăng. Tự động hoá công nghiệp 
ngày càng đòi hỏi tính chính xác cao nên trong kỹ thuật điều khiển có nhiều thay đổi 
về thiết bị cũng như thay đổi về phương pháp điều khiển. 
Trong lĩnh vực điều khiển người ta có hai phương pháp điều khiển là: phương 
pháp điều khiển nối cứng và phương pháp điều khiển lập trình được. 
 1.1.1 Phương pháp điều khiển nối cứng 
Trong các hệ thống điều khiển nối cứng người ta chia ra làm hai loại: nối cứng 
có tiếp điểm và nối cứng không tiếp điểm. 
Điều khiển nối cứng có tiếp điểm: là dùng các khí cụ điện như contactor, relay, 
kết hợp với các bộ cảm biến, các đèn, các công tắc các khí cụ này được nối lại với 
nhau thành một mạch điện cụ thể để thực hiện một yêu cầu công nghệ nhất định. Ví 
dụ như: mạch điều khiển đổi chiều động cơ, mạch khởi động sao – tam giác, mạch 
điều khiển nhiều động cơ chạy tuần tự 
Đối với nối cứng không tiếp điểm: là dùng các cổng logic cơ bản, các cổng 
logic đa chức năng hay các mạch tuần tự (gọi chung là IC số), kết hợp với các bộ cảm 
biến, đèn, công tắc và chúng cũng được nối lại với nhau theo một sơ đồ logic cụ thể 
để thực hiện một yêu cầu công nghệ nhất định. Các mạch điều khiển nối cứng sử dụng 
các linh kiện điện tử công suất như SCR, Triac để thay thế các contactor trong mạch 
động lực. 
Trong hệ thống điều khiển nối cứng, các linh kiện hay khí cụ điện được nối 
vĩnh viễn với nhau. Do đó, khi muốn thay đổi lại nhiệm vụ điều khiển thì phải nối lại 
toàn bộ mạch điện. Khi đó, với các hệ thống phức tạp thì không hiệu quả và rất tốn 
kém. 
 1.1.2.Phương pháp điều khiển lập trình được 
Đối với phương pháp điều khiển lập trình này thì ta có thể sử dụng những phần 
mềm khác nhau với sự trợ giúp của máy tính hay các thiết bị có thể lập trình được trực 
tiếp trên thiết bị có kết nối thiết bị ngoại vi. Ví dụ như: LOGO!, ZEN, S7-200 
Chương trình điều khiển được ghi trực tiếp vào bộ nhớ của bộ điều khiển hay 
một máy tính. Để thay đổi chương trình điều khiển ta chỉ cần thay đổi nội dung bộ 
nhớ của bộ điều khiển, phần nối dây bên ngoài không bị ảnh hưởng. Đây là ưu điểm 
lớn nhất của bộ điều khiển lập trình được. 
1.2 Ưu điểm của PLC 
 PLC viết tắt của Programmable Logic Controller , là thiết bị điều khiển lập 
trình được (khả trình) cho phép thực hiện linh hoạt các thuật toán điều khiển logic 
thông qua một ngôn ngữ lập trình. Người sử dụng có thể lập trình để thực hiện một 
loạt trình tự các sự kiện. Các sự kiện này được kích hoạt bởi tác nhân kích thích (ngõ 
vào) tác động vào PLC hoặc qua các hoạt động có trễ như thời gian định thì hay các 
sự kiện được đếm. 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 
2 
“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 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 dể dàng, 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 trog 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 
Modul mở rộng... 
- Giá cả cá thể cạnh tranh được. 
1.3 Các ứng dụng trong thực tế 
Các bộ điều khiển lập trình nhờ có nhiều ưu điểm và các tính năng tích hợp bên 
trong nên nó được sử dụng rộng rãi trong công nghiệp và trong dân dụng như: 
- Điều khiển động cơ. 
- Máy công nghệ. 
- Hệ thống bơm. 
- Hệ thống nhiệt 
3 
Chương 2: CẤU TRÚC VÀ PHƯƠNG THỨC HOẠT ĐỘNG CỦA PLC 
2.1 Cấu trúc của một PLC 
Tất cả các PLC đều có thành phần chính là : 
- Một bộ nhớ chương trình RAM bên trong ( có thể mở rộng thêm một số bộ 
nhớ ngoài EPROM ). 
- Một bộ vi xử lý có cổng giao tiếp dùng cho việc ghép nối với PLC . 
- Các Modul vào /ra. 
 Bên cạnh đó, một bộ PLC hoàn chỉnh còn đi kèm thêm môt đơn vị lập trình 
bằng tay hay bằng máy tính. Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để 
chứa đựng chương trình dưới dạng hoàn thiện hay bổ sung. Nếu đơn vị lập trình là 
đơn vị xách tay, RAM thường là loại CMOS có pin dự phòng, chỉ khi nào chương 
trình đã được kiểm tra và sẳn sàng sử dụng thì nó mới truyền sang bộ nhớ PLC . Đối 
với các PLC lớn thường lập trình trên máy tính nhằm hổ trợ cho việc viết, đọc và 
kiểm tra chương trình. Các đơn vị lập trình nối với PLC qua cổng RS232, RS422, 
RS458,  
2.2 Các khối của PLC 
- Đơn vị xử lý trung tâm 
 CPU điều khiển các hoạt động bên trong PLC. Bộ xử lý sẽ đọc và kiểm tra 
chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự từng lệnh trong 
chương trình, sẽ đóng hay ngắt các đầu ra. Các trạng thái ngõ ra ấy được phát tới các 
thiết bị liên kết để thực thi. Và toàn bộ các hoạt động thực thi đó đều phụ thuộc vào 
chương trình điều khiển được giữ trong bộ nhớ. 
- Hệ thống bus 
Hình 2.1 Hình dạng bên ngoài của PLC S7-200 
4 
 Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm nhiều đường tín 
hiệu song song : 
 Address Bus : Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau. 
 Data Bus: Bus dùng để truyền dữ liệu. 
 Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điểu khiển 
đồng bộ các hoạt động trong PLC . 
 Trong PLC các số liệu được trao đổi giữa bộ vi xử lý và các modul vào ra thông 
qua Data Bus, Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép 
truyền 8 bit của 1 byte một cách đồng thời hay song song. 
 Nếu môt modul đầu vào nhận được địa chỉ của nó trên Address Bus, nó sẽ chuyển 
tất cả trạnh thái đầu vào của nó vào Data Bus. Nếu một địa chỉ byte của 8 đầu ra xuất 
hiện trên Address Bus, modul đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus. 
Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của 
PLC . 
 Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian 
hạn chế. 
 Hê thống Bus sẽ làm nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O . Bên 
cạch đó, CPU được cung cấp một xung Clock có tần số từ 1-8 MHZ. Xung này quyết 
định tốc độ hoạt động của PLC và cung cấp các yếu tố về định thời, đồng hồ của hệ 
thống. 
- Bộ nhớ 
 PLC thường yêu cầu bộ nhớ trong các trường hợp : 
 Làm bộ định thời cho các kênh trạng thái I/O. 
 Làm bộ đệm trạng thái các chức năng trong PLC như định thời, đếm, ghi các 
Relay. 
 Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ, tất cả mọi vị trí 
trong bộ nhớ đều được đánh số, những số này chính là địa chỉ trong bộ nhớ . 
 Địa chỉ của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong bộ 
vi xử lý. Bộ vi xử lý sẽ giá trị trong bộ đếm này lên một trước khi xử lý lệnh tiếp theo. 
Với một địa chỉ mới , nội dung của ô nhớ tương ứng sẽ xuất hiện ở đấu ra, quá trình 
này được gọi là quá trình đọc . 
 Bộ nhớ bên trong PLC được tạo bởi các vi mạch bán dẫn, mỗi vi mạch này có 
khả năng chứa 2000 ÷ 16000 dòng lệnh, tùy theo loại vi mạch. Trong PLC các bộ nhớ 
như RAM, EPROM đều được sử dụng . 
 RAM (Random Access Memory ) có thể nạp chương trình, thay đổi hay xóa bỏ 
nội dung bất kỳ lúc nào. Nội dung của RAM sẽ bị mất nếu nguồn điện nuôi bị mất . 
Để tránh tình trạng này các PLC đều được trang bị một pin khô, có khả năng cung cấp 
năng lượng dự trữ cho RAM từ vài tháng đến vài năm. Trong thực tế RAM được dùng 
để khởi tạo và kiểm tra chương trình. Khuynh hướng hiện nay dùng CMOSRAM nhờ 
khả năng tiêu thụ thấp và tuổi thọ lớn . 
 EPROM (Electrically Programmable Read Only Memory) là bộ nhớ mà người 
sử dụng bình thường chỉ có thể đọc chứ không ghi nội dung vào được . Nội dung của 
5 
EPROM không bị mất khi mất nguồn , nó được gắn sẵn trong máy , đã được nhà sản 
xuất nạp và chứa hệ điều hành sẵn. Nếu người sử dụng không muốn mở rộng bộ nhớ 
thì chỉ dùng thêm EPROM gắn bên trong PLC. Trên PG (Programer) có sẵn chổ ghi 
và xóa EPROM. 
 Môi trường ghi dữ liệu thứ ba là đĩa cứng hoạc đĩa mềm, được sử dụng trong 
máy lập trình . Đĩa cứng hoăc đĩa mềm có dung lượng lớn nên thường được dùng để 
lưu những chương trình lớn trong một thời gian dài . 
 Kích thước bộ nhớ : 
 Các PLC loại nhỏ có thể chứa từ 300 ÷1000 dòng lệnh tùy vào công nghệ chế 
tạo . 
 Các PLC loại lớn có kích thước từ 1K ÷ 16K, có khả năng chứa từ 2000 
÷16000 dòng lệnh. 
Ngoài ra. còn cho phép gắn thêm bộ nhớ mở rộng như RAM , EPROM. 
- Cấu trúc phần cứng của PLC S7-200 CPU 214 
 S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của Hãng SIEMENS 
(CHLB Đức) có cấu trúc theo kiểu Modul và có các modul mở rộng. Các modul này 
được sử dụng cho nhiều ứng dụng lập trình khác nhau. Thành phần cơ bản của S7-200 
là khối vi xử lý CPU-214. 
 CPU-214 bao gồm 14 ngõ vào và 10 ngõ ra, có khả năng thêm 7 modul 
mở rộng. 
 2.048 từ đơn (4 Kbyte) thuộc miền nhớ đọc / ghi non-volatile để lưu 
chương trình (vùng nhớ có giao diện với EEPROM). 
 2.048 từ đơn (4 Kbyte) thuộc kiểu đọc ghi để lưu dữ liệu, trong đó 512 từ 
đầu thuộc miền non-volatile. 
 Tổng số ngõ vào / ra cực đại là 64 ngõ vào và 64 ngõ ra. 
 128 Timer chia làm 3 loại theo độ phân giải khác nhau: 4 Timer 1ms, 16 
Timer 10ms và 108 Timer 100ms. 
 128 bộ đếm chia làm 2 loại: chỉ đếm tiến và vừa đếm tiến vừa đếm lùi. 
 688 bít nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc. 
 Các chế độ xử lý ngắt gồm: ngắt truyền thông, ngắt theo sườn lên hoặc 
xuống, ngắt thời gian, ngắt của bộ đếm tốc độ cao và ngắt truyền 
xung. 
 3 bộ đếm tốc độ cao với nhịp 2Khz và 7 Khz. 
 2 bộ phát xung nhanh cho dãy xung kiểu PTO hoặc kiểu PWM. 
 2 bộ điều chỉnh tương tự 
 Toàn bộ vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ 
kể từ khi PLC bị mất nguồn cung cấp. 
Các đèn báo trên S7-200 CPU214 
 SF (đèn đỏ): Đèn đỏ SF báo hiệu hệ thống bị hỏng. 
6 
 RUN (đèn xanh): Đèn xanh RUN chỉ định PLC đang ở chế độ làm việc 
và thực hiện chương trình được nạp vào trong máy. 
 STOP (đèn vàng): Đèn vàng STOP chỉ định rằng PLC đang ở chế độ 
dừng chương trình và đang thực hiện lại. 
Cổng vào ra: 
 Ix.x (đèn xanh): Đèn xanh ở cổng vào báo hiệu trạng thái tức thời của 
cổng Ix.x. Đèn này báo hiệu trạng thái của tín hiệu theo giá 
trị Logic của công tắc. 
 Qx.x (đèn xanh): Đèn xanh ở cổng ra báo hiệu trạng thái tức thời của 
cổng Qx.x. Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logic 
của cổng. 
Chế độ làm việc: 
 PLC có 3 chế độ làm việc: 
 RUN: cho phép PLC thực hiện chương trình từng bộ nhớ, PLC sẽ 
chuyển từ RUN sang STOP nếu trong máy có sự cố hoặc trong chương 
trình gặp lệnh STOP. 
 STOP: Cưởng bức PLC dừng chương trình đang chạy và chuyển sang 
chế độ STOP. 
 TERM: Cho phép máy lập trình tự quyết định chế độ hoạt động cho PLC 
hoặc RUN hoặc STOP. 
Cổng truyền thông. 
 S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chân để phục 
vụ cho việc ghép nối với thiết bị lập trình hoặc với các trạm PLC khác. Tốc độ 
truyền cho máy lập trình kiểu PPI là 9600 baud. Tốc độ truyền cung cấp của PLC 
theo kiểu tự do là 300 - 38.400 baud. 
 Để ghép nối S7-200 với máy lập trình PG702 hoặc các loại máy lập trình thuộc họ 
PG7xx có thể dùng một cáp nối thẳng MPI. Cáp đó đi kèm với máy lập trình. 
 Ghép nối S7-200 với máy tính PC qua cổng RS232 cần có cáp nối PC / PPI với bộ 
chuyển đổi RS232 / RS485. 
Hình 2.2. Truyền thông PLC S7-200 với máy tính 
7 
- Cấu trúc bộ nhớ 
 Bộ nhớ S7-200 được chia thành 4 vùng với 1 tụ có nhiệm vụ duy trì dữ liệu trong 
một khoảng thời gian nhất định khi mất nguồn. Bộ nhớ S7-200 có tính năng động cao, 
đọc, ghi được trong toàn vùng, loại trừ các bit nhớ đặc biệt SM (Special memory) chỉ 
có thể truy nhập để đọc 
 Vùng chương trình 
 Là nguồn nhờ được sử dụng để lưu giữ các lệnh chương trình. Vùng này thuộc 
kiểu non-volatile đọc / ghi được. 
 Vùng tham số 
 Là miền lưu giữ các tham số như: từ khóa, địa chỉ trạm,  cũng giống như vùng 
chương trình, thuộc kiểu non-volatile đọc / ghi được. 
 Vùng dữ liệu 
 Là miền nhớ động được sử dụng để cất giữ các dữ liệu của chương trình. Nó có 
thể được truy cập theo từng bít, từng byte, từng từ đơn (W-Word) hoặc theo từ kép 
(DW_ Double Word), vùng dữ liệu được chia thành những miền nhớ nhỏ với các công 
dụng khác nhau. Chúng được ký hiệu bằng chữ cái đầu theo từ tiếng Anh, đặc trưng 
cho công dụng riêng của chúng như sau: 
V : Variable Memory. 
 ...  đếm lần dịch chuyển. Tại mỗi lần dịch chuyển, giá trị logic 0 được đưa vào bít thấp 
(bit 0) và giá trị logic của bít cao (bít 31) được chuyển vào bít báo tràn SM1.1 
Trong LAD kết quả được ghi vào từ kép OUT. 
Trong STL kết quả vẫn nằm trong IN. 
Cú pháp của lệnh này như sau: 
SHL W 
EN 
IN OUT 
N 
SHR DW 
EN 
IN OUT 
N 
51 
LAD STL 
 SLD IN N 
 Lệnh ROR_W 
Là lệnh quay các bít của từ đơn IN sang phải N lần, với N được gọi là số đếm lần 
quay. Tại mỗi lần quay, giá trị logic của bít thấp (bít 0) được chuyển vào bít báo tràn 
SM1.1 vừa được ghi lại vào bít cao (bít 15) của từ IN. 
Trong LAD kết quả được ghi vào từ OUT. 
Trong STL kết quả vẫn nằm trong IN. 
Cú pháp của lệnh này như sau: 
LAD STL 
 RRW IN N 
 Lệnh ROR_DW 
 Là lệnh quay các bít của từ kép IN sang phải N lần, trong đó N được gọi là số lần 
quay. Tại mỗi lần quay, giá trị logic của bít thấp (bít 0) vừa được chuyển vào bít báo 
tràn SM1.1 vừa được chuyển vào bít cao (bít 31) của từ kép IN. Trong LAD kết quả 
được ghi vào từ OUT. Còn trong STL kết quả vẫn nằm trong IN. 
Cú pháp dùng lệnh này như sau: 
LAD STL 
 RRD IN N 
ROR W 
EN 
IN OUT 
N 
ROR DW 
EN 
IN OUT 
N 
SHL DW 
EN 
IN OUT 
N 
52 
 Lệnh ROL-W 
Là lệnh quay các bít của từ đơn IN sang trái N lần với N là số đếm lần quay. Tại 
mỗi lần quay, giá trị logic của bít cao (bít 15) vừa được chuyển vào bít báo tràn SM1.1 
vừa được ghi lại vào bít thấp của từ IN. 
Trong LAD kết quả được ghi vào từ OUT. 
Trong STL kết quả vẫn nằm trong IN 
 Cú pháp dùng lệnh này như sau: 
LAD STL 
 RLW IN N 
 Lệnh ROL-DW 
 Là lệnh quay các bít của từ kép IN sang trái N lần, trong đó N được gọi là số 
đếm lần quay. Tại mỗi lần quay, giá trị logic của bít cao (bít 31) vừa được chuyển vào 
bít báo tràn SM1.1 vừa được ghi lại vào bít thấp (bít 0) của từ kép IN. 
Trong LAD kết quả được ghi vào từ OUT. 
Trong STL kết quả vẫn nằm trong IN 
Cú pháp dùng lệnh này như sau: 
LAD STL 
 RLD IN N 
4.4 Chức năng biến đổi 
 Hàm SEG 
Hàm SEG chuyển đổi số nguyên hệ cơ số Hexa trong khoảng 0 - F sang thành giá 
trị bit tương ứng của thanh ghi 7 nét . 
Hàm SEG lập giá trị các bit của thanh ghi 7 nét tương ứng với nội dung của 4 bit 
thấp của byte đấu vào IN. Kết quả được ghi vào byte đầu ra OUT. 
ROL W 
EN 
IN OUT 
N 
ROL DW 
EN 
IN OUT 
N 
53 
 Sơ đồ các bit của thanh ghi 7 nét 
Số 
nguyên 
Thanh ghi 7 nét 
 - g f e d c b a 
0 0 0 1 1 1 1 1 1 
1 0 0 0 0 0 1 1 0 
2 0 1 0 1 1 0 1 1 
3 0 1 0 0 1 1 1 1 
4 0 1 1 0 0 1 1 0 
5 0 1 1 0 1 1 0 1 
6 0 1 1 1 1 1 1 0 
7 0 0 0 0 0 1 1 1 
8 0 1 1 1 1 1 1 1 
9 0 1 1 0 0 1 1 1 
A 0 1 1 1 0 1 1 1 
B 0 1 1 1 1 1 0 0 
C 0 0 1 1 1 0 0 1 
D 0 1 0 1 1 1 1 0 
E 0 1 1 1 1 0 0 1 
F 0 1 1 1 0 0 0 1 
LAD STL Toán hạng 
ENCO IN OUT 
IN (Byte) :VB, IB, QB, 
MB, SMB, AC, *VD, *AC, 
hằng số 
OUT(byte): VB, IB, QB, 
MB, SMB, AC, *VD, *AC 
a 
b 
c 
d 
e 
f 
g 
SEG 
EN 
IN OUT 
54 
 Lệnh chuyển đổi mã BCD sang số nguyên 
 Dạng LAD : 
 Dạng STL : BCD_I VW0 
Ý nghĩa. 
Lệnh này thực hiện phép biến đổi một số dạng mã BCD 16 bit chứa trong word 
có địa chỉ ở ngõ vào IN sang số nguyên dạng nhị phân 16 bit chứa trong word 
có địa chỉ ở ngõ ra OUT, địa chỉ ngõ ra có thể giống ngõ vào, thường nằm trong 
các vùng sau : 
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const 
OUT: VW, T, C, IW, QW, MW, SMW, AC. 
4.5 Chức năng toán học (cộng, trừ, nhân, chia) 
 Lệnh cộng (ADD) 
 Lệnh ADD_I 
Là lệnh thực hiện phép cộng các số nguyên 16-bít IN1 và IN2. 
Trong LAD kết quả là một số nguyên 16-bít được ghi vào OUT, tức là: 
IN1 + IN2 = OUT. 
Còn trong STL, kết quả cũng là một giá trị 16-bít nhưng được ghi vào IN2, tức là 
IN1 + IN2 = IN2. 
 Lệnh ADD_DI 
Là lệnh thực hiện phép cộng các số nguyên 32-bít IN1 và IN2 
Trong LAD, kết quả là một số nguyên 32-bít được ghi vào OUT, tức là: 
IN1 + IN2 = OUT. 
Còn trong STL, kết quả cũng là một giá trị 32-bít nhưng được ghi vào IN2, tức là 
IN1 + IN2 = IN2. 
 Lệnh ADD_R 
Là lệnh thực hiện phép cộng các số thực 32-bít IN1 và IN2. 
Trong LAD, kết quả là một số thực 32-bít được ghi vào OUT, tức là: 
IN1 + IN2 = OUT. 
Còn trong STL, kết quả cũng là một giá trị thực 32-bít nhưng được ghi vào IN2, tức 
là IN1 + IN2 = IN2. 
 Lệnh trừ (SUB) 
 Lệnh SUB_I 
Là lệnh thực hiện phép trừ các số nguyên 16-bít IN1 và IN2 
55 
Trong LAD kết quả là một số nguyên 16-bít và được ghi vào OUT, tức là: 
IN1 - IN2 = OUT. 
Còn trong STL, kết quả là một giá trị 16-bít nhưng được ghi lại vào IN2, tức là IN1- 
IN2 = IN2. 
 Lệnh SUB-DI 
Là lệnh thực hiện phép trừ các số nguyên 32-bít IN1 và IN2 
Trong LAD kết quả là một số nguyên 32-bít được ghi vào IN2, tức là: 
IN1 - IN2 = IN2. 
Còn trong STL, kết quả là một giá trị 32-bít nhưng được ghi lại vào IN2, tức là IN1- 
IN2 = IN2. 
 Lệnh SUB_R 
Là lệnh thực hiện phép trừ các số thực 32-bít IN1 và IN2 
Trong LAD kết quả là một số thực 32-bít được ghi vào OUT, tức là: 
IN1 - IN2 = OUT. 
Trong STL, kết quả là một giá trị 32-bít nhưng được ghi lại vào IN2, tức là IN1- 
IN2 = IN2. 
 Cú pháp dùng lệnh cộng và trừ trong LAD và STL như sau: 
LAD STL 
 + I IN1 
IN2 
 - I IN1 
IN2 
ADD I 
EN 
IN1 
IN2 OUT 
SUB I 
EN 
IN1 
IN2 OUT 
56 
 + D IN1 IN2 
 - D IN1 IN2 
 + R IN1 IN2 
 - R IN1 IN2 
 Lệnh nhân (MUL) 
 Lệnh MUL 
Trong LAD: Lệnh thực hiện phép nhân 2 số nguyên 16-bít IN1 và IN2 và cho ra kết 
quả 32-bít chứa trong từ kép OUT (4 byte). 
Trong STL: Lệnh thực hiện phép nhân giữa 2 số nguyên 16-bít n1 và số nguyên 
chứa trong từ thấp (từ 0 đến bít 15) của toán hạng 32-bít n2 (4 byte). Kết quả 32-bít 
được ghi vào n2. 
 Lệnh MUL_R 
Trong LAD: lệnh thực hiện phép nhân hai số thực 32-bít IN1 và IN2 và cho ra kết 
quả 32-bít chứa trong từ kép OUT (4 byte). 
Trong STL: Lệnh thực hiện phép nhân giữa số thực 32-bít được ghi vào IN2. 
ADD DI 
EN 
IN1 
IN2 OUT 
SUB DI 
EN 
IN1 
IN2 OUT 
ADD R 
EN 
IN1 
IN2 OUT 
SUB R 
EN 
IN1 
IN2 OUT 
57 
Cú pháp dùng lệnh trong LAD và STL như sau: 
LAD STL 
 MUL n1 n2 
 *R IN 1 IN2 
 Lệnh chia (DIV) 
Trong LAD: Lệnh thực hiện phép chia số nguyên 16-bít IN1 cho số nguyên 16-bít 
IN2. Kết quả 32-bít chứa trong từ kép OUT gồm thương số ghi trong mảng 16-bít từ 
bít 0 đến bít15 (từ thấp) và phần dư cũng 16-bít ghi trong mảng từ bít-16 đến bít-31 (từ 
cao). 
Trong STL: Lệnh thực hiện phép chia số nguyên 16-bít n1 cho số nguyên, số 
nguyên 16-bít nằm trong từ thấp từ bít 0 đến bít 15 của toán hạng 32-bít n2. Kết quả 
32-bít được ghi lại vào n2 bao gồm thương số ghi trong mảng 16-bít từ bít 0 đến bít 15 
(từ thấp) và phần dư ghi trong mảng 16-bít từ bít-16 đến bít-31 (từ cao). 
 Lệnh DIV_R 
Trong LAD: lệnh thực hiện phép chia số thực 32-bít IN1 cho số thực 32-bít IN2 và 
cho ra kết quả 32-bít chứa trong từ kép OUT. 
Trong STL, lệnh thực hiện phép chia số thực 32-bít IN1 cho số thực 32-bít IN2, kết 
quả 32-bít được ghi lại vào IN2. 
MUL 
EN 
IN1 
IN2 OUT 
MUL R 
EN 
IN1 
IN2 OUT 
58 
Cú pháp dùng lệnh chia hai số trong LAD và STL như sau: 
LAD STL 
 DIV n1 n2 
 /R n1 n2 
 Các lệnh cộng trừ một đơn vị 
 Lệnh INC_B 
Là lệnh cộng số nguyên 1 vào nội dung của byte đầu vào. 
Trong LAD: Kết quả được ghi vào OUT, tức là: IN1 + 1 = OUT. 
Trong STL: Kết quả được ghi vào IN. 
Cú pháp dùng lệnh INCW trong LAD và trong STL như sau: 
LAD STL 
INCW IN 
 Lệnh INC_W 
Lệnh cộng số nguyên 1 vào nội dung từ đơn In. 
Trong LAD: Kết quả được ghi vào OUT. 
Trong STL: Kết quả được ghi lại vào IN. 
DIV 
EN 
IN1 
IN2 OUT 
DIV R 
EN 
IN1 
IN2 OUT 
INC B 
EN 
IN OUT 
59 
Cú pháp dùng lệnh INCW trong LAD và trong STL như sau: 
LAD STL 
 INCW IN 
 Lệnh INC_DW (DOUBLE WORD) 
Là lệnh cộng số nguyên 1 vào nội dung từ kép IN 
Trong LAD: Kết quả được ghi vào OUT, tức là: IN + 1 = OUT 
Trong STL: Kết quả được ghi vào IN, tức là: IN + 1 = IN 
Cú pháp dùng lệnh INCD trong LAD và trong STL như sau: 
LAD STL 
 INCD IN 
 Lệnh DEC_B 
Là lệnh bớt nội dung của byte đầu vào đi 1 đơn vị. 
Trong LAD: Kết quả được ghi vào OUT, tức là: IN - 1 = OUT 
Trong STL: Kết quả được ghi vào IN, tức là: IN - 1 = IN 
Cú pháp dùng lệnh DECW trong STL và DEC_W trong LAD như sau: 
LAD STL 
 DECB IN 
 Lệnh DEC_W 
Là lệnh bớt nội dung IN đi 1 đơn vị. 
Trong LAD: Kết quả được ghi vào OUT, tức là: IN - 1 = OUT 
INC W 
EN 
IN OUT 
INC DW 
EN 
IN OUT 
DEC B 
EN 
IN OUT 
60 
Trong STL: Kết quả được ghi vào IN, tức là: IN - 1 = IN 
Cú pháp dùng lệnh DECW trong STL và DEC_W trong LAD như sau: 
LAD STL 
 DECW IN 
 Lệnh DEC_DW 
Là lệnh giảm nội dung từ kép IN đi 1 đơn vị. 
Trong LAD: Kết quả được ghi vào OUT, tức là: IN - 1 = OUT 
Trong STL: Kết quả được ghi vào IN, tức là: IN - 1 = I 
Cú pháp dùng lệnh DECDW trong STL hay DEC_DW trong LAD như sau: 
LAD STL 
 DECD IN 
 4.6 Chức năng số 
 Lệnh lấy căn bậc 2 (SQRT) 
Là một lệnh thực hiện lấy căn bậc hai của số thực 32-bít IN. Kết quả cũng là một số 
32-bít được ghi vào từ kép OUT. 
Cú pháp dùng lệnh lấy căn bậc hai của một số thực như sau: 
LAD STL 
 SQRT IN OUT 
INC W 
EN 
IN OUT 
INC DW 
EN 
IN OUT 
SQRT 
EN 
IN OUT 
61 
 Hàm lượng giác 
 Dạng lệnh 
4.7 Các thí dụ 
Ví dụ 1: 
Viết chương trình điều khiển 8 động cơ từ D0 đến D7 theo yêu cầu sau: 
Nhấn Nút START động cơ D0 chạy 
Nhấn nút NEXT thì động đang chạy dừng và động cơ bên phải chạy 
Nhấn nút BACK thì động cơ đang chạy dừng và động cơ bên trái chạy 
Nhấn STOP thì động cơ đang chạy dừng 
62 
Ví dụ 2: 
Chương trình kiểm tra chất lượng sản phẩm 
Có 4 trạm kiểm tra: Dán nhãn, chai mẻ, có nước và đóng nút. 
Có 2 cảm biến phát hiện chai ra và vào 
Nếu chai nào không thoả 1 trong 4 điều khiện thì sau khi qua 4 trạm sẽ bị loại bằng 
van khí nén. 
63 
Ngõ vào: 
I0.0: Start I0.3: CB trạm 1 
I0.1: Stop I0.4: CB trạm 2 
I0.2: CB chai vaøo I0.5: CB trạm 3 
I0.7: CB chai ra I0.6: CB trạm 4 
Ngõ ra: 
Q0.0 Băng chuyền 
Q0.1 Van khí nén 
M0.3 M0.2 M0.1 M0.0 
Thanh ghi chứa trạng thái trạm 1 
M1.2 M1.1 M1.0 
Thanh ghi chứa trạng thái trạm 2 
M2.1 M2.0 
Thanh ghi chứa trạng thái trạm 3 
M3.0 
Thanh ghi chứa trạng thái trạm 4 
Chương trình LAD 
64 
Chương 5: XỬ LÝ TÍN HIỆU ANALOG 
5.1 Tín hiệu analog 
Khác với tín hiệu số, ngõ vào và ngõ ra chỉ có hai trạng thái là ON hoặc OFF 
(mức 1 hoặc 0), tín hiệu analog có biên độ liên tục theo thời gian. 
Phần lớn những hiện tượng xảy ra trong thực tế đều ở dạng analog. Các 
cảm biến ngõ có tín hiệu ra dạng analog như: Cảm biến nhiệt độ, cảm biến áp suất, 
cảm biến dòng chảy, cảm biến mức.. Những cơ cấu chấp hành có tín hiệu 
điều khiển dạng analog: Vale tuyến tính, biến tần..... 
5.2 Biểu diễn giá trị analog 
Đối với ngõ vào của PLC hay máy tính, tín hiệu analog không được đọc liên tục 
mà sẽ được lấy mẫu vào những khoảng thời gian nhất định. Sau đó tín hiệu 
analog được chuyển đổi sang tín hiệu số nhờ bộ A/D. Trong một khoảng thời gian 
nhất định, nếu số mẫu lấy càng nhiều thì độ chính xác càng tăng. Tuy nhiên mỗi bộ 
A/D chỉ có thể thu thập được một số mẫu nhất định trong một giây. Đối với PLC thì 
tần số lấy mẫu có thể đạt 20hZ. 
Một bộ A/D được đánh giá dựa vào các thông số như: Số bit chuyển đổi, thời 
gian lấy mẫu, tốc độ chuyển đổi, sai số chuyển đổi, tầm điện áp hoặc dòng điện mà bộ 
A/D có thể chuyển đổi. Các thông số này thường được cho bởi nhà sản xuất. 
Hình 5.1. Tín hiệu số và tín hiệu liên tục 
Hình 5.2. Lấy mẫu tín hiệu liên tục 
65 
Đối với PLC thì bộ chuyển đổi A/D thường sử dụng 8 bit, 12 bit, 16 bit. Tùy 
theo yêu cầu kỹ thuật, độ chính xác, tính kinh tế mà người lập trình chọn bộ A/D 
nào cho phù hợp. 
Cấu trúc dữ liệu của bộ A/D trong PLC S7 200. 
Module analog trong S7 200 thường sử dụng loại 12 bit. Tín hiệu vào 
của module analog ở dạng điện áp hoặc dòng điện, điện áp có thể dương hoặc âm, dữ 
liệu chuyển đổi có thể ở dạng đơn cực hoặc lưỡng cực. Tùy thuộc vào dạng chuyển 
đổi mà cách sắp xếp các bit dữ liệu cũng có sự khác nhau. 
5.3 Kết nối các cảm biến và tải 
 Một số module analog của S7 200 
- Module analog EM231 
- Các thông số kỹ thuật: 
- Cách kết nối ngõ vào của modul EM 231. 
Hình 5.3. Cách định dạng các bit dữ liệu trong modul analog của S7-200 
66 
- Swith chọn giá trị và độ phân giải. 
Lưu ý: 
Dòng điện ngõ vào: 0 đến 20mA. 
Độ phân giải: 5uA hay từ 1,25mV đến 2,5mV. 
Giá trị số ngõ vào: -32000 đến 32000(lưỡng cực) hay từ 0 đến 32000(đơn cực). 
- Module analog EM235 
- Các thông số kỹ thuật: 
67 
- Cách kết nối ngõ vào, ra của modul EM 231. 
- Swith chọn giá trị và độ phân giải. 
68 
5.4 Đọc và chuẩn hoá giá trị đo 
Module analog thường có nhiều tầm đo khác nhau, tín hiệu ngõ vào có thể là 
dòng điện hoặc điện áp. Việc chuyển đổi từ tầm đo này sang tầm đo khác thì kết quả 
chuyển đổi thường có những sai số nhất định do cấu trúc của mạch chuyển đổi. Do 
vậy thông thường khi sử dụng module analog, người lập trình cần phải hiệu chỉnh 
trước khi sử dụng để kết quả chuyển đổi được chính xác hơn. Dưới đây trình bày 
việc hiệu chỉnh cho ngõ vào là điện áp, tầm đo 10V, ngõ vào chuyển đổi là 
AIW0. 
- Cấp điện cho module analog hoạt động khoảng 10 phút. 
- Chọn điện áp vào là 10V ( độ phân giải 2,5mV) 
- Chỉnh biến trở tại ngõ vào AIW0 để ngõ vào đạt giá trị 0V. 
- Dùng chương trình đọc giá trị analog vào và quan sát giá trị. Nếu chưa bằng không 
thì hiệu chỉnh độ lợi (Gain) để đạt giá trị = 0. 
- Chỉnh biến trở tại ngõ vào AIW0 để ngõ vào đạt giá trị 10V. 
- Dùng chương trình đọc giá trị analog vào và quan sát giá trị. Nếu chưa bằng 
32000 thì hiệu chỉnh độ lợi (Gain) để đạt giá trị = 32000. 
5.5 Hiển thị giá trị đo 
Tuỳ thuộc tín hiệu analog nối với ngõ vào nào của các modul analog mà giá trị 
chuyển đổi sẽ được lưu vào địa chỉ tương ứng. 
Ví dụ: Kênh A: AIW0 
 Kênh B: AIW2 
 Kênh C: AIW4 
 Kênh D: AIW6 
69 
Đọc tín hiệu Analog: 
Để đọc tín hiệu analog ta cần xác định tín hiệu analog là loại gì (0-10V, 4-20mA, cách 
đấu 2 dây, 4 dây) . 
Bước kế tiếp là phải chọn đúng loại tín hiệu trên phần cứng ( Chọn loại tín hiệu trên 
Modul đọc kênh analog) và chọn cấu hình phần cứng phù hợp 
Xác định tín hiệu đơn cực hay lưỡng cực 
Xác định địa chỉ cho từng kênh analog ( vd: PIW 256) 
Sử dụng hàm SCALE ( với S7-300) như sau : 
 Trước khi thực thi: 
IN- MW=22 
HI_LIM- MD20=100.0 
LO_LIM- MD30=0.0 
OUT- MD40=0.0 
BIPOLAR – I2.0= TRUE 
Sau khi thực thi: 
OUT- MD40=50.03978 
Hàm SCALE sẽ thực hiện việc cân chỉnh tín hiệu ở IN kết quả lưu trữ ở OUT 
OUT = (Float(IN)-K1)/(K2-K1)*(HI_LIM – LO_LIM)+ LO_LIM 
Tín hiệu BIPOLAR K1= - 27648 , K2= +27648 
Tín hiệu UNBIPOLAR K1= 0 , K2= +27648 
RET_VAL trả về lỗi nếu hàm SCALE có vấn đề. 
Câu hỏi ôn tập chương 5: 
1. Chuẩn hoá giá trị đo modul analog có ý nghĩa gì ? 
2. Các địa chỉ vùng nhớ nào dùng lưu trữ các giá trị analog? 
70 
 Tài liệu tham khảo 
[1]. Nguyễn Doãn Phước, Phan Xuân Minh- Tự động hoá với Simatic S7-200 – NXB 
Nông Nghiệp Hà nội – 2002. 
[2]. S7-200 Progammable Controller System Manual – Siemens. 
[3]. Tài liệu thực hành PLC S7-200 - Trung Tâm Việt Đức. 
[4]. Tài liệu trực tuyến: www.siemens.com. 

File đính kèm:

  • pdfbai_giang_dieu_khien_lap_trinh_i_nguyen_dinh_hoang.pdf