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.. Trong ghi đọc và xử lý các lệnh,
Trang 1GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200
I Tổng quát về PLC
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
Trang 2Trong 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ớ ngồ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 hồ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 hồ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
Trang 3CPU đ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à tồ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ớ
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ớ
Trang 4PLC 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 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ớ :
Trang 5• 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
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
• Đầ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
Trang 6• 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
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
Trang 7II 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
• 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
Trang 8• 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
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
Trang 9Ghé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
có thể truy nhập để đọ
EEPROM MIỀN NHỚ NGOÀI
Chương trình Chương trình Chương trình
Tham số Tham số Tham số
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
Trang 10V : 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ề 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
Trang 11Cá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
Trang 12AIW 4
Trang 134 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 : 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)
Trang 14Cá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ý ngắt ở sau chương trình chính
5 Thực hiện chương trình của S7-200
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
Trang 15
Như vậy tại thời điểm thực hiện lệnh vào / ra thông thường lệnh không làm việc 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ý 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
• 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
Trang 161 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ở
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
Trang 17Mạ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ỉ số bit) V (0.0 4095.7)
Trang 19• 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
Trang 20Bị đẩ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:
LAD Mô tả Toán hạng
LD n Tiếp điểm thường mở sẽ được đóng nếu n = 1 n: I, Q, M, SM, T, C, V (bit)
LDN n Tiếp điểm thường đóng sẽ mở khi n = 1
LDI n Tiếp điểm thường mở sẽ đóng tức thời khi n = 1 n: I
LDNI n Tiếp điểm thường đóng sẽ mở tức thời khi n = 1
Trang 21Các dạng khác nhau của lệnh LD, LDN cho STL như sau:
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:
LAD Mô tả Toán hạng
Trang 22Mô tả bằng lệnh STL như sau:
Trang 23Đóng một mảng gồm n các tiếp điểm kể từ S BIT Nếu S BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xóa bít đầu ra của Timer / Counter đó
Đóng tức thời một mảng gồm n các tiếp điểm kể từ S BIT
S BIT: Q
N(byte): IB, QB, MB, SMB, VB,AC, Hằng số, *VD, *AC
Ngắt tức thời một mảng gồm n các tiếp điểm kể từ địa chỉ S BIT
(byte) AC, Hằng số, *VD, *AC
R S BIT n Xóa một mảng gồm n bít kể từ địa chỉ S BIT Nếu S BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xóa bít đầu ra của Timer / Counter
S I S BIT n Ghi tức thời giá trị logic 1 vào một mảng gồm n bít kể từ địa chỉ S BIT S BIT: Q
(bit)
n: IB, QB, MB, SMB, VB (byte)
Trang 24(byte) AC, Hằng số, *VD, *AC
R I S BIT n Xóa tức thời một mảng gồm n bít kể từ địa chỉ S BIT
3.3 Các lệnh logic đại số (BOOLEAN)
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
Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh
AI n
Trang 25OI n Lệnh thực hiện tức thời toán tử ^ (A) và V (O) giữa giá trị logic của tiếp điểm n
và giá trị bít đầu tiên trong ngằn xếp Kết quả được ghi lại bít đầu trong ngăn xếp.n: 1
(bit)
ANI n
ONI n Lệnh thực hiện tức thời toán tử ^ (A) và V (O) giữa giá trị logic nghịch đảo của tiếp điểm n và giá trị bít đầu 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
ALD Lệnh tổ hợp giá trị của bít đầu tiên và thứ hai 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.Không có
OLD Lệnh tổ hợp giá trị của bít đầu tiên và thứ hai 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.Không có
LPS Lệnh logic Push (LPS) sao chụp giá trị của bít đầ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 khỏi ngăn xếp.Không có
Trang 26LRD Lệnh sao chép giá trị của bít thứ hai vào bít đầu 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í Không có
LPP Lệnh kéo ngăn xếp lên một bít Giá trị của bít sau được chuyển cho bít trước.Không có
Luật tính toán của các phép tính logic And và Or như sau:
Trang 28Tác động của lệnh ALD và OLD vào ngăn xếp như sau: Trước ALD Sau m= c0^ c1
Trang 29LOGIC 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
Trang 30x Y X ^ y (And) x v y (Or) x XOR y
Biểu diễn trong STL
Trang 31*AC, Hằng số
IN2: VW, T, C, IW, QW
(word) W, CA, AIW, *VD, *AC
ORW IN1 IN2 Lệnh thực hiện phép logic OR giữa các bít tương ứng của hai từ IN1 và IN2 Kết quả được ghi lại vào IN2
XORW IN1 IN2 Lệnh thực hiện phép logic XOR giữa các bít tương ứng của hai từ IN1 và IN2 Kết quả được ghi lại vào IN2
ANDD IN1 IN2 Lệnh thực hiện phép logic AND giữa các bít tương ứng của hai từ kép IN1 và IN2 Kết quả được ghi lại vào IN2 IN1: VD, ID, QD, MD, SMQ
(Dword) AC, HC, *CD,*AC
Trang 32LAD Mô tả Toán hạng
Lệnh thực hiện phép tính logic AND theo từng bít của hai từ IN1 và IN2 Kết quả được ghi vào từ OUT
(word) SMW, AC, *VD, *AC
Lệnh thực hiện phép tính logic OR giữa các bít tương ứng của hai từ IN1 và IN2 Kết quả được ghi vào từ OUT
Lệnh thực hiện phép tính logic XOR giữa các bít tương ứng của hai từ IN1 và IN2 Kết quả được ghi vào từ OUT
Lệnh thực hiện phép tính logic AND giữa các bít của hai từ kép IN1 và IN2 Kết quả được ghi vào từ OUT
Trang 33(Dword) AC, *VD, *AC
Lệnh thực hiện phép tính logic OR giữa các bít của hai từ kép IN1 và IN2 Kết quả được ghi vào từ OUT
Lệnh thực hiện phép tính logic XOR giữa các bít của hai từ kép IN1 và IN2 Kết quả được ghi vào từ OUT
3.4 Các lệnh tiếp điểm đặc biệt:
Có thể dùng các lệnh tiếp điểm đặc biệt để phát hiện sự chuyển tiếp trạng thái của xung (sườn xung) và đảo lại trạng thái của dòng cung cấp (giá trị của đỉnh ngăn xếp) LAD sử dụng các tiếp điểm đặc biệt để tác động vào dòng cung cấp Các tiếp điểm đặc biệt không có toán hạng riêng của chính chúng và vì thế phải đặt chúng vào vị trí phía trước của cuộn dây hoặc hộp đầu ra Tiếp điểm chuyển tiếp dương/âm (các lệnh sườn trước và sườn sau) có nhu cầu về bộ nhớ, nên đối với CPU 214 là 256 lệnh
Trang 34Các lệnh tiếp điểm đặc biệt được biểu diễn như sau trong LAD
LAD Mô tả Toán hạng
Tiếp điểm đảo trạng thái của dòng cung cấp Nếu dòng cung cấp có tiếp điểm đảo thì
nó bị ngắt mạch, nếu không có tiếp điểm đảo thì nó thông mạch Không có
Tiếp điểm chuyển đổi dương cho phép dòng cung cấp thông mạch trong một vòng quét khi sườn xung điều khiển chuyển từ 0 lên 1 Không có
Tiếp điểm chuyển đổi âm cho phép dòng cung cấp thông mạch trong một vòng quét khi sườn xung điều khiển chuyển từ 1 xuống 0 Không có
Các lệnh tiếp điểm đặc biệt được biểu diễn như sau trong STL
STL Mô tả Toán hạng
NOT Lệnh đảo giá trị của bít đầu tiên trong ngăn xếp Không có
EU Lệnh nhận biết sự chuyển tiếp trạng thái từ 0 lên 1 trong một vòng quét của đỉnh ngăn xếp Khi nhận được sự chuyển tiếp như vậy đỉnh ngăn xếp sẽ có giá trị bằng
1 trong một vòng quét Không có
ED Lệnh nhận biết sự chuyển tiếp trạng thái từ 1 xuống 0 trong một vòng quét của đỉnh ngăn xếp Khi nhận được sự chuyển tiếp như vậy đỉnh ngăn xếp sẽ có giá trị bằng
1 trong một vòng quét Không có
NOT (NOT)
EDGE UP (EU)
EDGE DOWN (ED)
Trang 35Lệnh NOT, EU và ED thực hiện các thuật toán đặc biệt trên bít đầu tiên của ngăn xếp Lệnh NOT đảo giá trị của bít đầu tiên trong ngăn xếp Lệnh EU khi phát hiện thấy sườn lên từ 0 đến 1 trong bít đầu tiên của ngăn xếp thì đặt giá trị 1 vào bít đầu tiên của ngăn xếp trong khoảng thời gian bằng một vòng quét
Tác động của lệnh vào ngăn xếp như sau:
Trước NOT Sau Trước EU Sau Trước ED Sau
Trang 36LAD sử dụng lệnh so sánh để so sánh các giá trị của byte, từ và từ kép (giá trị thực hoặc nguyên) Những lệnh so sánh thường là so sánh nhỏ hơn hoặc bằng (<=); so sánh bằng (=) và so sánh lớn hơn hoặc bằng (> =)
Khi so sánh giá trị của byte thì không cần phải để ý đến dấu của toán hạng Ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải để ý đến dấu của toán hạng, ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải để ý đến dấu của toán hạng là bít cao nhất trong từ hoặc từ kép
Biểu diễn các lệnh so sánh trong LAD: