BÀI 1.1 ĐẠI CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH

BÀI 1: ĐẠI CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH

 

1.1 Cấu trúc của một PLC.

1.1.1. Cấu trúc PLC

Thiết bị điều khiển logic khả trình PLC (Programmable Logic Controller), là loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều khiển số thông qua một ngôn ngữ lập trình, thay cho việc thể hiện thuật toán đó bằng mạch số.

Như vậy, với chương trình điều khiển này, PLC trở thành một bộ điều khiển số số nhỏ, gọn, dễ thay đổi thuật toán và đặc biệt trao đổi thông tin với môi trường xung quanh (với các PLC khác hoặc với máy tính).

Toàn bộ chương trình điều khiển được lưu nhớ trong bộ nhớ của PLC dưới dạng các khối chương trình và được thực hiện lặp theo chu kỳ của vòng quét (Scan).

Để thực hiện được một chương trình điều khiển, tất nhiên PLC phải có chức năng như một máy tính, nghĩa là phải có bộ vi xử lý (CPU), một bộ điều hành, bộ nhớ để lưu chương trình điều khiển, dữ liệu…. PLC còn phải có các cổng vào/ra để giao tiếp được các đối tượng điều khiển và để trao đổi thông tin  với môi trường xung quanh.

-                Bên cạnh đó, nhằm phục vụ bài toán điều khiển số, PLC còn cần phải thêm các khối chức năng đặc biệt khác như: bộ đếm (Counter), bộ thời gian (Timer)… và những khối hàm chuyên dụng.

-                Thiết bị logic khả trình được lắp đặt sẵn thành bộ. Trước tiên chúng chưa có một nhiệm vụ nào cả. Tất cả các cổng logic cơ bản, chức năng nhớ, timer, cuonter v.v…được nhà chế tạo tích hợp trong chúng và được kết hợp với nhau bằng chương trình cho nhiệm vụ điều khiển cụ thể nào đó. Có nhiều thiết bị điều khiển và được phân biệt với nhau qua các chức năng sau:

+     Các ngõ vào và ra

+     Dung lượng nhớ

+     Bộ đếm (counter)

+     Bộ định thời (timer)

+     Bit nhớ

+     Các chức năng đặc biệt

+     Tốc độ xử lý

+     Loại xử lý chương trình.

-                Các thiết bị điều khiển lớn thì được lắp thành các module riêng. Đối với các thiết bị điều khiển nhỏ, chúng được lắp đặt chung trong một bộ. Các bộ điều khiển này có số lượng ngõ vào/ra cho trước cố định.

-                Thiết bị điều khiển được cung cấp tín hiệu bởi các tín hiệu từ cảm biến ở bộ phận ngõ vào của thiết bị tự động.

-                Tín hiệu này được xử lý tiếp tục thông qua chương trình điều khiển đặt trong bộ nhớ chương trình.

-                Kết quả xử lý được đưa ra bộ phận ngõ ra của thiết bị tự động để đến đối tượng điều khiển hay khâu điều khiển ở dạng tín hiệu.

-                Cấu trúc của một PLC có thể được mô tả như hình vẽ 2.1:

Hình 2.1. Cấu trúc của một PLC

 

-                Thông tin xử lý trrong PLC được lưu trữ trong bộ nhớ của nó. Mỗi phần tử vi mạch nhớ có thể chứa một bit dữ liệu. Bit dữ liệu (Data Binary Digital) là một chữ số nhị phân, chỉ có thể là 1 trong hai giá trị 1 hoặc 0. Tuy nhiên các vi mạch nhớ thường được tổ chức thành các nhóm để có thể chứa 8 bit dữ liệu.

-                Mỗi chuỗi 8 bit dữ liệu được gọi là một byte. Mỗi mạch nhớ là một  byte (byte nhớ), được xác nhận bởi một con số gọi là địa chỉ (address). Byte nhớ đầu tiên có địa chỉ 0. Dữ liệu chứa trong byte nhớ gọi là nội dung.

-                Địa chỉ của một byte nhớ là cố định và mỗi byte nhớ trong PLC có một địa chỉ riêng của nó. Địa chỉ của byte nhớ khác nhau, sẽ khác nhau, nội dung chứa trong một byte nhớ là đại lượng có thể thay đổi được. Nội dung byte nhớ cính là dữ liệu được lưu trữ tức thời trong bộ nhớ.

-                Để lưu giữ một dữ liệu mà một byte nhớ không thể chứa hết được thì PLC cho phép cặp 2 byte nhớ cạnh nhau được xem xét như là một đơn vị nhớ và được gọi là một từ đơn (Word). Địa chỉ thấp hơn trong 2 byte nhớ được dùng làm địa chỉ của từ đơn.

-                Ví dụ: Từ đơn có địa chỉ là 2 thì các byte nhớ có các địa chỉ là 2 và 3 với 2 là địa chỉ byte cao và 3 là địa chỉ của byte thấp.

IB2 IB3, IW 2, IW2 là từ đơn có địa chỉ 2, IB2 byte có địa chỉ 2,

IB3 byte có địa chỉ 3

