1. Trang chủ
  2. » Công Nghệ Thông Tin

Sách hướng dẫn lập trình Mitsubishi PLC Tiếng Việt

248 803 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 248
Dung lượng 31,94 MB

Nội dung

Mô tả chi tiết tiết tập lệnh của PLC mitsubishi dòng FX2C,FX2N,FX2NC,FX0...Mô tả chi tiết các thiết bị ngõ ra, thiết bị kích, thiết bị nhớ.Hướng dẫn chi tiết các cách lập trình PLC mitsubishiCác chú ý khi lập trình PLC, các lỗi hay mắc phải

Trang 3

dụ như vc chuyển trạng thái của bộ điều khiển điện tử (electronic control gear) sang

ON hoặc OFF), hay thông qua các trễ thời gian (time delay) hay, đơn giản là khi counter đạt đến giá trị chỉ định trước PLC sẽ liên tục thực hiện 'lặp' qua chương trình mà 'người dùng tự định nghĩa' bên trong nó, những chương trình này chờ các tín hiệu input và sau đó đưa ra các ouput tại các khoảng thời gian đã đc lập trình cụ thể

Chú ý 1 số thuật ngữ:

Thuật ngữ PLC nói chung, được dùng để thống nhất tất cả các thành phần/yếu tố (elements) tạo nên 1 hệ thống điều khiển (control system) dưới 1 tên gọi cô đọng duy nhất Thi thoảng, các kỹ sư cũng sử dụng các thuật ngữ như Programmable Logic Controller’, ‘PLC’ hay ‘programmable controller’ để miêu tả cùng 1 hệ thống điểu khiển

1 bộ PLC hoàn chỉnh có thể được tạo ra từ vc kết hợp lại các thành phần linh kiện nhỏ hơn 1 trong các thành phần (element) quan trọng nhất, đây là nơi chương trình được nạp, đc lưu trữ và xử lý, chúng thường đc biết đến vs tên gọi - Main

Processing Unit hay MPU 1 số thuật ngữ khác cùng miêu tả thiết bị này là ‘base unit’, ‘Controller’ hay ‘CPU’ Thuật ngữ ‘CPU’ có thể dễ gây nhầm lần, do hiện tại, ngày càng nhiều các sản phẩm tân tiến mang trong mình các CPU bên trong (local CPU devices) Nhưng lưu ý, bản thân 1 MPU sẽ mang trách no kiểm soát các CPUs khác qua 1 mạng lưới giao tiếp (communication network) hay qua bus

1.3 Công cụ để lập trình PLC

Trang 4

Hiện nay, trên thị trường có không ít các công cụ chuyên dụng dành cho vc lập trình các thiết bị PLCs thuộc họ các sản phẩm Mitsubishi FX Chúng để có thể truy cập

và sử dụng các tập lệnh để lập trình các thiết bị PLC tương ứng đc liệt kê trong cuốn manual này

1.4 Số phiên bản CPU

Theo thời gian, Mitsubishi sẽ tiến hành thêm các đặc tính mới, tốt hơn để phát triển

và nâng cao sản phẩm của họ Danh sách dưới đây cho ta cái nhìn tổng quát về các phiên bản CPU đã đc ‘đại tu’ với các chức năng và đặc tính mới bổ sung

1.4.1 FX0N CPU versions

CPU Ver 1.20 đc bổ sung những tính năng sau đây:

Software control for protocol 1 and 4 communications with the FX0N-485ADP,

1:N network

CPU Ver 1.40 The following features were added:

Software control for communications using the FX0N-485ADP, peer to peer

(N:N) network

1.4.2 FX and FX2C CPU versions

CPU Ver 3.07 - The following instructions were added:

ASCI (FNC82), CCD (FNC84), FLT (FNC49), HEX (FNC83), RS (FNC80),

SER (FNC61), SORT (FNC69), SQR (FNC48)

- The following instructions were upgraded:

EI (FNC04), BMOV (FNC15), HSCS (FNC53), PLSY (FNC57),

Trang 5

FMOV (FNC16), MEAN (FNC45), ABSD (FNC62), DSW (FNC72),SEGL (74),

PR (FNC 77)

- The following device ranges were added:

Input and output devices are independently addressable up to 256 points in

software Total combined input and output points (hardware or software) is 256 Auxiliary relays increased to 1536 points (M0-M1535)

Data registers increased to 1000 points (D0-D999)

Optional RAM File Registers added, 2000 points (D6000 -D7999)

Pointers increased to 128 points (P0 - P127)

CPU Ver 3.11 The following instructions were added:

PID (FNC88)

CPU Ver 3.2 The following features were added:

Software control for protocol 4 communications with the FX-485ADP, 1:N

network

CPU Ver 3.30 - The following features were added:

Software control for protocol 1 communications with the FX-485ADP, 1:N

network

- The following instructions were phased out (removed):

ANRD (FNC91), ANWR (FNC92), BLK (FNC97), MCDE (FNC98), MNET

(FNC90)

1.5 Các điểm cần đặc biệt chú ý cho các thiết bị lập trình (series FX(2c))

1.5.1 Dòng FX vs phiên bản CPU từ 3.07 trở lên và FX2C

Chú ý: Các công cụ lập trình hệ thống thế hệ cũ sẽ không thể sử dụng các tính năng mới, được bổ sung cho FX CPU phiên bản 3.07 trở lên (hiện đang đc tích hợp trong các bộ thiết bị dòng FX2c) Tuy nhiên, vc lập trình theo 1 tiêu chuẩn cụ thể (certain ‘stadard’), sẽ cho phép áp dụng vc kết hợp các lệnh (instructions) với 1 số cuộn phụ trợ đặc biệt (Các cuộn M – M coils) để đạt được các câu lệnh mang hiệu quả tương đương vs các lệnh đc tích hợp trong các CPU thế hệ ms Bảng dưới đây chỉ ra phiên bản nào của phần mềm ngoại vi (peripheral software) sẽ hoạt động trực tiếp

vs tất cả các đặc tính ‘mới’ bổ sung, phiên bản nào yêu cầu các instructions sửa đổi (instructions + M)

Trang 6

VD về cách sử dụng:

Format này cực kỳ quan trọng để 1 lệnh có thể

hoạt động chính xác User sẽ phải lập trình các

lệnh “mô phỏng’’ (mimic instruction) với số hiệu

cuộn M (đc đặt sau lệnh SET) ngay trước câu

lệnh cần sửa đổi cụ thể:

SET + M8190 mắc // ngay trước câu lệnh ‘mô

phỏng’ MOV|K36|D10 để phỏng lại lệnh

SQR|K36|D10

Trang 7

Chú ý khi sử dụng con trỏ ngắt mới:

Để lập trình các con trỏ ngắt mới vs số

hiệu từ I010 – I060 trong lệnh HSCS (

High Speed Counter Set - FNC 53) vs

các thiết bị lập trình cũ hơn, hãy sử

