Tải bản đầy đủ (.pdf) (8 trang)

Chu trình làm việc, lập trình và cấu trúc chương trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (135.21 KB, 8 trang )

Chu trình làm việc, lập trình và cấu trúc chương trình

Chu trình làm việc, lập trình
và cấu trúc chương trình
Bởi:
Khoa CNTT ĐHSP KT Hưng Yên

Các phương pháp lập trình
Lập trình tuyến tính
Phần bộ nhớ của CPU dành cho chương trình ứng dụng có tên gọi là logic Block. Như
vậy logic block là tên chung để gọi tất cả các khối bao gồm những khối chương trình tổ
chức OB, khối chương trình FC, khối hàm FB.
Trong các loại khối chương trình đó thì chỉ có khối duy nhất khối OB1 được thực hiện
trực tiếp theo vòng quét. Nó được hệ điều hành gọi theo chu kỳ lặp với khảng thời gian
không cách đều nhau mà phụ thuộc vào độ dài của chương trình. Các loại khối chương
trình khác không tham gia vào vòng quét.
Với tổ chức chương trình như vậy thì phần chương trình trong khối OB1 có đầy đủ điều
kiện của một chương trình điều khiển thời gian thực và toàn bộ chương trình ứng dụng
có thể chỉ cần viết trong OB1 là đủ như hình vẽ sau.
Cách tổ chức chương trình với chỉ một khối OB1 duy nhất như vậy được gọi là lập trình
tuyến tính.

1/8


Chu trình làm việc, lập trình và cấu trúc chương trình

Khối OB1 được hệ thống gọi xoay vòng liên tục theo vòng quét.
Các khối OB khác không tham gia vào vòng quét được gọi bằng những tín hiệu báo
ngắt. S7-300 có nhiều tín hiệu báo ngắt như tín hiệu báo ngắt khi có sự cố nguồn nuôi,
có sự cố chập mạch ở các modul mở rộng, tín hiệu báo ngắt theo chu kỳ thời gian, và


mỗi loại tín hiệu báo ngắt như vậy cũng chỉ có khả năng gọi một khối OB nhất định. Ví
dụ tín hiệu báo ngắt sự cố nguồn nuôi chỉ gọi khối OB81, tín hiệu báo ngắt truyền thông
chỉ gọi khối OB87.
Mỗi khi xuất hiện tín hiệu báo ngắt hệ thống sẽ dừng công việc đang thực hiện lại, chẳng
hạn như tạm dừng việc thực hiện chương trình trong OB1, và chuyển sang thực hiện
chương trình xử lý ngắt tong các khối OB tương ứng. Ví dụ khi đang thực hiện chương
trình trong khối OB1 mà xuất hiện ngắt báo sự cố truyền thông, hệ thống sẽ tạm dừng
việc thực hiện chương trình trong OB1 lại để gọi chương trình trong khối truyền thông
OB87. Chỉ sau khi đã thực hiện xong chương trình trong khối OB87 thì hệ thống mới
quay trở về thực hiện tiếp tục phần chương trình còn lại trong OB1.
Lập trình cấu trúc
Với kiểu lập trình có cấu trúc thì khác vì toàn bộ chương trình điều khiển được chia
nhỏ thành các khối FC và FB mang một nhiệm vụ cụ thể riêng và được quản lý chung
bởi những khối OB. Kiểu lập trình này rất phù hợp cho những bài toán phức tạp, nhiều
nhiệm vụ và lại rất thuận lợi cho việc sửa chữa sau này.

2/8


Chu trình làm việc, lập trình và cấu trúc chương trình

• Khối OB (Organization Block): Khối tổ chức và quản lý chương trình điều
khiển. Có nhiều loại khối OB với những chức năng khác nhau ,chúng được
phân biệt với nhau bằng một số nguyên đi sau nhóm kí tự OB.
Ví dụ: OB10, OB85, ...
• Khối FC (Program Block): Khối chương trình với những chức năng riêng giống
như 1 chương trình con hoặc một hàm ( chương trình con có biến hình thức).
Một chương trình ứng dụng có thể có nhiều khối FC và các khối FC này được
phân biệt với nhau bằng một số nguyên sau nhóm kí tự FC.
Ví dụ: FC1,FC2….

• Khối FB (Function Block): Là loại khối FC đặc biệt có khả năng trao đổi 1
lượng dữ liệu lớn với các khối chương trình khác .Các dữ liệu này phhải được
tổ chức thành khối dữ liệu riêng có tên gọi là Data block.Một chương trình ứng
dụng có thể có nhiều khối FB và các khối Fb này được phân biệt với nhau bằng
một số nguyên sau nhóm kí tự FB. Chẳng hạn như FB1,FB2…
• Khối DB (Data Block): Khối chứa các dữ liệu cần thiết để thực hiện chương
trình. Các tham số của khối do người dùng tự đặt .Một chương trình ứng dụng
có thể có nhiều khối DB và các khối DB này được phân biệt với nhau bằng một
số nguyên sau nhóm kí tự DB. Ví dụ: DB1,DB2,...
Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển khối.
Xem những phần chương trình trong các khối như là các chương trình con thì S7_300
cho phép gọi chương trình con lồng nhau ,tức là chương trình con này gọi một chương
trình con khác và từ một chương trình con được gọi lại gọi tới một chương trình con thứ
3,… Số các lệnh gọi lồng nhau phụ thuộc vào từng chủng loại module CPU mà ta đang
sử dụng. Ví dụ đối với module CPU 314 thì số lệnh gọi lồng nhau nhiều nhất có thể cho
3/8


Chu trình làm việc, lập trình và cấu trúc chương trình

phép là 8.Nếu số lần gọi khối lồng nhau mà vượt quá con số giới hạn cho phép ,PLC sẽ
tự chuyển qua chế độ Stop và đặt cờ báo lỗi.
Các khối OB đặc biệt
Trong khi khối OB được thực hiện đều đặn ở từng vòng quét trong giai đoạn thực hiện
chương trình thì các khối OB khác chỉ được thực hiện khi xuất hiện tín hiệu báo ngắt
tương ứng ,nói cách khác chương trình viết cho các khối OB này chính là chương trình
xử lí tín hiệu ngắt (event).Chúng bao gồm:
• OB10 ( Time of Day Interrupt):Chương trình trong khối sẽ được thực hiện khi
giá trị của đồng hồ thời gian thực nằm trong một khoảng thời gian đã được quy
định. OB10 có thể gọi một lần ,nhiều lần cách đều nhau từng phút, từng

giơ,từng ngày ….Việc quy định khoảng thời gian hay số lần gọi OB10 được
thực hiện nhờ chương trình hệ thống SFC28 hoặc trong bảng tham số của
module CPU nhờ phần mềm Step 7.
• OB20 ( Time Day Interrupt): Chương trình trong khối sẽ được thực hiện sau
một khoảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ thống SFC32
để đặt thời gian trễ.
• OB35 (Cyclic Interrupt): Chương trình trong OB35 sẽ được thực hiện cách đều
nhau 1 khoảng thời gian cố định.Mặc định khoảng thời gian này sẽ là
100ms,xong ta có thể thay đổi nó trong bảng tham số của module CPU ,nhờ
phần mềm Step7.
• OB40 (Hardware Interrupt) : Chương trình trong OB sẽ được thực hiện khi xuất
hiện 1 tín hiệu báo ngắt từ ngoại vi đưa vào module CPU thông qua các cổng
vào ra số onboard đặc biệt,hoặc thông qua các module SM,CP,FM OB80
(Cycle Time Fault): Chương trình trong khối OB80 sẽ được thực hiện khi thời
gian vòng quét(Scan time) vượt quá khoảng thời gian cực đại đã được quy định
hoặc khi có một tín hiệu ngắt gọi một khối OB nào đó mà khối OB này chưa
kết thúc ở lần gọi trước.Mặc định thời gian Scan time cực đại là 150ms ,nhưng
có thể thay đổi nó thông qua bảng tham số của module CPU nhờ phần mềm
Step 7.
• OB81 (Power Supply fault): CPU sẽ gọi chương trình trong khối OB81 khi
phát hiện thấy có lỗi về nguồn nuôi.
• OB82( Diagnostic Interrupt):Chương trình trong OB82 được gọi khi CPU phát
hiện sự cố từ các Modul vào ra
• OB85( Not Load fault):Chương trình trong OB82 được gọi khi CPU phát hiện
thấy chương trình ứng dụng có sử dụng chế độ ngắt nhưng chương trình sử lí
tín hiệu ngắt lại không có trong khối OB tương ứng.
• OB87 ( Communication fault):Khối OB87 sẽ được gọi khi CPU phát hiện thấy
lỗi trong truyền thông ví dụ như không có tín hiệu trả lời từ các đối tác.

4/8



Chu trình làm việc, lập trình và cấu trúc chương trình

