73
GII THIU BPLC CA SIMATIC S7-200 I. Tng quát vPLC 1. Gii thiu PLC PLC viết tt ca Programmable Logic Controller , là thiết bđiều khin lp trình được (khtrình) cho phép thc hin linh hot các thuật toán điều khin logic thông qua mt ngôn nglp trình. Người s dng có thlp trình để thc hin mt lot trình tcác skin. Các skin này được kích hot bi tác nhân kích thích (ngõ vào) tác động vào PLC hoc qua các hoạt động có trnhư thời gian định thì hay các skiện được đếm. Mt khi skiện được kích hot tht s, nó bt ON hay OFF thiết bđiều khin bên ngoài được gi là thiết bvt lý. Mt bđiều khin lp trình sliên tc “lp” trong chương trình do “người sdng lp ra” chtín hiu ngõ vào và xut tín hiu ngõ ra ti các thời điểm đã lp trình. Để khc phc những nhược điểm ca bđiều khin dùng dây ni ( bđiều khin bằng Relay) người ta đã chế to ra bPLC nhm tha mãn các yêu cu sau : Lp trình ddàng , ngôn nglp trình dhc . Gn nh, ddàng bo qun , sa cha. Dung lượng bnhlớn để có thchứa được những chương trình phc tp . Hoàn toàn tin cậy trog môi trường công nghip . Giao tiếp được vi các thiết bthông minh khác như : máy tính , nối mng , các môi Modul mrng. Giá ccá thcạnh tranh được. Các thiết kế đầu tiên là nhm thay thế cho các phn cng Relay dây ni và các Logic thi gian .Tuy nhiên ,bên cạnh đó việc đòi hỏi tăng cường dung lượng nhtính ddàng cho PLC mà vn bảo đảm tốc độ xlý cũng như giá cả … Chính điều này đã gây ra squan tâm sâu sắc đến vic sdng PLC trong công nghip . Các tp lnh nhanh chóng đi từ các lệnh logic đơn giản đến các lệnh đếm , định thi , thanh ghi dịch … sau đó là các chức năng làm toán trên các máy lớùn … Sphát trin các máy tính dẫn đến các bPLC có dung lượng ln , slượng I / O nhiều hơn.

GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

GIỚ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.

Page 2: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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 ).

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

Page 3: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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.

Data Bus : Bus dùng để truyền dữ liệu.

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ớ

Page 4: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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 đị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ớ :

Page 5: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

• 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 .

Page 6: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

• 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.

Page 7: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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.

• 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.

Page 8: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

• 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ọ

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.

Page 9: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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.

Chân Giải thích

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 để đọ

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.

Page 10: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

• 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ề 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 .

Page 11: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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

CPU214 Modul 0

4vào/4a Modul 1

8 vào Modul 2

3vào/1a

Analog Modu3

8 ra Modul 4

3vào/1a

I0.0 Q0.0

I0.1 Q0.1

I0.2 Q0.2

I0.3 Q0.3

I0.4 Q0.4

I0.5 Q0.5

I0.6 Q0.6

I0.7 Q0.7

Page 12: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

I1.0 Q1.0

I1.1 Q1.1

I1.2

I1.3

I1.4

I1.5

I2.0

I2.1

I2.2

I2.3

Q2.0

Q2.1

Q2.2

Q2.3 I3.0

I3.1

I3.2

I3.3

I3.4

I3.5

I3.6

I3.7 AIW 0

AIW 2

AIW 4

Page 13: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

AQW 0 Q3.0

Q3.1

Q3.2

Q3.3

Q3.4

Q3.5

Q3.6

Q3.7 AIW8

AIW12

AQW 4

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 :

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).

Page 14: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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ý 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.

.

Page 15: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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.

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

Page 16: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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ở

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.

Page 17: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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ỉ số bit) V (0.0 4095.7)

I (0.0 7.7)

Q (0.0 7.7)

M (0.0 31.7)

SM (0.0 85.7)

T (0 127)

C (0 127)

Truy nhập bitVB (0 4.095)

IB (0 7)

MB (0 31).

SMB (0 85)

AC (0 3)

Hằng số

Truy nhập từ đơn VW (0 4094)

Page 18: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

T (0 127)

C (0 127)

IW (0 6)

QW (0 6)

MW (0 30)

SMW (0 84)

AC (0 3)

AIW (0 30)

AQW (0 30)

Hằng số

Truy nhập từ kép VD (0 4092)

ID (0 4)

QD (0 4)

MD (0 28)

SMD (0 82)

AC (0 3)

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.

Page 19: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

• 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

Trước LDN Sau

c0

m

c1

c0

c2 c1

c3 c2

Page 20: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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:

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

Page 21: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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

LD n

Lệnh nạp giá trị logic của điểm n vào bít đầu tiên trong ngăn xếp. n (bít): I, Q,

M, SM, T, C, V

LDN n Lệnh nạp giá trị logic nghịch đảo của điểm n vào bít đầu tiên trong ngăn

xếp.

LDI n Lệnh nạp tức thời giá trị logic của điểm n vào bít đầu tiên trong ngăn xếp. n: I

LDNI n Lệnh nạp tức thời giá trị 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:

LAD Mô tả Toán hạng

n

( ) Cuộn dây đầu ra ở trạng thái kích thích khi có dòng điều khiển đi qua.

n: I, Q, M, SM, T, C, V

(bít)

n

( ) ( ) Cuộn dây đầu ra được kích thích tức thời khi có dòng điều khiển

đi qua.n: Q

(bít)

Page 22: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Mô tả bằng lệnh STL như sau:

STL Mô tả Toán hạng

= n Lệnh = sao chép giá trị của đỉnh ngăn xếp tới tiếp điểm n được chỉ dẫn trong

lệnh. n: I, Q, M, SM, T, C, V

(bít)

= I n Lệnh = I (immediate) sao chép tức thời giá trị của đỉnh stack tới tiếp điểm n

được chỉ dẫn trong lệnh. n: Q

(bít)

3.2. Các lệnh ghi / xóa giá trị cho tiếp điểm

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

LAD

Mô tả Toán hạng

Đóng một mảng gồm n các tiếp điểm kể từ S BIT

S BIT: I, Q, M, SM, T, C, V

n(byte): IB, QB, MB, SMB, VB,AC, Hằng số, *VD, *AC

Page 23: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Đó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

STL Mô tả Toán hạng

S S BIT n Ghi giá trị logic vào một mảng gồm n bít kể từ địa chỉ S BIT S

BIT: I, Q, M, SM, T, C, V

(bit)

n: IB, QB, MB, SMB, VB

(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)

Page 24: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