ghi file k thể đc dùng như thiết bị đích

trong lệnh BMOV (FNC 15) Để BMOV

dữ liệu vào các thanh ghi tệp tin vs các

thiết bị loại này, cuộn M8198 phải đc set ON Điều này sẽ chuyển đổi các tham số nguồn và địch; tức là, TB nguồn, sau đó sẽ đc coi như TB đích và ngược lại

Lưu ý chung: Bỏ qua các kỹ thuật lập trình ở mục này nếu bạn sử dụng các phầm mềm lập trình đã được cập nhật, Khi đó các thao tác lệnh thông thường sẽ được áp dụng

1.5.2 FX2N(C) CPU all versions (áp dụng cho các thiết bị dòng FX2N(C))

Lưu ý: Phần introduction của phiên bản CPU này cung cấp người dùng dòng FX 1

số lượng lớn các thiết bị và các lệnh mới Để có thể tận dụng tối đa các đặc tính của các bộ PLC dòng FX2N(C), người dùng sẽ phải thực hiện nâng cấp phiên bản phần mềm và các công cụ lập trình phần cứng thế hệ cũ hơn

Tuy nhiên, do khả năng tương thích ngược của FX2N(C), không nhất thiết phải nâng cấp các công cụ lập trình hiện có vs có thể sử dụng các chức năng mới của các units FX CPU bản 3.30

Trang 8

Chapter II - Basic Program Instructions

Chapter Contents

2 Basic Program Instructions 2-1 2.1 What is a Program? 2-1 2.2 Outline of Basic Devices Used in Programming 2-1 2.3 How to Read Ladder Logic 2-2 2.4 Load, Load Inverse 2-3 2.5 Out 2-4 2.5.1 Timer and Counter Variations 2-4 2.5.2 Double Coil Designation 2-5 2.6 And, And Inverse 2-6 2.7 Or, Or Inverse 2-7 2.8 Load Pulse, Load Trailing Pulse 2-8 2.9 And Pulse, And Trailing Pulse 2-9 2.10 Or Pulse, Or Trailing Pulse 2-10 2.11 Or Block 2-11 2.12 And Block 2-12 2.13 MPS, MRD and MPP 2-13 2.14 Master Control and Reset 2-15 2.15 Set and Reset 2-17 2.16 Timer, Counter(Out & Reset) 2-18 2.16.1 Basic Timers, Retentive Timers And Counters 2-18 2.16.2 Normal 32 bit Counters 2-19 2.16.3 High Speed Counters 2-19 2.17 Leading and Trailing Pulse 2-20 2.18 Inverse 2-21 2.19 No Operation 2-22 2.20 End 2-23

Trang 9

2 Các lệnh chương trình cơ bản (basic instructions)

3 SFC format (xem hình bên dưới)

Thông thường các panel lập trình cầm tay (hand held programming panels) chỉ hoạt động với instruction format, trong khi hầu hết các công cụ lập trình đồ hoạ đều hoạt động với cả Instruction format và Ladder format Các phần mềm lập trình

chuyên dụng, ngoài ra còn cho phép lập trình theo style SFC (SFC Format)

2.2 phác họa các thiết bị cơ bản sử dụng trong quá trình lập trình

Có 6 thiết bị lập trình cơ bản, mỗi thiết bị phục vụ cho mục đính sử dụng riêng Mỗi thiết bị sẽ đc gán cho 1 chữ cái để tiện hơn cho vc tham chiếu trong quá trình sử dụng

- X: đại diện cho tất cả các input vật lý, trực tiếp (direct, physical inputs) tới PLC

- Y: đại diện cho tất cả các output vật lý, trực tiếp (direct, physical outputs) đi ra từ PLC

- T: đại diện cho thiết bị định thời gian (bộ định thời timer) trong PLC (timing

device)

- C: đại diện cho thiết bị đếm (counting device) trong PLC

- M và S: đc sử dụng như là các cờ hoạt động bên trong PLC (internal operation flags) Trong đó:

Tất cả các thiệt bị kể trên còn đc biết đến như các ‘bit devices’, các thiết bị mà chỉ có

2 trạng thái; ON và OFF hay 1 or 0

Trang 10

2.3 Làm sao để đọc Logic Ladder

Logic Ladder có liên quan mật thiết với logic rơle cơ bản Các tiếp điểm (contact) và các cuộn có thể đc nạp và kiểm soát tùy theo các cấu hình khác nhau Tuy nhiên, nguyên tắc cơ bản vẫn đc giữ nguyên

1 cuộn có trách nhiệm kiểm soát các tín hiệu đầu ra trực tiếp (direct outputs) của PLC (VD: thiết bị Y), hoặc điều khiển các internal timers, counters hoặc flags (T,C,M,S devices) Mỗi cuộn đều có các tiếp điểm được liên kết với nhau Các tiếp điểm này có sẵn trong cả 2 cấu hình “normally open” (NO) và normally closed” (NC)

Thuật ngữ ‘nomally’ liên quan đến trạng thái của các tiếp điểm khi cuộn k đc kích hoạt = vc

sử dụng 1 relay analogy, khi cuộn ở trạng thái OFF, 1 tiếp điểm NO sẽ k có dòng chạy, nghĩa

là, 1 tải được lắp thêm vào sau 1 tiếp điểm NO sẽ k hoạt động tuy nhiên, 1 tiếp điểm NC sẽ cho phép dòng chạy, do đó tải đã vừa đc kết nối sẽ ở trong trạng thái hoạt động

Việc kích hoạt cuộn dây sẽ đảo ngược trạng thái tiếp điểm bên trên, khi đó, dòng sẽ chạy trong tiếp điểm NO và cấm dòng trong tiếp điểm NC

VD:

Các chương trình logic định dạng ladder có thể được đọc khi dòng đang chạy từ dây thẳng bên trái sang dây thẳng bên phải (the right vertical line) Dòng này phải đi qua 1 chuỗi các tiếp điểm đc mắc nối tiếp, cụ thể trong ví dụ, là X0 (NO) và X1 (NC) để chuyển cuộn Y0 sang trạng thái ON Do đó, như trong VD, trạng thái ON của X0 -> output Y0 ON Tuy nhiên, nếu tiếp điểm tới hạn (switch limit) X1 đc kích hoạt, output Y0 sẽ chuyển sang TT OFF Do kết nối giữa 2 đoạn dây bị phá vỡ dẫn đến k có dòng chạy

Trang 11

2.4, Load, Load inverse

Các điểm cần lưu ý:

- Mắc các lệnh LD và LDI trực tiếp vào đường bus bên trái

- Sử dụng lệnh LD và LDI để định nghĩa 1 khối chương trình mới khi sử dụng các lệnh ORB và ANB (xem chi tiết trong các phần sau)

Chú ý: ở VD trên, khi sử dụng các bộ lập trình cầm tay, phải nhấn phím space (space key)

để cho phép nhập hằng số vào bộ định thời hay bộ đếm (xem mục 2.5.1)

