Xem mẫu

  1. GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 Tổng quát về PLC I. 1. Giới thiệu 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 “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 môi Modul mở rộng. ♦ Giá cả cá thể cạnh tranh được. Các thiết kế đầu tiên là nhằm thay thế cho các phần c ứng Relay dây n ối và các Logic thời gian .Tuy nhiên ,bên cạnh đó việc đòi hỏi tăng c ường dung lượng nh ớ và tính d ể dàng cho PLC mà vẫn bảo đảm tốc độ xử lý cũng như giá cả … Chính đi ều này đã gây ra s ự quan tâm sâu sắc đến việc sử dụng PLC trong công nghiệp . Các t ập l ệnh nhanh chóng đi từ các lệnh logic đơn giản đến các lệnh đếm , đ ịnh th ời , thanh ghi d ịch … sau đó là các chức năng làm toán trên các máy lớn … Sự phát triển các máy tính dẫn đến các b ộ PLC có dung lượng lớn , số lượng I / O nhiều hơn. Trong PLC, phần cứng CPU và chương trình là đ ơn v ị c ơ b ản cho quá trình đi ều khiển hoặc xử lý hệ thống. Chức năng mà bộ điều khiển cần thực hiện sẽ được xác đ ịnh bởi một chương trình . Chương trình này được nạp sẵn vào bộ nhớ c ủa PLC, PLC s ẽ th ực hiện viêc điều khiển dựa vào chương trình này. Như vậy nếu muốn thay đổi hay m ở rộng chức năng của qui trình công nghệ , ta chỉ cần thay đổi chương trình bên trong b ộ nh ớ c ủa PLC . Việc thay đổi hay mở rộng chức năng sẽ được thực hi ện một cách dể dàng mà không cần một sự can thiệp vật lý nào so với các bộ dây nối hay Relay . 2. Cấu trúc , nguyên lý hoạt động của PLC a. Cấu trúc 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 ).
  2. 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, … b. Nguyên lý hoạt động 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ệ 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. : Bus dùng để truyền dữ liệu. Data Bus 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
  3. đị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 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ác ngỏ vào ra I / O Các đường tín hiệu từ bộ cảm biến được nối vào các modul ( các đầu vào c ủa PLC ) , các cơ cấu chấp hành được nối với các modul 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 . 3. Các hoạt động xử lý bên trong PLC a. Xử lý chương trình Khi một chương trình đã được n ạp vào bộ nh ớ c ủa PLC , các l ệnh s ẽ đ ược trong một vùng địa chỉ riêng lẻ trong bộ nhớ . PLC có bộ đếm địa chỉ ở bên trong vi xử lý, vì vậy ch ương trình ở bên trong b ộ nh ớ sẽ được bộ vi xử lý thực hiện một cách tuần tự từng lệnh m ột, t ừ đ ầu cho đ ến cu ối chương trình . Mỗi lần thực hiện chương trình từ đầu đến cu ối đ ược g ọi là m ột chu kỳ thực hiện. Thời gian thực hiện một chu kỳ tùy thuộc vào tốc độ xử lý c ủa PLC và đ ộ l ớn của chương trình. Một chu lỳ thực hiện bao gồm ba giai đoạn nối tiếp nhau : ♦ Đầu tiên, bộ xử lý đọc trạng thái của tất cả đầu vào. Phần chương trình phục vụ công việc này có sẵn trong PLC và được gọi là hệ điều hành .
  4. ♦ Tiếp theo, bộ xử lý sẽ đọc và xử lý tuần tự lệnh một trong chương trình. Trong ghi đọc và xử lý các lệnh, bộ vi xử lý sẽ đọc tín hi ệu các đầu vào, th ực hi ện các phép toán logic và kết quả sau đó sẽ xác định trạng thái của các đầu ra. ♦ Cuối cùng, bộ vi xử lý sẽ gán các trạng thái mới cho các đầu ra tại các modul đầu ra. b. Xử lý xuất nhập Gồm hai phương pháp khác nhau dùng cho việc xử lý I / O trong PLC :  Cập nhật liên tục Điều nay đòi hỏi CPU quét các lệnh ngỏ vào (mà chúng xu ất hi ện trong ch ương trình ), khoảng thời gian Delay được xây dựng bên trong để chắc ch ắn r ằng ch ỉ có nh ững tín hiệu hợp lý mới được đọc vào trong bộ nhớ vi xử lý. Các lệnh ngỏ ra được lấy tr ực tiếp tới các thiết bị. Theo hoạt động logic của chương trình , khi l ệnh OUT đ ược th ực hiện thì các ngỏ ra cài lại vào đơn vị I / O, vì thế nên chúng vẫn giữ được trạng thái cho tới khi lần cập nhật kế tiếp.  Chục ảnh quá trình xuất nhập Hầu hết các PLC loại lơn có thể có vài trăm I / O, vì th ế CPU ch ỉ có th ể x ử lý m ột lệnh ở một thời điểm . Trong suốt quá trình thực thi, tr ạng thái m ỗi ngõ nh ập ph ải đ ược xét đến riêng lẻ nhằm dò tìm các tác động của nó trong chương trình. Do chúng ta yêu c ầu relay 3ms cho mỗi ngõ vào, nên tổng thời gian cho hệ th ống l ấy m ẫu liên t ục tr ở nên r ất dài và tăng theo số ngõ vào. Để làm tăng tốc độ thực thi chương trình, các ngõ I / O đ ược c ập nh ật t ới m ột vùng đặc biệt trong chương trình. Ở đây, vùng RAM đặc biệt này được dùng nh ư m ột b ộ đ ệm lưu trạng thái các logic điều khiển và các đơn vị I / O. Mỗi ngõ vào ra đều có một địa chỉ I / O RAM này. Suốt quá trình copy tất c ả các tr ạng thái vào trong I / O RAM. Quá trình này xảy ra ở một chu kỳ chương trình (từ Start đến End ). Thời gian cập nhật tất cả các ngõ vào ra ph ụ thu ộc vào t ổng s ố I/O đ ược copy tiêu biểu là vài ms. Thời gian thực thi chương trình phụ thuộc vào chi ều dài chương trình đi ều khiển tương ứng mỗi lệnh mất khoảng từ 1÷ 10 µs. II. PLC SIMATIC S7-200 CPU 214 1. Cấu trúc phần cứng của CPU 214 S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của Hãng SIEMNS (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.
  5. ♦ 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. ♦ 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 ọ 1 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. Giấti thích 1 Đả Chân 2 24 VDC Truyền và nhận dữ liệu 3 543 21 ····· Không sử dụng 4 Đất 5 5 VDC (điện trở trong 100Ω) 6 9876 ···· 24 VDC (120 mA tối đa) 7 Truyền và nhận dữ liệu 8 Không sử dụng 9
  6. 2. 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 để đọ MIỀN NHỚ NGOÀI EEPROM Chương trình Chương trình Chương trình Tham số Tham số Tham số Tụ Dữ liệu Dữ liệu Dữ liệu Vùng đối tượng ♦ 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. I : Input image register. O : Output image regiter. M : Internal Memory bits. SM : Special Memory bits. Tất cả các miền này đều có thể truy nhập theo từng bít, từng byte, t ừng t ừ (word) hoặc từ kép (double word). ♦ Vùng đối tượng Bao gồm các thanh ghi Timer, bộ đếm tốc độ cao, bộ đệm vào ra, thanh ghi AC. Vùng này không thuộc kiểu Non-Volatile nhưng đọc / ghi được . 3. Mở rộng cổng vào ra CPU 214 cho phép mở rộng nhiều nhất 7 Modul. Các modul m ở r ộng t ương t ự và có thể mở rộng cổng vào của PLC bằng cách ghép nối thêm vào nó các modul m ở r ộng v ề
  7. phía bên phải của CPU, làm thành một móc xích . Địa chỉ của các vị trí c ủa các modul đ ược xác định cùng kiểu . Ví dụ như một modul c ổng ra không th ể gán đ ịa ch ỉ c ủa m ột modul cổ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 tương tự đều chiếm chổ trong bộ đệm, tương tự v ới số đầu vào/ra của modul . Sau đây là địa chỉ của một số modul mở rộng trên CPU214 Modul 0 Modul 1 Modul 2 Modu3 Modul 4 CPU214 4vào/4a 8 vào 3vào/1a 8 ra 3vào/1a Analog I0.0 Q0.0 I2.0 I3.0 AIW 0 Q3.0 AIW8 I0.1 Q0.1 I2.1 I3.1 AIW 2 Q3.1 AIW12 I0.2 Q0.2 I2.2 I3.2 AIW 4 Q3.2 AQW 4 I0.3 Q0.3 I2.3 I3.3 Q3.3 I0.4 Q0.4 Q2.0 I3.4 Q3.4 I0.5 Q0.5 Q2.1 I3.5 AQW 0 Q3.5 I0.6 Q0.6 Q2.2 I3.6 Q3.6 I0.7 Q0.7 Q2.3 I3.7 Q3.7 I1.0 Q1.0 I1.1 Q1.1 I1.2 I1.3 I1.4 I1.5 4. Cấu trúc chương trình của S7-200 Có thể được lập trình cho PLC S7-200 bằng cách sử dụng một trong các phần mềm :
  8. Step 7 – Micro / Dos Step 7 – Micro / Win 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ọ PG 7xx và các máy tính cá nhân. 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. 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 ph ải đ ược vi ết sau lệnh kết thúc chương trình đó là lệnh MEND. Các chương trình xử lý ngắt cũng là m ột b ộ phận c ủa ch ương trình. N ếu c ần s ử dụng phải viết sau lệnh kết thúc chương trình chính (MEND). Các chương trình đượ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. Cũng có thể do trộn lẫn các chương trình con và ch ương trình xử lý ainắt ở sau chương trình chính M ng program Main Thực hiện trong vòng quét MEND SBRO Chương trình con thứ nhất Thực hiện khi chương trình chính gọi RET SBRn Chương trình thứ n+1 RET INT 0 Chương trình xử lý ngắt thứ nhất RET I INT n Chương trình xử lý ngắt thứ n+1 5. Thực hiện chương trình của S7-200 RET I PLC thực hiện chương trình theo chu kỳ lặp. Mỗi vòng lặp đ ược gọi là vòng quét (scan). Mỗi vòng quét được bắt đầu bằng giai đoạn đọc các dữ li ệu từ các c ổng 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 k ết thúc MEND. Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm 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 cổng ra. 4. Chuyển dữ liệu từ bộ 1. Nhập dữ liệu từ đệm ảora ngoại vi ngoại vi vào . 2.Thực hiện 3. Truyền thông và tự kiểm tratại ithời điểm thực hiện lệnh vào / ra thôngcthương trình không làm vi ệc h Như vậy lỗ ường l ệnh trực tiếp cổng vào ra mà chỉ thông qua bộ đệm ảo c ủa c ổng trong vùng nh ớ tham s ố. Vi ệc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đo ạn (1) và (4) do CPU qu ản lý.
  9. Khi gặp lệnh vào / ra ngay lập tức 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 và ra. Nếu sử dụng các chế độ ngắt chương trình tương ứng v ới t ừng tín hi ệu ng ắt đ ược soạn thảo và cài đặt như một bộ phận của chương trình. Chương trình xử lý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt và có th ể xảy ra ở b ất c ứ đi ểm nào trong vòng quét. 6. Các toán hạng lập trình cơ bản Có 6 phần tử lập trình cơ bản, mỗi phần tử có công dụng riêng. Đ ể d ễ dàng xác đ ịnh thì mỗi phần tử được gán cho mộ ký tự: ♦I : Dùng để chỉ ngõ vào vật lý nối trực tiếp vào PLC. ♦Q : Dùng để chỉ ngõ ra vật lý nối trực tiếp từ PLC. ♦T : Dùng để xác định phần tử định thời có trong PLC. ♦C : Dùng để xác định phần tử đếm có trong PLC. ♦ M và S : Dùng như các cờ hoạt động như bên trong PLC. Tất cả các phần tử (toán hạng) trên có hai trạng thái ON hoặc OFF (1 hoặc 0). Cuộn dây có thể được dùng để điều khiển trực tiếp ngõ ra t ừ PLC (nh ư ph ần t ử Q) hoặc có thể điều khiển bộ định thì, bộ đếm hoặc cờ (như phần tử M, S). Mỗi cuộc dây được gắn với các công tắc. Các công tắc này có thể là thường mở hoặc thường đóng. Các ngõ vào vật lý nối đến bộ điều khiển lập trình (ph ần t ử I) không có cu ộn dây đ ể lập trình. Các phần tử này chỉ có thể dùng ở dạng các công tắc mà thôi (lo ại th ường đóng và thường mở). III. NGÔN NGỮ LẬP TRÌNH CỦA S7-200 CPU 214 1. Phương pháp lập trình S7-200 biểu diễn một mạch logic cứng bằng một dãy các lệnh l ập trình. Ch ương trình bao gồm một dãy các tập lệnh. S7-200 thực hi ện chương trình b ắt đ ầu t ừ l ệnh l ập trình đầu tiên và kết thúc ở lập trình cuối trong một vòng quét (scan). Một vòng quét (scan cyele) được bắt đầu bằng một vi ệc đ ọc tr ạng thái c ủa đ ầu vào, và sau đó thực hiện chương trình. Vòng quét kết thúc bằng vi ệc thay đổi tr ạng thái đ ầu ra. Trước khi bắt đầu một vòng quét tiếp theo S7-200 thực thi các nhiệm vụ bên trong và nhiệm vụ truyền thông. Chu trình thực hiện chương trình là chu trình lặp. Cách lập trình cho S7-200 nói riêng và cho các PLC nói chung d ựa trên hai ph ương pháp cơ bản. Phương pháp hình thang (Ladder, viết tắt là LAD) và phương pháp liệt kê lệnh (Statement list, viết tắt là STL). Nếu có một chương trình viết dưới dạng LAD, thi ết bị lập trình s ẽ t ự d ộng t ạo ra một chương trình theo dạng STL tương ứng. Ngược lại không phải mọi ch ương trình vi ết dưới dạng STL đều có thể chuyển sang được dạng LAD.  Phương pháp hình thang (LAD): LAD là một ngôn ngữ lập trình bằng đồ họa, những thành phần cơ bản dùng trong LAD tương ứng với các thành ph ần c ủa b ảng đi ều khiển bằng rơ le. Trong chương trình LAD, các phần tử c ơ b ản dùng để bi ểu di ễn lệnh logic như sau: ♦ Tiếp điểm: Là biểu tượng (Symbol) mô tả các tiếp điểm của rơ le Tiếp điểm thường mở
  10. Tiếp điểm thương đóng ♦ Cuộn dây (coil): Là biểu tượng () mô tả rơ le được mắc theo chiều dòng điện cung cấp cho rơ le. ♦ Hộp (Box): Là biểu tượng 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 hàm thường được biểu diễn bằng hộp là các bộ thời gian (Timer), bộ đếm (counter) và các hàm toán học. Cuộn dây và các h ộp ph ải m ắc đúng chiều dòng điện. Mạng LAD: Là đường nối các phần tử thành một mạch hoàn thi ện, đi từ đ ường nguồn bên trái sang đường nguồn bên phải. Đường nguồn bên trái là dây pha, đường nguồn bên phải là dây trung hòa và cũng là đường trở về nguồn cung c ấp (th ường không đ ược thể hiện khi dùng chương trình tiện dụng STEPT MICRO / DOS ho ặc STEPT – MICRO/WIN. Dòng điện chạy từ trái qua tiếp điểm đến đóng các cu ộn dây ho ặc các h ộp trở về bên phải nguồn.  Phương pháp liệt kê lệnh (STL): Là phương pháp thể hiện chương trình dưới dạng tập hợp các câu lệnh. Mỗi câu lệnh trong chương trình, k ể c ả những l ệnh hình th ức biểu diễn một chức năng của PLC. 2. Các toán hạng và giới hạn cho phép của CPU 214 Phương pháp truy nhập Giới hạn cho phép của các toán hạng Truy nhập bit (địa chỉ byte, chỉ V (0.0 ÷ 4095.7) số bit) I (0.0 ÷ 7.7) Q (0.0 ÷ 7.7) M (0.0 ÷ 31.7) SM (0.0 ÷ 85.7) (0 ÷ 127) T (0 ÷ 127) C Truy nhập bit (0 ÷ 4.095) VB (0 ÷ 7) IB (0 ÷ 31). MB SMB (0 ÷ 85) AC (0 ÷ 3) Hằng số Truy nhập từ đơn VW (0 ÷ 4094) (0 ÷ 127) T (0 ÷ 127) C (0 ÷ 6) IW QW (0 ÷ 6) MW (0 ÷ 30) SMW (0 ÷ 84)
  11. (0 ÷ 3) AC AIW (0 ÷ 30) AQW (0 ÷ 30) Hằng số Truy nhập từ kép VD (0 ÷ 4092) (0 ÷ 4) ID QD (0 ÷ 4) MD (0 ÷ 28) SMD (0 ÷ 82) (0 ÷ 3) AC HC (0 ÷ 2) Hằng số. 3. Một số lệnh cơ bản dùng trong lập trình 3.1. Các lệnh vào ra * Load (LD): Lệnh LD nạp giá trị logic của một tiếp điểm vào trong bít đầu tiên của ngăn xếp (xem hình a), các giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuống m ột bít. • Load Not (LDN): Lệnh LDN nạp giá trị logic nghịch đảo của một tiếp điểm vào trong bít đầu tiên của ngăn xếp (xem hình b), các giá tr ị còn l ại trong ng ằn x ếp b ị đẩy lùi xuống một bít. Trước LD Sau c0 M c1 c0 c2 c1 c3 c2 c4 c3 c5 c4 c6 c5 c7 c6 c8 c7 Hình a: Trạng thái của ngăn xếp trước và sau khi thực hiện lệnh LD Bị đẩy ra khỏi ngăn xếp Trước LDN Sau ∼m c0 c1 c0 c2 c1
  12. c3 c2 c4 c3 c5 c4 c6 c5 c7 c6 c8 c7 Bị đẩy ra khỏi ngăn xếp Hình b: Trạng thái của ngăn xếp trước và sau khi thực hiện lệnh LDN. Các dạng khác nhau của lệnh LD, LDN cho LAD như sau: Mô tả Toán hạng LAD Tiếp điểm thường mở LD n n: I, Q, M, SM, T, C, V sẽ được đóng nếu n = 1. (bit) Tiếp điểm thường đóng LDN n sẽ mở khi n = 1. Tiếp điểm thường mở LDI n n: I sẽ đóng tức thời khi n = 1 Tiếp điểm thường đóng LDNI n sẽ mở tức thời khi n = 1 Các dạng khác nhau của lệnh LD, LDN cho STL như sau: Lệnh Mô tả Toán hạng Lệnh nạp giá trị logic LD n n (bít): I, Q, M, SM, T, của điểm n vào bít đầu tiên C, V trong ngăn xếp. Lệnh nạp giá trị logic LDN n nghịch đảo của điểm n vào bít đầu tiên trong ngăn xếp.
  13. Lệnh nạp tức thời giá trị LDI n n: I logic của điểm n vào bít đầu tiên trong ngăn xếp. Lệnh nạp tức thời giá trị LDNI n logic nghịch đảo của điểm n vào bít đầu tiên trong ngăn xếp. OUTPUT (=) Lệnh sao chép nội dung của bít đầu tiên trong ngăn xếp vào bít được chỉ định trong lệnh. Nội dung của ngăn xếp không bị thay đổi. Mô tả lệnh bằng LAD như sau: Mô tả Toán hạng LAD Cuộn dây đầu ra ở trạng n n: I, Q, M, SM, T, C, V thái kích thích khi có dòng () (bít) điều khiển đi qua. Cuộn dây đầu ra được n n: Q kích thích tức thời khi có ( ) (bít) dòng điều khiển đi qua. () Mô tả bằng lệnh STL như sau: Mô tả Toán hạng STL Lệnh = sao chép giá trị của n: I, Q, M, SM, T, C, đỉnh ngăn xếp tới tiếp điểm n V =n được chỉ dẫn trong lệnh. (bít) Lệnh = I (immediate) sao n: Q chép tức thời giá trị của đỉnh = In (bít) stack tới tiếp điểm n được chỉ dẫn trong lệnh. Các lệnh ghi / xóa giá trị cho tiếp điểm 3.2. SET (S) ; RESET (R): Lệnh dùng để đóng và ngắt các điểm gián đo ạn đã được thi ết k ế. Trong LAD, logic điều khiển dòng điện đóng hoặc ngắt các cuộc dây đầu ra. Khi dòng đi ều khi ển đ ến các cuộc dây thì các cuộn dây đóng hoặc mở các tiếp điểm (hoặc một dãy các tiếp điểm). Trong STL, lệnh truyền trạng thái bít đầu của ngăn xếp đến các đi ểm thi ết k ế. N ếu bít này có giá trị =1, các lệnh S và R sẽ đóng ngắt ti ếp đi ểm ho ặc m ột dãy các ti ếp đi ểm (gi ới hạn từ 1 đến 255). Nội dung của ngăn xếp không bị thay đổi bởi các lệnh này. Mô tả bằng lệnh LAD Mô tả Toán hạng LAD S BIT n (S)
  14. Đóng một mảng gồm n các S BIT: I, Q, M, SM, T, tiếp điểm kể từ S BIT C, V n(byte): IB, QB, MB, SMB, VB,AC, Hằng số, Đóng một mảng gồm n các *VD, *AC tiếp điểm kể từ S BIT. Nếu S S BIT n BIT lại chỉ vào Timer hoặc (R) Counter thì lệnh sẽ xóa bít đầu ra của Timer / Counter đó. Đóng tức thời một mảng S BIT: Q S BIT n gồm n các tiếp điểm kể từ S ( SI ) BIT N(byte): IB, QB, MB, SMB, VB,AC, Hằng số, Ngắt tức thời một mảng *VD, *AC gồm n các tiếp điểm kể từ địa S BIT n chỉ S BIT ( RI ) Mô tả Toán hạng STL Ghi giá trị logic vào một S S BIT n S BIT: I, Q, M, SM, T, mảng gồm n bít kể từ địa chỉ S C, V BIT (bit) Xóa một mảng gồm n bít kể R S BIT n từ địa chỉ S BIT. Nếu S BIT lại n: IB, QB, MB, SMB, chỉ vào Timer hoặc Counter thì VB lệnh sẽ xóa bít đầu ra của (byte) AC, Hằng số, Timer / Counter. *VD, *AC Ghi tức thời giá trị logic 1 SI S BIT S BIT: Q vào một mảng gồm n bít kể từ n (bit) địa chỉ S BIT Xóa tức thời một mảng gồm RI S BIT n: IB, QB, MB, SMB, n bít kể từ địa chỉ S BIT n VB (byte) (byte) AC, Hằng số, *VD, *AC Các lệnh logic đại số (BOOLEAN) 3.3. Các lệnh tiếp điểm đại số Boolean cho phép tạo lập đ ược các m ạch logic (không có nhớ). Trong LAD các lệnh này được biểu diễn thông qua c ấu trúc m ạch, m ắc n ối ti ếp hay song song các tiếp điểm thường đóng và các ti ếp điểm thường m ở. STL có th ể s ử d ụng các lệnh A (And) và O (Or) cho các hàm hở ho ặc các lệnh AN (And Not), ON (Or Not) cho các hàm kín.
  15. Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh. Lệnh Mô tả Toán hạng Lệnh thực hiện toán tử ^ (A) và V n: I, Q, M, SM, T, C, V (O) giữa giá trị logic của tiếp điểm n On (bit) và giá trị bít đầu tiên trong ngằn xếp. An Kết quả được ghi lại bít đầu trong ngăn xếp. Lệnh thực hiện toán tử ^ (A) và V (O) giữa giá trị logic nghịch đảo của AN n tiếp điểm n và giá trị bít đầu tiên trong ON n ngằn xếp. Kết quả được ghi lại bít đầu trong ngăn xếp. Lệnh thực hiện tức thời toán tử ^ n: 1 (A) và V (O) giữa giá trị logic của tiếp AI n (bit) điểm n và giá trị bít đầu tiên trong OI n ngằn xếp. Kết quả được ghi lại bít đầu trong ngăn xếp. Lệnh thực hiện tức thời toán tử ^ (A) và V (O) giữa giá trị logic nghịch ANI n đảo của tiếp điểm n và giá trị bít đầu ONI n tiên trong ngằn xếp. Kết quả được ghi lại bít đầu trong ngăn xếp. Ngoài những lệnh làm việc trực tiếp với ti ếp đi ểm, S7-200 còn có 5 l ệnh đ ặc bi ệt biểu diễn các phép tính của đại số Boolean cho các bit trong ngăn x ếp, đ ược g ọi là các lệnh stack logic. Đó là các lệnh ALD (And load), OLD (Or load), LPS (Logic push), LRD (Logic read) và LPP (Logic pop). Lệnh stack logic được dùng để tổ hợp, sao ch ụp ho ặc xóa các mệnh đề logic. LAD không có bộ đếm dành cho lệnh stack logic. STL s ử d ụng các lệnh stack logic để thực hiện phương trình tổng thể có nhiều biểu thức con. Bảng sao tóm tắt cú pháp gọi các lệnh stack logic trong STL. Lệnh Mô tả Toán hạng Lệnh tổ hợp giá trị của bít đầu tiên và thứ hai ALD Không có của ngăn xếp bằng phép tính logic. Kết quả ghi lại vào bít đầu tiên. Giá trị còn lại của ngăn xếp được kéo lên một bít. Lệnh tổ hợp giá trị của bít đầu tiên và thứ hai OLD Không có của ngăn xếp bằng phép tính logic V. Kết quả ghi lại vào bít đầu . Giá trị còn lại của ngăn xếp được kéo lên một bít. Lệnh logic Push (LPS) sao chụp giá trị của bít LPS Không có đầu tiên vào bít thứ hai trong ngăn xếp. Giá trị còn lại bị đẩy xuống một bít. Bít cuối cùng bị đẩy ra
  16. khỏi ngăn xếp. Lệnh sao chép giá trị của bít thứ hai vào bít đầu LRD Không có tiên trong ngăn xếp. Các giá trị còn lại của ngăn xếp giữ nguyên vị trí. Lệnh kéo ngăn xếp lên một bít. Giá trị của bít sau LPP Không có được chuyển cho bít trước. AND (A) OR (O) Lệnh A và O phối hợp giá trị logic c ủa m ột tiếp đi ểm n v ới giá tr ị bít đ ầu tiên c ủa ngăn xếp. Kết quả phép tính được đặt lại vào bít đầu tiên trong ngăn x ếp. Giá tr ị c ủa các bít còn lại trong ngăn xếp không bị thay đổi. Luật tính toán của các phép tính logic And và Or như sau: x y x^ xv y (And) y (Or) 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 Tác động của lệnh AND và OR vào ngăn xếp như sau Trước A Sau m= c0 ^ c1 c0 m c1 C1 c2 C2 c3 C3 c4 C4 c5 C5 c6 C6 c7 C7 c8 C8 Trước O Sau m= c0 v c1
  17. c0 m c1 C1 c2 C2 c3 C3 c4 C4 c5 C5 c6 C6 c7 C7 c8 C8 AND LOAD (ALD) OR LOAD (OLD): Lệnh ALD và lệnh OLD thực hiện phép tính logic And và Or giữa hai bít đ ầu tiên của ngăn xếp. Kết quả của phép logic này sẽ được ghi lại vào bít đầu trong ngăn xếp. Nội dung còn lại của ngăn xếp được kéo lên một bít. Tác động của lệnh ALD và OLD vào ngăn xếp như sau: Trước ALD Sau m= c0^ c1 c0 m c1 c2 c2 c3 c3 c4 c4 c5 c5 c6 c6 c7 c7 c8 c8 Trước OLD Sau m= c0 v c1 c0 m
  18. c1 c2 c2 c3 c3 c4 c4 c5 c5 c6 c6 c7 c7 c8 c8 LOGIC PUSH (LPS) LOGIC READ (LRD) LOGIC POP (LPP) Lệnh LPS, LRD và LPP là những lệnh thay đổi nội dung bít đầu tiên của ngăn xếp. Lệnh LPS sao chép nội dung của bít đầu tiên và bít thứ hai trong ngăn xếp, nội dung ngăn xếp sau đó bị đẩy xuống một bít. Lệnh LRD lấy giá trị của bít thứ hai ghi vào bít đầu tiên của ngăn xếp, nội dung ngăn xếp đó được kéo lên một bít. Lệnh LPP kéo ngăn xếp lên một bít. Sơ đồ minh họa thay đổi ngăn xếp của các lệnh LPS, LRD và LPP Trước LPS Sau Trước LRD Sau Trước LPP Sau C0 c0 c0 c1 c0 c1 c1 c0 c1 c1 c1 c2 c2 c1 c2 c2 c2 c3 c3 c2 c3 c3 c3 c4 c4 c3 c4 c4 c4 c5 c5 c4 c5 c5 c5 c6 c6 c5 c6 c6 c6 c7 c7 c6 c7 c7 c7 c8 c8 c7 c8 c8 c8 ORW, ORD ANDW, ANDD XORW, XORD
  19. Lệnh thực hiện các thuật toán logic And, Or và Exclusive Or của đại số Boolean trên 2 bite hoặc 4 byte (mảng nhiều bít hoặc ít điểm). Ngoài các lệnh logic làm với tiếp điểm, S7-200 cung c ấp thêm nh ững l ệnh logic có kh ả năng thực hiện các thuật toán logic trên một mảng nhiều tiếp điểm (hay nhiều bít) như trên 2 byte hoặc 4 byte. Luật tính toán của chúng như sau: x Y X^y xvy x XOR (And) (Or) y 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 Cách biểu diễn các lệnh logic này trong LAD và STL đ ược tóm t ắt trong b ảng sau. Chúng sử dụng bít nhớ đặc biệt SM 1.0 để thông báo về tr ạng thái k ết qu ả phép tính đ ược thực hiện (kết quả bằng 0). Biểu diễn trong STL Mô tả Toán hạng STL Lệnh thực hiện phép logic IN1: VW, T, C, AND giữa các bít tương ứng của IW, QW. ANDW IN1 IN2 hai từ IN1 và IN2. Kết quả được (word) SMW, ghi lại vào IN2 AC, AIW, *VD *AC, Hằng số. Lệnh thực hiện phép logic OR giữa các bít tương ứng của hai từ ORW IN1 IN2 IN2: VW, T, C, IN1 và IN2. Kết quả được ghi lại IW, QW vào IN2 (word) W, CA, Lệnh thực hiện phép logic AIW, *VD, *AC XOR giữa các bít tương ứng của XORW IN1 IN2 hai từ IN1 và IN2 . Kết quả được ghi lại vào IN2 Lệnh thực hiện phép logic IN1: VD, ID, QD, AND giữa các bít tương ứng của MD, SMQ. ANDD IN1 IN2 hai từ kép IN1 và IN2. Kết quả (Dword) AC, HC, được ghi lại vào IN2 *CD,*AC Hằng số. Lệnh thực hiện phép logic OR giữa các bít tương ứng của hai từ ORD IN1 IN2 kép IN1 và IN2. Kết quả được ghi lại vào IN2
  20. Lệnh thực hiện phép logic IN2: VD, ID, QD, XOR giữa các bít tương ứng của MD, SMD XORD IN1 IN2 hai từ kép IN1 và IN2. Kết quả (Dword)AC, được ghi lại vào IN2 *VD, *AC Biểu diễn trong LAD Mô tả Toán hạng LAD Lệnh thực hiện phép IN1: VW, T, C, IW, WAND W tính logic AND theo từng QW EN bít của hai từ IN1 và IN2. (word) SMW, AC, Kết quả được ghi vào từ AIW, VD IN1 OUT. *AC, Hằng số. IN2 OUT IN2: VW, T, C, IW, Lệnh thực hiện phép QW, tính logic OR giữa các bít WOR W (word) SMW, AC, tương ứng của hai từ IN1 AIW, *VD, *AC, Hằng EN và IN2. Kết quả được ghi số. vào từ OUT. IN1 IN2 OUT OUT: VW, T, C, IW, QW, MW, (word) SMW, AC, Lệnh thực hiện phép WXOR W tính logic XOR giữa các *VD, *AC EN bít tương ứng của hai từ IN1 và IN2. Kết quả IN1 được ghi vào từ OUT. IN2 OUT Lệnh thực hiện phép IN1: VD, ID, QD, WAND DW tính logic AND giữa các MD, SMW EN bít của hai từ kép IN1 và (Dword) AC, AIW, IN2. Kết quả được ghi Hằng số, VD, AC IN1 vào từ OUT. IN2 OUT IN2: VD, ID, QD, Lệnh thực hiện phép MD, SMW WOR DW tính logic OR giữa các bít (Dword) AC, AIW, EN của hai từ kép IN1 và Hằng số, *VD, *AC IN2. Kết quả được ghi IN1 vào từ OUT. IN2 OUT OUT: VD, ID, QD, MD, SMD,
nguon tai.lieu . vn