Tìm kiếm trong ch−ơng trình

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

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 00004 AND 00001 00005 OUT 01001 00006 END ( 01)

Để tìm đến địa chỉ lệnh AND 00001 ta làm nh− sau:

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.

53 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 06 END ( 01)

Bấm mũi tên xuống cho đến khi gặp lệnh LD 00002

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:

54

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)

55

Trạng thái từng bit trong word CH000 có thể đ−ợc theo dõi khi bấm tiếp phím SHIFT và MONTR (adsbygoogle = window.adsbygoogle || []).push({});

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.

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

57

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.

4.3.3 Lệnh OUT.

Lệnh Out giống nh− một rơle chấp hành đ−a ra kết quả logic của các lệnh đi tr−ớc vào một tiếp điểm (bit) OUTPUT.

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.

58

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.

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. (adsbygoogle = window.adsbygoogle || []).push({});

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.

59

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.

60

Hoặc khi bật công tắc CH 000.01 thì đèn đầu ra Output 010.00 sẽ sáng. Hoặc khi bật công tắc CH000.00 đồng thời bật công tắc CH 000.01 thì đèn đầu ra Output 010.00 cũng 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.

61

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.

62

Để 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.

(adsbygoogle = window.adsbygoogle || []).push({});

63

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

64

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.

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.

65

4.3.12 Các quy tắc chung của s− đồ LADDER DAIGRAM.

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.

66

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) (adsbygoogle = window.adsbygoogle || []).push({});

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

67

4.3.14 Lệnh SET và RESET.

Kí hiệu trong sơ đồ thang nh− sau:

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

SET B RESET B KEEP(11) B S R

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

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

68

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

Địa chỉ Lệnh Dữ liệu 00000 LD 00000 00001 DIFU(13) 10014 00002 DIFD(14) 10014 DIFD(14)B DIFU(13) B DIFU(13) 10014 DIFD(14) 10014

(adsbygoogle = window.adsbygoogle || []).push({});

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

N: là số nhảy.

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.

DIFU(13)

Điều kiện nhập: 00000

DIFD(14)

J M E ( 0 5 ) N J M P ( 0 4 ) N

70

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.

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

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

JM P (04 ) 01 L ện h 1 L ện h 2 JM E (0 5) 0 1 00 000 00 001 00 002 MOV(21) S D

71 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ử (adsbygoogle = window.adsbygoogle || []).push({});

00000 LD 00000

00001 MOV(21) 01 HR05

4.3.19 Lệnh MVN(22) Move Not:

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

Trong đó:

S : là word nguồn.

Word nguồn Word đích

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

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

72 D: là word đích.

Khi điều kiện thực hiện ngõ vào là ON, lệnh MVN(22) sẽ sao chép nội dung đảo của S sang D. Mỗi bit ON của S t−ơng ứng với bit OFF trong D và bit OFF của S t−ơng ứng với bit ON trong D.

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.

STC(40) CLC(41) ADD(30) Au Ad R

73

4.3.23 Lệnh SUB(31) Trừ BCD. (adsbygoogle = window.adsbygoogle || []).push({});

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.

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.

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:

Su M i SU B (21) R Mr Md MUL(32) R Md Mr R R+1 MUL(32) 00001 DM0006 013 HR 07

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

Dd: Dividend (BCD) 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:

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 DIV(33) R Dd Dr 00000 DM0017 216 HR09 DIV(33)

75 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 đặt trong DM0017 và DM0018.

4.3.26 Lệnh so sánh CMP(20).

Kí hiệu dùng trong ch−ơng trình thang: (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó:

CP1: Word so sánh thứ nhất: CP2: Word so sánh thứ hai:

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