-                Trong trường hợp dữ liệu cần được lưu trữ mà một từ đơn không thể chứa hết được , PLC cho phép ghép 4 byte liền nhau là một đơn vị nhớ và được gọi là từ kép (Double Word). Địa chỉ thấp nhất trong 4 byte nhớ này là địa chỉ của từ kép.

Ví dụ: Từ kép có địa chỉ là 100 thì các byte nhớ trong từ kép này có địa chỉ là 100, 101, 102, 103 trong đó 103 là địa chỉ byte thấp, 100 là địa chỉ byte cao.

                    MW100 MW101 MW102 MW103

DW100

-                Trong PLC bộ xử lý trung tâm có thể thực hiện một số thao tác như:

+     Đọc nội dung các vùng nhớ (bit, byte, word, double word)

+     Ghi dữ liệu vào vùng nhớ (bit, byte, word, double word)

-                Trong thao tác đọc, nội dung ban đầu của vùng nhớ không thay đổi mà chỉ lấy bản sao của dữ liệu để xử lý.

-                Trong thao tác ghi, dữ liệu được ghi vào trở thành nội dung của vùng nhớ và dữ liệu ban đầu bị mất đi.

-                Có 2 bộ nhớ trong CPU của PLC:

+     RAM (Random Access Memory): Bộ nhớ có thể đọc và ghi

+       ROM (Read Only Memory) Bộ nhớ chỉ đọc.

1.1.2. Bộ nhớ

Bộ nhớ của PLC có vai trò rất quan trọng, bởi vì nó được sử dụng để chứa toàn bộ chương trình điều khiển, các trạng thái của các thiết bị phụ trợ. Thông thường các bộ nhớ được bố trí trong cùng một khối với CPU.

Thông tin chứa trong bộ nhớ sẽ xác định việc các đầu vào, đầu ra được xử lý như thế nào.

Bộ nhớ bao gốm các tế bào nhớ được gọi là bit. Mỗi bit có hai trạng thái 0 hoặc 1.

Đơn vị thông dụng của bộ nhớ là K, 1K = 1024 tứ (word), 1 từ (word) có thể là 8 bit. Các PLC thường có bộ nhớ từ 1K đến 64K, phụ thuộc vào mức độ phức tạp của chương trình điều khiển.

Trong các PLC hiện đại có sử dụng một số kiểu bộ nhớ khác nhau. Các kiểu nhớ này có thể xếp vào hai nhóm: Bộ nhớ có thể thay đổi và bộ nhớ cố định. Bộ nhớ thay đổi là các bộ nhớ có thể mất các thông tin ghi trên đó khi mất điện.

Nếu chương trình điều khiển chứa trong bộ nhớ mà bị mất điện đột xuất do tuột dây tuột dây, mất điện nguồn thì chương trình phải được nạp lại và lưu vào bộ nhớ.

Bộ nhớ cố định ngược lại với bộ nhớ thay đổi là có khả năng lưu giữ thông tin ngay cả khi mất điện. Các loại bộ nhớ hay sử dụng trong PLC gồm:

1.1.2.1. Bộ nhớ RAM ( Random Access Memory)

Là bộ nhớ thay đổi, bộ nhớ RAM thường hoạt động nhanh và dễ dàng nạp chương trình điều khiển ứng dụng cũng như các dữ liệu. Một số bộ nhớ RAM sử dụng pin để lưu nội dung nhớ khi mất điện. Bộ nhớ RAM được được sản xuất từ công nghệ CMOS nên tiêu thụ rất ít năng lượng.

Các PLC có thể được mở rộng thêm nên bộ nhớ cũng phải được tăng thêm. Chương trình điều khiển đơn giản chỉ cần dung lượng bộ nhớ bé, ngược lại các chương trình phức tạp cần bộ nhớ dung lượng lớn.

Bộ nhớ được sử dụng rộng rãi đó là bộ nhớ RAM. Bộ nhớ RAM hoạt động nhanh và lưu các chương trình ứng dụng. Để chống lại các khả năng mất dữ liệu khi mất điện, các PLC thường sử dụng pin.

1.1.2.2. Bộ nhớ ROM (Read Only Memory):

Là bộ nhớ tĩnh dùng để nhớ các lệnh điều khiển cơ bản và các hàm toán học của PLC, không thay đổi nội dung nhớ ngay cả khi mất điện.

Ngoài ra còn có bộ nhớ EEPROM (Ellectronically Erasable Programable Read Only Memory) là bộ nhớ tĩnh có khả năng xóa bằng lập trình lại. EEPROM dùng để ghi chương trình ứng dụng.

Người sử dụng có thể truy cập vào 2 vùng nhớ của PLC là vùng nhớ chương trình và vùng nhớ dữ liệu.

Vùng nhớ chương trình là nơi chứa chương trình điều khiển ứng dụng, các chương trình con và các lỗi của chương trình.

Vùng nhớ dữ liệu lưu trữ các dữ liệu liên quan đến chương trình điều khiển như dữ liệu vào/ra; giá trị đầu, giá trị tức thời và giá trị cuối của bộ đếm lệnh hay bộ đấm thời gian; các hằng số và các biến của chương trình điều khiển. Hai vùng nhớ này được gọi là bộ nhớ dành cho người sử dụng.

