Các chế độ hoạtđộng của PLC

Một phần của tài liệu Đồ án tốt nghiệp: Nghiên cứu, ứng dụng PLC trong điều khiển tự động máy xấn tôn (Trang 41)

Ta có thể chuyển đổi chế độ hoạt động của PLC một cách dễ dàng bằng cách xoay chìa khoá trên bàn phím

Chế độ Program.

Là chế độ để lập và sửa chơng trình cho PLC. Chơng trình của PLC sẽ không đợc thực hiện trong bớc này.

Chế độ theo dõi Monitor.

Là chế độ trong đó chơng trình của PLC sẽ đợc thực hiện, đồng thời các địa chỉ của bộ nhớ trong PLC có thể đặt lại trực tiếp từ bộ lập trình nh các bit vào ra ( I/O Bits ), Các timer, Counter, và vùng nhớ DM.

Chế độ RUN

Là chế độ mà chơng trình điều khiển trong PLC đợc thực hiện ( chạy ) và nội dung bên trong PLC chỉ có thể theo dõi chứ không thể sửa đổi từ bên ngoài. Đây là chế độ nên đặt sau khi chơng trình đã đợc nhập và kiểm tra đúng đắn.

4.2.3 Xóa chơng trình trong PLC.

Để xóa chơng trình trong PLC ta làm nh sau: a) Chuyển sang chế độ Program mode.

b) bấm nút CLR để màn hình hiển thị 00000

c) Bấm lần lợt các nút sau để xoá chơng trình trong bộ nhớ của PLC

Ví dụ về cách lập một chơng trình

Địa chỉ Lệnh và tham số

00000 LD 00000

00001 AND 00001

00003 LD 00002

00004 AND 00001

00005 OUT 01001

00006 END ( 01)

Thao tác cuối cùng vừa rổi là để nạp lệnh END ( kết thúc ). Tất cả các chơng trình đều phải kết thúc bằng lệnh này, nếu không có PLC sẽ báo lỗi.

Sau khi nhập xong, bấm các mũi tên xuống và lên để kiểm tra chơng trinh vừa nhập. Để chạy chơng trình, chuyển khoá trên Programming console sang Run hoặc Monitor.

4.2.4 Tìm kiếm trong chơng trình.

Chớc năng tìm kiếm (Search) đợc dùng để tìm kiếm nhanh một lệnh hoặc một địa chỉ trong chơng trình. Sau đó ta có thể thực hiện các thao tác nh xoá lệnh, sửa lệnh hay địa chỉ.

Ví dụ: Trong chơng trình sau có hai lệnh AND 00001 ở hai dịa chỉ khác nhau Địa chỉ Lệnh và tham số 00000 LD 00000 00001 AND 00001 00002 OUT 01000 00003 LD 00002

Mỗi lần ấn phím SRCH sẽ đa ta đến nơi gặp lệnh cần tìm kế tiếp.

4.2.5 Xóa lệnh ( Delete ).

Để xóa lệnh đang đợc hiển thị trên Display của Programming console, ta bấm các phím nh sau:

Chú ý: Khoá chuyển trên Programming console phải đợc đặt về vị trí Program mode.

Ví dụ cần xóa lệnh dới đây.

Địa chỉ Lệnh và tham số 00000 LD 00000 00001 AND 00001 00002 OUT 01000 00003 LD 00002 00004 AND 00001 00005 OUT 01001 6 END ( 01)

Bấm mũi tên xuống cho đến khi gặp lệnh LD 00002 (adsbygoogle = window.adsbygoogle || []).push({});

Bấm lần lợt DEL sau đó là mũi tên lên để xóa lệnh này.

Sau khi LD 00002 đợc xóa, lệnh bên dới này là AND 00001 sẽ đợc dịch lên địa chỉ 00003 và chơng trình mới sẽ là:

Địa chỉ Lệnh và tham số 00000 LD 00000 00001 AND 00001 00002 OUT 01000 00003 AND 00001 00004 OUT 01001 00005 END ( 01) 4.2.6 Chèn lệnh ( Insert )

Các lệnh mới có thể đợc chèn vào lệnh đang đợc hiển thị trong chơng trình hiện hành.

Ví dụ:

Ta muốn chèn lệnh OR 00002 vào giữa lệnh AND 00001 và OUT 01000 của chơng trình sau:

4.2.7 Theo dõi các hoạt động của PLC

a- Theo dõi trạng thái một tiếp điểm ( 1 bit)

Ví dụ: theo dõi trạng thái của Channel 000 bit 01.

b- Bật tắt cỡng bức các bit (Forced Set / Reset )

Sau khi hiển thị và theo dõi trạng thái bit CH 010.00 ở bớc trên, để c- ỡng bức bật bit này lên trạng thái ON ta bấm nút SET.

để cỡng bức bật bit này về trạng thái OFF ta bấm nút RESET. c- theo dõi gía trị một word ( Channel)

Trạng thái từng bit trong word CH000 có thể đợc theo dõi khi bấm tiếp

phím SHIFTMONTR

Các bit trong Channel 000 ở hình trên đợc biểu thị từ phải qua trái, bit bên phải ngoài cùng là bit 0. Trạng thái bật (ON) của bit đợc biểu thị bằng số 1 còn trạng thái tắt đợc biểu thị bằng số 0.

Nếu bật các công tắc đầu vào số 1 và 2 ta sẽ thấy các bit tơng ứng đ- ợc bật trên Programming Console nh dới đây.

d- Ghi giá trị mới vào word.

Giá trị hiện hành của word có thể đợc ghi đè vào từ Programming Console nh ví dụ sau: Channel 010 sẽ đợc ghi đè giá trị mới là 000F không phụ thuộc vào chơng trình hiện hành trong bộ nhớ của PLC.

Nói chung các địa chỉ bộ nhớ đầu ra (IR) không nên đợc ghi đè trừ khi đang thử nghiệm .

4.3 Lập trình bằng LADDER DAIGRAM

4.3.1 Lập trình bằng sơ đồ thang Ladder Daigram.

Các lệnh cơ bản của sơ đồ bậc thang (Ladder Daigram ).

Thành phần luôn luôn phải có trong sơ đồ gọi là Power bus. Là nơi dẫn nguồn điện đi vào và đi ra sơ đồ.

4.3.2 Lệnh LD

Lệnh LD nối với Power bus trái sẽ khởi đầu một netword của sơ đồ Ladder

Daigram. Số ghi phía trên ký hiệu lệnh là địa chỉ của thông số lệnh.

Chơng trình trên kết quả logic của lệnh LD00000 (tiép điểm đóng mở) sẽ điều khiển đầu ra là tiếp điểm 01000.

Khi nhập đoạn chơng trình trên vào PLC, phải đảm bảo đang ở chế độ Program mode và cuối chơng trình phải có lệnh END.

Sau đó chuyển sang chế độ Monitor hay Run để chạy. Bật thử công tắc 00000 sẽ khiến đầu ra 01000 cũng bật sáng

Chơng trình sau, khi bật công tắc 00000 ( công tắc thứ nhất trên bộ Training CPM1 ), đầu ra CH010.00 sẽ đợc bật lên ON. (adsbygoogle = window.adsbygoogle || []).push({});

4.3.4 Lệnh AND.

Lệnh AND sẽ tạo ra một logic giống nhơ hình dới đây.

Ví dụ trên, việc nối hai điều kiện logic A và B sẽ đòi hỏi cả A và B đều tác dộng ( đóng) thì đèn C đầu ra mới sáng.

Dới đây là một Ladder Daigram có dùng lệnh AND.

Lúc này khi bật công tắc CH 000.00 đồng thời bật công tắc CH 000.01 thì đèn đầu ra Output 010.00 mới sáng.

4.3.5 Lệnh OR.

Lệnh OR sẽ tạo ra một logic giống nh hình dới đây.

Trong ví dụ trên, việc nối song song hai điều kiện logic A và B sẽ đòi hỏi hoặc A hoặc B tác động ( đóng ) thì đèn C đầu ra sẽ sáng. Dới đây là một Ladder Daigram có dùng lệnh OR

Lúc này khi bật công tắc CH 000.00 thì đèn đầu ra Output 010.00 sẽ sáng.

4.3.6 Lệnh AND LD

Lệnh AND LD đợc dùng để xây dựng các khối logic phức tạp hơn bằng cách ghép chúng nối tiếp với nhau.

Giả sử có một đoạn chơng trình nh dới đây, trong đó đầu ra 01000 sẽ bật khi đầu vào 00000 hoặc 00001 và 000002 bật.

Nếu bây giờ điều kiện trên có thêm đầu vào 00003 nh dới đây:

Việc nhập vào đoạn chơng trình này đòi hỏi phải chia nó ra làm hai khối nối tiếp nhau.

Sau đó nhập vào riêng rẽ các lệnh cho từng khối và nối hai khối lại với nhau bằng lệnh AND LD

4.3.7 Lệnh OR LD.

Lệnh OR LD đợc dùng để xây dựng các khối logic bằng cách ghép chúng song song với nhau.

Giả sử ta có một đoạn chơng trình dới đây, trong đó đầu ra 01000 sẽ bật sáng khi đầu vào 00000 và 00001 hoặc 00002 bật.

Nếu bây giờ điều kiện trên có thêm đầu vào 00003 nh dới đây:

Để nhập vào đoạn chơng trình này ta phải chia nó ra làm hai khối con nối song song với nhau nh dới đây.

Trình t thực hiện cũng phải chia thành các khối con và gõ riêng rẽ từng khối vào sau đó dùng lệnh AND LD và OR LD để nhập các khối lại với nhau.

4.3.8 Lệnh AND NOT.

Lệnh AND NOT tạo ra một tiếp điểm thờng đóng ( Ngợc với lệnh AND)

Khi đổi lệnh AND 00001 thành AND NOT 00001 nh sơ đồ trên , đầu ra CH010.00 sẽ bật khi CH000.00 là ON và CH000.0 là OFF .

4.3.9 Lệnh LD NOT.

Lệnh LD NOT tạo ra một tiếp điểm thờng đóng ở đầu của đoạn mạch ( ngợc với lệnh LD ).

4.3.10 NETWORK.

Một Network đợc tạo thành bởi các lệnh LOAD, AND, OR, và OUT.

Trừ khi dùng để tạo các khối logic nối với nhau bằng lệnh AND LD, hoặc OR LD, Lệnh LOAD sẽ đợc dùng để tạo một Network mới.

4.3.11 Mạch chốt (Tự giữ)- LATCHING/SELF HOLDING CIRCUIT. (adsbygoogle = window.adsbygoogle || []).push({});

Dới đay là một sơ đồ khối Ladder Daigram của mạch tự giữ rất phổ biến trong lập trình.

Khi bật switch CH000.00, đầu ra CH010.00 sẽ bật và giữ và ở trạng thái này bất kể sau đó switch 00000 còn có bật hay không. CH010.00 sẽ bị tắt khi switch 00001 bật.

Nếu muốn đầu ra luôn ở ON, phải nối đầu dây này qua một cờ ( Flag) là bit 25313 ( tức channel 253 bit 13). Bit này là một cờ hệ thống luôn luôn ở trạng thái ON.

Có thể nối song song nhiều tiếp điểm cùng lệnh OR hoặc song song nhiều đầu ra dùng lệnh OUT/OUT NOT và dùng nhiều bit đầu vào nhiều lần.

Nếu có hai lệnh Output có cùng địa chỉ bit, lệnh Output trớc sẽ không có tác dụng.

Một đoạn mạch có thể có nhiều lệnh Out nối song song với nhau.

4.3.13 Lệnh OUT( OUTPUT) và lệnh OUTNOT (OUTPUT NOT)

Các lệnh này đợc kí hiệu trong sơ đồ thang nh sau:

Lệnh Out và Out not dùng để điều khiển trạng thái của bit đợc chỉ định theo điều kiện thực hiện ngõ vào là ON thì bit Out sẽ ON còn bit Out not sẽ OFF và ngợc lại.

B

B OUT

Lệnh SET dùng để ON bit toán tử khi điều kiện ngõ vào là ON và không ảnh hởng đến trạng thái bit toán tử khi điều kiện thực hiện ngõ vào là OFF.

Lệnh RESET dùng để OFF bit toán tử khi điều kiện ngõ vào là ON và không ảnh hởng đến trạng thái bit toán tử khi điều kiện thực hiện ngõ vào là OFF.

4.3.15 Lệnh KEEP(11).

Kí hiệu trong chơng trình thang nh sau:

Lệnh KEEP(11) dùng để duy trì trạng thái bit đã định theo hai điều kiện ngõ vào là S và R. S là ngõ vào SET còn R là ngõ vào RESET. Lệnh Keep(11)hoạt động giống nh một Rơ le chốt mà đợc SET bởi S và RESET bởi R. Biểu đồ minh hoạ:

4.3.16 Lệnh DIFU(13) và DIFD(14).

Kí hiệu trong chơng trình thang.

Lệnh DIFU(13) và DIFD(14) đợc dùng để ON bit đã định trong một chu kỳ

Mỗi khi thực hiện lệnh DIFU(13), nó sẽ so sánh điều kiện thực hiện tại ngõ vào với điều kiện trớc đó của nó. Nếu điều kiện thực hiện trớc đó là OFF và hiện tại là ON thì DIFU(13) sẽ ON bit đã định. Nếu điều kiện

KEEP(11) B

S R

Điều kiện thực hiện S

Điều kiện thực hiện R

Trạng thái bit B

DIFD(14)B DIFU(13) B

thực hiện trớc đó là ON và hiện tại là ON hay OFF lệnh DIFU(13) sẽ OFF bit đã định.

Còn đối với lệnh DIFD(14) khi thực hiện nó sẽ so sánh điều kiện thực hiện tại ngõ vào hiện tại với điều kiện trớc đó của nó. Nếu điều kiện thực hiện trớc đó là ON và hiện tại là OFF thì DIFD(14) sẽ ON bit đã định. Nếu điều kiện thực hiện tại ngõ vào là ON bất chấp điều kiện trớc đó là ON hay OFF lệnh DIFD(14) sẽ OFF bit đã định.

Hai lệnh này không ảnh hởng đến cờ trạng thái. Ví dụ: Xét sơ đồ thang sau:

Chơng trình thang cho sơ đồ trên. (adsbygoogle = window.adsbygoogle || []).push({});

Địa chỉ Lệnh Dữ liệu

00000 LD 00000

00001 DIFU(13) 10014

00002 DIFD(14) 10014

Minh họa biểu đồ thời gian:

4.3.17 Lệnh JMP(04) và JME(05)

Các lệnh này đợc dùng để nhảy nấc trong chơng trình thang. Ký hiệu trong chơng trình thang:

DIFU(13) 10014 DIFD(14) 10014 DIFU(13) Điều kiện nhập: 00000 DIFD(14)

Số nhảy N trong lệnh là từ 00 đến 99.

JMP(04) luôn luôn đợc dùng kết hợp với JME(05) để tạo thành lệnh nhảy. để nhảy từ một điểm trong chơng trình thang đến một điểm khác. JPM(04) đợc định nghĩa là điểm mà tại đó lệnh nhảy đợc tạo. JME(05) đợc định nghĩa là điểm đích của lệnh nhảy. Khi điều kiện thực hiện ngõ vào cho JMP(04) là ON thì bớc nhảy không đợc tạo và chơng trình đợc thực hiện nh đã lập trình. Khi điều kiện thực hiện ngõ vào cho JMP(04) là OFF thì bớc nhảy đợc thi hành. Khi đó chơng trình tiếp tục thực hiện tại JME(05).

Khi số nhảy N của JMP(04) từ 01 đến 99 thì con trỏ lập tức chuyển đến JME(05) cùng với số nhảy tơng ứng. Tất cảc các lệnh ở giữa JMP(04) và JME(05) không đợc thực hiện, trạng thái của các Timer, Counter, Bit Out, Out not và tất cả trạng thái của bit điều khiển khác đều không thay đổi. Số nhảy này chỉ đụnh nghĩa cho một lần nhảy.

Khi số nhảy của JMP(04) là 00, Cpũe tìm đến JME(05) kế có số nhảy N=00. Để thực hiện, nó kiểm tra toàn bộ chơng trình tất cả những lệnh và bit điều khiển nằm ở giữa JMP(04) 00 và JME(05) 00 đợc giữ nguyên. số nhảy 00 có thể đợc sử dụng nhiều lần đối với JMP(04) mà chỉ cần một đích nhảy đến JME(05).

Ví dụ: Chơng trình thang nh sau:

Các lệnh đợc nhập vào theo PLC OMNRON

Địa chỉ Lệnh Dữ liệu 00000 LD 00000 00001 JMP(04) 01 00002 LD 00001 00003 Lệnh 1 00004 LD 00002 00005 Lệnh 2 00006 JME(05) 01 Giải thích:

Khi IR 00000 = ON thì chơng trình thực hiện từ lệnh 1 đến lệnh 2. khi IR00000 = OFF thì lệnh1 và lệnh 2 đợc bỏ qua. Chơng trình sẽ thực hiện các lệnh tiếp theo.

JMP(04) 01 Lệnh 1 Lệnh 2 JME(05) 01 00000 00001 00002

4.3.18 Lệnh chuyển dữ liệu MOV(21):

Ký hiệu trong chơng trình thang.

Trong đó:

S : là word nguồn. D: là word đích.

Khi điều kiện thực hiện ngõ vào là OFF, lệnh MOV(21) không thực hiện. Khi điều kiện ngõ vào là ON lệnh MOV(21) sẽ sao chép toàn bộ nội dung của S sang D.

Ví dụ:

Sử dụng lệnh MOV(21) sao chép nội dung của IR001 cho HR 05 khi IR00000 chuyển từ OFF sang ON.

Sơ đồ thang.

Chơng trình đợc viết nh sau:

Địa chỉ Lệnh Toán tử

00000 LD 00000

00001 MOV(21) 01 (adsbygoogle = window.adsbygoogle || []).push({});

HR05

4.3.19 Lệnh MVN(22) Move Not:

Kí hiệu trong chơng trình thang.

Trong đó:

MOV(21) S D

Word nguồn Word đích

Trạng thái bit không thay đổi

HR05 001 MOV(21) 00000 D S MVN(22)

4.3.20 Lệnh tính toán BCD( Binary Code Decimal) – SET CARRY STC(40)

Kí hiệu trong chơng trình thang.

Khi tín hiệu của ngõ vào là OFF, lệnh STC(40) không thực hiện. STC(40) chỉ thực hiện khi ngõ vào là ON.

4.3.21 Lệnh tính toán CLC – CLEAR CARRY (CLC(41) )

Kí hiệu trong chơng trình thang.

Khi tín hiệu của ngõ vào là OFF, lệnh CLC(41) không thực hiện. CLC(41) chỉ thực hiện khi ngõ vào là ON.

4.3.22 Lệnh ADD(30).

Kí hiệu trong chơng trình thang.

Trong đó:

Au: Augen word.(Word đã có) Ad: Addend word.(Word bị cộng) R : Result word.( Word kết quả)

Chỉ dùng vùng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 không đợc dùng cho R.

Khi tín hiệu của ngõ vào là OFF, lệnh ADD(30) không thực hiện. ADD(30) chỉ thực hiện khi ngõ vào là ON. Khi đó ADD(30) sẽ cộng nội dung của Au và Ad rồi đặt kết quả trong R.

4.3.23 Lệnh SUB(31) Trừ BCD.

Kí hiệu dùng trong chơng trình thang: Trong đó:

Mi: Word bị trừ Su: Word trừ

R : Result word.( Word kết quả)

Chỉ dùng vùng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 không đợc dùng cho R.

Khi tín hiệu của ngõ vào là OFF, lệnh SUB(31) không thực hiện. SUB(31) chỉ thực hiện khi ngõ vào là ON. Khi đó SUB(31) sẽ trừ nội dung của Mi cho Su rồi đặt kết quả trong R.

STC(40) CLC(41) Su Mi SUB(21) R ADD(30) Au Ad R

4.3.24 Lệnh MUL(32) Nhân BCD (BCD MULTIPLY).

Kí hiệu dùng trong chơng trình thang:

Md: Multiolicand (BCD) Mr: Multiplier (BCD) R : Result word. (adsbygoogle = window.adsbygoogle || []).push({});

Chỉ dùng vùng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 không đợc dùng cho R.

Khi tín hiệu của ngõ vào là OFF, lệnh MUL(32) không thực hiện. MUL(32) chỉ thực hiện khi ngõ vào là ON. Khi đó MUL(32) sẽ nhân nội dung của Md cho Mr rồi đặt kết quả trong R và R+1:

Xét ví dụ có chơng trình thang nh trên:

Khi IR00001 mà ON thì nội dung của IR013 và DM00006 đợc nhân và kết quả đợc đặt trong HR07 và HR 08.

Dữ liệu và tính toán nh sau:

4.3.25 Lệnh DIV(33) BCD DIVIDE (chia BCD)

Kí hiệu dùng trong chơng trình thang: Mr Md MUL(32) R Md Mr R R+1 MUL(32) 00001 DM0006 013 HR 07 Md: IR013 3 3 5 6 5 2 0 0 Mr: DM00005 R+1: HR08 8 R: HR07 3 9 0 0 0 0 0

Mr: Divisorword (BCD) R : Result word.

Chỉ dùng vùng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 không đợc dùng cho R.

Khi tín hiệu của ngõ vào là OFF, lệnh DIV(33) không thực hiện. DIV(33) chỉ thực hiện khi ngõ vào là ON. Khi đó DIV(33) sẽ chia nội dung của Dd cho Dr rồi đặt kết quả trong R và R+1, thơng số đặt trong R và số d đặt trong R+1:

Ví du:

Xét sơ đồ thang sau:

Khi IR00000 ON, lệnh DIV(33) sẽ đợc thực thi

Nội dung của IR216 sẽ đợc chia cho nội dung của HR09 kết quả đợc

Một phần của tài liệu Đồ án tốt nghiệp: Nghiên cứu, ứng dụng PLC trong điều khiển tự động máy xấn tôn (Trang 41)