Ví dụ cách đặt địa chỉ module mở rộng của CPU224: V.THỰC HIỆN CHƯƠNG TRÌNH: PLC thực hiện chương trình theo chu trình lặp.Mỗi vòng lặp gọi là một vòng quét.Mỗi vòng quét được bắt đầu bằn
Trang 1CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-200I.GIỚI THIỆU CHUNG VỀ PLC S7-200:
PLC, viết tắt của ‘programable logic controler" là thiết bị điều khiển logic lập trình được, hay thiết bị logic 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 Như vậy với chương trình điều khiển trong PLC trở thành bộ điều khiển số nhỏ gọn có thể dễ dàng thay đổi thuật toán điều khiển
và trao đổi thông tin với môi trường bênngoài ( PLC khác hoặc máy tính )
S7- 200 là thiết bị điều khiển logic khả trình của hãng Siemens ( CHLB Đức ),
có cấu trúc kiểu module và có các module mở rộng Các module này được sử dụng với những mục đích khác nhau
Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ nhớ không đủ ta có thể sử dụng bộ nhớ ngoài để lưu chương trình và
dữ liệu (Catridge )
Dòng PLC S7-200 có hai họ là 21X ( loại cũ ) và 22X ( loại mới ), trong đó họ 21X không còn sản xuất nữa Họ 21X có các đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có các đời sau: 221, 222, 224, 224XP, 226, 226XM
Hình dán g củ a PLC:
Trang 2
* Thông số và các đặc điểm kỹ thuật của series 22X :
* Giới thiệu về module mở rộng:
- Module đầu vào số: EM221,có nhiều loại bao gồm 8/16 đầu vào và điện áp 24VDC/120-230VAC
- Module đầu ra số: EM222 bao gồm 4/8 đầu ra 24VDC/RELAY/230VAC
- Modulevào/ra số: EM223 bao gồm 4/8/16 đầu vào 24VDC và 4/8/16 đầu ra 24VDC/RELAY/230VAC
- Module đầu vào tương tự: EM231 từ 2/4 đầu vào với các loại tín hiệu 20mA…
- Module đầu ra tương tự: EM232 có 2 đầu ra
- Module vào ra tương tự: EM235 gồm 4 đầu vào và 1 đầu ra
- Ngoài ra còn có các loại module thích hợp cho những ứng dụng khác như module điều khiển vị trí,module truyền thông
Trang 3Bảng giới thiệu các loại module mở rộng:
- Đèn SF/DIAG: Chỉ báo hệ thống bị hỏng tức do lỗi phần cứng hoặc hệ điều hành
- Đèn Ix.x(màu xanh):Chỉ báo trạng thái của đầu vào số(ON/OFF)
Trang 4- Đèn Qx.x(màu xanh): Chỉ báo trạng thái của đầu ra số(ON/OFF)
1.3.Port truyền thông:
- Port truyền thông nối tiếp RS485: Giao tiếp với PC,PG,TD200,OP,mạng biến tần…
- Port cho module mở rộng: Kết nối với module mở rộng
1.4.Công tắc chuyển chế độ:
- RUN: Cho phép PLC thực hiện chương trình,khi chương trình lỗi hoặc gặp lệnh STOP thì PLC tự động chuyển sang chế độ STOP mặc dù công tắc vẫn ở vị trí
RUN(quan sát đèn trạng thái)
- STOP: Dừng cưỡng bức chương trình đang chạy,các đầu ra chuyển về OFF
- TERM: Cho phép người dùng chọn một trong hai chế độ RUN/STOP từ xa, ngoài
ra còn được dùng để download chương trình người dùng
- Module đầu vào
- Module đầu ra
- Module đơn vị xử lý trung tâm(CPU)
- Module bộ nhớ
- Module quản lý phối ghép vào ra
Mô hình tổng quát của một PLC
Trang 52.1.Đơn vị xử lý trung tâm(CPU Central Processing Unit):
CPU dùng để xử lý, thực hiện những chức năng điều khiển phức tạp quan trọng
của PLC.Mỗi PLC thường có từ một đến hai đơn vị xử lý trung tâm
CPU thường được chia làm hai loại: đơn vị xử lý “một bit” và đơn vị xử lý “từ ngữ”:
- Đơn vị xử lý “một bit”: Chỉ áp dụng cho những ứng dụng nhỏ,đơn giản,chỉ đơn thuần xử lý ON/OFF nên kết cấu đơn giản, thời gian xử lý dài
- Đơn vị xử lý “từ ngữ”: Có khả năng xử lý nhanh các thông tin số, văn bản,phép toán, đo lường, đánh giá,kiểm tra nên cấu trúc phần cứng phức tạp hơn nhiều tuy nhiên thời gian xử lý được cải thiện nhanh hơn
2.2.Bộ nhớ:
Bao gồm các loại bộ nhớ RAM,ROM,EEFROM, là nơi lưu trữ các thông tin cần
xử lý trong chương trình của PLC
Bộ nhớ được thiết kế thành dạng module để cho phép dễ dàng thích nghi với các chức năng điều khiển với các kích cỡ khác nhau.Muốn mở rộng bộ nhớ chỉ cần cắm thẻ nhớ vào rãnh cắm chờ sẵn trên module CPU
Bộ nhớ có một tụ dùng để duy trì dữ liệu chương trình khi mất điện
Trang 6- Vùng nhớ chương trình: Là miền nhớ được dùng để lưu trữ các lệnh được dùng trong chương trình.Vùng này thuộc kiểu non-volatile có thể đọc và ghi được
- Vùng nhớ tham số: Dùng để lưu giữ các tham số như từ khóa, địa chỉ trạm… Vùng này thuộc kiểu non-volatile có thể đọc và ghi được
-Vùng dữ liệu: Dùng để cất giữ các dữ liệu của chương trình bao gồm kết quả các phép tính,các hằng số được định nghĩa trong chương trình,bộ đệm truyền thông… -Vùng đối tượng : Bao gồm các bộ đếm, bộ định thì, các cổng vào ra tương tự Vùng này không thuộc kiểu non-volatile nhưng có thể đọc và ghi được
Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương trình 2.Vùng nhớ chương trình:
Vùng nhớ chương trình gồm ba khối chính:OB1, SUBROUTIN và INTERRUPT
- OB1: Chứa chương trình chính,các lệnh trong khối này luôn được quét trong mỗi vòng quét
- SUBROUTIN: Chứa chương trình con, được tổ chức thành hàm và có biến hình thức để trao đổi dữ liệu, chương trình con sẽ được thực hiện khi có lệnh gọi từ chương trình chính
- INTERRUPT: Miền chứa chương trình ngắt,được tổ chức thành hàm và có khả năng trao đổi dữ liệu với bất kỳ một khối chương trình nào khác.Chương trình này sẽ được thực hiện khi có sự kiện ngắt xảy ra
Trang 7Vùng dữ liệu được chia thành những vùng nhớ nhỏ để phục vụ cho những mục đích và công dụng khác nhau, bao gồm các vùng sau:
- V(Variable memory):Vùng nhớ biến
- I (Input image register):Vùng đệm đầu vào
- Q(Output image register):Vùng đệm đầu ra
- M(Internal memory bits):Vùng nhớ các bit nội
- SM(Special memory):Vùng nhớ đặc biệt
Cách thức truy cập địa chỉ của vùng nhớ dữ liệu:
- Truy cập theo từ: Tên miền nhớ + W + địa chỉ byte cao của từ Ví dụ VW183 chỉ
từ đơn gồm hai byte là VB183 và VB184 trong đó VB183 là byte cao trong từ
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-Truy cập theo từ kép: Tên miền + D + địa chỉ byte cao trong miền.Ví dụ
VD345 chỉ từ kép gồm 4 byte 345, 346, 347, 348 trong miền nhớ V trong đó 345 là byte cao trong từ kép
31 24 23 16 15 8 7 0
3.2.Truy cập gián tiếp:
Truy cập địa chỉ gián tiếp thông qua con trỏ(pointer).Con trỏ là một miền nhớ từ kép chứa địa chỉ của vùng nhớ khác.Các vùng nhớ V,L và thanh ghi chỉ mục
(AC1,AC2,AC3) có thể được sử dụng như là con trỏ.Để sử dụng con trỏ phải sử dụng lệnh MOVE_D để chuyển địa chỉ của vùng nhớ được định địa chỉ gián tiếp vào vùng con trỏ.Con trỏ cũng có thể được chuyển tới chương trình con như là một tham số S7-200 cho phép con trỏ truy cập các vùng nhớ V,M,I,Q,S,T,C theo giá trị hiện hành và không cho phép truy cập theo từng bit và các vùng nhớ AI,AQ,HC,SM,L
Để truy cập gián tiếp dữ liệu địa chỉ của một vùng nhớ,phải tạo một con trỏ cho vùng đó bằng cách sử dụng ký tự & cùng với vùng nhớ có địa chỉ cần lấy.Toán hạng đầu vào của lệnh phải bắt đầu với ký tự & để chỉ rằng địa chỉ vùng nhớ, thay cho nội dung của nó được chuyển vào vùng định nghĩa toán hạng đầu ra của lệnh.Quy ước sử dụng con trỏ để truy nhập như sau:
- & địa chỉ byte(cao): Toán hạng lấy địa chỉ của byte,từ hoặc từ kép
Trang 8VD: MOVD &VW100,AC1: Tạo con trỏ bằng cách đưa địa chỉ byte cao
VB100 vào trong thanh ghi AC1,thanh ghi AC1 sẽ chứa địa chỉ của VW100
- * con trỏ: Toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ chỉ vào Theo ví dụ trên,khi đã tạo con trỏ ta có thể lấy nội dung của AC1 và chuyển vào
VW300 bằng cách dùng toán hạng lấy nội dung trỏ vào thanh ghi AC1
VD: MOVW &AC1,VW300: Nội dung của AC1 được chuyển vào VW300
IV.MỞ RỘNG CỔNG VÀO RA:
Các PLC họ S7-200 đều có thể mở rộng thêm các đầu vào/ra và các chức năng
nâng cao khác bằng cách ghép nối thêm các module mở rộng về phía bên phải của
PLC tạo thành một móc xích các module.Địa chỉ của các vị trí các module được xác
Trang 9định bằng kiểu vào ra và vị trí của các module trong móc xích,bao gồm các module có cùng kiểu
Các module mở rộng số hay tương tự đều chiếm chỗ trong bộ đệm tương ứng với
số đầu vào ra của module
Ví dụ cách đặt địa chỉ module mở rộng của CPU224:
V.THỰC HIỆN CHƯƠNG TRÌNH:
PLC thực hiện chương trình theo chu trình lặp.Mỗi vòng lặp gọi là một vòng
quét.Mỗi vòng quét được bắt đầu bằng giai đoạn đọ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.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 tra lỗi.Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các cổng ra
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 với 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 thì hệ thống sẽ cho dừng mọi công việc khác ngay cả chương trình xử lý ngắt để thực hiện lệnh này một cách trực tiếp với cổng
vào/ra
Nếu sử dụng các chế độ ngắt,chương trình con tương ứng với các chế độ 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 ngắt chỉ
được thực hiện khi có sự kiện báo ngắt và có thể xảy ra bất kỳ lúc nào trong một vòng quét
VI.CẤU TRÚC CHƯƠNG TRÌNH:
Chương trình của PLC S7-200 được lưu trong bộ nhớ chương trình và có thể được lập dưới hai dạng cấu trúc khác nhau:
Trang 10- Chương trình tuyến tính: Toàn bộ chương trình nằm trong khối chương trình chính (OB1), các lệnh trong chương trình luôn được quét từ đầu đến cuối chương trình
và quay lại từ đầu trong quá trình PLC hoạt động.Chương trình này chỉ thường áp
dụng với các ứng dụng không phức tạp lắm.-Chương trình có cấu trúc: Chương trình
được chia thành những phần nhỏ và mỗi phần thực hiện một nhiệm vụ riêng biệt, từng
phần nằm trong những khối riêng biệt(OB1,SUBROUTIN,INTERRUPT).Loại chương
trình này thường áp dụng với những yêu cầu phức tạp và nhiều khâu.Khi lập trình
chương trình có cấu trúc thường sử dụng ngoài chương trình chính còn có chương
trình con và chương ngắt.Chương trình con được viết trong khối chương trình con và
được gọi trong chương trình chính khi có lệnh gọi.Chương trình ngắt được viết trong
khối chương trình ngắt và thực hiện mỗi khi có sự kiện ngắt xảy ra bất kể trong thời
điểm nào của vòng quét.Cả hai loại chương trình này đều có khả năng trao đổi dữ liệu
với các chương trình khác
VII.KIỂU DỮ LIỆU:
Trong PLC S7-200 có các kiểu dữ liệu được cho trong bảng sau:
Kiểu dữ liệu Kích thước Nội dung Dải giá trị
BYTE 8 bit Số nguyên có dấu(chỉ áp
dụng cho lệnh SHRB
-128 ÷ 127
DINT 32 bit Số nguyên có dấu -2147383648÷2147383648
REAL 32 bit Số thực có dấu theo IEEE -2147383648÷2147383648
STRING 0-255 byte Kiểu dữ liệu chuỗi ASCII Mã ASCII từ 128 ÷ 255
VIII.THIẾT BỊ LẬP TRÌNH:
Có hai loại thiết bị có thể dùng để lập trình cho PLC S7- 200 là PG và PC
- PG: Là thiết bị lập trình chuyên dụng được dùng cho PLC S7-200 tuy nhiên
chỉ sử dụng để lập trình với ngôn ngữ STL
- PC: Là máy tính cá nhân trên đó có cài phần mềm STEP7-MICROWIN.Phần
mềm này cho phép lập trình với cả ba ngôn ngữ là STL, LAD và FBD.Để cài phần
mềm này người phải có bản quyền và PC phải cài hệ điều hành WIN98/2000/NT/XP
Hiện nay hầu hết sử dụng STEP7-MICROWIN 3.0, 3.2,4.0 để lập trình cho S7 để có
thể sử dụng được những ứng dụng nâng cao
Trang 111.Giao diện làm việc:
Sau khi đã cài đặt phần mềm STEP7-MICROWIN và vào chương trình làm việc, giao diện làm việc sẽ được thể hiện như sau:
Navigation Bar – InstructionTree Cross Reference Data Block Status Chart Symbol Tabler
OutputWindow-Status Bar Program Editor Local Variable Table
- Navigation Bar: Thể hiện các khối và các lệnh làm việc được tạo sẵn trong phần mềm.Để sử dụng các khối này ta chỉ cần kích vào nút biểu tượng tương ứng với khối cần dùng
- InstructionTree: Thể hiện tất cả các khối và lệnh sử dụng trong chương trình dưới dạng cây thư mục.Muốn làm việc với lệnh nào chỉ việc Click đúp chuột vào vị trí đó
Trang 12- Menu bar và Toolbar: Là các thanh công cụ giúp thực hiện nhanh các lệnh và chức năng sử dụng trong chương trình
2.Các khối sử dụng trong giao diện lập trình:
2.1.Khối Programe Block:
Gồm ba khối chính:
1.Khối OB1: Là khối chứa chương trình chính,luôn được quét trong mỗi vòng vòng quét.Đây là khối chính trong việc thiết kế chương trình và bắt buộc phải có 2.Khối SUBROUTIN: Là khối chứa chương trình con.Chương trình chứa trong khối này sẽ được thực hiện mỗi khi có lệnh gọi thực hiện từ chương trình chính 3.Khối INTERRUPT: Là khối chứa chương trình ngắt.Khối này sẽ được thực hiện mỗi khi có sự kiện ngắt xảy ra
Cách tạo chương trình con hay chương trình ngắt
Có thể tạo nhiều chương trình con hay chương trình ngắt tuy nhiên không thể tạo nhiều chương trình chính do chương trình chính chỉ có một.Có thể xóa hay đổi tên chương trình con hay chương trình ngắt bằng cách click chuột phải vào biểu tượng chương trình và chọn
“Delete” hay “Rename”
2.2.Khối Data Block:
Đây là khối chứa dữ liệu của một chương trình.Ta có thể định dạng dữ liệu trước trong khối này và sử dụng chúng trong chương trình.Khi tải chương trình vào PLC thì
Trang 13toàn bộ nội dung của khối sẽ được lưu vào bộ nhớ của PLC.Khối chỉ làm việc với dữ liệu của vùng nhớ V
Để tạo dữ liệu trong khối này ta có click vào biểu tượng trên màn hình hoặc trên cây thư mục chọn khối và click vào biểu tượng “USER”,khi đó màn hình chương trình
sẽ chuyển sang làm việc với khối.Cách tạo dữ liệu được thể hiện bên dưới
Ví dụ về cách tạo một Data Block :
2.3.Khối System Block:
Đây là khối định dạng các chức năng làm việc của hệ thống Khối này gồm có 10 khối chính:
Trang 14Thời gian lọc mặc định của đầu vào là 6.4ms
6 Pulse Catch Bits:
PLC cho phép chọn ngõ vào có thể bắt những tín hiệu nhanh khi chu kỳ quét chưa kịp quét, tín hiệu đó sẽ được giữ cho đến khi chu kỳ quét được thực hiện 7.Background Time:
Background time còn gọi là thời gian nền,được chuyên dùng cho việc xử lý các yêu cầu truyền thông trong chế độ chạy ở trạng thái biên dịch hoặc đáp ứng
Background time được cho dưới dạng phần trăm và tác động đến thời gian quét.Khi tỷ
lệ chọn càng tăng thì thời gian quét càng chậm.Tỷ lệ hợp lý được chọn là 10%
2.4.Khối Symbol Table:
Khối này cho phép người dùng đặt biểu tượng và chú thích các địa chỉ sử dụng trong chương trình.Khi ta đặt biểu tượng (symbol) và chú thích(comment) thì trong chương trình sẽ thể hiện các biểu tượng này thay cho địa chỉ.Công việc này sẽ giúp cho người dùng dễ dàng giám sát các địa chỉ được sử dụng trong chương trình
Ví dụ về cách lập một Symbol table:
Trang 152.5.Khối Status Chart:
Khối này giúp người dùng có thể giám sát và hiệu chỉnh các dữ liệu trong
chương trình bằng cách đưa các dữ liệu cần giám sát vào trong khối.Quá trình quan sát
dữ liệu chỉ được thực hiện khi PLC đang ở chế độ RUN.Người dùng có thể giám sát
dữ liệu bằng hai cách: Dùng Chart Status hoặc Trend View trên thanh công cụ.Chart Status thể hiện giá trị dữ liệu ở dạng bảng và Trend View thể hiện dữ liệu dưới dạng biểu đồ theo thời gian.Có thể quan sát dữ liệu thông qua các công cụ là Chart Status hoặc Single read tuy trong đó chức năng Chart Status có thể cập nhật giá trị của dữ liệu khi PLC chuyển sang chế độ STOP còn chức năng Single Read thì không Ta có thể thay đổi và cập nhật giá trị của dữ liệu thông qua các chức năng Write và Force trên thanh công cụ
Ví dụ về hoạt động của một bảng dữ liệu trong chương trình
Trang 162.6.Khối Cross Reference:
Khối Cross Reference được thể hiện dưới dạng bảng giúp người dùng có thể giám sát được vị trí và loại của dữ liệu dùng trong chương trình.Bảng chỉ được thể hiện khi chương trình được Download xuống PLC và quan sát ở chế độ online
Trong bảng này ta chọn địa chỉ của PLC, thường mặc định là 2, sau đó chọn ô
“Search all baud rates” để tìm tất cả các tốc độ truyền thông yêu cầu, tiếp theo Click chuột vào biểu tượng “Set PG/PC interface” để cài đặt giao diện truyền thông, một cửa
sổ sẽ hiện ra như sau:
Trang 17Trong cửa sổ này ta chọn Properties để định dạng cổng truyền thông Nếu ta dùng cổng truyền thông loại nào thì ta chọn loại đó,sau đó chọn các thông số cho chuẩn truyền thông như thể hiện bên dưới Sau khi chọn xong các thông số ta nhấn
“OK”để thoát khỏi cửa sổ này và quay lại cửa sổ trước đó, tại đây ta chọn chuẩn là PC/PPI cable(PPI) nếu cáp sử dụng là PPI, sau đó nhấn “OK”để thoát về cử sổ ban đầu Tại đây ta click đúp chuột vào biểu tượng “Double - Click to refresh ” Nếu quá trình giao tiếp thành công tại đó sẽ hiển thị loại PLC đang kết nối có nghĩa là chương trình đã nhận dạng được loại PLC, nếu không sẽ hiển thị cảnh báo lỗi Nếu có lỗi xảy
ra ta phải kiểm tra thông báo lỗi để tìm cách khắc phục lỗi sau đó thực hiện lại các bước như trên
Sau khi kết nối thành công ta tiến hành viết hoặc đọc chương trình,nếu muốn viết chương trình vào PLC thì ta chọn “Download” còn ngược lại thì chọn “Upload”.Để Upload hay Download thì người dùng phải kết nối cáp với PLC và chuyển PLC sang chế độ STOP Việc này được thực hiện như sau:
- Từ thanh menu ta chọn ‘File” và kéo thả xuống, tại đây ta chọn Upload hoặc DownLoad
- Trên thanh Toolbar ta chọn mũi tên xuống cho việc DownLoad và mũi tên lên cho việc Upload
- Nhấn phím Ctrl + U cho việc Upload và Ctrl + D cho việc DownLoad
Trang 19CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH 2.1.PHƯƠNG PHÁP LẬP TRÌNH:
S7-200 biểu diễn chương trình dưới dạng một mạch logic cứng bằng một dãy các lệnh và khối chương trình theo thứ tự quy định Các lệnh và khối này sẽ lần lượt được quét trong chương trình từ đầu đến cuối trong một vòng quét PLC sẽ làm việc ngay tại vòng quét đầu tiên và từ đó thực hiện liên tục chu kỳ quét Trong mỗi vòng quét nếu
có một lệnh được gọi PLC sẽ nhận lệnh đó và thực hiện, nếu không quét kịp thì tại vòng quét tiếp theo sẽ thực hiện
Có ba phương pháp lập trình cơ bản:
- Lập trình hình thang (LAB – Ladder Logic)
- Phương pháp khối hàm (FBD – Funtion Block Diagram)
- Phương pháp liệt kê câu lệnh (STL – Statement List)
Nếu chương trình được viết theo kiểu LAD hoặc FBD thì có thể chuyển sang dạng STL nhưng không phải mọi chương trình viết bằng STL đều có thể chuyển sang hai dạng kia
1.LAD: Là ngôn ngữ lập trình bằng đồ hoạ mô phỏng theo mạch relay Các phần
tử cơ bản dùng để biểu diễn lệnh logic
- Tiếp điểm: Mô tả các tiếp điểm dùng trong mạch relay, toán hạng của tiếp điểm dùng trong chương trình là bit Có hai loại tiếp điểm:
+ Tiếp điểm thường đóng :
+ Tiếp điểm thường mở :
- Cuộn dây: mô tả cuộn dây relay Toán hạng sử dụng là bit
- Hộp: Là biểu tượng mô tả các hàm khác nhau làm việc khi có tín hiệu đến kích Những hàm thường được biểu diễn bằng hộp là các hàm tạo thời gian (Timer), hàm đếm (Counter) và các hàm toán học
- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn chỉnh Thông thường các tín hiệu điện phải đi từ dây nóng qua thiết bị rồi đến dây trung hoà sau đó
về nguồn, tuy nhiên trong phần mềm lập trình chỉ thể hiện dây nóng và bên trái và các đường nối đến thiết bị từ đó
2.STL:
Phương pháp liệt kê lệnh là phương pháp lập trình bằng cách tập hợp các câu lệnh, mỗi câu lệnh thể hiện một chức năng của chương trình
Để tạo một chương trình dạng STL người lập trình cần phải hiểu rõ phương thức
sử dụng ngăn xếp Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau từ S0 – S8 Tất cả các thuật toán liên quan đến ngăn xếp đều chỉ làm việc với bít đầu tiên (S0) và bit thứ hai (S1) của ngăn xếp Giá trị logic mới đều có thể được gửi hoặc nối thêm vào
Trang 20ngăn xếp Khi phối hợp hai bit đầu tiên của ngăn xếp thì ngăn xếp sẽ được kéo lên một bit
Ngăn xếp và tên bit:
3.FBD:
Là phương pháp lập trình khối hàm mô phỏng các lệnh và khối làm việc trong mạch số Các phần tử cơ bản trong phương pháp này là các khối lệnh được liên kết với nhau
2.2 Cấu trúc chương trình
Cấu trúc của một chương trình được tạo thành từ 3 thành phần cơ bản: 1
chương trình chính (main Program), có thể có một hay nhiều chương trình con
(subroutines), các chương trình con xử lý ngắt (interrupt routines) có thể có hoặc không
Chương trình chính bao gồm các lệnh điều khiển ứng dụng Các lệnh này được thực hiện tuần tự một cách liên tục, cứ mỗi vòng quét một lần Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND hoặc END)
Chương trình con là một bộ phận của chương trình Nó có thể có hoặc không, chỉ được thực hiện khi có lệnh gọi đến từ chương trình chính Các chương trình con phải được viết sau lệnh kết thúc chương trình chính (MEND hoặc END)
Các chương trình con xử lý ngắt (có thể có hoặc không) khi xảy ra sự kiện ngắt tương ứng Sự kiện đó có thể là sự thay đổi mức ở một đầu vào, bộ định thời đếm đủ hay nhận được dữ liệu trên cổng truyền thông….Chương trình xử lý ngắt cũng phải được viết sau lệnh kết thúc chương trình chính (MEND hoặc END)
Các chương trình con thường được nhóm lại thành một nhóm ngay sau chương trình chính Sau đó đến ngay các chương trình xử lý ngắt Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này Cũng có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính
Trang 21Hình 2.2 Cấu trúc một chương trình của PLC
Hình 4.24 Cấu trúc một chương trình của PLC
2.3.TẬP LỆNH S7-200:
Tập lệnh của S7-200 chia làm ba nhóm:
- Các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc vào giá trị logic của ngăn xếp
- Các lệnh chỉ thực hiện khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1
- Các nhãn lệnh đánh dấu vị trí trong tập lệnh hay còn gọi là nhóm lệnh điều khiển chương trình.Cả ba phương pháp đều sử dụng ký hiệu I để chỉ các lệnh làm việc tức thời, tức là giá trị được chỉ định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển ngay đến tiếp điểm được chỉ dẫn ngay trong lệnh ngay khi được thực hiện chứ không phải chờ đến giai đoạn trao đổi với ngoại vi của vòng quét Điều đó khác với lệnh không tức thời là giá trị chỉ chuyển vào thanh ghi ảo khi thực hiện lệnh Các nhóm lệnh được cho trong cây lệnh của S7-200:
- Bit Logic: Tập lệnh làm việc với bit
- Clock: Tập lệnh làm việc với thời gian của hệ thống
- Communication: Tập lệnh truyền thông
- Compare: Tập lệnh so sánh
- Convert: Tập lệnh biến đổi
- Counter: Tập các bộ đếm
- Floating-Point Math: Tập lệnh toán học làm việc với số thực
- Integer Math: Tập lệnh toán học làm việc với số nguyên
- Interupt: Tập lệnh làm việc với chương trình ngắt
Trang 22- Logical Operations: Tập lệnh các phép tính logic biến đổi
- Move: Tập lệnh di chuyển dữ liệu
- Programe Control: Tập lệnh điều khiển chương trình
- Shift/Rotate: Tập lệnh dịch/quay làm việc với thanh ghi
- String: Tập lệnh làm việc với chuỗi
- Table: Tập lệnh làm việc với bảng dữ liệu
- Timers: Tập các bộ định thời gian
- Call Subroutin: Tập lệnh gọi các chương trình con
Trang 232.4.2 Các lệnh ghi/xóa giá trị cho tiếp điểm
Lệnh này dùng để đóng và ngắt các điểm gián đoạn đã được thiết kế Khi dòng điều khiển đến các cuộn 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)
S bit, n
Set 1 mảng gồm n tiếp điểm, tính từ tiếp điểm "bit" (n<=128 tiếp điểm)
VB, AC, Hằng số,
*VD, *AC
RI bit, n
Reset tức thời 1 mảng gồm n tiếp điểm, tính từ tiếp điểm
"bit" (n <= 128 tiếp điểm)
2.4.3 Các lệnh logic đại số Boolean
Các lệnh này được biểu diễn trong LAD và STL được tóm tắt trong bảng sau Chúng sử dụng bit nhớ đặc biệt SM1.0 để thông báo về trạng thái kết quả phép tính được thực hiện SM1.0 là bit nhớ 0 (Có giá trị logic bằng 1 khi kết quả của phép tính là 0)
Biểu diễn trong STL
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, SMW, AC, AIW, *VD,
*AC, Hằng số
IN2: VW, T, C, IW, QW, SMW, AC, 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
n
S bit
n
R bit
n
SI bit
n
RI bit
n
Trang 24XORW 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, AC, HC, *VD, *AC, Hằng số
IN2: VD, ID, QD, MD, SMD, 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
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 OUT
IN1: VW, T, C, IW, QW, SMW, AC, AIW, *VD,
*AC, Hằng số
IN2: VW, T, C, IW, QW, SMW, AC, AIW, *VD,
*AC
OUT: VW, T, C, IW, MW,
QW, SMW, AC, *VD, *AC
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 OUT
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 OUT