Hệ thống PLCNguồn
2.4.4 Cấu trúc bên trong của PLC.
Cấu trúc cơ bản bên trong của PLC bao gồm bộ xử lý trung tâm(CPU) chứa bộ vi xử lý hệ thống, bộ nhớ, và mạch nhập/xuất. CPU điều khiển và xử lý mọi hoạt động bên trong của PLC. Bộ xử lý trung tâm đợc trang bị đồng hồ có tần số khoảng 1 đến 8MHz, tần số này quyêt định tốc độ vận hành của PLC, cung cấp chuẩn bị thời gian và đồng bộ hoá tất cả các thành phần của hệ thống. Thông tin trong PLC đợc truyền dới dạng tín hiệu digital gọi là các bus. Chúng có thể là các vệt dẫn trên bảng mạch in hoặc củng có thể là các dây điện trong cáp bẹ. CPU sử dụng các bus dử liệu để gửi dữ liệu giữa các bộ phận, bus địa chỉ để gửi địa chỉ các vị trí truy cập dữ liệu đợc lu dữ và bus điều khiển dẫn các tín hiệu điều khiển nội bộ. Bus hệ thống đợc sử dụng để truyền thông giữa các cổng và thiết bị nhập/xuất.
Bus địa chỉ Bus điều khiển
Bus dữ liệu RAM chƯơng trình ngƯơì dùng ROM hệ thống RAM dữ liệu Thiết bị nhập/xuất CPU N gu ồn Đ ôn g h ồ Bộ đệm Khoá Bộ truyền động Khớp nối quang Giao diện bộ truyền động Các kênh nhập Các kênh xuất Bus hệ thống I/O Panel chƯơng trình
Hình 2-22: Cấu trúc bên trong của bộ PLC
CPU
Cấu hình của CPU tuỳ thuộc vào bộ vi xử lý, CPU gồm có: Bộ thuật toán và logic(ALU) chịu trách nhiệm xử lý dữ liệu, thực hiện các phép toán số học và các phép toán logic.
Bộ nhớ hay còn gọi các thanh ghi bên trong bộ xử lý, đợc sử dụng để lu trữ thông tin liên quan đến việc chạy chơng trình.
Bộ điều khiển đợc sử dụng để điều khiển chuẩn thời gian của các phép toán.
Bus
Bus là các đờng dẫn dùng để truyền thông bên trong PLC. Thông tin đợc truyền theo dạng nhị phân, theo nhóm bit, mổi bit là một số nhị phân 0 hoặc 1 t- ơng ứng với trạng thái on/off. Thuật ngữ từ đợc sử dụng cho nhóm bít tạo thành
thông tin nào đó. Vì vậy mỗi từ 8 bit này có thể là số nhị phân(00100110), cả 8 bít này đợc truyền đồng thời theo dây song song của chúng.
Hệ thống PLC gồm có bốn bus sau:
-Bus dữ liệu(Data Bus) tải dữ liệu đợc sử dụng trong quá trình xử lý của CPU. Nó là đờng truyền qua lại giữa bộ nhớ và bộ xử lý. Bộ xử lý 8 bít có một bus dữ liệu nội có thể thao tác các số 8 bít, có thể thực hiện các phép toán giữa các số 8 bít và phân phối kết quả theo giá trị 8 bit.
-Bus địa chỉ(Address Bus) đợc sử dụng để tải địa chỉ các vị trí trong bộ nhớ. Nh vậy mổi từ có thể đợc định vị trong bộ nhớ, mổi vị trí nhớ đợc gán một địa chỉ duy nhất. Mỗi vị trí đợc gán một địa chỉ sao cho dữ liệu đợc lu trữ ở vị trí nhất định, để CPU có thể đọc hoặc gi ở đó. Bus địa chỉ mang thông tin cho biết địa chỉ sẽ đợc truy cập. Nếu bus địa có 8 đờng truyền thì số lợng địa chỉ sẽ là 28 = 256 địa chỉ. Còn nếu bus có 16 đờng truyền thì số lợng địa chỉ là 216 = 65536 địa chỉ.
-Bus điều khiển(Control Bus) dùng để truyền các tín hiệu của bộ điều khiển, tín hiệu đợc CPU sử dụng để điều khiển các thiết bị nhớ nhận dữ liệu từ thiết bị nhập/xuất và tải các tín hiệu chuẩn thời gian đợc dùng để đồng bộ hoá các hoạt động.
-Bus hệ thống(System Bus) đợc dùng để truyền thông giữa các cổng nhập/xuất và các thiết bị nhập/xuất.
Bộ nhớ
Trong hệ thống PLC có rất nhiều bộ nhớ nh : ROM, RAM, EFROM ...
-ROM (Bộ nhớ chỉ đọc) cung cấp dung lợng nhớ cho hệ điều hành và dữ liệu cố định đợc CPU sử dụng. ROM không bị mất dữ liệu khi mất điện.
-RAM (Bộ nhớ truy cập ngẩu nhiên) dành cho chơng trình của ngời dùng và đồng thời là nơi lu trữ thông tin theo trạng thái của các thiết bị nhập, xuất, các giá trị của đồng hồ định giờ, các bộ đếm và các thiết bị nội vi khác. RAM dữ liêu đôi khi còn đợc coi là bảng dữ liệu hay bảng ghi. Một phần của bộ nhớ này dành cho các địa chỉ của ngỏ vào và ngỏ ra cùng với trạng thái của ngỏ vào và ngỏ ra đó. Một phần dành cho dữ liệu đợc cài đặt trớc, và một phần khác
dành để lu trữ các giá trị của bộ đếm, đồng hồ định giờ vv...Đây là bộ nhớ sơ cấp, trong đó các chỉ lệnh chơng trình và dữ liệu đợc lu trữ sao cho bộ xử lý trung tâm(CPU) có thể truy cập trực tiếp vào chúng thông qua bus dữ liệu cao tốc của bộ xử lý đó. CPU có thể đọc và ghi dữ liệu từ RAM. Khi mất điện các nội dung trên RAM sẽ bị mất.
-EPROM (Bộ nhớ chỉ đọc có thể xoá và lập trình đợc) đây là bộ nhớ ROM có thể đợc lập trình và chơng trình đợc lập này đợc thờng trú trong ROM.
Các PLC đều có một lợng RAM để lu trữ chơng trình do ngời dùng cài đặt và dữ liệu chợng trình. Tuy nhiên để tránh mất chơng trình khi bị mất điện, PLC sữ dụng ắc quy để duy trì nội dung RAM trong một thời gian. Sau khi đợc cài đặt vào RAM, chơng trình có thể đợc tải vào bộ nhớ EPROM, thờng là module có khoá đối với PLC , do đó chơng trình trở thành vĩnh cửu. Ngoài ra PLC còn có các bộ đệm tạm thời, lu trữ các kênh nhập/xuất.
Dung lợng lu trữ của bộ nhớ đợc xác định bằng số lợng từ nhị phân có thể lu trữ đợc. Nếu dung lợng bộ nhớ là 256 từ, thì bộ nhớ có thể lu trữ đợc 256 ì 8 = 2048bit nếu sử dụng từ 8bít, và 256 ì 16 = 4096bít nếu sử dụng từ 16bít.
Các loại PLC khác nhau có dung lợng khác nhau, có thể từ 1K ữ 64K.
Bộ cách ly quang điện
Thiết bị nhập/xuất là giao diện giữ hệ thống và thế giới bên ngoài, cho phép thực hiện các nối kết thông qua các kênh nhập/xuất đến thiết bị nhập và thiết bị xuất. Củng từ các thiết bị này chơng trình đợc đa vào hệ thống từ bảng chơng trình. Mỗi điểm nhập/xuất có một địa chỉ duy nhất mà CPU sử dụng.
Bức xạ hồng ngoại
Khi xung digital đi qua diode phát quang, sẽ tạo ra xung hồng ngoại. Xung này đợc transistor qung học tiếp nhận và làm tăng điện áp trong mạch. Khe hở giữa transistor và diode phát quang sẽ tạo ra sự cách điện nhng vẫn cho phép xung digital đi vào mạch để làm tăng xung digital trong mạch khác. Tín hiệu nhập có thể sử dụng trong PLC là các tín hiệu on-off 5V, 24V, 110V, 220V.
Thiết bị nhập/xuất.
Thiết bị nhập xuất của PLC đợc thiết kế sao cho dãi tín hiệu vào có thể biến đổi đợc thành tín hiệu digital 5V, và tín hiệu ra là khả dụng để tác dụng lên các thiết bị khả dụng. Khả năng này cho phép xử lý dãi tín hiệu vào và tín hiệu ra để các PLC đễ dạng sử dụng. Nói chung các tín hiệu vào từ modul nhập đợc chọn lựa bằng các công tắc DIP(Dual Inline Package) và đợc bố trí phía sau các modul.
Chúng chỉ có hai trạng thái on-off và đợc sử dụng để cài đặt các tham số cho modul, đồng thời củng đợc dùng để xác lập địa chỉ của các modul.
Tín hiệu nhập từ các sensor và tín hiệu xuất đến các thiết bị điều khiển có thể là :
-Tín hiệu rời rạc: Thực chất đây chỉ là các tín hiệu on-off. Nó đợc nhập từ các thiết bị nh công tắc cơ, công tắc gián tiếp, các bộ cảm biến quang điện vv...
-Tín hiệu analog: Là tín hiệu có kích cỡ liên quan đến đại lợng đang đợc cảm biến. Các tín hiệu này đợc nhập từ các cảm biến nhiệt độ, cảm biến áp suất, cảm biến khoảng cách dịch chuyển vv...
-Tín hiệu digital: Đó là các chuổi xung cấp vào cho PLC.
Các tín hiệu digital đợc nhập vào PLC nếu kênh nhập của PLC có khả năng chuyển tín hiệu đó thành tín hiệu digital, qua bộ chuyển đổi A/D(Analog- Digital Change).
Bộ chuyển
đổi A/D
Tín hiệu vào analog Tín hiệu ra digital
Hình 2-24: Bộ chuyển đổi tín hiệu A/D.
Một tín hiệu vào analog tạo thành các tín hiệu on-off trên 8 dây riêng rẽ. 8 tín hiệu này tạo thành từ dới dạng digital tơng ứng với mức tín hiệu analog. Nh vậy bộ chuyển đổi 8 bit có thể có 28 = 256 giá trị khác nhau, từ 00000000 ữ 11111111, nghĩa là từ 0 ữ 255.
Tín hiệu ra digital
00000010 00000001
00000000 Tín hiệu vào analog 1 2
Các thiết bị xuất có thể là
contactor, các rơle, transistor, triac vv...
Khi các đầu ra cần các tín hiệu analog ta có thể sử dụng bộ chuyển đổi D/A(Digital-Analog Change). Khi đó tín hiệu vào bộ D/A là các chuỗi bít trên một đớng song song, qua bộ D/A và cho tín hiệu ra analog.
Tín hiệu vào Tín hiệu ra analog digital Bộ chuyển đổi D/A Hình 2-25: Các bậc tín hiệu.
Hình 2-26: Bộ chuyển đổi tín hiệu D/A.
Xử lý các tín hiệu vào-ra(I/O).
PLC chạy liên tục thông qua chơng trình và cập nhật kết quả từ các tín hiệu vào. Mỗi vòng làm việc nh vậy đợc gọi là một vòng quét của PLC.
Hình 2-27. Hoạt động của PLC.
a. Cập nhật liên tục.
Trong phơng pháp này CPU quét các kênh nhập khi chúng xuất hiện theo các kênh của chơng trình. Mỗi điểm nhập sẽ đợc kiểm tra riêng rẽ và tác động của chúng lên chơng trình sẽ đợc xác định. Sự yêu cầu tầng điểm nhập theo mỗi lệnh chơng trình sẽ rất tốn thời gian. Nhiều kênh nhập có thể đợc quét trớc khi chơng trình có chỉ thị để thực thi hoạt động cụ thể và tín hiệu ra xuất hiện. Các tín hiệu ra duy trì trạng thái của chúng, bị khoá cho đến khi có sự cập nhật tiếp theo. Chuỗi làm việc nh sau.
-Tìm nạp và giải mã lệnh chơng trình thứ nhất.
-Quét các ngõ vào tơng ứng.
-Tìm nạp và giải mã lệnh chơng trình thứ hai.
-Quét các ngõ vào tơng ứng, với các chơng trình còn lại.
-Cập nhật các ngõ ra.
-Lặp lại toàn bộ chuỗi trên.
b. Sao chép khối tín hiệu nhập/xuất.
Do phơng pháp cập nhật liên tục cần có thời gian kiểm tra lần lợt từng điểm nhập, vì vậy khi số điểm nhập lớn thời gian kiểm tra sẽ dài và chơng trình
Quét tất cả các tín hiệu vào Thực hiện chư ơng trình Cập nhật tín hiệu ra
chạy sẽ chậm. Để thực hiện chơng trình trình nhanh hơn, một vùng đặc biệt của RAM đợc sử dụng làm bộ nhớ đệm giữa logic điều khiển và bộ nhập/xuất. Mỗi bộ nhập xuất đều có địa chỉ trong vùng nhớ này. Khi một chu kỳ đợc thực hiện, CPU quét tất cả các tín hiệu nhập và sao chép trạng thái của chúng vào các địa chỉ của bộ nhập/xuất trong RAM.
Khi chơng trình đợc thực hiện, CPU đọc dữ liệu đợc lu trữ trong RAM, theo yêu cầu và thực hiện các phép toán logic. Tín hiệu xuất đợc lu trữ trong vung RAM dành riêng cho nhập/xuất. Sau mỗi chu kỳ tín hiệu xuất trong RAM đều đợc chuyển đến các kênh xuất tơng ứng. Các tín hiệu xuất vẫn duy trì trạng thái của chúng cho đến khi chu kỳ nhập kế tiếp đợc khởi động. Chuỗi làm việc nh sau.
-Quét tất cả các đơn vị nhập và lu trữ vào RAM.
-Tìm kiếm, giải mã và thực thi tất cả các chỉ thị của chơng trình theo thứ tự và sao chép các chỉ thị xuất vào RAM.
-Cập nhật tất cả các chỉ thị xuất.
-Lặp lại chuỗi trên.
Nh vây thời gian cần thiết để hoàn tất một chu trình quét các ngõ vào và cập nhật các ngõ ra theo các lệnh chơng trình sẽ ngắn đi và chơng trình đợc thực hiện một cách nhanh chóng.
Tuy vậy các ngõ vào vẫn không đợc theo dõi một cách liên tục, các mẫu trạng thái của chúng đựơc lấy một cách định kỳ. Thời gian của chu kỳ thờng khoảng từ 10 ữ 50ms, nghĩa là các ngõ vào và các ngõ ra đợc cập nhật sau 10 ữ 50ms. Và nh vậy sự đáp ứng của hệ thông có thể bị trể. Điều này củng có nghĩa là nếu chu kỳ nhập rất xẩy ra ở thời điểm không thích hợp thì chu kỳ có thể bị bỏ sót. Do vậy một chu kỳ nhập bất kỳ phải đợc thực hiện trong khoảng thời gian lớn hơn thời gian của một vong quét của PLC.
Để tránh trờng hợp bị bỏ sót chu kỳ ngời ta sử dụng các modul đặc biệt có tác dụng khắc phục các thiếu sót trên.
IBM PC cung cấp 2 cổng nối tiếp: COM1 và COM2. Các cổng này giao tiếp theo tiêu chuẩn RS232. Chúng có thể đợc nối với một Modem để dùng cho mạng điện thoại, hay nối trực tiếp với một máy tính khác. Dữ liệu đợc truyền qua cổng này theo cách nối tiếp, nghĩa là dữ liệu đợc truyền đi nối tiếp nhau trên một đờng dây. Do các dữ liệu đợc truyền đi từng bít một nên tốc độ truyền chậm, các tốc độ truyền là 300, 600, 1200, 2400, 4800, 9600 bps, chiều dài dữ liệu có thể là 5,6,7 hoặc 8 bít kết hợp với các bít Start, Stop, Parity tạo thành một khung (frame). Ngoài ra cổng này còn có các điều khiển thu (Receive), phát (Trans), kiểm tra. Cách giao tiếp này cho phép khoảng cách truyền dữ liệu xa, tuy nhiên tốc độ truyền rất chậm, tốc độ tối đa là 20 kps.
2.4.5 Ngôn ngữ lập trình cho PLC
Ngôn ngữ lập trình cho của PLC có thể đợc dùng trong 3 dạng. Đây là cách nói của hầu hết các chuyên gia. PLC đợc lập trình theo biểu đồ lôgíc hoặc danh sách lệnh hoặc biểu đồ hình thang. Nhng chính xác hơn đợc gọi là ngôn ngữ dẫn Boolean gồm 4 thuật ngữ chính là: LOAD (YES), AND, OR, NOT. Ngoài ra để bổ xung cho nội dung đầu vào và đầu ra ngời ta đa vào TIM, CNT, FUN11, và HR.
Ta trình bày sơ lợc 3 cách trên ( dùng ngôn ngữ SYSWIN của hãng OMRON để minh hoạ).
a. Cách liệt kê (Stament lish) – (Danh sách lệnh).
Địa chỉ Ngôn ngữ lôgíc Nội dung 0000 LD 00003 0001 LD 00004 0002 AND NOT 00007