Bộ xử lý tín hiệu còn có bộ nhớ hệ thống dùng để ghi các dữ liệu trung gian trong quá trình thực hiện các phép tính, các lệnh của chương trình và phối hợp giữa chúng; quét các dữ liệu và gửi các dữ liệu đến modul ra.

Bộ nhớ hệ thống do nhà sản xuất nên không thay đổi được và người sử dụng cũng không thể truy cập được

1.1.3. Bộ xử lý trung tâm

Là bộ phận xử lý tín hiệu hay CPU của PLC. Bộ xử lý tín hiệu có thể bao gồm một hay nhiều bộ vi xử lý tiêu chuẩn hoặc các bộ vi xử lý hỗ trợ cùng với các mạch tích hợp khác để thực hiện các phép tính logic, điều khiển và ghi nhớ các chức năng của PLC.

Bộ xử lý thu nhập các tín hiệu vào, thực hiện các phép tính logic theo chương trình, các phép tính đại số và điều khiển các đầu ra hay tương ứng. Phần lớn các PLC sử dụng các mạch logic chuyên dụng trên cơ sở bộ vi xử lý và các mạch tích hợp tạo nên đơn vị xử lý trung tâm CPU.

Bộ vi xử lý sẽ lần lượt quét các trạng thái của đầu vào và các thiết bị phụ trợ, thực hiện logic điều khiển được đặt ra bởi chương trình ứng dụng, thực hiện các tính toán và điều khiển các đầu ra tương ứng của PLC. Bộ vi xử lý nâng cao khả năng logic và khả năng điều khiển của PLC. Các PLC thế hệ cuối cho phép thực hiện các phép tính số học và các phép tính logic, bộ nhớ lớn hơn, tốc độ xử lý cao hơn và có trang bị giao diện với máy tính, với mạng nội bộ v.v…

Bộ vi xử lý điều khiển chu kỳ làm việc của chương trình. Chu kỳ này được gọi là chu kỳ quét của PLC, tức là khoảng thời gian thực hiện xong một vòng các lệnh của chương trình điều khiển.

1.1.4. Hệ điều hành

Sau khi bật nguồn, hệ điều hành sẽ đặt các counter, timer và bit nhớ với thuộc tính non-retentive (không được nhớ bởi Pin dự phòng) cũng như accu về 0.

Để xử lý chương trình, hệ điều hành đọc từng dòng chương trình từ đầu đến cuối. Tương ứng hệ điều hành thực hiện chương trình theo các câu lệnh.

1.1.5. Bit nhớ

Các bit nhớ là các phần tử nhớ, mà hệ điều hành ghi nhớ trạng thái tín hiệu.

1.1.6. Bộ đệm

Bộ là một vùng nhớ, mà hệ điều hành ghi nhớ trạng thái tín hiệu ở ngõ vào và ra nhị phân.

1.1.7. Accumulator

Là bộ nhớ trung gian mà qua đó Timer hay counter được nạp vào hay thực hiện các phép toán số học.

1.1.8. Counter, Timer

  Cũng là các vùng nhớ, hệ điều hành ghi nhớ các giá trị đếm trong nó.

1.1.9. Hệ thống Bus

  Bộ nhớ chương trình, hệ điều hành và các modul ngoại vi được kết nối với PLC thông qua Bus.

Một Bus bao gồm các dây dẫn mà các dữ liệu trao đổi. Hệ điều hành tổ chức việc truyền dữ liểu trên các dây dẫn này.           

1.2 Thiết bị điều khiển lập trình S7-200

Là thiết bị lập trình loại nhỏ của hãng Siemens (Đức) có cấu trúc kiểu modul và các modul mở rộng. Thành phần cơ bản của S7 - 200 là khối vi xử lý CPU 212 và CPU 224.

PLC viết tắc của programmable logic controller là thiết bị điều khiển logic cho phép thực hiện linh hoạt các thuật toán điều khiển logic qua một ngôn ngữ lập trình bộ điều khiển thỏa mãn các yêu cầu:

-                Lập trình dễ dàng vì ngôn ngữ lập trình dễ học

-                Gọn nhẹ, dễ dàng bảo quản, tu sử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 với các thiết bị thông tín máy tính, nối mạng các module mở rộng

-                Giá cả phù hợp

Bộ điều khiển lập trình PLC được thiết kế nhằm thay thế phương pháp điều khiển truyền thống dùng Rơ le và thiết bị cồng kềnh nó tạo ra một khả năng điều khiển thiết bị dễ dàng và linh hoạt dựa trên việc lập trình trên các lệnh logic cơ bản.

PLC còn thực hiện các tác vụ định thì và đếm làm  tăng khả năng điều khiển, thực hiện logic được lập trong chương trình và kích ra tín hiệu điều khiển cho thiết bị bên ngoài tương ứng, S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của hãng Siemens cấu trúc theo kiển module có các module mở rộng các module 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 212 và CPU 214 về hình thức bên ngoài sự khác nhau của hai loại CPU này nhận biết được nhờ số đầu vào ra và nguồn cung cấp

-                CPU 212 có 8 cổng vào và 6 cổng ra có khả năng mở rộng thêm bằng 2 module mở rộng

-                CPU 214 có 14 cổng vào và 10 cổng ra và có khả năng mở rộng thêm bằng 7 module  mở rộng

* CPU 212

-                512 từ đơn (word) tức là 1 kbyte, để lưu chương trình thuộc miền bộ nhớ đọc/ ghi được và không bị mất dữ liệu nhờ có giao diện với Eprom. Vùng nhớ với tính chất như vậy được gọi là vùng nhớ non – volatile

-                512 từ đơn được lưu dữ liệu trong đó có 100 từ nhớ đọc/ ghi thuộc miền non – volatile

-                8 cổng vào logic và 6 cổng ra logic

-                Có thể ghép nối 2 module để mở rộng số cổng vào/ra, bao gồm cả 2 module tương tự (analog)

-                Tổng số cổng logic vào/ ra cực đại là 64 cổng vào và 64 cổng ra

-                64 bộ tạo thời gian trễ (timer) trong đó có 2 timer có độ phân giải 1ms 8 timer có độ phân giải 10ms và 54 timer có độ phân giải 100ms

-                64 bộ đếm (counter) chia làm 2 loại loại bộ đếm chỉ đếm tiến và loại vừa đếm tiến vừa đếm lùi

-                368 bit nhớ đặc biệt sử dụng làm các bit trạng thái hoặc các bit đặt chế độ làm việc

-                Có các chế độ ngắt và xử lý tín hiệu khác nhau bao gồm ngắt truyền thông ngắt theo sườn lên hoặc sườn xuống. Ngắt theo thời gian và ngắt báo hiệu của bộ đếm tốc độ cao (2kHz)

-                Bộ nhớ không bị mất dữ liệu trong khoảng thời gian 50 giờ khi PLC bị mất nguồn nuôi

* CPU 214

-                CPU 214 bao gồm 14 ngõ vào và 10 ngõ ra có khả năng mở rộng thêm bằng 7 module mở rộng

-                2048 từ đơn (4 kbyte) thuộc miền nhớ đọc/ghi non – volatile để lưu chương trình (dùng nhớ có giao diện với EEPROM)

-                2048 từ đơn (4kbyte) thuộc kiểu đọc ghi để lưu dữ liệu (trong đó có 512 từ đầu thuộc miền EEPROM)

-                I0.0, Q0.0, V0.0, SM0.1

-                Tổng số cổng vào/ ra cực đại là 64 cổng vào và 64 cổng ra

-                Có 14 ngõ vào từ  I0.0 ¸ I0.1 và I1.0 ¸ I1.5

-                Có 10 ngõ ra từ  Q0.0 ¸ I0.1 và Q1.0 ¸ Q1.1

-                Có thể gắn thêm 1 module mở rộng bao gồm cả module analog

-                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

-                Có 128 bộ đếm chia làm hai loại

+     Chỉ đếm lên CTU

+     Vừa đếm lên vừa đếm xuống CTUD

-                Có 688 bít nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc

+     SM0.0: luôn ở trạng thái 1

+     SM0.1: bằng 1 trong vòng quét đầu tiên

-                Các chế độ ngắt và 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

-                Có 3 bộ đếm tốc độ cao với nhịp 2kHz và 7kHz

-                2 bộ phát xung nhanh cho dãy xung kiểu

+     PTO (Pulse traisn output): điều tần

+     PWM (Pulse width modulation): điều rộng xung

-                2 bộ 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ờ khi PLC bị mất nguồn nuôi

-                Các đèn báo trên S7-200 CPU 214

+     SF (đèn đỏ): đèn đỏ SF báo hiệu hệ thống bị hỏng. Đèn SF sáng lên khi PLC bị hỏng hóc

+     Run (đèn xanh): đèn xanh 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 chỉ định PLC đang ở chế độ dừng

+     Ix.x (đèn xanh): đèn xanh ở cổng vào chỉ định ở trạng thái tức thời của cổng Ix.x (X.X = 0.0 ¸ 1.5)

+     Qy.y (đèn xanh): đèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng Qy.y (y.y = 0.0 ¸ 1.1)

+     TERM: cho phép máy lập trình tự quyết định chế độ hoạt động cho PLC hoặc Run hoặcStop

Hình 2.2. SƠ ĐỒ BỐ TRÍ CÁC BỘ PHẬN CỦA S7-200 CPU

 

*Mô tả cổng truyền thông:

-                S7-200 sử dụng cổng truyền thông nối tiếp RS485 với rắc cắm 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.

-                Sơ đồ các chân của cổng truyền thông.

+     Chân 1: Nối mass                                          

+     Chân 2: 24 V DC

+     Chân 3: Truyền và nhận dữ liệu

+     Chân 4: không sử dụng                                                               

+     Chân 5: nối mass

+     Chân 6: 5V DC (có điện trở trong 100)

+     Chân 7: 24 V DC (dòng 120mA tối đa)

+     Chân 8: Truyền và nhận dữ liệu