Trang 12

2.5 OUT

Các điểm cần lưu ý:

- Mắc lệnh OUT trực tiếp vào đường bus bên phải

- K thể sử dụng lệnh OUT để điều khiển các thiết bị input (thiết bị ‘X’)

- Có thể mắc song song nhiều lệnh OUT (VD xem trang trc đó với cấu hình M100/T0)

2.5.1 Timer and Counter Variations

Khi tiến hành cấu hình các lệnh OUT để sử dụng như 1 timer (T) hoặc counter (C), 1 hằng số phải đc nhập thêm vào Hằng số này đc xác định sau chữ cái ‘K’ (VD xem trang trc đó; T0 K19)

- Trong trường hợp là 1 timer, hằng số sau “K” giữ vai trò như là dữ liệu về khoảng thời gian hoạt động của 1 bộ đếm thời gian (timer)

VD: 1 bộ timer với khoảng thời gian là 100 ms có 1 hằng số là ‘K100’, sẽ có 1 khoảng thời gian (100 * 100 ms) 10s trước khi cuộn timer đc kích hoạt

- Đối với counters, hằng số sẽ xác định bộ đếm phải nhảy xung (hay kích hoạt) bao nhiêu lần trước khi cuộn counter hoạt động

VD: 1 counter với hằng số ‘8’ sẽ đc kích đúng 8 lần trước khi cuộn counter cuối cùng đc kích hoạt

Bảng dưới cho thấy các dữ liệu tham số cơ bản về miền giá trị của các timers và counters

Trang 13

2.5.2, Double coil designation