• OB100 ( Start Up Information):Khối OB100 sẽ được thực hiện 1 lần khi CPU
chuyển trạng thái Stop sang Run.
• OB121 ( Synchronous error):Khối OB121 sẽ được gọi khi CPU phát hiện thấy
lỗi logic trong chương trình như đổi sai kiểu dữ liệu hoặc lỗi truy nhập khối DB
,FC,FB không có trong bộ nhớ CPU.
• OB122 ( Synchronous error):Khối OB122 sẽ được gọi khi CPU phát hiện thấy
lỗi truy cập module trong chương trình,ví dụ chương trình có lệnh truy nhập
module vào ra mở rộng nhưng lại không tìm thấy module này.
SFB: System Function block
SFC: System function
SDB: System Data Block
Chú ý: FB luôn sử dụng chung với DB

Chu trình làm việc
PLC thực hiện chương trình theo một chu trình kín được lặp lại liên tục cho đến khi nào
có lệnh dừng. Mỗi vòng lặp hay còn gọi là vòng quét được bắt đầu bằng việc quét các số
liệu từ các kênh vào/ra, chuyển các số liệu này đến vùng nhớ đệm đầu vào/ra, tiếp theo
là bước thực hiện các lệnh tiếp theo của chương trình như thực hiện các phép tính logic,
các phép tính số học để xác định các tác động điều khiển, bước kế tiếp là chuyển dữ liệu
từ bộ nhớ đệm đầu ra đến các kênh ra. Khi có một lệnh dừng nào đó xuất hiện thì PLC
sẽ dừng các hoạt động xử lý thông tin và truyền tin để kiểm tra khối chương trình tương
ứng với lệnh ngắt.

5/8



Chu trình làm việc, lập trình và cấu trúc chương trình

Vòng quét càng ít lệnh dừng thì thực hiện càng nhanh. Nếu chương trình hoạt động bình
thường thì chu kỳ của mỗi vòng quét có độ dài như nhau. Tốc độ quét càng cao thì có
thể cho phép nhập được nhiều số liệu gần như đồng thời trong thời gian quét, và như
vậy khả năng điều khiển được đồng thời nhiều đại lượng là hoàn toàn có thể thực hiện
được. Khả năng xử lý tín hiệu trong một chu trình điều khiển không có hiện tượng trễ
còn được gọi là điều khiển trong thời gian thực. Các PLC và các PC ngày nay có tốc độ
xử lý rất cao nên chất lượng của các hệ thống điều khiển số không kém chất lượng của
các hệ thống điều khiển tương tự. Chu kỳ quét của PLC thường vào khoảng từ 1 đến 25
mi li giây. Thời gian quét đầu vào và đầu ra tương đối ngắn so với chu kỳ quét của PLC.
Phần lớn thời gian dùng cho việc tính toán các hàm điều khiển.
Thông thường chương trình được nạp vào PLC bởi bộ lập trình cầm tay, thiết bị lập trình
chuyên dụng hay máy tính cá nhân. Bộ lập trình cầm tay thường dùng cho các PLC rẻ
tiền, đơn giản. Bộ lập trình chuyên dụng được trang bị màn hình và các phím tương ứng
với các phần tử của sơ đồ thang để tiện cho việc lập trình. Các thiết bị này cho phép kiểm
tra việc thực hiện các lệnh của chương trình trong thời gian thực. Ngày nay ta thưòng sử
dụng các phần mềm lập trình cho PLC trên máy tính và sau khi chay thử mô phỏng có
thể nạp vào PLC thông qua cổng RS232.
Bộ nạp EPROM cho phép nạp chương trình ghi trên EPROM vào bộ nhớ của PLC. Thiết
bị mô phỏng thường gắn với các đi ốt quang điện LED hoặc các côang tắc để thử nghiệm
các bước của chương trình logic.
Bộ xử lý đồ hoạ thường dùng để làm giao diện giữa hệ thống mô phỏng và hệ thống hiển
thị bằng màn hình.
Các PLC hoạt động liên tục từ lúc được bật lên. Khác với máy tính thông thường, PLC
không cần có hệ điều hành, không cần có phần mềm nào ngoài phần mềm của người sử
dụng và riêng đối với các máy CNC hoặc rô bốt có thể có thêm phần mềm đồ hoạ dùng
cho mô phỏng các quá trình gia công hay các hoạt động của rô bốt . PLC lần lượt đọc
các đầu vào, thực hiện tính toán, xác định các tác động điều khiển, truền các tác đông
điều khiển đến đầu ra và lặp lại. Kết nối với mô đun vào là các đại lượng vật lý. Các đại