+     Chân 9: không sử dụng

*Mô tả các đèn báo trên CPU S7- 200:

+     SF: Đèn màu đỏ, báo hiệu hệ thống bị hỏng.

+     RUN: Đèn xanh, chỉ định PCL đ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, chỉ định rằng PLC đang ở chế độ dừng. Dừng chương trình đang thực hiện lại.

+     Các đèn màu xanh từ I0.0 à I 1.5 chỉ trạng thái tức thời của ngỡ vào PLC các đèn này báo hiệu trạng thái của tín hiệu ngõ vào theo mức logic.

+     Các đèn màu xanh từ Q0.0 à Q1.1 chỉ trạng thái tức thời của ngõ ra PLC các đèn này báo hiệu trạng thái tín hiệu ngõ ra của PLC theo mức logic.

† Câu hỏi ôn tập: Em hãy so sánh CPU 212 và CPU 214?

1.2.1. Địa chỉ các ngõ vào ra:

Địa chỉ ô nhớ S7 - 200 gồm 2 phần: Phần chữ và phần số.

-                Các đường tín hiệu từ bộ cảm biến được nối vào các module vào (các đầu vào của PLC), các cơ cấu chấp hành được nối với các module ra (các đầu ra của PLC).

-                Hầu hết các PLC có điện áp hoạt động bên trong là 5V, tín hiệu xử lý là 12/24VDC hoặc 100/240VAC.

-                Mỗi đơn vị I/O có duy nhất một địa chỉ, các hiển thị trạng thái của các kênh I / O được cung cấp bởi các đèn LED trên PLC, điều này làm cho việc kiểm tra hoạt động nhập xuất trở nên dễ dàng và đơn giản.

-                Bộ xử lý đọc và xác định các trạng thái đầu vào (ON, OFF) để thực hiện việc đóng hay ngắt mạch ở đầu ra .

-                Plc S7-200 có hai họ: S7-200 CPU21x và S7-200 CPU22x.

1.2.1.1. Họ S7-200 CPU21x bao gồm: 212, 214, 215 và 216 (bảng 2.1)

 

NỘI DUNG

CPU212

CPU214

Bộ nhớ chương trình

512 W

2048W

Bộ nhớ dữ liệu

512 W

2048 W

Khả năng dự phòng bộ nhớ khi mất nguồn

50 giờ

190 giờ

I/O địa chỉ

8In/6Out

14In/10Out

Tốc độ thực hiện lệnh logic

1,2µs/lệnh

0,8µs/lệnh

Bảng 2.1

1.2.1.2. Họ S7-200 CPU22x bao gồm: 221, 222, 224 và 226 (bảng 2.2)

NỘI DUNG

CPU221

CPU222

CPU224

CPU226

CPU22XM

Bộ nhớ chương trình

2048W

2048W

4096W

4096W

8192W

Bộ nhớ dữ liệu

1024W

1024W

2560W

2560W

5120W

Khả năng dự phòng bộ nhớ khi mất nguồn

50 giờ

50 giờ

190 giờ

190 giờ

190 giờ

I/O địa chỉ

6In/4

Out

8In/6

Out

14In/10

Out

24In/16

Out

24In/16

Out

Tốc độ thực hiện lệnh logic

0,37µs/lệnh

Bảng 2.2

† Câu hỏi ôn tập: Em hãy so sánh các khối CPU 21X và CPU 22X?

1.2.2. Phần chữ chỉ vị trí và kích th­ước của ô nhớ

M     : Chỉ ô nhớ trong miền các biến cờ có kích th­ước là 1 bit

MB  : Chỉ ô nhớ trong miền các biến cờ có kích thư­ớc là 1 byte (8bit)

MW : Chỉ ô nhớ trong miền các biến cờ có kích thư­ớc là 2 byte (16bit)

MD  : Chỉ ô nhớ trong miền các biến cờ có kích th­ước là 4 byte (32bit)

I        : Chỉ ô nhớ có kích thước là 1 bit trong miền bộ đệm ngõ vào số

IB     : Chỉ ô nhớ có kích thước là 1 byte trong miền bộ đệm ngõ vào số

IW    :Chỉ ô nhớ có kích thước là 2 byte (1từ) trong miền bộ đệm ngõ vào số

ID    : Chỉ ô nhớ có kích thước là 4 byte (2từ) trong miền bộ đệm ngõ vào số

Q      : Chỉ ô nhớ có kích thước là 1 bit trong miền bộ đệm ngõ ra số

QB    : Chỉ ô nhớ có kích thước là 1 byte trong miền bộ đệm ngõ ra số

QW  : Chỉ ô nhớ có kích thước là 2 byte trong miền bộ đệm ngõ ra số

QD   : Chỉ ô nhớ có kích thước là 4 byte trong miền bộ đệm ngõ ra số

T      : Chỉ ô nhớ trong miền nhớ của bộ thời gian (Timer)

C      : Chỉ ô nhớ trong miền nhớ của bộ đếm (counter)

PIB  : Chỉ ô nhớ có kích th­ớc là 1 byte thuộc vùng Peripheral Input, thường là địa chỉ cổng vào của các modul tương tự

PIW : Chỉ ô nhớ có kích th­ớc là 2 byte thuộc vùng Peripheral Input, thường là  địa chỉ cổng vào của các modul tương tự

PID  : Chỉ ô nhớ có kích th­ớc là 4 byte thuộc vùng Peripheral Input, thường là địa chỉ cổng vào của các modul tương tự

PQB : Chỉ ô nhớ có kích thước là 1 byte thuộc vùng Peripheral Output, thường là địa chỉ cổng ra của các modul tương tự

PQW : Chỉ ô nhớ có kích thước là 2 byte thuộc vùng Peripheral Output, thường là địa chỉ cổng ra của các modul tương tự

PQD : Chỉ ô nhớ có kích th­ớc là 4 byte thuộc vùng Peripheral Output, thường là địa chỉ cổng ra của các modul t­ơng tự

1.2.3. Phần số chỉ địa chỉ của byte hoặc bit trong miền nhớ đã xác định

Nếu ô nhớ đã được xác định thông qua phần chữ là có kích thước 1 bit thì phần số sẽ là địa chỉ của byte và số thứ tự của bit trong byte đó, được tách với nhau bằng dấu chấm.

Ví dụ:  I 0.0 : Chỉ bit 0 của byte 0

            Q 0.0 : Chỉ bit 0 của byte 0

            M 0.0 : Chỉ bit 0 của byte 0

Trong trường hợp ô nhớ đã xác định là byte, từ hoặc từ kép thì phần số sẽ là địa chỉ của byte đầu tiên trong mảng byte của ô nhớ đó.

Ví dụ: QB 0 chỉ ô nhớ có kích thước 1 byte ( byte 0) trong bộ đệm ngõ ra số

1.2.4. Cấu trúc bộ nhớ của S7 - 200

Bộ nhớ của S7-200 được chia thành 4 vùng với 1 tụ điện (hình 2.3) có nhiệm vụ duy trì dữ liệu trong 1 khoảng thời gian nhất định khi mất nguồn.

Bộ nhớ của S7-200 có tính năng động cao đọc và ghi được trong toàn vùng, loại trừ phần các bit nhớ đặc biệt được ký hiệu bởi SM (special memory) chỉ có thể truy nhập để đọc.

Hình 2.3: bộ nhớ trong và ngoài của S7-200

Vùng chương trình: là miền bộ 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, vùng tham số thuộc kiểu non-volatile đọc/ghi được.

Vùng dữ liệu: được sử dụng để cất các dữ liệu của chương trình bao gồm các kết quả các phép tính, hằng số được định nghĩa trong chương trình, bộ đệm truyền thông…

Một phần của vùng nhớ này (200 byte đầu tiên đối với CPU 212, 1K byte đầu tiên đối với CPU 214) thuộc kiểu non-volatile đọc/ghi được.

Vùng đối tượng: Timer, bộ đếm, bộ đếm tốc độ cao và các ngõ vào/ ra tương tự được đặt trong vùng nhớ cuối cùng. Vùng này không thuộc kiểu non-volatile nhưng đọc/ghi được.

Hai vùng nhớ cuối có ý nghĩa  quan trọng trong việc thực hiện một chương trình, do vậy được trình bày cụ thể như sau.

1.2.4.2. Vùng dữ liệu

Vùng dữ liệu là một miền nhớ động. Nó có thể được truy nhập theo từng bit, từng byte, từng từ đơn (word) hoặc theo từng từ kép và được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng, các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ…

Ghi các dữ liệu kiểu bảng bị hạn chế rất nhiều vì các dữ liệu kiểu bảng thường chỉ được sử dụng cho những mục đích nhất định.

Vùng dữ liệu lại được chia ra 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 các chữ cái đầu của tên tiếng Anh, đặc trưng cho công dụng riêng của chúng như sau:+ V: Variable memory

-                I:   Input image register

-                O: Output image register

-                M: Internal memory bits

-                SM: Special memory bits

Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng từ đơn (word-2byte) hoặc từ kép (2word)

† Địa chỉ truy nhập được qui ước với công thức:

-                Truy nhập theo bit: Tên miền (+)địa chỉ byte (+)l (+) chỉ số bit.  Ví dụ V105.4 chỉ bit 4 của byte 150 thuộc miền V.

-                Truy nhập theo byte: Tên miền (+) B (+) địa chỉ của byte trong miền.  Ví dụ: VB150 chỉ byte 150 thuộc miền V.

-                Truy nhập theo từ đơn: Tên miền (+) W (+) địa chỉ byte cao của từ trong miền. Ví dụ: VW150 chỉ từ đơn gồm 2 byte 150 và 151 thuộc miền V, trong đó byte 150 có vai trò là byte cao trong từ.

-                Truy nhập theo từ kép: Tên miền (+)D (+) địa chỉ byte cao của từ trong miền. Ví dụ: VD150 chỉ từ kép gồm 4 byte 150,151,152 và 153 thuộc miền V, trong đó byte

-                Tất cả các byte thuộc vùng dữ liệu đều có thể truy nhập bằng con trỏ. Con trỏ được định nghĩa trong miền V hoặc các thanh ghi AC1, AC2, AC3. Mỗi con trỏ chỉ địa