(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.

Lệnh Mô tả Toán hạng

O n

A n Lệnh thực hiện 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: I,

Q, M, SM, T, C, V

(bit)

AN n

ON n

Lệnh thực hiện 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.

AI n

Page 25: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

OI 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ó

Page 26: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LRD 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ó

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 ^ y (And) x v 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

Page 27: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

c4 C4

c5 C5

c6 C6

c7 C7

c8 C8

Trước O Sau m= c0 v c1

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.

Page 28: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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

c1 c2

c2 c3

c3 c4

c4 c5

c5 c6

c6 c7

c7 c8

c8

LOGIC PUSH (LPS)

Page 29: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

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

Page 30: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

ORW, ORD

ANDW, ANDD

XORW, XORD

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 (And) x v y (Or) x XOR 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

STL Mô tả Toán hạng

ANDW 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ừ IN1 và IN2. Kết quả được ghi lại vào IN2 IN1: VW, T, C, IW, QW.

(word) SMW, AC, AIW, *VD

Page 31: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

*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

Hằng số.

IN2: VD, ID, QD, MD, SMD

(Dword)AC, *VD, *AC

ORD 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ừ

kép IN1 và IN2. Kết quả được ghi lại vào IN2

XORD 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ừ

kép IN1 và IN2. Kết quả được ghi lại vào IN2

Biểu diễn trong LAD

Page 32: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LAD 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.

IN1: VW, T, C, IW, QW

(word) SMW, AC, AIW, VD

*AC, Hằng số.

IN2: VW, T, C, IW, QW,

(word) SMW, AC, AIW, *VD, *AC, Hằng số.

OUT: VW, T, C, IW, QW, MW,

(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.

Page 33: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

IN1: VD, ID, QD, MD, SMW

(Dword) AC, AIW, Hằng số, VD, AC

IN2: VD, ID, QD, MD, SMW

(Dword) AC, AIW, Hằng số, *VD, *AC

OUT: VD, ID, QD, MD, SMD,

(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.

Page 34: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Cá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)

Page 35: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Lệ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

c0 c0 1 c1 C0 1

c1

c1 c1 c1 C1 c1

c2

c2 c2 c2 C2 c2

c3 c3 c3 c3 C3 c3

c4 c4 c4 c4 C4 c4

c5 c5 c5 c5 C5 c5

c6 c6 c6 c6 C6 c6

c7 c7 c7 c7 C7 c7

c8

c8 c8 c8 C8 c8

3.5. Các lệnh so sánh

Khi lập trình, nếu có các quyết định về điều khiển được thực hiện dựa trên kết quả

của việc so sánh thì có thể sử dụng lệnh so sánh cho byte, từ hay từ kép của S7-200.

Page 36: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LAD 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:

LAD

Mô tả Toán hạng

Tiếp điểm đóng khi

n1 = n2

B = Byte

I = Integer

D = Double Integer

R = Real

n1,n2 (byte) : VB , IB , QB, MB, SMB , AC , Const , *VD*, AC

Tiếp điểm đóng khi

N1 > n2

B = Byte

I = Integer

D = Double Integer

Page 37: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

R = Real

n1,n2 (từ): VW, T, C, IW, QW, MW, SMW,AC, AIW,

Hằng số, *VD, *AC

Tiếp điểm đóng khi

N1 < n2

B = Byte

I = Integer

D = Double Integer

R = Real

n1, n2(từ kép):VD, ID, QD, MD, SMD, AC, HC, Hằng số, *VD, *AC

Trong STL, những lệnh so sánh thực hiện phép so sánh byte, từ và từ kép. Căn cứ vào

kiểu so sánh (<=, =, >=), kết quả của phép so sánh có giá trị bằng 0 (nếu đúng) hoặc

1 (nếu sai) nên có thề sử dụng kết hợp cùng với các lệnh gogic LA, A, O. Để tạo ra

được các phép so sánh mà S7-200 không có lệnh so sánh tương ứng như: so sánh

không bằng nhau (< >), so sánh nhỏ hơn (>), có thể tạo ra được nhờ dùng kết hợp lệnh

NOT với các lệnh đã có (=, >=, <=). Ví dụ sau mô tả việc thực hiện pháp so sánh

không bằng nhau (< >) giữa nội dung của từ V>W100 và hằng số 50 bằng cách sử

dụng kết hợp phép so sánh bằng nhau LDW = và lệnh đảo NOT.

Page 38: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LDB =, LDW =

LDD =, LDR =

* Lệnh kiểm tra tính bằng nhau của nội dung 2 byte, từ, từ kép, hoặc số thực. Trong

trường hợp phép so sánh cho kết quả đúng, bít đầu tiên trong ngăn xếp sẽ có giá trị

logic bằng 1.

LDB < = , LDW < =

LDD < = , LDR < =

* Lệnh so sánh nội dung của byte, từ, từ kép hoặc số thực thứ nhất có nhỏ hơn hoặc

bằng nội dung của byte, từ, từ kép hoặc số thực thứ hai hay không. Trong trường hợp

phép so sánh cho kết quả đúng, bít đầu tiên trong ngăn xếp có giá trị logic bằng 1.

LDB > =, LDW > =

LDD > =, LDR > =

* Lệnh so sánh nội dung của byte, từ, từ kép hoặc số thực thứ nhất có lớn hơn hoặc

bằng nội dung của byte, từ, từ kép hoặc số thực thứ hai hay không. Trong trường hợp

phép so sánh cho kết quả đúng, bít đầu tiên trong ngăn xếp có giá trị logic bằng 1.

AB =, AW =

AD =, AR =

* Lệnh kiểm tra tính bằng nhau của nội dung 2 byte, từ, từ kép, hoặc số thực. Trong

trường hợp phép so sánh cho kết quả đúng, sẽ thực hiện phép tính logic And giữa bít

đầu tiên trong ngăn xếp với giá trị logic.

AB < =, AW < =

AD < =, AR < =

Lệnh so sánh nội dung của byte, từ, từ kép hoặc số thực thứ nhất có nhỏ hơn hoặc

bằng nội dung của byte, từ, từ kép hoặc số thực thứ hai hay không. Trong trường hợp

phép so sánh cho kết quả đúng, sẽ thực hiện phép tính logic AND giữa bít đầu tiên

trong ngăn xếp với giá trị logic 1

Page 39: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Biểu diển lệnh so sánh trong STL:

STL Mô tả Toán hạng

LDB = ¬n1 ¬n2

AB = ¬n1 ¬n2

OB = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá trị

logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 byte n1 và ¬n2 thỏa mãn ¬n1 = n2

¬n1 , ¬n2 (byte):VB, IB, QB, MB, SMB, AC, hằng số, *VD , *AC

LDB > = ¬n1 ¬n2

AB > = ¬n1 ¬n2

OB > = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 byte n1 và ¬n2 thỏa mãn n1 > =

n2

LDB < = ¬n1 ¬n2

AB < = ¬n1 ¬n2

OB < = ¬n1 ¬n2

Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá trị logic 1 với nội

dung đỉnh ngăn xếp khi nội dung 2 byte n1 và ¬n2 thỏa mãn ¬n1 < = n2

LDW = ¬n1 ¬n2

Page 40: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

AW = ¬n1 ¬n2

OW = ¬n1 ¬n2

Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá trị logic 1 với nội

dung đỉnh ngăn xếp khi nội dung 2 từ n1 và ¬n2 thỏa mãn ¬n1 = n2

¬n1 ,¬n2 (từ):VW, T, C, QW, MW, SMW, AC, AIW , hằng số, *VD , *AC

LDW > = ¬n1 ¬n2

AW > = ¬n1 ¬n2

OW > = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 từ n1 và ¬n2 thỏa mãn ¬n1 > =

n2

LDW < = ¬n1 ¬n2

AW < = ¬n1 ¬n2

OW < = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 từ n1 và ¬n2 thỏa mãn ¬n1 < =

n2

LDD = ¬n1 ¬n2

AD = ¬n1 ¬n2

Page 41: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

OD = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá trị

logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 từ kép n1 và ¬n2 thỏa mãn n1 = n2

¬n1 , ¬n2 (từ kép) :VD, ID, QD, MD, SMD, AC, HC , hằng số, *VD , *AC

LDD > = ¬n1 ¬n2

AD > = ¬n1 ¬n2

OD > = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 từ kép n1 và ¬n2 thỏa mãn n1 >

= n2

LDD < = ¬n1 ¬n2

AD < = ¬n1 ¬n2

OD < = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp khi nội dung 2 từ kép n1 và ¬n2 thỏa mãn n1 <

= n2

LDR = ¬n1 ¬n2

AR = ¬n1 ¬n2

OR = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá trị

logic 1 với nội dung đỉnh ngăn xếp nếu hai số thực n1 và n2 (4 byte) thỏa mãn n1 =

n2

¬n1 ,¬n2 (từ kép):VD, ID, QD, MD, SMD, AC, HC , hằng số, *VD , *AC

Page 42: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LDR > = ¬n1 ¬n2

AR > = ¬n1 ¬n2

OR > = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp nếu hai số thực n1 và n2 (4 byte ) thỏa mãn n1 >

= n2

LDR < = ¬n1 ¬n2

AR < = ¬n1 ¬n2

OR < = ¬n1 ¬n2 Lệnh thực hiện phép tính logic Load , And hoặc Or giữa giá

trị logic 1 với nội dung đỉnh ngăn xếp nếu hai số thực n1 và n2 (4 byte) thỏa mãn n1 <

= n2

3.6. Lệnh nhảy chương trình con:

Các lệnh của chương trình, nếu không có những lệnh điều khiển riêng, sẽ được thực

hiện theo thứ tự từ trên xuống dưới trong một vòng quét. Lệnh điều khiển chương trình

cho phép thay đổi thứ tự thực hiện lệnh. Chúng cho phép chuyển thứ tự thực hiện,

đáng lẽ ra là lệnh tiếp theo, tới một lệnh bất cứ nào khác của chương trình, trong đó

nơi điều khiển chuyển đến phải được đánh dấu trước bằng một nhãn, chỉ, đích. Thuộc

nhóm lệnh điều khiển chương trình gồm: lệnh nhảy, lệnh gọi chương trình con, nhãn

chỉ đích, hay gọi đơn giản là nhãn, phải được đánh dấu trước khi thực hiện lệnh nhảy

hay lệnh gọi chương trình con.

Việc đặt nhãn cho lệnh nhảy phải nằm trong chương trình. Nhãn của chương trình con,

hoặc của chương trình xử lý ngắt được khai báo ở đầu chương trình. Không thể dùng

lệnh nhảy JMP để chuyển điều khiển từ chương trình chính vào một nhãn bất kỳ trong

chương trình con hoặc trong chương trình xử lý ngắt. Tương tự như vậy cũng không

Page 43: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

thể từ một chương trình con hay chương trình xử lý ngắt nhảy vào bất cứ một nhãn nào

nằm ngoài các chương trình đó.

Lệnh gọi chương trình con là lệnh chuyển điều khiển đến chương trình con. Khi

chương trình con thực hiện xong các phép tính của mình thì việc điều khiển lại được

chuyển trở về lệnh tiếp theo trong chương trình chính nằm ngay sau lệnh gọi chương

trình con. Từ một chương trình con có thể gọi được một chương trình con khác trong

nó, có thể gọi như vậy nhiều nhất là 8 lần trong S7-200. Nói chung (trong một chương

trình con có lệnh gọi đến chính nó) về nguyên tắc không bị cấm song phải để ý đến

giới hạn trên.

Nếu lệnh nhảy hay lệnh gọi chương trình con được thực hiện thì đỉnh ngăn xếp luôn có

giá trị logic 1. Bởi vậy trong chương trình con các lệnh có điều kiện được thực hiện

như các lệnh không điều kiện. Sau các lệnh LBL (đặt nhãn) và SBR, lệnh LD trong

STL sẽ bị vô hiệu hóa.

Khi một chương trình con được gọi, toàn bộ nội dung của ngăn xếp sẽ được cất đi,

đỉnh của ngăn xếp nhận giá trị logic mới là 1, các bít khác của ngăn xếp nhận giá trị

logic 0 và điều khiển được chuyển đến chương trình con đã được gọi. Khi thực hiện

xong chương trình con và trước khi điều khiển được chuyển trở lại chương trình đã gọi

nó, nội dung ngăn xếp đã được cất giữ trước đó sẽ được chuyển trở lại ngăn xếp.

Nội dung của thanh ghi AC không được cất giữ khi gọi chương trình con, nhưng khi

một chương trình xử lý ngắt được gọi, nội dung của thanh ghi AC sẽ được cất giữ

trước khi thực hiện chương trình xử lý ngắt và nạp lại khi chương trình xử lý ngắt đã

được thực hiện xong. Bởi vậy chương trình xử lý ngắt có thể tự do sử dụng bốn thanh

ghi AC của S7-200.

JMP.CALL

LBL.SBR

Lệnh nhảy JMP và lệnh gọi chương trình con SBR cho phép chuyển điều khiển từ vị

trí này đến vị trí khác trong chương trình. Cú pháp của lệnh nhảy và lệnh gọi chương

trình con trong LAD và STL đều có toán hạng là nhãn chỉ đích (nơi nhảy đến, nơi

chứa chương trình con).

Page 44: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Lệnh nhảy, lệnh gọi chương trình con, lệnh khai báo nhãn và lệnh thoát khỏi chương

trình con được biểu diễn trong LAD và trong STL như sau:

LAD STL Mô tả Toán hạng

JMP Kn Lệnh nhảy thực hiện việc chuyển điều khiển đến nhãn n trong một

chương trình. n: 0 255

LBL Kn Lệnh khai báo nhãn n trong một chương trình.

CALL Kn Lệnh gọi chương trình con, thực hiện phép chuyển điều khiển đến

chương trình con có nhãn là n.

n: 0 255

SBR Kn Lệnh gán nhãn n cho một chương trình con.

Page 45: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

CRET Lệnh trở về chương trình đã gọi chương trình con có điều kiện (bít đầu

tiên của ngăn xếp có giá trị logic bằng 1).

Không có

RET Lệnh trở về chương trình đã gọi chương trình con không điều kiện.

3.7. Các lệnh can thiệp vào thời gian vòng quét:

Lệnh MEND, END, STOP, NOP, WDR.

Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và kéo dài trong

khoảng thời của một vòng quét.

Trong LAD và STL chương trình chính phải được kết bằng lệnh kết thúc không điều

kiện MEND. Có thể sử dụng lệnh kết thúc có điều kiện END trước lệnh kết thúc không

điều kiện.

Lệnh STOP kết thúc chương trình, nó chuyển điều khiển chương trình đến chế độ

STOP. Nếu gặp lệnh STOP trong chương trình chính hoặc trong chương trình con thì

chương trình đang thực hiện sẽ được kết thúc ngay lập tức. Lệnh sỗng NOT không có

tác dụng gì trong việc thực hiện chương trình. Lệnh NOT này phải được đặt trong

chương trình chính, hoặc chương trình ngắt, hoặc chương trình con.

Lệnh WDR sẽ khởi động lại đồng hồ quan sát (watchdog Timer) và chương trình tiếp

tục được thực hiện trong vòng quét ở chế độ quan sát.

Sử dụng lệnh MEND, END, STOP và WDR trong LAD và STL như sau:

LAD STL Mô tả

( END )

Page 46: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

END Lệnh kết thúc chương trình chính hiện hành có điều kiện.

( MEND )

MEND Lệnh kết thúc không điều kiện dùng để kết thúc một chương trình hiện

hành.

( STOP )

STOP Lệnh STOP kết thúc chương trình hiện hành và chuyển sang chế độ STOP.

( WDR )

WDR Lệnh WDR khởi tạo lại đồng hồ quan sát.

( NOT )

NOT Lệnh NOT không có hiệu lực trong chương trình hiện hành.

Toán hạng n là một số nằm trong khoảng 0 25

3.8. Các lệnh điều khiển Timer

Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra nên trong điều khiển

vẫn thường gọi là khâu trễ. Nếu ký hiệu tín hiệu (logic) vào là x (t) và thời gian trễ

được tạo ra bằng Timer là r thì tín hiệu đầu ra của Timer đó sẽ là x (t-r).

S7-200 có 128 Timer (CPU-214) được chia làm 2 loại khác nhau, đó là:

* Timer tạo thời gian trễ không có nhớ (Timer on delay), ký hiệu là TON.

* Timer tạo thời gian trễ có nhớ (Timer on delay retentive), ký hiệu là TONR.

Hai kiểu Timer của S7-200 (TON và TONR) phân biệt với nhau ở phản ứng của nó

đối với trạng thái tín hiệu đầu vào, tức là khi tín hiệu đầu vào chuyển trạng thái logic

từ 0 lên 1, được gọi là thời điểm Timer được kích, và không tính khoảng thời gian khi

đầu vào có giá trị logic 0 vào thời gian trễ tín hiệu được đặt trước.

Page 47: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Khi đầu vào có giá trị logic bằng 0, TON tự động reset còn TONR thì không tự reset.

Timer TON được dùng để tạo thời gian trễ trong một khoảng thời gian (miền liên

thông), còn với TONR thời gian trễ sẽ được tạo trong nhiều khoảng thời gian khác

nhau.

Timer TON và TONR bao gồm 3 loại với 3 độ phân giải khác nhau, độ phân giải 1ms,

10 ms, 100 ms. Thời gian trễ r được tạo ra chính là tích của độ phân giải của bộ Timer

được chọn và giá trị đặt trước cho Timer. Ví dụ một bộ Timer có độ phân giải bằng 10

ms và giá trị đặt trước 10 ms thì thời gian trễ sẽ là r = 500 ms

Timer của S7-200 có những tính chất cơ bản sau:

Các bộ Timer được điều khiển bởi một cổng vào và giá trị đếm tức thời. Giá trị đếm

tức thời của Timer được nhớ trong thanh ghi 2 byte (gọi là T-word) của Timer, xác

định khoảng thời gian trễ kể từ khi Timer được kích. Giá trị đặt trước của các bộ

Timer được ký hiệu trong LAD và STL là PT. Giá trị đếm tức thời của thanh ghi T-

word thường xuyên được so sánh với giá trị đặt trước của Timer.

Mỗi bộ Timer, ngoài thanh ghi 02 byte T-word lưu giá trị đếm tức thời, còn có 1 bít,

ký hiệu bằng T-bít, chỉ trạnh thái logic đầu ra. Giá trị logic của bít này phụ thuộc vào

kết quả so sánh giữa giá trị đếm tức thời với giá trị đặt trước.

Trong khoảng thời gian tín hiệu x (t) có giá trị logic 1, giá trị đếm tức thời trong T-

word luôn được cập nhật và thay đổi tăng dần cho đến khi nó đạt giá trị cực đại. Khi

giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước, T-bít có giá trị logic 1.

Các loại Timer của S7-200 (đối với CPU 214) chia theo TON, TONR và độ phân giải

bao gồm:

Lệnh Độ phân giải Giá trị cực đại CPU 214

TON 1 ms 32,767s T32 T96

10 ms 327,67s T33 T36; T97 T100

100 ms 3276,7s T37 T63; T101 T127

Page 48: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

TONR1 ms 32,767s T0 T64

10 ms 327,67s T1 T4; T65 T68

100 ms 3276,7s T5 T31; T69 T95

Cú pháp khai báo sử dụng Timer trong LAD như sau:

LAD Mô tả Toán hạng

Khai báo Timer số hiệu xx kiểu TON để tạo thời gian trễ tính từ khi đầu vào IN

được kích. Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước PT thì T-

bít có giá trị logic bằng 1. Có thể reset Timer kiểu TON bằng lệnh R hoặc bằng giá trị

logic 0 tại đầu vào IN

1 ms T32 T96

10 ms T33 T36;

T97 T100

100 ms T37 T63;

T101 T127 Txx : T32 T63

T96 T127

PT: VW, T, C, IW,

Page 49: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

QW, MW, SMW,

AC, AIW, VD

*AC, Hằng số.

Khai báo Timer số hiệu xx kiểu TONR để tạo thời gian trễ tính từ khi đầu vào

IN được kích. Nếu như giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước PT thì

T-bít có giá trị logic bằng 1. Chỉ có thể reset kiểu TONR bằng lệnh R cho T-bít

1 ms T0 T64

10 ms T1 T4 ;

T65 T68

100 ms T5 T31;

T69 T95 Txx : T0 T31

T64 T95

PT: VW, T, C, IW,

QW, AIW, SMW, AC, AIW, VD

*AC, Hằng số.

Cú pháp khai báo sử dụng Timer trong STL như sau:

TON, TONR khai báo sử dụng Timer của S7-200, lệnh khai báo sử dụng Timer là lệnh

có điều kiện. Tại thời điểm khai báo tín hiệu đầu vào có giá trị logic bằng giá trị logic

của bít đầu tiên trong ngăn xếp.

STL Mô tả Toán hạng

TON Txx n Khai báo Timer số hiệu xx kiểu TON để tạo thời gian trễ tính từ khi bít

đầu tiên trong ngăn xếp có giá trị logic 1. Nếu như giá trị đếm tức thời lớn hơn hoặc

Page 50: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

bằng giá trị đặt trước n thì T-bít có giá trị logic bằng 1. Có thể reset Timer kiểu TON

bằng lệnh R hoặc bằng giá trị logic 0 tại đầu vào.

1 ms T96

10 ms T97 T100

100 ms T101 T127 Txx: T32 T63

T96 T127

n (word) : VW, T, C, IW,QW, MW, SMW

AC, AIW, VD

*AC, Hằng số

TONR Txx n Khai báo Timer số hiệu xx kiểu TONR để tạo thời gian trễ tính từ

khi bít đầu tiên trong ngăn xếp có giá trị logic 1. Nếu như giá trị đếm tức thời lớn hơn

hoặc bằng giá trị đặt trước n thì T-bít có giá trị logic bằng 1. Chỉ có thể reset Timer

kiểu TONR bằng lệnh R cho T-bít

1 ms T64

10 ms T65 T68

100 ms T69 T95 Txx :T0 T31

T64 T95

n (word) :VW, T, C, IW,QW, AIW, SMW,

AC, AIW, VD

*AC, Hằng số

Chú ý: Khi sử dụng Timer kiểu TONR, giá trị đếm tức thời được lưu lại và không

bị thay đổi trong khoảng thời gian khi tín hiệu đầu vào có logic 0. Giá trị của T-bít

Page 51: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

không được nhớ mà hoàn toàn phụ thuộc vào kết quả so sánh giữa giá trị đếm tức thời

và giá trị đặt trước.

Các Timer được đánh số từ 0 đến 127 (đối với CPU 214). Một Timer được đặt tên là

Txx, trong đó xx là số hiệu của Timer. Txx đồng thời cũng là địa chỉ hình thức của T-

word và T-bít vẫn được phân biệt với nhau nhờ kiểu lệnh sử dụng với Txx. Khi dùng

lệnh làm việc với từ, Txx được hiểu là địa chỉ của T-word, ngược lại khi sử dụng lệnh

làm việc với tiếp điểm, Txx được hiểu là địa chỉ của T-bít.

Một Timer đang làm việc có thể được đưa lại về trạng thái khởi động ban đầu. Công

việc đưa một Timer về trạng thái ban đầu được gọi là reset Timer đó.

Khi reset một bộ Timer, T-word và T-bít của nó đồng thời được xóa và có giá trị bằng

0, như vậy giá trị đếm tức thời được đặt về 0 và tín hiệu đầu ra cũng có trạng thái logic

bằng 0. Có thể reset bất cứ bộ Timer của S7-200 bằng lệnh R (reset). Điều đó nói rằng

khi dùng lệnh R cho T-bít của một Timer, Timer đó sẽ được đưa về trạng thái ban đầu

và lệnh R cho một Txx vừa xóa T-word vừa xóa T-bít của Timer đó.

Có hai phương pháp để reset một Timer kiểu TON:

• Xóa tín hiệu đầu vào.

• Dùng lệnh R (reset).

Dùng lệnh R là phương pháp duy nhất để reset các bộ Timer kiểu TONR. Đặt giá trị 0

cho giá trị đếm tức thời của một Timer cũng không thể xóa T-bít của Timer đó. Cũng

như vậy, khi đặt một giá trị logic 0 cho T-bít của một Timer không thể xóa giá trị đếm

tức thời của Timer đó. Cú pháp reset một timer Txx bằng lệnh R là

R Txx K1

Chú ý rằng lệnh R thuộc nhóm lệnh có điều kiện.

Hình 7 a: Timer của S7-200

Page 52: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

3.9. Các lệnh điều khiển Counter

Counter là bộ đếm hiện chức năng đếm sườn xung trong S7-2000. Các bộ đếm của

S7-2000 được chia ra làm 2 loại: bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD).

Bộ đếm tiến CTU đếm số sườn lên của tín hiệu logic đầu vào, tức là đếm số lần thay

đổi trạng thái logic từ 0 lên 1 của tín hiệu. Số sườn xung đếm được, được ghi vào

thanh ghi 2 byte của bộ đếm, gọi là thanh ghi C-word.

Nội dung của C-word, gọi là giá trị đếm tức thời của bộ đếm, luôn được so sánh với

giá trị đặt trước của bộ đếm được ký hiệu là PV. Khi giá trị đếm tức thời bằng hoặc lớn

hơn giá trị đặt trước này thì bộ đếm báo ra ngoài bằng cách đặt giá trị logic 1 vào một

bít đặc biệt của nó, được gọi là C-bít. Trường hợp giá trị đếm tức thời nhỏ hơn giá trị

đặt trước thì C-bít có giá trị logic là 0.

Khác với các bộ Counter, các bộ đếm CTU đều có chân nối với tín hiệu điều khiển xóa

để thực hiện việc đặt lại chế độ khởi phát ban đầu (reset) cho bộ đếm, được ký hiệu

bằng chữ cái R trong LAD hay được qui định là trạng thái logic của bít đầu tiên của

ngăn xếp trong STL. Bộ đếm được reset khi tín hiệu xóa này có mức logic là 1 hoặc

khi lệnh R (reset) được thực hiện với C-bít. Khi bộ đếm được reset, cả C-word và C-

bít đều nhận giá trị 0.

Hình 8 a: Bộ đếm CTU của S7-200

Bộ đếm tiến / lùi CTUD đếm tiến khi gặp sườn lên của xung vào cổng đếm, ký hiệu là

CU trong LAD hoặc bít thứ 3 của ngăn xếp trong STL, và đếm lùi khi gặp sườn của

Page 53: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

xung vào cổng đếm lùi, được ký hiệu là CD trong LAD hoặc bít thứ 2 của ngăn xếp

trong STL.

Giống như bộ đếm CTU, bộ đếm CTUD cũng được đưa về trạng thái khởi phát

ban đầu bằng 2 cách.

Khi đầu vào logic của chân xóa, ký hiệu bằng R trong LAD hoặc bít thứ nhất của ngăn

xếp trong STL, có giá trị logic là 1 hoặc,

Bằng lệnh R (reset) với C-bít của bộ đếm.

CTUD có giá trị đếm tức thời đúng bằng giá trị đang đếm và được lưu trong thanh

ghi 2 byte C-word của bộ đếm. Giá trị đếm tức thời luôn được so sánh với giá trị đặt

trước PV của bộ đếm. Nếu giá trị đếm tức thời lớn hơn bằng bằng giá trị đặt trước thì

C-bít có giá trị logic bằng 1. Còn các trường hợp khác C-bít có giá trị logic bằng 0.

Hình 8 b: Bộ đếm CTUD của S7-200

Bộ đếm tiến CTU có miền giá trị đếm tức thời từ 0 đến 32.767. Bộ đếm tiến/lùi CTUD

có miền giá trị đếm tức thời là 32.767

Các bộ đếm được đánh số từ 0 đến 127 (đới với CPU 214) và ký hiệu bằng Cxx, trong

đó xx là số thứ tự của bộ đếm. Ký hiệu Cxx đồng thời cũng là địa chỉ hình thức của C-

word và của C-bít. Mặc dù dùng địa chỉ hình thức, song C-word và C-bít vẫn được

phân biệt với nhau nhờ kiểu lệnh sử dụng làm việc với từ hay với tiếp điểm (bít).

Lệnh khai báo sử dụng bộ đếm trong LAD như sau:

LAD Mô tả Toán hạng

Page 54: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Khai báo bộ đếm tiến theo sườn lên của CU. Khi giá trị đếm tức thời C-word

Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bít (cxx) có giá trị logic bằng 1. Bộ đếm

được reset khi đầu vào R có giá trị logic bằng 1. Bộ đếm ngừng đếm khi C-word Cxx

đạt giá trị cực đại 32.767. Cxx:C0 C47

C80 C127

PV (word) : VW , T, C, IW, QW, MW, SMW, AC,

AIW, Hằng số,

*VD, *AC

Khi báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của CU và đếm lùi theo sườn lên của

CD. Khi giá trị đếm tức thời C-word Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bít

(cxx) có giá trị logic bằng 1. Bộ đếm ngừng đếm tiến khi C-word đạt giá trị cực đại

32.767 và ngừg đếm lùi khi C-word đạt giá trị cực tiểu 32.767 CTUD reset khi đầu vào

R có giá trị logic bằng 1. Cxx : C48 C79

PV (word):VW,T , C , IW, QW, MW, SMW, AC,A IW, Hằng số, *VD, *AC

Lệnh khai báo sử dụng bộ đếm trong STL như sau:

STL Mô tả Toán hạng

CTU Cxx n Khai báo bộ đếm tiến theo sườn lên cùa CU. Khi giá trị đếm tức

thời C-word lớn hơn hoặc bằng giá trị đặt trước n, C-bít có giá trị logic bằng 1. Bộ

đếm được reset khi đầu ngăn xếp có giá trị logic bằng 1. Bộ đếm ngừng đếm khi C-

word đạt giá trị cực đại 32.767. Cxx : C0 C47

C80 C127

Page 55: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

n (word):VW , T , C , IW , QW , MW, SMW, AC, AIW, Hằng số.

*VD, *AC

CTUD Cxx n Khai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của CU và đếm

lùi theo sườn lên của CD. Khi giá trị đếm tức thời C-word, Cxx lớn hơn hoặc bằng giá

trị đặt trước n, C-bít có giá trị logic bằng 1, bộ đếm ngừng đếm tiến khi C-word đạt giá

trị cực đại 32.767 và ngừng đếm lùi khi C-word đạt được giá trị cực tiểu 32.767 CTUD

reset khi bít đầu của ngăn xếp có giá trị logic bằng 1. Cxx: C48 C79

n (word) : VW, T, C, IW ,QW, MW, SMW, AC, AIW, Hằng số, *VD, *AC

3.10. Các lệnh số học

a. Lệnh cộng (ADD)

Lệnh ADD_I

Là lệnh thực hiện phép cộng các số nguyên 16-bít IN1 và IN2.

Trong LAD kết quả là một số nguyên 16-bít được ghi vào OUT, tức là:

IN1 + IN2 = OUT.

Còn trong STL, kết quả cũng là một giá trị 16-bít nhưng được ghi vào IN2, tức là IN1

+ IN2 = IN2.

Lệnh ADD_DI:

Là lệnh thực hiện phép cộng các số nguyên 32-bít IN1 và IN2

Trong LAD, kết quả là một số nguyên 32-bít được ghi vào OUT, tức là:

IN1 + IN2 = OUT.

Page 56: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Còn trong STL, kết quả cũng là một giá trị 32-bít nhưng được ghi vào IN2, tức là IN1

+ IN2 = IN2.

Lệnh ADD_R:

Là lệnh thực hiện phép cộng các số thực 32-bít IN1 và IN2.

Trong LAD, kết quả là một số thực 32-bít được ghi vào OUT, tức là:

IN1 + IN2 = OUT.

Còn trong STL, kết quả cũng là một giá trị thực 32-bít nhưng được ghi vào IN2, tức là

IN1 + IN2 = IN2.

b. Lệnh trừ (SUB):

Lệnh SUB_I:

Là lệnh thực hiện phép trừ các số nguyên 16-bít IN1 và IN2

Trong LAD kết quả là một số nguyên 16-bít và được ghi vào OUT, tức là:

IN1 - IN2 = OUT.

Còn trong STL, kết quả là một giá trị 16-bít nhưng được ghi lại vào IN2, tức là IN1-

IN2 = IN2.

Lệnh SUB-DI:

Là lệnh thực hiện phép trừ các số nguyên 32-bít IN1 và IN2

Trong LAD kết quả là một số nguyên 32-bít được ghi vào IN2, tức là:

IN1 - IN2 = IN2.

Còn trong STL, kết quả là một giá trị 32-bít nhưng được ghi lại vào IN2, tức là IN1-

IN2 = IN2.

Lệnh SUB_R:

Là lệnh thực hiện phép trừ các số thực 32-bít IN1 và IN2

Page 57: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Trong LAD kết quả là một số thực 32-bít được ghi vào OUT, tức là:

IN1 - IN2 = OUT.

Trong STL, kết quả là một giá trị 32-bít nhưng được ghi lại vào IN2, tức là IN1- IN2 =

IN2.

Cú pháp dùng lệnh cộng và trừ trong LAD và STL như sau:

LAD STL

+ I IN1 IN2

- I IN1 IN2

+ D IN1 IN2

- D IN1 IN2

+ R IN1 IN2

- R IN1 IN2

c. Lệnh nhân (MUL):

Lệnh MUL:

Trong LAD: Lệnh thực hiện phép nhân 2 số nguyên 16-bít IN1 và IN2 và cho ra kết

quả 32-bít chứa trong từ kép OUT (4 byte).

Page 58: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Trong STL: Lệnh thực hiện phép nhân giữa 2 số nguyên 16-bít n1 và số nguyên chứa

trong từ thấp (từ 0 đến bít 15) của toán hạng 32-bít n2 (4 byte). Kết quả 32-bít được

ghi vào n2.

Lệnh MUL_R:

Trong LAD: lệnh thực hiện phép nhân hai số thực 32-bít IN1 và IN2 và cho ra kết quả

32-bít chứa trong từ kép OUT (4 byte).

Trong STL: Lệnh thực hiện phép nhân giữa số thực 32-bít được ghi vào IN2.

Cú pháp dùng lệnh trong LAD và STL như sau:

LAD STL

MUL n1 n2

*R IN 1 IN2

d. Lệnh chia (DIV)

Trong LAD: Lệnh thực hiện phép chia số nguyên 16-bít IN1 cho số nguyên 16-bít IN2.

Kết quả 32-bít chứa trong từ kép OUT gồm thương số ghi trong mảng 16-bít từ bít 0

đến bít15 (từ thấp) và phần dư cũng 16-bít ghi trong mảng từ bít-16 đến bít-31 (từ cao).

Trong STL: Lệnh thực hiện phép chia số nguyên 16-bít n1 cho số nguyên, số nguyên

16-bít nằm trong từ thấp từ bít 0 đến bít 15 của toán hạng 32-bít n2. Kết quả 32-bít

được ghi lại vào n2 bao gồm thương số ghi trong mảng 16-bít từ bít 0 đến bít 15 (từ

thấp) và phần dư ghi trong mảng 16-bít từ bít-16 đến bít-31 (từ cao).

Lệnh DIV_R:

Trong LAD: lệnh thực hiện phép chia số thực 32-bít IN1 cho số thực 32-bít IN2 và cho

ra kết quả 32-bít chứa trong từ kép OUT.

Page 59: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Trong STL, lệnh thực hiện phép chia số thực 32-bít IN1 cho số thực 32-bít IN2, kết

quả 32-bít được ghi lại vào IN2.

Cú pháp dùng lệnh chia hai số trong LAD và STL như sau:

LAD STL

DIV n1 n2

/R n1 n2

e. Lệnh lấy căn bậc 2 (SQRT):

Là một lệnh thực hiện lấy căn bậc hai của số thực 32-bít IN. Kết quả cũng là một số

32-bít được ghi vào từ kép OUT.

Cú pháp dùng lệnh lấy căn bậc hai của một số thực như sau:

LAD STL

SQRT IN OUT

Page 60: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

3.11. Các lệnh cộng trừ một đơn vị

a. Lệnh INC_B:

Là lệnh cộng số nguyên 1 vào nội dung của byte đầu vào.

Trong LAD: Kết quả được ghi vào OUT, tức là: IN1 + 1 = OUT.

Trong STL: Kết quả được ghi vào IN.

Cú pháp dùng lệnh INCW trong LAD và trong STL như sau:

LAD STL

INCW IN

b. Lệnh INC_W

Lệnh cộng số nguyên 1 vào nội dung từ đơn In.

Trong LAD: Kết quả được ghi vào OUT.

Trong STL: Kết quả được ghi lại vào IN.

Cú pháp dùng lệnh INCW trong LAD và trong STL như sau:

LAD STL

INCW IN

Page 61: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

c. Lệnh INC_DW (DOUBLE WORD)

Là lệnh cộng số nguyên 1 vào nội dung từ kép IN

Trong LAD: Kết quả được ghi vào OUT, tức là: IN + 1 = OUT

Trong STL: Kết quả được ghi vào IN, tức là: IN + 1 = IN

Cú pháp dùng lệnh INCD trong LAD và trong STL như sau:

LAD STL

INCD IN

d. Lệnh DEC_B

Là lệnh bớt nội dung của byte đầu vào đi 1 đơn vị.

Trong LAD: Kết quả được ghi vào OUT, tức là: IN - 1 = OUT

Trong STL: Kết quả được ghi vào IN, tức là: IN - 1 = IN

Cú pháp dùng lệnh DECW trong STL và DEC_W trong LAD như sau:

LAD STL

DECB IN

e. Lệnh DEC_W

Là lệnh bớt nội dung IN đi 1 đơn vị.

Trong LAD: Kết quả được ghi vào OUT, tức là: IN - 1 = OUT

Trong STL: Kết quả được ghi vào IN, tức là: IN - 1 = IN

Cú pháp dùng lệnh DECW trong STL và DEC_W trong LAD như sau:

LAD STL

DECW IN

Page 62: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

f. Lệnh DEC_DW

Là lệnh giảm nội dung từ kép IN đi 1 đơn vị.

Trong LAD: Kết quả được ghi vào OUT, tức là: IN - 1 = OUT

Trong STL: Kết quả được ghi vào IN, tức là: IN - 1 = I

Cú pháp dùng lệnh DECDW trong STL hay DEC_DW trong LAD như sau:

LAD STL

DECD IN

3.12. Các lệnh dịch chuyển nội dung ô nhớ

Các lệnh dịch chuyển nội dung ô nhớ thực hiện việc di chuyển hoặc sao chép số

liệu từ vùng này sang vùng khác trong bộ nhớ.

Trong LAD hay trong STL lệnh dịch chuyển thực hiện việc di chuyển hay sao

chép nội dung của một byte, một từ đơn, một từ kép hoặc một giá trị thực từ vùng này

sang vùng khác trong bộ nhớ.

a. Lệnh MOV_B

Là lệnh sao chép nội dung của byte IN sang byte OUT.

Cú pháp dùng lệnh MOV_B trong LAD hay MOVB trong STL như sau:

LAD STL

MOVB IN OUT

b. Lệnh MOV_W

Là lệnh sao chép nội dung của từ đơn IN sang từ đơn OUT.

Cú pháp dùng lệnh MOVW trong STL hay MOV_W trong LAD như sau:

Page 63: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LAD STL

MOVW IN OUT

c. Lệnh MOV_DW

Là lệnh sao chép nội dung của từ kép IN sang từ kép OUT.

Cú pháp dùng lệnh MOVD trong STL hay MOV_DW trong LAD như sau:

LAD STL

MOVD IN OUT

d. Lệnh MOV_R

Là lệnh sao chép một số thực từ IN (4 byte) sang OUT (4 byte).

Cú pháp dùng lệnh MOV_R trong LAD hay MOVR trong STL:

LAD STL

MOVR IN OUT

e. Lệnh SWAP

Là lệnh trao đổi nội dung của Byte thấp và Byte cao trong nội dung từ đơn IN

Cú pháp dùng lệnh SWAP trong LAD hay trong STL như sau:

LAD STL

SWAP IN

Page 64: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

3.13. Các lệnh dịch chuyển thanh ghi

Các lệnh dịch chuyển thanh ghi được chia làm hai nhóm:

• Nhóm các lệnh làm việc với thanh ghi có độ dài bằng một từ đơn (16-bít) hay

một từ kép (32-bít).

• Nhóm các lệnh làm việc với thanh ghi có độ dài tùy ý mà được định nghĩa trong

lệnh.

Nhóm lệnh với thanh ghi có độ dài 16 hoặc 32 bít.

Lệnh dịch chuyển thuộc nhóm này cho phép dịch chuyển và quay các bít trong các từ

đơn và trong các từ kép.

Số lần dịch chuyển các bít của từ đơn hay từ kép được chỉ thị bằng một toán hạng

trong được gọi là số lần đếm đẩy.

Số lần quay các bít của từ đơn hay từ kép cũng được chỉ thị bằng một toán hạng trong

lệnh, được gọi là số lần đếm quay.

Khi sử dụng các lệnh dịch chuyển các bít của từ đơn hay từ kép cần chú ý:

Sẽ không thực hiện việc dịch chuyển nếu như số đếm lần đẩy bằng 0.

Nếu số lần đẩy có giá trị lớn hơn 0, bít nhớ tràn SM1.1 có giá trị logic của bít cuối

cùng được đẩy ra.

Nếu số đếm lần đẩy lớn hơn hoặc bằng 16 (từ đơn), lớn hơn hoặc bằng 32 (từ kép) khi

dịch chuyển thì lệnh sẽ chỉ thực hiện với số đếm lần đẩy lớn nhất là 16 hoặc 32.

Lệnh SRW (đẩy các bít từ đơn sang phải) và SDR (đẩy các bít từ kép sang phải) sẽ

chuyển giá trị 0 vào bít cao nhất của từ hoặc từ kép tại mỗi lần đẩy. Sau khi thực hiện

lệnh, bít SM1.1 sẽ có giá trị ủa bít thứ N-1 của từ đơn hoặc từ kép với N là số lần đẩy.

Lệnh SLW (đẩy các bít từ đơn sang trái) và SRD (đẩy các bít từ kép sang trái) sẽ

chuyển giá trị logic 0 vào bít thấp nhất của từ hoặc từ kép tại mỗi lần đẩy. Sau khi thực

hiện lệnh, bít SM1.1 sẽ có giá trị của bít thứ 16-N đối với từ đơn hoặc 32-N đối với từ

kép, trong đó N là số lần đẩy.

Page 65: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Bít báo kết quả 0 (bít SM1.0) sẽ có giá trị logic bằng 1 nếu như sau khi thực hiện lệnh

đẩy nội dung của từ đơn hay từ kép bằng 0.

Khi sử dụng lệnh quay các bít của từ đơn hay từ kép cần chú ý:

Lệnh quay thực hiện phép đẩy vòng tròn sang trái hay phải các bít của một từ đơn hoặc

của một từ kép. Tại mỗi lần quay, giá trị logic của bít bị đẩy ra khỏi đầu này cũng là

giá trị logic được đưa vào đầu kia của từ hay của từ kép.

Lệnh quay sẽ không thực hiện nếu như số đếm lần quay có giá trị là 0 hay bằng bội số

của 16 (với từ đơn) hoặc 32 (với từ kép).

Đối với các giá trị khác của số đếm lần quay lớn hơn 16 (đối với từ đơn) hoặc 32 (đối

với từ kép), lệnh sẽ thực hiện với số đếm lần quay mới bằng phần dư của số đếm lần

quay cũ chia cho 16 hoặc chia cho 32.

Khi thực hiện lệnh quay sang phải RRW (với từ đơn) hay RRD (với từ kép), tại mỗi

lần quay giá trị thấp nhất trong từ hoặc từ kép được ghi vào bít báo tràn SM1.1. Sau

khi lệnh được thực hiện xong bít SM1.1 sẽ có giá trị logic bít 16-N của từ đơn hoặc

32-N của từ kép, trong đó N là số đếm lần quay.

Khi thực hiện lệnh quay sang trái RLW (với từ đơn) hay RLD (với từ kép) tại mỗi lần

quay, giá trị logic của bít cao nhất trong từ hoặc từ kép được ghi vào bít báo tràn

SM1.1. Sau khi lệnh được thực hiện xon bít SM1.1 sẽ có giá trị logic bít thứ N-1 trong

từ đơn hoặc từ kép, trong đó N là số đếm lần quay (mới).

Bít báo kết quả 0 (bít SM1.0) sẽ có giá trị logic 1 nếu từ hay từ kép được quay có giá

trị bằng 0.

a. Lệnh SHR_R:

Là lệnh dịch chuyển các bít của từ đơn IN sang phải N vị trí, trong đó N được gọi là số

đếm lần dịch chuyển. Tại mỗi lần dịch chuyển, giá trị logic 0 được đưa vào bít cao (bít

thứ 15) và giá trị logic của bít thấp (bít 0) được chuyển vào bít báo tràn SM1.1.

Trong LAD kết quả được ghi vào OUT, còn trong STL kết quả vẫn nằm trong IN.

Cú pháp của lệnh như sau:

Page 66: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LAD STL

SRW IN N

b. Lệnh SHL_W:

Là lệnh dịch chuyển các bít của từ đơn IN sang trái n vị trí, trong đó N được gọi là

số đếm lần dịch chuyển. Tại mỗi lần dịch chuyển, giá trị logic 0 được đưa vào bít thấp

(bít 0) và giá trị logic của bít cao (bít thứ 15) được chuyển vào bít báo tràn SM1.1.

Trong LAD kết quả được ghi vào từ OUT, còn trong STL kết quả vẫn nằm trong IN.

Cú pháp dùng lệnh này như sau:

LAD STL

SLW IN N

c. Lệnh SHR_DW:

Là lệnh dịch chuyển các bít của từ kép IN sang phải N vị trí với N là số đếm lần

dịch chuyển. Tại mỗi lần dịch chuyển, giá trị logic 0 được đưa vào bít cao (bít thứ 31)

và giá trị của bít thấp (bít 0) được chuyển vào bít báo tràn SM1.1. Trong LAD kết quả

được ghi vào từ kép OUT, còn trong STL kết quả vẫn nằm trong IN.

Cú pháp dùng lệnh dịch chuyển này như sau:

LAD STL

Page 67: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

SRD IN N

d. Lệnh SHL_DW:

Là lệnh dịch chuyển các bít của từ kép IN sang trái N vị trí, trong N được gọi là số

đếm lần dịch chuyển. Tại mỗi lần dịch chuyển, giá trị logic 0 được đưa vào bít thấp

(bit 0) và giá trị logic của bít cao (bít 31) được chuyển vào bít báo tràn SM1.1

Trong LAD kết quả được ghi vào từ kép OUT.

Trong STL kết quả vẫn nằm trong IN.

Cú pháp của lệnh này như sau:

LAD STL

SLD IN N

e. Lệnh ROR_W:

Là lệnh quay các bít của từ đơn IN sang phải N lần, với N được gọi là số đếm lần quay.

Tại mỗi lần quay, giá trị logic của bít thấp (bít 0) được chuyển vào bít báo tràn SM1.1

vừa được ghi lại vào bít cao (bít 15) của từ IN.

Trong LAD kết quả được ghi vào từ OUT.

Trong STL kết quả vẫn nằm trong IN.

Cú pháp của lệnh này như sau:

Page 68: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

LAD STL

RRW IN N

f. Lệnh ROR_DW

Là lệnh quay các bít của từ kép IN sang phải N lần, trong đó N được gọi là số lần

quay. Tại mỗi lần quay, giá trị logic của bít thấp (bít 0) vừa được chuyển vào bít báo

tràn SM1.1 vừa được chuyển vào bít cao (bít 31) của từ kép IN. Trong LAD kết quả

được ghi vào từ OUT. Còn trong STL kết quả vẫn nằm trong IN.

Cú pháp dùng lệnh này như sau:

LAD STL

RRD IN N

g. Lệnh ROL-W:

Là lệnh quay các bít của từ đơn IN sang trái N lần với N là số đếm lần quay. Tại mỗi

lần quay, giá trị logic của bít cao (bít 15) vừa được chuyển vào bít báo tràn SM1.1 vừa

được ghi lại vào bít thấp của từ IN.

Trong LAD kết quả được ghi vào từ OUT.

Trong STL kết quả vẫn nằm trong IN

Cú pháp dùng lệnh này như sau:

LAD STL

Page 69: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

RLW IN N

h. Lệnh ROL-DW

Là lệnh quay các bít của từ kép IN sang trái N lần, trong đó N được gọi là số đếm

lần quay. Tại mỗi lần quay, giá trị logic của bít cao (bít 31) vừa được chuyển vào bít

báo tràn SM1.1 vừa được ghi lại vào bít thấp (bít 0) của từ kép IN.

Trong LAD kết quả được ghi vào từ OUT.

Trong STL kết quả vẫn nằm trong IN

Cú pháp dùng lệnh này như sau:

LAD STL

RLD IN N

3.14. Hàm đổi dữ liệu tương ứng thanh ghi 7 nét

Hàm SEG chuyển đổi số nguyên hệ cơ số Hexa trong khoảng 0 F sang thành giá trị

bit tương ứng của thanh ghi 7 nét .

Hàm SEG lập giá trị các bit của thanh ghi 7 nét tương ứng với nội dung của 4 bit thấp

của byte đấu vào IN. Kết quả được ghi cào byte đầu ra OUT

Sơ đồ các bit của thanh ghi 7 nét

Số nguyên Thanh ghi 7 nét

- g f e d c b a

0

Page 70: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

0 0 1 1 1 1 1 1

1 0 0 0 0 0 1 1 0

2 0 1 0 1 1 0 1 1

3 0 1 0 0 1 1 1 1

4 0 1 1 0 0 1 1 0

5 0 1 1 0 1 1 0 1

6 0 1 1 1 1 1 1

7 0 0 0 0 0 1 1 1

8 0 1 1 1 1 1 1 1

9 0 1 1 0 0 1 1 1

A 0 1 1 1 0 1 1 1

B 0 1 1 1 1 1 0 0

C 0 0 1 1 1 0 0 1

D 0 1 0 1 1 1 1 0

E 0 1 1 1 1 0 0 1

Page 71: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

F 0 1 1 1 0 0 0 1

LAD STL Toán hạng

ENCO IN OUT IN (Byte) :VB, IB, QB, MB, SMB, AC, *VD, *AC, hằng số

OUT(byte): VB, IB, QB, MB, SMB, AC, *VD, *AC

3.15 Đồng hồ thời gian thực

Đồng hồ tời gian thực chỉ có ở CPU 214 . Để có thể làm việc với đồng hồ thời

gian thực CPU 214 cung cấp hai lệnh đọc và ghi giá trị cho đồng hồ . Những giá trị

đọc được hoặc ghi được với đồng hồ thời gian thực là các giá trị về ngày, thánh ,

năm , và các giá trị giờ , phúc , giây .Các dữ liệu đọc , ghi với đồng hồ thời gian thực

trong LAD và trong STL có độ dài một byte và phải được mã hóa theo kiểu số nhị

phân BCD .

Byte 0 Năm ( 0 99)

Byte 1 Tháng(0 12)

Byte 2 Ngày (0 31)

Byte 3 Giờ (0 23)

Byte 4 Phúc (0 59)

Byte 5 Giây (0 59)

Byte 6 0

Byte 7

0 ngày trong tuần

Page 72: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Các dữ liệu hợp lệ là:

Năm

(yy) Tháng

(mm) Ngày

(dd) Giờ

(hh) Phút

(mm) Giây

(ss)

0 99 1 12 1 31 0 23 0 59 0 59

Riêng giá trị về ngày trong tuần là một số tương ứng với nội dung của nibble(4 bit)

thấp trong byte theo kiểu :

Chủ nhật Thứ hai Thứ máy biến áp Thứ tư Thứ năm Thứ sáu Thứ

bảy

1 2 3 4 5 6 7

READ_RTC (LAD)

TODR (STL)

Lệnh đọc nội dung của đồng hồ thời gian thực với bộ đệm 8 byte được chỉ thị trong

lệnh bằng toán hạng T.

SET_RTC (LAD)

TODW (STL )

Page 73: GIỚI THIỆU BỘ PLC CỦA SIMATIC S7-200 filetí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ự

Lệnh ghi nội của bộ đệm 8 byte được chỉ thị trong lệnh bằng toán hạng T vào đồng

hồ thời gian thực .

Cú pháp sử dụng lệnh đọc, ghi dữ liệu với đồng hồ thời gian thực trong LAD , STL:

LAD STL Toán hạng

TODR T

T(byte) : VB , IB , QB , MB , SMB , *VD , *AC

TODW T

Tuyệt đối không sử dụng lệnh TODR và lệnh TODW đồng thời vừa trong chương

trình chính, vừa trong chương trình xử lý ngắt .Khi một lệnh TODR hay TODW đã

được thực hiện , thì khi gọi chương trình xử lý ngắt , các lệnh làn việc với đồng hồ thời

gian thực trong chương trình xử lý ngắt sẽ không được thục hiện nữa. Bit SM4.5 sẽ có

logic 1 trong nhuững trường hợp như vậy.