Việc cuộn dây đôi (cuộn 2 lần) k đc khuyến khích Sử dụng nhiều cuộn outputs của cùng 1 thiết bị có thể đánh mất sự tin cậy trong hoạt đông của chươg trình Ctr` ví dụ ở hình bên đã cho thấy tình huống 1 cuộn output Y3 đc mắc 2 lần Số thứ tự của các sự kiện diễn ra khi input X1 = ON và X2= OFF lần lượt là:

1. Đầu tiên, Y3 chuyển trạng thái ON do X1 đc bật Các tiếp điểm liên kết với Y3 cũng lần lượt đc kích hoạt do output Y3 đang ở trạng thái ON, do vậy output Y4 =ON

2. Line cuối cùng và quan trọng nhất trong chương trình này sẽ tham khảo trạng thái của input X2

Nếu X2 != ON -> Y3 sẽ trong trạng thái KHÔNG hoạt động Do đó trạng thái của cuộn Y3 tự động cập nhật để phản ánh lại tình huống mới này (Y3=OFF) Các output cuối cùng do đó là, Y3 = OFF và Y4 = ON

· Chú ý về các cuộn kép (dual coils):

Phải luôn kiểm tra chương trình và phát hiện vc cuộn dây đôi Nếu có 1 hoặc nhiều cuộn dây bị cuộn 2 lần, program sẽ k hoạt động như đã đc dự kiến –> Nó có thể dẫn đến các hiệu ứng k mong muốn

· Chú ý về hiệu ứng “the last coil effect”:

Trong vc mắc cuộn kép (a dual coil designation), cuộn cuối cùng đc biết đến như là cuộn xác thực “effective coil” Tức là, nó sẽ là trạng thái của các cuộn trc đó mà có tác động đến điểm hiện tại trong chương trình

Input durations:

Khoảng thời gian ON/OFF của tín hiệu ngõ vào input PLC phải lâu hơn thời gian chu

kỳ hoạt động của PLC Tính đến cả thời gian trễ phản hồi (của 1 bộ lọc đầu và tiêu chuẩn - standard input filter) là 10ms, thời gian ON/OFF phải lớn hơn 20ms nếu thời gian của 1 chu

kỳ hoạt động (scan time) là 10ms

Do đó, trong VD này, các xung input có tần số >25HZ (1sec/20msec ON + 20msec OFF)) sẽ không đc cảm nhận :v

Trang 14

Có 1 số lệnh chuyên được áp dụng để xử lý các yêu cầu input tốc độ cao như trong TH trên 2.6, And và And inverse

đc phép mắc lặp lại miễn là thứ tự output đc đảm bảo

chú ý: Chỉ lệnh OUT cho các thiết bị T và C ms cần phải có hằng số K đi kèm

Peripheral limitations:

- PLC k có bất cứ giới hạn nào về số lượng các tiếp điểm đc mắc nối tiếp hay //

Tuy nhiên, 1 số các panel lập trình, màn hình và máy in sẽ k có khả năng hiển thị hoặc in chương trình khi giới hạn phần cứng bị vượt quá Tùy theo cách đọc, các dòng hay các step trong 1 chương trình ladder program có thể chứa tới tối đa 10 tiếp điểm và 1 coil, nếu muốn, số lượng follow-on outputs có thể lên tới 24

Trang 15

2.7, Or và Or inverse

Các điểm cần lưu ý:

- Sử dụng lệnh OR và ORI để mắc song song các tiếp điểm Để mắc song song 1 khối (với nhiều hơn 1 tiếp điểm mắc nối tiếp) với khối mạch khác, sử dụng lệnh ORB

- Mắc 1 bên của lệnh OR/ORI vào đường bus bên trái (như lệnh LD)

Peripheral limitations (giơi hạn ngoại vi):

- PLC k có bất cứ giới hạn nào về số lượng các tiếp điểm đc mắc nối tiếp hay //

Tuy nhiên, 1 số các panel lập trình, màn hình và máy in sẽ k có khả năng hiển thị hoặc in chương trình khi giới hạn phần cứng bị vượt quá Tùy theo cách đọc, các dòng hay các step trong 1 chương trình ladder program có thể chứa tới tối đa 10 tiếp điểm và 1 coil, nếu muốn, số lượng follow-on outputs có thể lên tới 24

Trang 16

2.8, Load Pulse Load Trailing Pulse

Program example:

Các điểm cần lưu ý:

- Mắc các lệnh LDP và LDF, trực tiếp vào đường bus bên trái

- Sử dụng lệnh LDP và LDF để bắt đầu 1 khối chương trình mới khi sử dụng lệnh ORB

và ANB (xem các phần tiếp theo)

- LDP mang trạng thái hoạt động (ON) sau khi thiết bị liên quan chuyển trạng thái từ OFF sang ON

- LDF mang trạng thái hoạt động sau khi thiết bị liên quan chuyển trạng thái từ ON sang OFF

Chú ý- Single Operation flags M2800 to M3071:

- Các lệnh hoạt động xung (pulse operation instructions), khi được sử dụng với các rơle bổ trợ từ M2800 đến M3071, thì chỉ lệnh đầu tiên, sau điểm các thiết bị bắt đầu thay đổi trạng thái, mà chương trình quét qua đc kích hoạt Tất cả các lệnh điều hành xung (pulse operation instructions )khác vẫn giữ nguyên trạng thái inactive

- Trong các chương trình STL, điều này đặc biệt hữu ích để thực hiện từng lệnh riêng lẻ trên 1 thiết bị

- Các lệnh khác như LD,AND,OR, etc vẫn hoạt động bình thường

Trang 17

2.9, And Pulse và And Trailing Pulse

Các điểm cần lưu ý:

- Sử dụng lệnh ANP và ANF để mắc nối tiếp các tiếp điểm xung

- Cách dùng như AND và ANI

- ANP ở trạng thái hoạt động sau khi thiết bị liên kết (associated device – X,Y,M,S,T,C binary devices?) chuyển trạng thái từ OFF sang ON

- ANF mang trạng thái active sau khi thiết bị liên quan (associated device - thiết bị gắn tại tiếp điểm) chuyển trạng thái từ ON sang OFF

Single Operation flags M2800 to M3071: Lệnh ANP /ANF khi dùng vs các cờ mang số hiệu từ M2800-M371, chỉ lệnh đầu tiên sẽ ở trạng thái active Xem lại mục 2.8

Trang 18

2.10, Or pulse và Or trailing Pulse

Trang 19

2.11, Or Block

Basic point to remember:

- Lệnh ORB là 1 lệnh độc lập và k liên kết (gắn vs) tới bất kỳ binary device nào

- Sử dụng lệnh ORB để mắc song song các mạch có nhiều tiếp điểm (multi-contact circuits) (thường là các khối mạch mắc đc mắc nối tiếp) tới mạch trc đó Các khối mạch nối tiếp là các mạch mà trong đó, nhiều hơn 1 tiếp điểm mắc nối tiếp hay nói theo cách khác, lệnh ANB được sử dụng

- Để khai báo điểm bắt đầu của khối mạch, ta sử dụng 1 lệnh LD hoắc LDI -> hoàn tất việc mắc nối tiếp khối mạch đó -> mắc song song nó với khối mạch trước đó = lệnh ORB

Hạn chế của vc xử lý theo lô (Batch processing limitations):

- Khi sử dụng các lệnh ORB trong 1 lô, chỉ tối đa 8 lệnh LD và LDI trong phần định nghĩa của các khối chương trình (vs mắc //), hay ns cách khác chỉ có thể có tối đa 8 khối mạch đc lắp // Nếu phớt lờ quy định này, chương trình sẽ sinh ra 1 lỗi

Hạn chế của việc xử lý tuần tự (Sequential processing limitations):

- K có bất cứ hạn chế nào về số lượng các mạch mắc song song khi sử dụng lệnh ORB trong quá trình xử lý tuần tự (chương trình VD bên trái)

Trang 20

2.12, And Block

Basic point to remember:

- Lệnh ANB là 1 lệnh độc lập, k liên kết tới bất kỳ thiết bị nhị phân nào

- Sử dụng lệnh ANB để mắc để mắc nối tiếp các mạch nhiều tiếp điểm (multi-contact circuits) (thường là các khối mạch mắc song song) vs mạch trc đó Các khối mạch song song

là các mạch mà trong đó, nhiều hơn 1 tiếp điểm mắc song song hay nói theo cách khác, lệnh ORB được sử dụng

- Để khai báo điểm bắt đầu của khối mạch, ta sử dụng 1 lệnh LD hoắc LDI Sau khi hoàn tất việc mắc // khối mạch, mắc nối tiếp nó với khối mạch trước đó sử dụng lệnh ANB Hạn chế của vc xử lý theo bó (Batch processing limitations):(xem phần trước)

Hạn chế của việc xử lý tuần tự (Sequential processing limitations):

- K có bất cứ hạn chế nào về số lượng các khối mạch song song khi mắc chúng nối tiếp với các khối đằng trước

2.13, MPS MRD và MPP

Trang 21

Basic point to remember:

- Dùng các lệnh trên để mắc các cuộn output về bên trái của 1 tiếp điểm Nếu k có các lệnh này, kết nối cuộn chỉ có thể đc thực hiện ở phía bên phải của tiếp điểm cuối cùng (the last contact) (xem hình bên trên và các VD bên dưới)

- MPS lưu trữ điểm kết nối của 1 mạch ladder để các cuộn thuộc các nhánh xa hơn (the further coil branches) có thể gọi đến giá trị này sau đó

- MRD gọi và đọc dữ liệu tại điểm kết nối đc lưu trữ trc đó và buộc tiếp điểm kế tiếp kết nối tới nó (điểm kết nối)

- MPP pops (gọi và xóa) các điểm kết nối đc lưu trữ Đầu tiên, nó kết nối tới tiếp điểm tiếp theo, sau đó, xóa đi điểm lưu trữ trong vùng nhớ tạm thời

- Mọi lệnh MPS PHẢI có lệnh MPP tương ứng

- Tiếp điểm hay mạch cuộn (coil circuit) cuối cùng phải kết nối đến 1 lệnh MPP

- Tại bất cứ bước lập trình nào, số cặp MPS-MPP tương ứng phải luôn <11

Cách dùng các lệnh MPS,MRD và MPP:

- Khi viết 1 ctr` dưới định dạng ladder, các công cụ lập trình sẽ tự động thêm vào các lệnh MPS, MRD, MPP tại giai đoạn chuyển đổi chương trình (at the program conversion stage) Các lệnh MPS, MRD và MPP sẽ được hiển thị khi chương trình được xem ở định dạng lệnh

- Khi viết 1 ctr` định dạng lệnh, người dùng sẽ chịu trách no hoàn toàn trong vc nhập vào các lệnh MPS,MRD,MPP

Multiple program examples:

Trang 22

2.14, Master Control và Reset

Trang 23

- Lệnh MC bao gồm 1 con trỏ N để chỉ các mức được lồng có cấu trúc vs nhau Số lượng các mức lồng nhau từ N0 đến N7 đc tuần tự sử dụng từ số hiệu nhỏ đến lớn trong chuơng trình (tối đa 8 lớp) Ngoài ra, ta có thể không thực hiện lồng cấu trúc, khi đó mức N0

sẽ liên tiếp được sử dụng mà không bị giới hạn về số lượng

- Lệnh MRC reset các mức lồng tương ứng khi 1 mức này bị reset, TẤT CẢ các mức sâu hơn cũng sẽ bị reset (VD: lệnh MRC N5 cũng sẽ reset các mức từ 5-7)

- Khi input X0=ON, tất cả lệnh giữa lệnh MC và MCR (khối điểu khiển chính - Master control Block) sẽ đc thực thi

- Khi input X0=OFF, K lệnh nào giữa lệnh MC và MCR sẽ đc thực thi; tất cả các thiết bị đều sẽ bị reset ngoại trừ các timer và counter có nhớ và các thiết bị đc kiểm soát bởi bộ lệnh SET/RST

- Số lần thực thiện của lệnh MC là k hạn chế, bằng vc thay đổi số hiệu thiết bị Y và M Vc dùng 2 lần cùng 1 số thiết bị sẽ được sử lý như trường hợp double coil (mục 2.5.2) Các mức lồng có thể đc dùng lặp lại nhưng sau khi lệnh MCR của 1 mức đc thực hiện, tất cả các mức bị lặp cũng sẽ bị reset

Trang 24

VD về cấu trúc lồng: ở vd này, các mức N1, N2 được lồng trong khối điều khiển của N0

- Mức N0: mạch chỉ định bởi chữ cái (B) sẽ active khi X0=ON và inactive khi X0=OFF

- Mức N1: mạch chỉ định bởi chữ cái (C) sẽ active khi cả X0 và X2 ON và inactive khi 1 trong 2 OFF

- Mức N2: mạch chỉ định bởi chữ cái (D) active khi X0=X2=X4=ON và inactive khi 1 trong 3 OFF

- Level N1: sau MCR|N2 bus line (C) đc khôi phục (K còn mạch D) Nếu lệnh MCR|N0 đc thực thiện thì đường bus A sẽ trở lại TT ban đầu vì tất cả các lệnh MC mức dưới N0 cũng sẽ reset

- Level N0: MCR |N1 thực thi và phục hồi lại bus line (B)

- Initial state (trạng thái ban đầu): MCR|N0 tiến hành thực thi và phục hồi bus line (A)

- Output Y5 chuyển ON hoặc OFF tùy theo trạng thái ON/OFF của X10, bất

kể trạng thái ON/OFF của các inputs X0,X2 hay X4 trc các lệnh MC có ntn

Trang 25

- Lệnh SET và RST có thể đc dùng cho cùng 1 thiết bị

mà k hạn chế số lần, tuy nhiên, lệnh đc kích hoạt cuối cùng sẽ quyết định trạng thái hiện tại

- RST cũng có thể đc sử dụng để reset nội dung của các data devices như data registers, index register, etc Hiệu quả sẽ tương tự như vc nạp hằng số ‘K0’ cho các data devices

Để có thêm thông tin về vc RESET các timers và counter – xem trang kế tiếp

Trang 26

2.16, Timers, Counters (Out & Reset)

Program example:

2.16.1, Basic Timers, Retentive Timers and Counters

Các TB trên có thể bị reset bất kỳ lúc nào bằng lệnh RST + số hiệu thiết bị muốn reset

Khi reset, tất cả các tiếp điểm, cuộn

và giá trị hiện tại của các thanh ghi (registers) sẽ bị reset Ở ví dụ bên, T246 – 1 bộ định thời có nhớ (retentive timer) với thời gian là 1msec, mang hoạt động khi X1=ON và giá trị hiện tại của T246 đạt đến mốc quy định ‘K1234’ (1234*1ms) Dẫn đến tiếp điểm NO chuyển trạng thái ON -> Y0 ON

Vc X0 chuyển TT ON sẽ reset timer T246 theo như cách đã mô tả trc đó (mục 2.15)

Do tiếp điểm T246 bị reset, output Y0

do đó cũng sẽ chuyển TT OFF cho đến lần kích hoạt kế tiếp của X1

2.16.2, Normal 32 bit Counters (bộ đếm 32 bit thông thường)

Bộ đếm 32 bit C200 có thể chuyển hướng đếm (up-count hoặc down-count) tùy theo trạng thái ON/OFF của M8200 (cụ thể X2=ON -> down-count và ngc lại) Trong VD trên C200

đc dùng để đến số lượng chu kỳ OFF~ON (số lần ON hoặc OFF) của input X4

Tiếp điểm output đc set và reset phụ thuộc vào (chỉ thị/hướng đếm là - up-count hay down-count ??), ngay khi đạt giá trị đếm bằng với nội dung của 2 thanh ghi dữ liệu (data

Trang 27

register) D0,D1 (32 bit dữ liệu cài đặt là yêu cầu tối thiểu của 1 bộ đếm 32 bit – 32 bit

counter)

Tiếp điểm ouput đc reset và giá trị hiện thời của bộ đếm đc đặt lại về ‘0’ khi X3 đc turn ON

Về các 32 bit counters: xem chi tiếp trong chương 4

2.16.3, High Speed Counters

- Các hướng của High speed counters có thể

đc chọn tùy ý = động thái kiểm soát phù hợp các rơle bổ trợ đặc biệt M (special auxiliary M coil) VD này đã cho thấy, khi X10=ON, down-count xảy ra, và khi X10=OFF việc counting up

sẽ đc tiến hành

- Các tiếp điểm ngõ ra (output) của counter C∆∆∆ (như Y2) và các giá trị đếm hiện tại liên quan sẽ bị đặt lại về ‘0’ khi X11 chuyển TT ON Khi X12=ON, bộ đếm bị điều khiển (the driven counter) sẽ đc kích hoạt, điều này đồng nghĩa với vc C∆∆∆ có thể bắt đầu thực hiện đếm tín hiêu đầu vào/ngõ vào mà nó đã đc chỉ định (lưu ý: high speed counters đc chỉ định để đếm các tín hiệu ngõ vào đăc biệt – K phải X12 xem chi tiết mục 4.22) (this will not be X12

- high speed counters are assigned special input signals, please see page 4-22)

Availability of devices:

- Không phải tất cả thiết bị đc chỉ ra trong cuốn manual này đều khả dụng trên tất cả các thiết bị PLCs Phạm vi của các thiết bị này có thể biến đổi thùy theo từng loại PLC (vary from PLC to PLC) Hãy kiểm tra chi tiết các thiết bị có thể áp cho PLC của bạn trc khi sử dụng Để

có thêm thông tin về các bộ đếm tốc độ cao (high speed counters), tham khảo chương 4,

và phạm vi của các TB dùng trong PLC, tham khảo chương 8

Trang 28

2.17 Leading và Trailing Pulse

Chức năng: PLS/PLF tăng/hạ thấp cạnh xung

Các điểm cần lưu ý:

- Khi lệnh PLS đc thực thi, các tbị Y và M vận hành trong 1 chu kỳ hoạt động sau khi the drive input signal (tín hiệu đầu vào điều khiển chúng) đã turn ON

- Khi lệnh PLF đc thực thi, các tbị Y và M vận hành trong 1 chu kỳ hoạt động sau khi tín hiệu đầu vào điều khiển chúng (the drive input signal) đã turn OFF

- Khi trạng thái của PLC được thay đổi từ RUN -> STOP r lại RUN và nếu các tín hiệu ngõ vào vẫn đang trong TT ON, PLS M0 sẽ hoạt động trở lại, tuy nhiên, nếu sử dụng cuộn phụ trợ M loại có chốt pin thay vì sử dụng M0, điều này sẽ k xảy ra For the battery backed device to

be re-pulsed, its driving input (ex X0) must be switched OFF during the RUN/STOP/RUN sequence before it will be pulsed once more

Trang 31

- Khi lệnh END đc xử lý, bộ PCs watchdog Timer sẽ đc tự động đc refreshed

A Program Scan:

· 1 Program Scan là quá trình xử lý 1 chương trình đc nạp trong PLC, từ lúc nó bắt đầu cho đến khi kết thúc, quá trình này bao gồm vc cập nhật tất cả các inputs, outputs và watchdog timers Khoảng thời gian 1 quá trình như vậy diễn ra đc gọi là ‘scan time’ – thời gian quét

Nó phụ thuộc vào độ dài và độ phức tạp của chương trình Ngay sau khi lần scan hiện tại đc hoàn thành, lần scan tiếp theo sẽ bắt đầu, và cứ tiếp diễn tuần hoàn theo chu kỳ Vc cập nhật trạng thái inputs diễn ra ở đầu mỗi chu trình quét, còn đối vs các ouputs, chúng diễn ra

ở cuối chu kỳ

Trang 32

Chapter 3 - STL Programming

3 STL Programming 3-1

3.1 What is STL, SFC And IEC1131 Part 3? 3-1

3.2 How STL Operates 3-2

3.2.1 Each step is a program 3-2

3.3 How To Start And End An STL Program 3-3

3.3.1 Embedded STL programs 3-3

3.3.2 Activating new states 3-3

3.3.3 Terminating an STL Program 3-4

3.4 Moving Between STL Steps 3-5

3.4.1 Using SET to drive an STL coil 3-5

3.4.2 Using OUT to drive an STL coil 3-6

3.5 Rules and Techniques For STL programs 3-7

3.5.1 Basic Notes On The Behavior Of STL programs 3-7

3.5.2 Single Signal Step Control 3-9

3.6 Restrictions Of Some Instructions When Used With STL 3-10

3.7 Using STL To Select The Most Appropriate Program 3-11 3.8 Using STL To Activate Multiple Flows Simultaneously 3-12 3.9 General Rules For Successful STL Branching 3-14

3.10 General Precautions When Using The FX-PCS/AT-EE Software 3-15 3.11 Programming Examples 3-16

3.11.1 A Simple STL Flow 3-16

3.11.2 A Selective Branch/ First State Merge Example Program 3-18

3.12 Advanced STL Use 3-20

Trang 33

3 STL Programming (FX0(S) FX0N FX FX(2C) FX2N(C))

This chapter differs from the rest of the contents in this manual as it has been written with a training aspect in mind STL/SFC programming, although having been available for many years, is still misunderstood and misrepresented We at Mitsubishi would like to take this opportunity to try to correct this oversight as we see STL/SFC programming becoming as important as ladder style programming

3.1 STL, SFC And IEC1131 Part 3 là gì?

- Trong những năm gần đây phương pháp lập trình Lược đồ hàm tuần tự (Sequential Function Chart (hay SFC)) đã trở nên cực kỳ phổ biến tại Châu Âu, điều đó đã thúc đẩy sự ra đời của chuẩn IEC1131 part 3

- Chuẩn IEC1131 SFC được thiết kế để trở thành ngôn ngữ lập trình có thể hoán đổi lẫn nhau ( an interchangeable programming language) Tức là, chương trình đc viết dưới chuẩn IEC1131 SFC tại 1 NSX PLC có thể dễ dàng đc chuyển đổi để sử dụng tại các NSX PLC khác

- Lập trình STL( STep Ladder programming) là 1 trong những chỉ dẫn lập trình cơ bản được tích hợp trong mọi dòng FX PLC Dù STL rất dễ học, nhưng nó cung cấp cho người sử dụng 1

kỹ thuật lập trình cực kỳ mạnh mẽ Điểm mấu chốt của STL nằm trong khả năng tạo ra chương trình hoạt động gần chính xác như cách thức mà SFC thực hiện nhưng lại dễ lập trình và cũng như giám sát (quản lý)

- Một trong những khác biệt chính của hệ thống lập trình STL của Mitsubishi là nó có thể được nhập vào PLC = 1 trong 3 định dạng:

Ι) Instruction - sử dụng cấu trúc lệnh

ΙΙ) Ladder - phương pháp xây dựng ctr` đồ họa dựa trên logic rơle cơ bản

ΙΙΙ) SFC - a flow chart style of STL program entry (similar to SFC)

Trang 34

* chú thích: EC1131-3: 03.1993 Programmable controllers; part 3: programming languages Tiêu chuẩn trên tương đương

về mặt ký thuật với ‘Euro-Norm’ (tiêu chuẩn châu Âu) EN61131-3: 07.1993

3.2 Cách thức hoạt động của STL

Như đã đề cập trước đó, STL là 1 hệ thống cho phép lập trình viên viết chương trình vs hoạt động gần giống như 1 sơ đồ luồng hay lưu đồ (flow chart) Sức mạnh của STL nằm ở việc tổ chức các chương trình lớn thành cách phần nhỏ hơn có thể

dễ dàng quản lý Có thể coi các phần đc chia như 1 trạng thái hoặc 1 bước (state or step) Để giúp cho

vc phân định, mỗi state đi kèm vs 1 số định danh đặc biệt Những số này đc lấy từ các thiết bị rơle trạng thái (xem mục 4.6)

3.2.1 Các step/state trong chương trình Trong cả chương trình các step/state hoàn toàn tách biệt vs nhau 1 cách tốt để nhìn nhận điều này,

là coi mỗi step/state như là 1 chương trình độc lập

và user có trách nhiệm gom chúng lại theo đúng thứ tự để giải quyết nhiệm vụ tổng thể ban đầu Điều này đồng nghĩa với các step/state có thể đc tái sử dụng nhiều lần theo các thứ tự khác nhau tùy ý Điều này giúp tiết kiệm thời gian và giảm bớt các lỗi gặp phải trong khi lập trình

Bên trong 1 STL program

Tại bước kiểm tra ban đầu, chương trình STL trông khá giống vs sơ đồ/biểu đồ luồng cơ bản Nhưng để hiểu điều j thực sự diễn ra trong 1 STL state/step, phải đặt nó ‘under a microscope’

Khi 1 state/step đc kiểm tra chi tiết, ta có thể thấy

các chương trình con Với dạng lệnh STL, các

chương trình con STL trông gần như chương trình

thông thường

(1) Lệnh STL đc chỉ ra trong Ctr` dưới dạng 1 tiếp

điểm NO ‘mập mạp’ (‘fat’ NO contact)

Tất cả chương trình sau 1 lệnh STL chỉ hoạt động

khi cuộn trạng thái liên kết vs nó (cuộn S) đc

active

Trang 35

(2) Điều kiện chuyển tiếp (transition condition) cũng đc ghi sử dụng cách thức lập trình tiêu chuẩn

Ý tưởng này củng cố cho Kno – STL thực sự là 1 phương thức sắp xếp có trình tự các chuỗi

sự kiện hay ‘Kết nối các chương trình nhỏ hơn lại vs nhau’ như đã đề cập trước đó

Combined SFC Ladder representation:

Đôi khi các chương trình STL sẽ đc viết dưới dạng 1 bản sao cứng (hard copy) như là 1 sự kết hợp của cả 2 sơ đồ luồng và chương trình con bên trong (VD bên dưới)

Các trạng thái của tiếp điểm đc quy ước:

Tiếp điểm Normally Open

Tiếp điểm Normally Closed

Ngoài ra, có thể dùng thay thế các ký hiệu

chữ cái ‘a’ và ‘b’ cho lần lượt trạng thái tiếp

điểm NO và NC Hoặc 1 đường gạch ngang

phía trên tên tiếp điểm NC cũng là 1

phương án thay thế (VD: tiếp điểm X000)

3.3 How To Start And End An STL Program

Trước khi bất cứ công việc lập trình phức tạp nào có thể diễn ra, 2 điều cơ bản là lm thế nào để bắt đầu và quan trọng hơn lm sao để kết thúc 1 ctr` STL cần phải đc xem xét kỹ 3.3.1 Các chương trình STL được nhúng (Embbedded STL Programs)

1 chương trình theo style STL k nhất thiết

phải thay thế toàn bộ các chương trình

logic ladder chuẩn Trên thực tế, rất khó để

lm đc như vậy Thay vào đó, 1 phần nhỏ

hoặc thậm chí 1 đoạn chương trình STL lớn

có thể đc nhập tại bất kỳ điểm nào trong

ctr` 1 khi đoạn lệnh STL đã thực hiện xong

công vc của mik, chương trình phải quay lại

để xử lý các lệnh chuẩn cho đến khi gặp

khối chương trình STL tiếp theo Do đó, vc

xác định điểm đầu và kết thúc của 1

chương trình STL là cực kỳ quan trọng

3.3.2 Kích hoạt các states/steps mới

Khi 1 STL step đc chọn, nó đc dùng và

chương trình kiểm soát nó tn?

1 STL step đc coi như đang ở trạng thái

active nếu cuộn trạng thái thái liên kết vs

Trang 36

nó phải ON Do vậy, để bắt đầu 1 dãy STL chỉ cần chuyển trạng thái của cuộn tương ứng =

ON

Có nhiều cách thức khác nhau để kiểm soát 1 state/step VD các cuộn trạng thái khởi tạo

có thể đc điều khiển bởi lệnh xung (PLS), SET, hay đc đặt trong lệnh OUT Tuy nhiên, trong phạm vi ngôn ngữ lập trình STL của Mitsubishi, 1 cuộn STL trong lệnh SET mang ý nghĩa khác

vs khi nó đc đặt trong lệnh OUT

3.3.3 Kết thúc 1 chương trình STL

1 khi chương trình SLT đc bắt đầu PLC CPU sẽ tiến hành xử lý tất cả các lệnh sau đó như 1 phần của Ctr` STL Điều này nghĩa là khi chương trình (lần) quét thứ 2 bắt đầu, các lệnh đầu chương trình chính sẽ đc coi như 1 đoạn mã lệnh của ctr` STL Điều này hoàn toàn k chính xác và CPU sẽ cố gắng sinh ra lỗi lập trình và vô hiệu hóa hoạt động của PLC

Để chương trình STL trả quyền kiểm soát về cho chương trình ladder sau khi hoạt động của STL kết thúc, = cách nào đó, phải chỉ ra step cuối cùng của STL

Returning to Standard Ladder

Điều này đạt đc = vc đặt lệnh RET (RETurn)

như lệnh kết thúc trong step cuối cùng của

1 khối lệnh STL

Lệnh này sẽ trả quyền kiểm soát chương

trình lại cho dãy (chuỗi - sequence) ladder

Chú ý: lệnh RET có thể dùng để tách các

chương trình STL ra làm các phần riêng biệt

vs chương trình ladder tiêu chuẩn (standard

ladder) Ngoài ra, khi hiển thị dưới định dạng SFC, lệnh RET đc dùng để chỉ ra điểm kết thúc của 1 chương trình STL hoàn chỉnh

3.4 Di chuyển giữa các STL state/step (Moving Between STL Steps)

Để kích hoạt 1 STL step, user đầu tiên phải kiểm soát cuộn trạng thái (state coil - ON/OFF) Nên chú ý rằng vc sử dụng lệnh OUT để điều khiển cuộn trạng thái mang ý nghĩa khác với vc dùng lệnh SET Giải thích sau đây sẽ cho ta thấy rõ hơn về điều này:

3.4.1 Dùng lệnh SET để điều khiển cuộn STL

- Lệnh SET đc dùng để điều khiển 1 cuộn trạng thái STL để khiến các step/states active 1 khi STL step hiện tại kích hoạt step tiếp theo, trạng thái của của cuộn STL nguồn (S) sẽ bị reset Do đó, dù lệnh SET dc dùng để kích hoạt các state/steps, vc reset cuộn nguồn vẫn sẽ diễn ra tự động

Tuy nhiên nếu 1 STL state/step đc kiểm

soát bởi 1 chuỗi các lệnh logic ladder tiêu

Trang 37

chuẩn mà k phải bởi 1 STL step trước đó, thì các quy tắc lập trình tiêu chuẩn sẽ đc áp dụng Trong VD bên, S20 k bị reset trạng thái kể cả sau khi S30 và S21 đã bị điều khiển Thêm vào

đó, nếu S20 = OFF, S30 cũng sẽ bị dừng hoạt động Điều này đc lý giải bởi S20 k đc dùng như

1 STL state Lệnh đầu tiên liên kết vs trạng thái của S20 là lệnh LD tiêu chuẩn chứ KHÔNG phải là lệnh STL

Chú ý: nếu user muốn reset 1 STL step, 2

lệnh RST và ZRST (function 40) sẽ giúp thực

hiện công việc này

- SET đc dùng để kiểm soát 1 STL step ngay

sau nó, step này thường có số các state lớn

hơn so vs step hiện tại

- SET đc dùng để kiểm soát các STL states mà diễn ra trong phạm vi dòng chảy của chương trình STL đi kèm, tức là SET k đc sử dụng để kích hoạt 1 trạng thái xuất hiện trong 1 sơ đồ luồng STL thứ 2

3.4.2 Dùng lệnh OUT để điều khiển cuộn STL

OUT có chung các đặc tính hoạt động như lệnh SET Tuy nhiên, có 1 tính năng chính mà lệnh SET k có , đó là 1 thứ đc gọi là 'distant jumps' hay 'bước nhảy xa'

OUT đc dùng để tạo các vòng lặp và bước

nhảy

Nếu lập trình viên muốn 'Nhảy' ngược lên

phía trên của 1 chương trình, tức là quay lại

1 state/step đã đc thực thi nào đó, thì lệnh

OUT + số hiệu STATE tương ứng sẽ thực hiện

điều này

Hay cũng có thể thực hiện 1 'bước nhảy' lớn

về phía trước, bỏ qua cả 1 vùng lệnh lớn

chứa các state/step STL đã đc lập trình

OUT đc dùng để thực hiện các 'distant

jumps' hay 'bước nhảy xa’

1 step trong luồng chương trình STL thứ nhất

có thể kích hoạt 1 step ở luồng STL thứ 2 (STL

flow 2) nhờ vào lệnh OUT

Note: Although it is possible to use SET for

jumps and loops use of OUT is needed for

display of STL in SFC like structured format

Trang 38

3.5 Các quy tắc và kỹ thuật trong chương trình STL

Có thể dễ dàng thấy đc các điểm mạnh khi lập trình theo style STL nhưng cũng có 1 vài điểm mà lập trình viên nên biết khi viết các chương trình STL con

3.5.1 Các lưu ý cơ bản về thể hiện của STL programs (Behavior Of STL programs)

- chương trình của 1 STL step/state đã active đc xử lý cho đến khi step/state tiếp theo đc kích hoạt Nội dung của nó bao gồm các mục và chức năng lập trình (the programming items and features) của 1 chương trình ladder tiêu chuẩn, như LoaD, AND, OR, OUT, ReSeT và các lệnh áp dụng khác

- Khi viết chương trình con của 1 STL

state/step, đg bus thẳng đứng đầu tiên

sau lệnh STL ① có thể đc coi như thanh

BUS bên trái của 1 chương trình Ladder

cơ bản

Mỗi STL step tạo ra bus bar của riêng

nó, điều này đồng nghĩa vs lập trình viên

sẽ k thể sử dụng trực tiếp lệnh MPS sau

lệnh STL (ký hiệu (1) ở VD bên), hay cần

phải có ít nhất 1 tiếp điểm trc lệnh MPS

Chú ý: Hoàn toàn đc phép dùng các cuộn ra (M,C,T,Y) hay

cả các lệnh áp dụng ngay sau 1 lệnh STL

- Trong lập trình thông thường, ta k chấp nhận vc dùng

các cuộn đôi (dual coils) Tuy nhiên, đc phép lặp lại của 1

cuộn trong các khối chương trình STL riêng biệt Có đc điều

này là do LTV có thể tận dụng tính năng độc nhất của STL là

tách biệt tất các STL step/states Tức là sẽ không có xung

đột giữa các cuộn đôi VD bên cho thấy M111 đc dùng 2 lần

trong 1 luồng STL đơn

Chú ý: KHÔNG nên lập trình cuộn giống nhau trong cùng 1

step, điều đó sẽ dẫn đến kết quả như hiện tượng lõi đôi trong chương trước

Trang 39

- Khi 1 STL step chuyển quyền kiểm soát cho step

tiếp theo, có 1 khoảng thời gian (1 chu kỳ quét) mà

cả 2 steps đều hoạt động Điều này có thể dẫn đến

vấn đề vs cuộn đôi; cụ thể là timers

- Nếu timers đc cuộn 2 lần, nên cẩn trọng để đảm

bảo rằng hoạt động của timer hoàn thành trong

khi STL step chứa nó đang hoạt động

- Nếu timer giống nhau đc dùng trong các steps liên

tiếp, khi đó, có khả năng cuộn timer sẽ kbh bị vô

hiệu hóa (chạy liên tục), và các tiếp điểm của cuộn

timer sẽ k bị reset, dẫn đến hoạt động k chính xác

của bộ định thời

- Ví dụ đối diện chỉ ra trường hợp sử dụng k hợp lệ

của cuộn timer T001 Khi quyền kiểm soát chương trình chuyển từ S30 đến S31, T001

k bị reset do cuộn của nó vẫn còn ON trong step ms

Lưu ý: Để đảm bảo cho hoạt động chính xác của các cuộn timer đôi, chúng k nên đc sử dung trong các STL steps liên tiếp

Quy tắc đơn giản sau đây sẽ đảm bảo rằng mỗi timer sẽ đc reset trc khi phiên hoạt động tiếp theo của nó diễn ra

- Như đã đề cập trc đó, trong quá trình chuyển

quyền kiểm soát giữa các steps, step hiện tại

và các steps đc chọn sẽ đc hoạt động đồng

thời trong 1 chu kỳ quét Điều này có thể đc

xem như giai đoạn bắt tay (handshaking

period)

- Nghĩa là, nếu 1 user có 2 output đc chứa trong

các steps liên tiếp, phải k đc hoạt động 1 các

đồng thời, chúng phải đc lập trình dưới định

dạng interlock VD cho điều này là sẽ có các

tín hiệu điều khiển để chọn hướng quay cho các motors Trong VD bên, Y11 và Y10 interlocked lẫn nhau

Trang 40

3.5.2 Single Signal Step Control

Vc chuyển tiếp giữa các step active có thể đc kiểm soát bởi 1 tín hiệu đơn Có 2 cách thức

mà user có thể lập trình để đạt đc điều này

Phương Pháp 1- Sử dụng các locking devices

Trong VD này, cần phải lập trình các thiết bị khóa riêng biệt, và tín hiệu điều khiển buộc phải

là xung ON Điều này là để ngăn các chương trình STL

hoạt động chồng chéo lẫn nhau

- S30 đc kích hoạt khi M0 nhận đc xung ON đầu

tiên

- Hoạt động của M1 ngăn k cho chuỗi hoạt động

tiếp tục bởi vì, mặc dù M0 đc set ON, các điều kiện

chuyển tiếp yêu cầu M0 ON trong khi M1 đang ở TT

OFF

- Sau 1 chu kỳ quét, M0 và thiết bị ‘khóa’ M1 đc

đặt lại

- Trong xung kế tiếp của M0, STL step sẽ chuyển

luồng kiểm soát chương trình từ S30 tới step 31 khi

điều kiện chuyển tiếp đc đáp ứng Lần này, thiết bị

‘khóa’ đc sử dụng là M2 do k đc phép có các cuộn đôi

(dual coils) trong các step liền kề nhau

- Lý do cho vc sử dụng các thiết bị khóa M1 và M2 là bởi giai đoạn bắt tay khi mà cả 2 state liên quan đến quá trình chuyển quyền kiểm soát của chương trình đều ON trng 1 program scan Nếu k có ‘khóa’, sẽ có khả năng bỏ qua tất cả STL states trong 1 lần duy nhất Phương Pháp 2- Các cờ xung đơn đặc biệt

Vc sử dụng các tiếp điểm xung (LDP, LDF, ANP, etc.) và 1 loạt các thiết bị M (từ M3071), PLC FN2N© có thể đạt đc kết quả như đã chỉ ra trong phương pháp 1 Tính năng đặc biệt của các thiết bị này ngăn vc các states hoạt động chồng chéo, do chỉ có lần xẩy ra lệnh LDP đầu tiên sẽ kích hoạt

Ngày đăng: 28/06/2018, 02:09

TỪ KHÓA LIÊN QUAN

w