-                150 có vai trò là byte cao và byte 153 là byte thấp trong từ kép.

-                chỉ gồm 4 byte (từ kép). Quy ước sử dụng con trỏ để truy nhập như sau:

Địa chỉ byte:(cao) là toán hạng lấy địa chỉ của byte, từ, hoặc từ kép.

Ví dụ: A    C1=  &  VB150, thanh ghi AC1 chứa địa chỉ byte 150 thuộc miền V

VD100= & VW150, từ kép VD100 chứa địa chỉ byte cao (VB150) của từ đơn VW150.

AC2= & VD150, thanh ghi AC2 chứa địa chỉ byte cao (VB150) của từ kép VD150.

+     Con trỏ: là toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉ vào.

+     Ví dụ như với phép gán địa chỉ trên thì

+     AC1, lấy nội dung của byte VB150

+     VD100, lấy nội dung của từ đơn VW150

+     AC2, lấy nội dung của từ kép VD150.

-                Phép gán địa chỉ và sử dụng con trỏ như trên cũng có tác dụng với những thanh ghi 16 bit của Timer, bộ đếm thuộc vùng đối tượng sẽ được trình bày dưới đây.

1.2.4.3.Vùng đối tượng

-                Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời, giá trị đặt trước của bộ đếm, hay Timer.

-                Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer, các bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các thanh ghi Accumulator(AC).

-                Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì các dữ liệu kiểu đối tượng chỉ được ghi theo mục đích cần sử dụng đối tượng đó. ( bảng 2.3)

 

Vùng nhớ

CPU 221

CPU 222

CPU 224

CPU 226

Vùng dữ liệu

V

V0.0¸V2047.7

V0.0¸V2047.7

V0.0¸V5119.7

V0.0¸V5119.7

I

I0.0¸I15.7

I0.0¸I15.7

I0.0¸I15.7

I0.0¸I15.7

Q

Q0.0¸Q15.7

Q0.0¸15.7

Q0.0¸Q15.7

Q0.0¸Q15.7

M

M0.0¸M31.7

M0.0¸M31.7

M0.0¸M31.7

M0.0¸M31.7

SM

SM0.0¸SM179.7

SM0.0¸SM179.7

SM0.0¸SM179.7

SM0.0¸SM179.7

S

S0.0¸S31.7

S0.0¸S31.7

S0.0¸S31.7

S0.0¸S31.7

L

L0.0¸L63.7

L0.0¸L63.7

L0.0¸63.7

L0.0¸L63.7

Vùng đối tượng

 

 

Timer

T0¸T255

T0¸T255

T0¸T255

T0¸T255

Counter

C0¸C255

C0¸C255

C0¸C255

C0¸C255

Analog inputs

none

AIW0¸AIW30

AIW0¸AIW62

AIW0¸AIW62

Analog outputs

none

AQW0¸AQW30

AQW0¸AQW62

AQW0¸AQW62

Thanh nghi ACC

AC0¸AC3

AC0¸AC3

AC0¸AC3

AC0¸AC3

Bộ đếm tốc độ cao

HC0,HC3,HC4, HC5

HC0,HC3, HC4, HC5

HC0¸HC5

HC0¸HC5

Bảng 2.3

1.2.4.4. Cổng vào/ra mở rộng

-                CPU 212 cho phép mở rộng nhiều nhất 2 modul và CPU214 nhiều nhất là 7 modul. Các modul tương tự và số đều có trong S7-200.

-                Có thể mở rộng ngõ vào/ra của PLC bằng cách ghép thêm vào nó các modul mở rộng về phía bên phải của CPU, làm thành một móc xích.

-                Địa chỉ các vị trí của modul được xác định bằng kiểu vào/ra và vị trí của modul trong móc xích, bao gồm các modul có cùng kiểu.

-                Ví dụ như một modul ngõ ra không thể gán địa chỉ của một modul ngõ vào, cũng như một modul tương tự không thể có địa chỉ như một modul số và ngược lại.

-                Các modul mở rộng số hay rời rạc đều chiếm chỗ trong bộ đệm tương ứng với số ngõ vào/ra của modul.

 

1.3 Xử lý chương trình.

1.3.1. Vòng quét ch­ương trình

 

                                               Hình 2.7

PLC thực hiện chương trình theo chu trình lặp (hình 2.7), mỗi vòng lặp được gọi là vòng quét.

Mỗi vòng quét bắt đầu bằng giai đoạn đọc dữ liệu từ các ngõ vào (contact, sensor, relay...) vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình.

Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh MEND.

Sau giai đọan thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra lỗi.

Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các ngõ ra.

Như vậy, tại thời điểm thực hiện lệnh vào/ra, lệnh này không trực tiếp làm việc với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng tham số.

Việc truyền thông giữa bộ đệm ảo với thiết bị ngoại vi trong giai đọan 1 và 4 là do CPU quản lý.

Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt để thực hiện lệnh này trực tiếp với cổng vào/ra.