lượng vào này có thể là có hai dạng:
- Các đại lượng tương tự (analog): là các đại lượng đến từ các cảm biến tương tự.
- Các đại lượng lô gíc: là các đại lượng thể hiện các trạng thái hay các điều kiện để thực
hiện một hàm lô gíc hay chính là các quyết định lô gíc. Các đại lượng này đên từ các
công tắc, cảm biến số.
Các mô đun ra kết nối các đầu ra với các động cơ, các cuộn hút, các đèn tín hiệu vv. Tác
động của chương trình điều khiển là các thao tác khởi động động cơ, dừng động cơ, bật/
tắt đèn, kích hoạt một cơ cấu nào đó vv.

6/8


Chu trình làm việc, lập trình và cấu trúc chương trình

Tất cả các PLC đều thực hiện các chức năng điều khiển về mặt bản chất là giống nhau.
Tuy nhiên về cách thể bằng lập trình có thể khác nhau, phụ thuộc vào nhà sản xuất PLC.
Mỗi đầu vào của PLC được nối với một hay nhiều thiết bị mà qua đó dòng điện bị chặn
lại hay được cho đi qua. Nếu có điện áp trên đầu vào thì đầu vào đó được được xem như
đang ở trạng thái bật. Ngược lại nếu không có điện áp trên đầu vào, có nghĩa là đầu vào
đang ở trạng thái tắt.
PLC kiểm tra trạng thái các đầu vào và so sánh với chương trình lô gíc để đóng hay ngắt
tín hiệu điện áp trên đầu ra. Các PLC không cần biết đến các các thiết bị có được kết nối
vào nó qua mô đun vào hay mô đun ra hay không, mà chúng chỉ đơn giản là kiểm tra
các trạng thái của các đầu vào và bật hay tắt các đầu ra tương ứng với lô gíc của chương
trình điều khiển.
Mỗi vòng điều khiển hoàn thành được gọi là một chu kỳ quét. Thời gian của một chu
kỳ là rất quan trọng, vì nó liên quan đến số lượng các đầy ra có thể điều khiển được của
PLC. Thời gian chu kỳ càng nhỏ PLC càng hoath động nhanh, càng có thể điều khiển
được nhiều đại lượng vật lý khác nhau. Chính vì vậy PLC trở nên thiết bị điều khiển lý
tưởng cho các máy và thiết bị công nghiệp.

Khi chưa có chương trình điều khiển PLC không thể hoạt động được. PLC chỉ hoạt động
khi đã có chương trình điều khiển nạp vào bộ nhớ của nó. Chương trình điều khiển có
thể nạp vào PLC bằng 3 phương pháp khác nhau:
- Lập trình nhờ các phần mềm lập trình trên máy tính và nạp chương trình lên PLC qua
cổng RS232 hay qua cổng kết nối với mạng LAN hay mạng Internet. Máy tính cá nhân
là phương tiện lập trình tốt nhất cho PLC, bởi vì chứng ta có thể quan sát được nhiều
dòng lệnh trên màn hình, soạn thảo và truy cập vào chương trình dễ dàng. Điều bất tiện
là máy tính cá nhân không thích hợp lắm với môi trường công nghiệp và khả năng di
chuyển kém.
- Lập trình bằng thiết bị lập trình sách tay: lập trình trực tiếp vào bộ nhớ của PLC. Thiết
bị này không dễ sử dụng như máy tính, những lại tiện cho việc mang đi theo người. Lập
trình được thực hiện từng dòng lệnh tương ứng với từng bậc của sơ đồ thang.
- Lập trình trên máy tính, nạp lên thẻ nhớ và sau đó nạp từ thẻ nhớ vào PLC qua cổng
tiêu chuẩn. Các thẻ nhớ EEPROM là các bộ nhớ ROM có thể xoá và lập trình lại được
bằng điện. Ưu điểm của EEPROM là nó có thể thay đổi chương trình của PLC bằng
cách cắm vào cổng của PLC.
Khi nạp chương trình điều khiển từ PC đến PLC, để chương trình có thể chạy được, nó
phải được nạp vào bộ nhớ của bộ xử lý. Khi nạp chương trình trực tiếp từ PC cần phảI
chú ý các thao tác sau:

7/8


Chu trình làm việc, lập trình và cấu trúc chương trình

1. Tất cả các phần tử có liên quan đến PLC phải được ngắt điện.
2. Nối PC với PLC
3. Chuyển công tắc trên bộ xử lý sang chế độ điều khiển từ xa.
4. Bật công tắc nguồn để cấp điện vào PLC và các bộ phận của nó.
5. Thực hiện bước tải chương trình điều khiển từ PC về PLC.

6. Khi việc tải chương trình đã hoàn tất, chuyển sang chế độ gián tiếp, ngừng kết nối với
PC (stay offline). Lúc này PLC có thể chạy chương trình mới nạp về.

8/8



×