Thường việc thực thi một vòng quét xảy ra với một thời gian rất ngắn, một vòng quét đơn (single scan) có thời gian thực hiện từ 1ms tới 100ms.

Việc thực hiện một chu kỳ quét dài hay ngắn còn phụ thuộc vào độ dài của chương trình và cả mức độ giao tiếp giữa PLC với các thiết bị ngoại vi (màn hình hiển thị…).

Vi xử lý có thể đọc được tín hiệu ở ngõ vào chỉ khi nào tín hiệu này tác động với khoảng thời gian lớn hơn một chu kỳ quét thì vi xử lý coi như không có tín hiệu này.

Tuy nhiên trong thực tế sản xuất, thường các hệ thống chấp hành là các hệ thống cơ khí nên tốc độ quét như trên có thể đáp ứng được các chức năng của dây chuyền sản xuất.

Để khắc phục thời gian quét dài, ảnh hưởng đến chu trình sản xuất các nhà thiết kế còn thiết kế hệ thống PLC cập nhật tức thời, các hệ thống này thường được áp dụng cho các PLC lớn có số lượng I/O nhiều, truy cập và xử lý lượng thông tin lớn.

CPU S7 – 200 được thiết kế để thực hiện một chuỗi các công việc, lặp đi lặp lại. Việc thực hiện một cách có chu kỳ gọi là chu kỳ vòng quét.

Trong 1 chu kỳ vòng quét, CPU thực hiện các nhiệm vụ sau :

-                Đọc các dữ liệu đầu vào.

-                Thực thi chương trình.

-                xử lý các yêu cầu truyền thông.

-                Tự chuẩn đoán lỗi.

-                Xuất kết quả đầu ra.

1.3.1.1. Đọc dữ liệu đầu vào 

Mỗi chu kỳ quét bắt đầu bằng việc đọc trạng thái của các đầu vào số và sau đó tới vùng nhớ đệm đầu vào.

1.3.1.2. Thực thi chương trình 

CPU được dữ liệu từ vùng nhớ đệm, bắt đầu từ câu lệnh đầu tiên cho tới câu lệnh sau cùng trong mỗi chu kỳ quét, kết quả được lưu lại ở các vùng nhớ thích hợp và bộ đệm ảo đầu ra.

1.3.1.3. Xử lý các yêu cầu truyền thông

Nếu có yêu cầu truyên thông thì CPU xử lý tất cả các thông báo được nhận từ cổng truyền thông.

1.3.1.4. Tự chẩn đoán lỗi

CPU Kiểm tra lỗi của hệ điều hành trong ROM, các vùng nhớ và các trạng tháI làm việc module.

1.3.2. Cấu trúc chư­ơng trình của S7 -200

Có thể lập trình cho PLC S7 – bằng một trong các phần mền sau:

-                STEP7 – Micro/DOS

-                STEP7 – Micro/WIN – V40(E)

-                Những phần mềm này đều có thể cài đặt được trên các máy lập trình họ PG7xx và các máy tính cá nhân (PC).

-                Các chương trình cho S7 – 200 phải có cấu trúc bao gồm chương trình chính (main program) và sau đó đến các chương trình con và các chương trình xử lý ngắt được chỉ ra sau đây ( hình 2.8):

+     Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND)

+     Chương trình con là một bộ phận của chương trình. Các chương trình con phải được viết sau lệnh kết thúc chương trình chính, đó là lệnh MEND.

+     Các chương trình xử lý ngắt là một bộ phận của chương trình. Nếu cần sử dụng chương trình xử lý ngắt phải viết sau lệnh kết thúc chương trình chính MEND.

-                Các chương trình con được nhóm lại thành một nhóm ngay sau chương trình chính. Sau đó đến các chương trình xử lý ngắt.

-                Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này.

-                Có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính.

  Cấu trúc của một PLC bao gồm chương trình chính (main program) và sau đó là các chương trình con và các chương trình xử lý ngắt.

1.3.3. Phương pháp lập trình

Có 3 phương pháp lập trình:

-                Phương pháp hình thang. (LAD)

-                Phương pháp liệt kê lệnh.(STL)

-                Phương pháp lập trình theo sơ đồ khối. (PBD)

Nh­ưng trong chương trình ta chỉ dùng phương pháp lập trình LAD:

LAD là một ngôn ngữ lập trình đồ hoạ. Những thành phần cơ bản dung trong LAD tương ứng với thành phần điều khiển Rơle.

-                Tiếp điểm: các tiếp điểm thường đóng  thường mở

-                Cuộn dây: 

-                Hộp (box) : Là mô tả các hàm khác nhau, nó làm việc khi có dòng điện chạy đền hộp.

-                Những dạng th­ờng đ­ợc miêu tả bằng hoop là các bộ thời gian (Timer), bộ đếm (Counter) và các hàm toán học.

1.4. Kết nối dây giữa PLC và các thiết bị ngoại vi (xem ở tài liệu phát tay)

15. Cài đặt và sử dụng phần mềm STEP 7 - Micro/win 32 (xem ở tài liệu phát tay)



Ngày:19/02/2020 Chia sẻ bởi:

CÓ THỂ BẠN QUAN TÂM