1 các lệnh lập trình giản đồ thang cơ bản rslogix 5000

38
1. Các lệnh xlí bit * Examine on: Tiếp điểm thường m, khi có tác động sđóng. * Examine off : Tiếp điểm thường đóng, khi có tác động sm. * Output Energize: Đầu ra cp ngun,bật 1 bit khi điều kiện đầu vào là đúng. -Ví dụ: Mch Start-Stop, khi ta n Start ri nhra rơle khoi_dong có điện ,đóng các tiếp điểm khoi_dong.Tiếp dim khoi_dong thnhất là tiếp điểm tduy trì,cấp điện cho rơle khoi_dong khi ta nhStart ra .Tiếp điểm khoi_dong thhai cp nguồn cho rơle Dong_co để đóng điện cho động cơ.Khi muốn dừng động cơ ta nhấn nút Stop ngắt điện của rơle khoi_dong , làm các tiếp điểm khoi_dong mngt điện của động cơ.Chú ý đây là mạch rất hay dùng trong lập trình bằng PLC. * Output Latch(L), Output Unlatch(U) : các lệnh đầu ra duy trì,(L) dùng để bật 1 bit còn (U) dùng để tắt 1 bit, các lệnh này thường dùng theo 1 cặp với cùng 1 địa ch. -Ví dụ: Khi Start on đầu ra dieu_khien (U) có điện sđóng tiếp điểm dieu_khien, Den_a sáng.Khi ta ấn Stop đầu ra dieu_khien(L) có điện nó sẽ mtiếp điểm dieu_khien, Den_a tt.

Upload: tung-nino

Post on 05-Aug-2015

2.533 views

Category:

Documents


210 download

TRANSCRIPT

Page 1: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

1. Các lệnh xử lí bit

* Examine on: Tiếp điểm thường mở , khi có tác động sẽ đóng.

* Examine off : Tiếp điểm thường đóng, khi có tác động sẽ mở.

* Output Energize: Đầu ra cấp nguồn,bật 1 bit khi điều kiện đầu vào là đúng.

-Ví dụ: Mạch Start-Stop, khi ta ấn Start rồi nhả ra rơle khoi_dong có điện ,đóng

các tiếp điểm khoi_dong.Tiếp diểm khoi_dong thứ nhất là tiếp điểm tự duy trì,cấp

điện cho rơle khoi_dong khi ta nhả Start ra .Tiếp điểm khoi_dong thứ hai cấp

nguồn cho rơle Dong_co để đóng điện cho động cơ.Khi muốn dừng động cơ ta

nhấn nút Stop ngắt điện của rơle khoi_dong , làm các tiếp điểm khoi_dong mở ngắt

điện của động cơ.Chú ý đây là mạch rất hay dùng trong lập trình bằng PLC.

* Output Latch(L), Output Unlatch(U) : là các lệnh đầu ra duy trì,(L)

dùng để bật 1 bit còn (U) dùng để tắt 1 bit, các lệnh này thường dùng theo 1 cặp

với cùng 1 địa chỉ.

-Ví dụ: Khi Start on đầu ra dieu_khien (U) có điện sẽ đóng tiếp điểm dieu_khien,

Den_a sáng.Khi ta ấn Stop đầu ra dieu_khien(L) có điện nó sẽ mở tiếp điểm

dieu_khien, Den_a tắt.

Page 2: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

2. Timer/Counter(TON,TOF,RTO,CTU,CTD,RES).

- Các lệnh Timer/Counter không tác động lên các cờ trạng thái toán học.

2.1 Timer On Delay

-Dùng để bật hoặc tắt 1 đầu ra sau khi bộ định thời được khởi động và đếm trong

một khoảng thời gian định trước .DN chuyển từ off lên on.Sau khi đầu vào off thì

lệnh TON sẽ được reset lại.( giá trị trong Accum về 0).

Tên Kiểu dữ liệu Mô tả

Timer Timer Tên bộ định thời

.EN Bool On khi đầu vào on

.TT Bool On trong khi bộ định thời đang đếm.

.DN Bool On khi điều kiện thời gian là đúng .ACC >=.PRE

.PRE Dint Khoảng thời gian đặt trước (ms).

.ACC Dint Giá trị đếm.

-Ví dụ: Khi Start on, bộ định thời T1 có điện và bắt đầu đếm thời gian từ 0-10s(

xem trong Accum).Trong khoảng thời gian 10 s này tiếp điểm T1.TT on, Den_a

sáng,T1.DN off Den_b tắt.Sau khi hết 10s tiếp điểm T1.TT off Den_a tắt ,T1.DN

on Den_b sáng.Khi Start off thì bộ định thời T1 sẽ được reset lại ( giá trị trong

Accum trở về 0).

Page 3: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

2.2. Timer Off Delay

-Dùng để bật hoặc tắt 1 đầu ra sau khi đầu vào của bộ định thời tắt một khoảng thời

gian định trước .DN sẽ chuyển từ on sang off.Khi đầu vào on lệnh TOF sẽ được

reset lại.(giá trị trong Accum trở về 0).

Tên Kiểu dữ liệu Mô tả

Timer Timer Tên bộ định thời

.EN Bool On khi đầu vào on

.TT Bool On trong khi bộ định thời đang đếm.

.DN Bool On khi đầu vào on. Off khi điều kiện thời gian là đúng

.ACC >=.PRE

.PRE Dint Khoảng thời gian đặt trước (ms).

.ACC Dint Giá trị đếm.

-Ví dụ: Khi Start on bộ định thời T2 có điện Den_a tắt ,Den_b sáng. Khi ta Stop on

ngắt điện của T2 , khi đó T2 sẽ đếm đến từ 0-10s(xem trong Accum), trong 10s này

tiếp điểm T1.TT on Den_a sáng. Sau khi đếm xong 10s tiếp điểm T2.TT và T2.DN

off cả Den_a và Den_b đều mất điện. Lúc này giá trị trong Accum vẫn giữ 10s khi

đầu vào T2 on trở lại thì nó được reset ( giá trị trong Accum về 0).

Page 4: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

2.3. Retentive Timer On

- Hàm thời gian có nhớ dùng để bật hoặc tắt một đầu ra khi điều kiện đầu vào là

đúng. Khi mất nguồn hàm RTO tiếp tục duy trì tại giá trị tại lúc dừng ( giá trị trong

.ACC vẫn được giữ nguyên).Muốn reset lệnh RTO ta phải dùng lệnh RES để xóa

giá trị trong .ACC

Tên Kiểu dữ liệu Mô tả

Timer Timer Tên bộ định thời

.EN Bool On khi đầu vào on

.TT Bool On trong khi bộ định thời đang đếm.

.DN Bool On khi điều kiện thời gian là đúng .ACC >=.PRE

.PRE Dint Khoảng thời gian đặt trước (ms).

.ACC Dint Giá trị đếm.

-Ví dụ: khi Start on bộ định thời T3 có điện và sẽ đếm thời gian từ 0-30s, trong

khoảng thời gian này khi T3 đang đếm thời gian thì Den_a sáng,Den_b tắt.Khi

đang đếm đến 10s thì Start off, khi đó giá trị trong Accum vẫn giữ nguyên ở 10s

(10000) , cả Den_a và Den_b đều tắt.Khi Start on trở lại T3 lại tiếp tục đếm thời

gian từ giá trị 10s, Den_a sáng. Sau khi đếm song 30s thì Den_a tắt,Den_b

sáng.Khi này dù Start có off thì do T3 không được reset lại nên Den_b vẫn sáng.

Page 5: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Khi tiếp điểm reset on, lệnh RES sẽ reset lại bộ định thời T3 ( xóa giá trị trong

Accum về 0) ,Den_b off.

2.4. Count Up

- Dùng để đếm từ giá trị sai sang đúng của điều kiện đầu vào, khi đầu vào chuyển

từ off lên on bộ đếm sẽ tăng thêm 1 đến giá trị đặt thì tác động vào đầu ra.Muốn

reset lại bộ đếm ta dùng lệnh RES để xóa giá trị trong .ACC.

Tên Kiểu dữ lệu Mô tả

Counter Count Tên bộ đếm

.CU Bool On khi đầu vào on

.DN Bool On khi điều kiện .ACC >= .PRE là đúng.

.PRE Dint Giá trị đặt trước.

.ACC Dint Giá trị đếm.

-Ví dụ: Mỗi khi tiếp điểm Start chuyển từ off sang on thì giá trị trong Acccum tăng

thêm 1 đơn vị , khi Accum>=10 thì tiếp điểm C1.DN sẽ tác động Den_a sáng.Khi

tiếp điểm reset on lệnh RES sẽ reset lại bộ đếm C1( xóa giá trị trong Accum trở về

0) và Den_a tắt.

Page 6: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

2.5. Counter Down

-Dùng để đếm từ giá trị đúng sang sai của điều kiện đầu vào , khi đầu vào chuyển

từ off sang on bộ đếm sẽ trừ đi 1 đến giá trị đặt thì tác động vào đầu ra.Muốn reset

lại bộ đếm ta dùng lệnh RES để xóa giá trị trong .ACC.

Tên Kiểu dữ lệu Mô tả

Counter Count Tên bộ đếm

.CU Bool On khi đầu vào on

.DN Bool On khi điều kiện .ACC >= .PRE là đúng.

.PRE Dint Giá trị đặt trước.

.ACC Dint Giá trị đếm.

-Ví dụ:Điều khiển bãi đỗ xe tự động.Mỗi lần xe_vao chuyển từ off sang on thì bộ

đếm C1 lại tăng thêm 1 đơn vị. mỗi lần xe_ra chuyển từ off sang on bộ đếm C1 lại

trừ đi 1 đơn vị. Khi giá trị Accum >=100 thì tiếp điểm C1.DN tác động đèn báo

het_cho sáng.Khi tiếp điểm restart on lệnh RES sẽ reset lại bộ đếm C1( Giá trị

trong Accum về 0).

Page 7: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

2.6. Reset

- Dùng để xóa bộ định thời hoặc bộ đếm, khi lệnh RES được thực hiện nó sẽ xóa

các bộ đếm (Counter) , bộ định thời (Timer) hoặc bộ điều khiển (Control) có cùng

địa chỉ.

Sử dụng lệnh RES cho: Giá trị bị xóa

Timer Giá trị trong.ACC

Counter Giá trị trong .ACC

Control Giá trị trong .POS

3.Compare (CMP,EQU,NEQ,GEQ,GRT,LEQ,LES,LIM,MEQ)

3.1. Compare

-Nếu đầu vào off thì đầu ra CMP sẽ là off, nếu đầu vào on thì tiến hành so sánh

biểu thức trong Expression , nếu biểu thức đúng thì đầu ra sẽ on, ngược lại đầu ra

sẽ off.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Expression Sint

Int,Dint,Real,String

Trực tiếp

Tag

Một biểu thức bao gồm những

Tag hoặc những giá trị tức thời

được cung cấp bởi người điều

khiển.

Tag Sint hoặc Int sẽ được chuyển thành giá trị Dint bởi sign-extension

-Lệnh CMP khi thực hiện sẽ chậm hơn và chiếm nhiều bộ nhớ hơn các lệnh so

sánh khác nhưng ưu điểm của nó là ta có thể điền vào trong Expression những biểu

thức phức tạp.

Page 8: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

-Lệnh CMP chỉ tác động lên các cờ trạng thái toán học khi trong Expression có

chứa các toán tử ( +,-,*,/ ).

- Nếu bạn điền vào trong Expression không phải là một biểu thức so sánh mà là các

biểu thức như: value_1+value_2, value_1…hoặc là các giá trị tức thời thì lệnh

CMP sẽ xử lí như sau:

Nếu Expression Đầu ra của CMP sẽ

Khác không On

Bằng không Off

-Ví dụ: Nếu các biểu thức so sánh trong Expression của lệnh CMP đúng thì các đèn

sau nó sẽ sáng. Den_4 luôn sáng do Expreesion bằng 5 và khác 0.

- Các toán tử hợp lệ:

Page 9: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Toán tử Mô tả Kiểu dữ liệu Toán tử Mô tả Kiểu dữ liệu

+ Cộng Dint,Real COS Cosine Real

- Trừ/dấu âm Dint,Real DEG Radian sang độ Dint,Real

* Nhân Dint,Real NOT Đảo bit Dint

/ Chia Dint,Real LN Loga tự nhiên Real

= Bằng Dint,Real LOG Loga cơ số 10 Real

< Nhỏ hơn Dint,Real MOD Lấy phần dư Dint,Real

<= Nhỏ hơn hoặc

bằng

Dint,Real FRD BCD sang số

nguyên

Dint

> Lớn hơn Dint,Real OR OR bit Dint

>= Lớn hơn hoặc

bằng

Dint,Real RAD Độ sang radian Dint,Real

<> Không bằng Dint,Real SIN Sine Real

** Mũ Dint,Real SQR Căn bậc hai Dint,Real

ABS Trị tuyệt đối Dint,Real TAN Tang Real

ACS Arc Cosine Real TOD Số nguyên

sang BCD

Dint

AND AND bit Dint TRN Rút gọn Dint,Real

ASN Arc Sine Real XOR XOR bit Dint

ATN Arc Tang Real

- Thứ tự thực hiện các phép toán :

Thứ tự Phép toán

1 ()

2 ABS,ACS,ASN,ATN,COS,DEG,FRD,LN,LOG,RAD,SIN,SQR,

TAN,TOD,TRN.

3 **

4 -(dấu âm), NOT

5 *,/ , MOD

6 <, <=,>,>=,=

7 -(trừ),+

8 AND

9 XOR

10 OR

Page 10: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

-Sử dụng ngôn ngữ Ladder hoặc Structure text để so sánh các dữ liệu kiểu

string(chuỗi kí tự) , để sử dụng các string trong biểu thức theo các chỉ dẫn:

+ Một biểu thức cho phép bạn so sánh 2 Tag string

+Bạn không thể nhập các kí tự ASCII trực tiếp vào trong các biểu thức.

+Chỉ các toán tử sau đây được phép sử dụng:

Toán tử Mô tả

= Bằng

< Nhỏ hơn

<= Nhỏ hơn hoặc bằng

> Lớn hơn

>= Lớn hơn hoặc bằng

<> Không bằng

+ Các String bằng nhau khi mà các kí tự của chúng tương ứng với nhau.

+Các kí tự ASCII là trường hợp nhạy cảm,Chữ hoa A ($41) không bằng với

chữ thường a ($61).

+ Giá trị Hexadecimal của các kí tự quyết định một string này nhỏ hơn hoặc

lớn hơn một string khác.

+Khi 2 string được sắp xếp theo thứ tự như trong danh bạ điện thoại thì thứ

tự của string sẽ quyết định string nào lớn hơn.Ví dụ :1b>1ab,a>B…

Kí tự ASCII Mã Hexadecimal

1ab $31$61$62

1b $31$62

A $41

AB $41$42

B $42

a $61

ab $61$62

L

n

h

ơ

n

N

h

h

ơ

n

Page 11: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

3.2. Equal to, Not Equal to , Greater Than, Greater Than or

Equal to, Less Than, Less Than or Equal to.

- Nhóm lệnh này có cấu trúc giống nhau gồm Source A và Source B, khi đầu vào

on thì lệnh sẽ tiến hành so sánh Source A với Source B nếu thỏa mãn điều kiện thì

đầu ra sẽ on, ngược lại đầu ra vẫn off.

- Khi nhóm lệnh này được sử dụng nó không ảnh hưởng tới các cờ trạng thái toán

học .

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint

Int,Dint,Real,String

Trực tiếp

Tag

Giá trị để so sánh

với Source B

SourceB Sint

Int,Dint,Real,String

Trực tiếp

tag

Giá trị để so sánh

với Source A

Khi bạn nhập vào một Tag Sint hay Int nó sẽ được chuyển thành giá trị Dint

bởi sign-extension

- Chú ý khi so sánh các String ta không được nhập trực tiếp vào các Source A và

Source B mà phải nhập chúng vào các Tag sau đó mới đem so sánh các tag này với

nhau.

*EQN (Equal to)

- Lệnh so sánh bằng, khi đầu vào on, EQU sẽ tiến hành so sánh Source A với

Source B nếu chúng bằng nhau thì đầu ra sẽ on ,ngược lại đầu ra off.

-Ví dụ: Khi đầu vào on lệnh EQN sẽ so sánh value_1 với value_2 nếu

value_1=value_2 thì Den_1 sáng.

Page 12: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

*NEQ (Not Equal to)

- Lệnh so sánh không bằng,khi đầu vào on ,NEQ sẽ tiến hành so sánh Source A với

Source B nếu chúng không bằng nhau thì đầu ra sẽ on,ngược lại đầu ra off.

- Ví dụ: khi đầu vào on , nếu value_3 khác value_4 thì Den_2 sáng, ngược lại nếu

value_3 = value_4 thì Den_2 không sáng.

*GRT( Greater Than)

-Lệnh so sánh lớn hơn,khi đầu vào on, GRT sẽ tiến hành so sánh Source A với

Source B nếu Source A lớn hơn Source B thì đầu ra sẽ on,ngược lại đầu ra off.

-Ví dụ: Khi đầu vào on ,lệnh GRT sẽ so sánh value_2 với value_4 nếu

value_2>value_4 thì Den_3 sáng,ngược lại Den_3 không sáng.

*GEQ(Greater Than or Equal)

Page 13: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Lệnh so sánh lớn hơn hoặc bằng,khi đầu vào on ,GEQ sẽ tiến hành so sánh

Source A với Source B, nếu SourceA lớn hơn hoặc bằng Source B là đúng thì đầu

ra on, ngược lại đầu ra off.

-Ví dụ:Khi đầu vào on, nếu value_3>=value_4 là đúng thì Den_4 sẽ sáng , ngược

lại nếu value_3<value_4 thì Den_4 sẽ không sáng.

*LES(Less Than)

- Lệnh so sánh nhỏ hơn,khi đầu vào on ,LES sẽ tiến hành so sánh Source A với

Source B , nếu Source A nhỏ hơn Source B thì đầu ra sẽ on, ngược lại đầu ra off.

- Ví dụ:Nếu value_1<value_3 là đúng thì Den_5 sẽ sáng, ngược lại nếu

value_1>=value_3 thì Den_5 sẽ không sáng.

*LEQ(Less Than or Equal)

Page 14: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Lệnh so sánh nhỏ hơn hoặc bằng,khi đầu vào on , LEQ sẽ tiến hành so sánh

Source A với Source B, nếu Source Anhỏ hơn hoặc bằng Source B là đúng thì

đầu ra sẽ on, ngược lại đầu ra off.

-Ví dụ:Nếu value_1<=value_2 là đúng thì Den_6 sẽ sáng, ngược lại nếu

value_1>value_2 thì Den_6 sẽ không sáng.

3.3. Limit

-Khi đầu vào ON ,LIM sẽ tiến hành so sánh giá trị Test với với Low Limit và

High Limit. Khi (Low Limit<= High Limit )nếu (Low Limit =< Test=<High Limit)

là đúng thì đầu ra LIM sẽ on, ngược lại đầu ra off. Khi (Low Limit > High Limit)

nếu (Test >=Low Limit) hoặc (Test<= High Limit) là đúng thì đầu ra sẽ on, ngươc

lại đầu ra off.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Low Limit Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị giới hạn dưới

Test Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị kiểm tra

High Limit Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị giới hạn trên

Tag Sint,Int sẽ chuyển thành giá trị Dint bởi sign-extension.

Page 15: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

-Ví dụ1:Do Low limit=0 <High Limit =100 nên nếu value_1 nằm trong đoạn

[0,100] thì Den_1 sẽ sáng, ngược lại nếu value_1 <0 hoặc value_1>100 thì Den_1

sẽ không sáng.

-Ví dụ 2: Do Low Limit =0 >High Limit=-100 nên nếu value_2>=0 hoặc

value_2<= -100 thì Den_2 sẽ sáng , ngược lại nếu -100<value_2<0 thì Den_2 sẽ

không sáng .

3.4. Mask Equal to

- Khi đầu vào on lệnh MEQ sẽ tiến hành phép AND bit giữa Mask với Source và

giữa Mask với Compare , sau đó lấy hai kết quả này so sánh với nhau, nếu hai kết

quả này bằng nhau thì đầu ra MEQ sẽ on.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint

Int,Dint

Trực tiếp

Tag

Giá trị để kiểm tra với

Compare

Mask Sint

Int,Dint

Trực tiếp

Tag

Chỉ ra khi nào bit được

đi qua hoặc bị khóa

Compare Sint

Int,Dint

Trực tiếp

Tag

Giá trị để kiểm tra với

Source

Page 16: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Tag Sint,Int sẽ chuyển tới giá trị Dint bởi zero-fill.

-Khi bạn nhập giá trị trực tiếp vào Mask ,chương trình sẽ mặc định là giá trị thập

phân. Nếu bạn muốn sử dụng các cơ số khác thì thêm vào trước giá trị đó các tiền

tố:

Tiền tố Mô tả

16# Hệ hexadecimal

Ví dụ: 16#0F0F

8# Hệ Octal

Ví dụ: 8#16

2# Hệ Binary

Ví dụ: 2#110101

- Ví dụ: lệnh MEQ thực hiện phép AND bit giữa mask_1 với value_1 và giữa

mask_1 với value_2. Do masked value_1= masked value_2 nên Den_1 sáng.

value_1:22315

Mask:65520

Masked value_1

value_2: 22319

Mask:65520

Masked value_2

4.Một số lệnh toán học ( CPT,ADD,SUB,MUL,DIV,MOD,SQR,NEG,ABS).

-Các lệnh toán học khi thực hiện sẽ tác động lên trạng thái của các cờ trạng thái

toán học.

0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1

1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

0 1 0 1 0 1 1 1 0 0 1 0 x x x x

0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

0 1 0 1 0 1 1 1 0 0 1 0 x x x x

Page 17: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

4.1. Compute

-Khi đầu vào on , lệnh CPT sẽ tiến hành tính toán các biểu thức trong Expression

kết quả được lưu trong Dest.Lệnh CPT hoạt động chậm và sử dụng nhiều bộ nhớ

hơn so với các lệnh tính toán khác ,nhưng nó có ưu điểm là bạn có thể nhập vào

những biểu thức phức tạp trong một lệnh ( không giới hạn chiều dài của một biểu

thức).

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Destination Sint,Int

Dint,Real

Tag Tag chứa kết quả

Expression Sint,

Int,Dint,Real

Trực tiếp

Tag

Biểu thức chứa các tag và các giá

trị người điều khiểntrực tiếp

nhập vào

Tag Sint,Int chuyển thành giá trị Dint bởi sign-extension

- Ví dụ: Khi đầu vào on ,lệnh CPT sẽ thực hiện phep toán lấy value_1 cộng với

value_2 sau đó chia cho value_3, kết quả được lưu trong tag result

- Các toán tử hợp lệ:

Toán tử Mô tả Kiểu dữ liệu Toán tử Mô tả Kiểu dữ liệu

+ Cộng Dint,Real LN Loga tự nhiên Real

- Trừ/dấu âm Dint,Real LOG Loga cơ số 10 Real

* Nhân Dint,Real MOD Lấy phần dư Dint,Real

/ Chia Dint,Real FRD BCD sang số

nguyên

Dint

Page 18: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

** Mũ Dint,Real OR OR bit Dint

ABS Trị tuyệt đối Dint,Real RAD Độ sang radian Dint,Real

ACS Arc Cosine Real SIN Sine Real

AND AND bit Dint SQR Căn bậc hai Dint,Real

ASN Arc Sine Real TAN Tang Real

ATN Arc Tang Real TOD Số nguyên sang

BCD

Dint

COS Cosine Real TRN Rút gọn Dint,Real

DEG Radian sang độ Dint,Real XOR XOR bit Dint

NOT Đảo bit Dint

- Thứ tự thực hiện các phép toán:

Thứ tự Phép toán

1 ()

2 ABS,ACS,ASN,ATN,COS,DEG,FRD,LN,LOG,RAD,SIN,SQR,

TAN,TOD,TRN.

3 **

4 -(dấu âm), NOT

5 *,/ , MOD

6 -(trừ),+

7 AND

8 XOR

9 OR

4.2. Add

Page 19: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Lệnh cộng,khi đầu vào on lệnh ADD sẽ tiến hành cộng Source A với Source B ,

kết quả được lưu trong Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị để cộng vào

Source B

Source B Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị để cộng vào

Source A

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

-Ví dụ: Khi đầu vào on lệnh ADD sẽ lấy value_3 cộng với value_4 kết quả của

phép cộng này đuợc lưu trong tag result.

4.3. Subtract

- Lệnh trừ,khi đầu vào on lệnh SUB sẽ lấy Source A trừ đi Source B , kết quả được

lưa trong Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint Trực tiếp Giá trị của số bị trừ

Page 20: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Int,Dint,Real Tag

Source B Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số trừ

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

-Ví dụ: khi đầu vào on, lệnh ADD lấy value_1 trừ đi value_2 kết quả được lưu

trong tag result_2

4.4. Multiply

- Lệnh nhân ,khi đầu vào on, lệnh MUL sẽ lấy Source A nhân với Source B kết

quả được lưu trong Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số nhân

Source B Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số nhân

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

Page 21: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Ví dụ :Khi đầu vào on ,lệnh MUL sẽ nhân value_1 với value_3 kết quả được lưu

trong result_3.

4.5. Divide

- Khi đầu vào ON , lệnh DIV sẽ lấy Source A chia cho Source B , kết quả được lưu

trong Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số bị chia

Source B Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số chia

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

-Nếu kết quả không phải là số thực thì lệnh DIV sẽ xử lí kết quả như sau:

Nếu Source A Xử lí kết quả Ví dụ

Và Source B không

phải là số thực

Cắt bỏ phần thập

phân

Soucer A Dint 5

Source B Dint 3

Destination Dint 1

Hoặc Source B là

số thực

Làm tròn

Soucer A Real 5.0

Source B Dint 3

Destination Dint 2

Page 22: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Nếu Source B( số chia) bằng không :

+ Có một lỗi nhỏ xảy ra:

- Dạng 4 :chương trình lỗi.

-Mã số 4 : Tràn số học.

+Kết quả sẽ được xử lí như sau:

Nếu Source B bằng

0 và:

Và đích đến là

một:

Và kết quả là Cuối cùng

Destination bằng:

Tất cả các toán hạng

đều là số nguyên.

Source A

Ít nhất một toán

hạng là số thực

Sint,Int,

Dint

Số dương -1

Số âm 0

Real Số dương 1$(Dương vô cùng)

Số âm -1$(Âm vô cùng)

-Ví dụ:Khi đầu vào on,lệnh DIV lấy value_1 chia cho value_3 kết quả được lưu

trong result_4.

4.6 Modulo

- Phép lấy số dư , khi đầu vào on lệnh MOD sẽ lấy số dư của phép chia Source A

cho Source B kết quả được lưu trong Dest.

Page 23: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số bị chia

Source B Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số chia

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

- Nếu Source B( số chia) bằng không :

+ Có một lỗi nhỏ xảy ra:

- Dạng 4 :chương trình lỗi.

-Mã số 4 : Tràn số học.

+Kết quả sẽ được xử lí như sau:

Nếu Source B bằng

0 và:

Và đích đến là

một:

Và kết quả là Cuối cùng

Destination bằng:

Tất cả các toán hạng

đều là số nguyên.

Source A

Ít nhất một toán

hạng là số thực

Sint,Int,

Dint

Số dương -1

Số âm 0

Real Số dương 1$(Dương vô cùng)

Số âm -1$(Âm vô cùng)

-Ví dụ: Khi đầu vào on ,lệnh MOD sẽ lấy số dư của phép chia value_2 cho value_4

,kết quả được lưu trong tag result_5.

Page 24: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

4.7. Square Root

- Lệnh lấy căn bậc hai,khi đầu vào on lệnh SQR sẽ lấy căn bặc hai của giá trị trong

Source kết quả được lưu vào Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số lấy căn

bậc hai.

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

- Nếu Destination không phải là sỗ thực (real) thì lệnh SQR sẽ xử lí kết quả như

sau:

Nếu Source Xử lí Ví dụ

Không phải là số

thực.

Cắt bỏ phần thập

phân.

Source Dint 3

Destination Dint 1

Là số thực Làm tròn số Source Real 3.0

Destination Dint 2

- Nếu Source là số âm thì lệnh SQR sẽ lấy giá trị tuyệt đối của Source trước khi

tính căn bậc hai của nó.

-Ví dụ: khi đầu vào on ,lệnh SQR sẽ lấy căn bậc hai của giá trị trong value_1, kết

quả được lưu trong tag result_6.

Page 25: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

4.8. Negate

-Lệnh đảo dấu , khi đầu vào on lệnh NEG sẽ đảo dấu của giá trị trong Source kết

quả lưu trong Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số bị đảo dấu

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

-Ví dụ: lệnh NEQ đảo dấu của giá trị trong value_2 =-10 kết quả là 10 được lưu

trong tag result_7.

4.9. Absolute Value

- Lệnh lấy trị tuyệt đối, khi đầu vào on lệnh ABS sẽ lấy giá trị tuyệt đối của giá trị

trong Source kết quả được lưu trong Dest.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint

Int,Dint,Real

Trực tiếp

Tag

Giá trị của số để lấy trị

tuyệt đối

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag chứa kết quả

Page 26: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Ví dụ: Khi đầu vào on lệnh ABS lấy trị tuyệt đối của giá trị trong value_3= -4,

kết quả thu được bằng 4 được lưu trong result_8

5.Các lệnh di chuyển/logic.

5.1 Move

-Lệnh copy, khi đầu vào on lệnh MOV sẽ copy giá trị trong Source vào trong

Dest.Giá trị trong Source vẫn không thay đổi.Sử dụng lệnh MOV sẽ tác động lên

cờ trạng thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint

Int,Dint.Real

Trực tiếp

Tag

Giá trị để copy

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi sign-extension

Destination Sint

Int,Dint,Real

Tag Tag để lưu trữ kết quả

-Ví dụ: khi đầu vào on,lệnh MOV copy giá trị trong value_1 vào value_2.

Page 27: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

5.2. Masked Move.

- Khi đầu vào on lệnh MVM sẽ thực hiện phép toán :

(Dest AND NOT Mask) OR ( Source AND Mask) kết quả của phép toán này sẽ

được lưu trong Dest. Sử dụng lệnh MVM sẽ tác động lên trạng thái của cờ trạng

thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint

Int,Dint

Trực tiếp

Tag

Giá trị để di chuyển

Mask Sint

Int,Dint

Trực tiếp

Tag

Bit nào bị chặn hoặc đi qua

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi zero-fill

Destination Sin

Int,Dint

Tag Tag để lưu trữ kết quả

-Khi bạn nhập giá trị trực tiếp vào Mask ,chương trình sẽ mặc định là giá trị thập

phân. Nếu bạn muốn sử dụng các cơ số khác thì thêm vào trước giá trị đó các tiền

tố:

Tiền tố Mô tả

16# Hệ hexadecimal

Ví dụ: 16#0F0F

8# Hệ Octal

Ví dụ: 8#16

2# Hệ Binary

Ví dụ: 2#110101

-Ví dụ:Giá trị ban đầu : Source=5(0101); Mask=6(0110) ;Dest=value_1=3(0011)

Page 28: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Source AND Mask: 0101 AND 0110 = 0100.

Dest AND NOT Mask :0011 AND NOT 0110=0001

(Source AND Mask) OR( Dest AND NOT Mask) =0101=5

Kết quả value_1=5

5.3. Bit Field Distribute

-Lệnh phân phối bit, Khi đầu vào on lệnh BTD sẽ copy Length bit của Source tính

từ bit Source Bit( so với bit thấp nhất) trở đi rồi ghi đè lên các bit của Dest tính từ

bit Desbit trở đi,Source không bị thay đổi. Lệnh BTD khi thực hiện không ảnh

hưởng đến cờ trạng thái toán học .

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source Sint,Int,Dint Trực tiếp

,tag

Tag có chứa các bit để di

chuyển

Tag Sint,Int sẽ chuyển thành giá trị Dint bởi zero-fill.

Source Bit Dint Trực tiếp

(0-7 Sint)

(0-15 Int)

Số bit ( tính từ bit thấp nhất)

từ đó bắt đầu di chuyển,giá

trin này phải nằm trong

Page 29: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

(0-31 Dint) khoảng bit của kiểu dữ liệu.

Destination Sint,Int,Dint Tag Tag nơi bit di chuyển tới

Destination bit Dint Trực tiếp

(0-7 Sint)

(0-15 Int)

(0-31 Dint)

Số bit ( tính từ bit thấp nhất)

từ đó bắt đầu di chuyển,giá

trin này phải nằm trong

khoảng bit của kiểu dữ liệu.

Length Dint Trực tiếp

(1-32)

Số bit di chuyển

- Nếu chiều dài của bit di chuyển vượt ra ngoài khoảng của Destination thì lệnh

BTD không lưu lại kết quả.Các bit thừa ra không phủ lên word kế tiếp.

-Nếu bạn sử dụng kết hợp các loại dữ liệu số nguyên thì lệnh BTD sẽ điền thêm bit

0 vào kiểu dữ liệu nhỏ hơn để cho nó bằng kích thước của kiểu dữ liệu lớn nhất.

-Ví dụ: Khi đầu vào on,lệnh BTD sẽ chuyển 10 bit từ value_1 vào value_2.

Length Source Bit

11111111111111111111111111111111 : value_1(Source)

Dest Bit

00000000000000000000000000000000 :value_2(Dest )

Length

00000000000000001111111111000000 :value_2 sau khi thực hiện lệnh BTD.

5.4. Clear

Page 30: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Lệnh xóa, khi đầu vao on lệnh CLR sẽ xóa hết các giá trị chứa trong Dest về 0.

Khi thực hiện lệnh này sẽ tác động lên cờ trạng thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Destination Sint,Int,Dint,Real Tag Tag để xóa

-Ví dụ : Khi Start on , lệnh CLR sẽ xóa giá trị trong tag value_1 về 0.

5.5. Bitwise AND

- Phép AND bit, Khi đầu vào on lệnh AND sẽ tiến hành phép AND giữa các bit

của Source A với Source B ,kết quả được lưu trong Dest.Lệnh AND khi thực hiện

sẽ tác động lên cờ trạng thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint,Int,Dint Trực tiếp,tag Giá trị để AND với Source B

Source B Sint,Int,Dint Trực tiếp,tag Giá trị để AND với Source A

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi zero-fill.

Dest Sint,Int,Dint Tag Tag lưu kết quả

-Phép AND bit:

Nếu bit trong

Source A là:

Và bit trong Source

B là:

Bit trong

Destination là:

0 0 0

Page 31: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

0 1 0

1 0 0

1 1 1

- Nếu kiểu dữ liệu trong Dest nhỏ hơn kiểu dữ liệu trong Source A hoặc Source B

thì lệnh AND sẽ cắt bớt các bit cao của Source A và Source B cho bằng với số bit

tương ứng của kiểu dữ liệu trong Dest.Sau đó mới tiến hành phép OR giữa các bit

còn lại(bit thấp) của Source A và Source B.

-Ví dụ:Khi đầu vào on, lệnh AND sẽ tiến hành phép AND bit giữa value_1 với

value_2 kết quả được lưu vào trong tag result.

00000000 00000000 11111010 11111111 :value_1 = 64255

00000000 00000000 10101010 01110111 :value_2 = 43639

00000000 00000000 10101010 01110111 :result = 43639

5.6. Bitwise OR

-Phép OR bit , khi đầu vào on lệnh OR sẽ tiến hành phép OR giữa các bit của

Source A với Source B kết quả được lưu trong Dest.Lệnh OR khi thực hiện sẽ tác

động lên cờ trạng thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint,Int,Dint Trực tiếp,tag Giá trị để OR với Source B

Source B Sint,Int,Dint Trực tiếp,tag Giá trị để OR với Source A

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi zero-fill.

Dest Sint,Int,Dint Tag Tag lưu kết quả

Page 32: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

-Phép OR bit:

Nếu bit trong

Source A là:

Và bit trong Source

B là:

Bit trong

Destination là:

0 0 0

0 1 1

1 0 1

1 1 1

-Nếu bạn sử dụng kết hợp các loại dữ liệu số nguyên thì lệnh OR sẽ điền thêm bit 0

vào kiểu dữ liệu nhỏ hơn để cho nó bằng kích thước của kiểu dữ liệu lớn nhất.

- Nếu kiểu dữ liệu trong Dest nhỏ hơn kiểu dữ liệu trong Source A hoặc Source B

thì lệnh OR sẽ cắt bớt các bit cao của Source A và Source B cho bằng với số bit

tương ứng của kiểu dữ liệu trong Dest.Sau đó mới tiến hành phép OR giữa các bit

còn lại(bit thấp) của Source A và Source B.

-Ví dụ: Khi đầu vao on , lệnh OR sẽ thực hiện phép OR giữa các bit của value_1

với value_2 kết quả lưu trong tag result_2

00000000 00000000 11110000 00111100 value_1

00000000 00000000 00001010 01010101 value_2

00000000 00000000 11111010 01111101 result_2

5.7. Bitwise NOT

Page 33: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Phép đảo bít, khi đầu vào on lệnh NOT sẽ đảo các bit của Source , kết quả được

lưu vào Dest. Lệnh NOT khi thực hiện sẽ tác động lên cờ trạng thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint,Int,Dint Trực tiếp,tag Giá trị để thực hiện phép NOT

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi zero-fill.

Dest Sint,Int,Dint Tag Tag lưu kết quả

-Phép NOT bit :

Nếu bit trong Source là: Bit trong Destination là :

0 1

1 0

-Nếu bạn sử dụng kết hợp các loại dữ liệu số nguyên thì lệnh OR sẽ điền thêm bit

0 vào kiểu dữ liệu nhỏ hơn để cho nó bằng kích thước của kiểu dữ liệu lớn nhất.

- Nếu kiểu dữ liệu trong Dest nhỏ hơn kiểu dữ liệu trong Source thì lệnh OR sẽ cắt

bớt các bit cao của Source cho bằng với số bit tương ứng của kiểu dữ liệu trong

Dest.Sau đó mới tiến hành phép NOT các bit còn lại(bit thấp) của Source .

-Ví dụ:

00000000 11111111 10101010 10101010 value_3

11111111 00000000 01010101 01010101 result_3

5.8. Bitwise XOR

Page 34: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

-Phép XOR bit, khi đầu vào on lệnh XOR sẽ tiến hành phép XOR giữa các bit của

Source A với các bit của Source B. Lệnh này khi thực hiện sẽ tác động lên cờ

trạng thái toán học.

Toán hạng Kiểu dữ liệu Hình thức Mô tả

Source A Sint,Int,Dint Trực tiếp,tag Giá trị để XOR với Source B

Source B Sint,Int,Dint Trực tiếp,tag Giá trị để XOR với Source A

Tag Sint,Int sẽ được chuyển thành giá trị Dint bởi zero-fill.

Dest Sint,Int,Dint Tag Tag lưu kết quả

-Nếu bạn sử dụng kết hợp các loại dữ liệu số nguyên thì lệnh OR sẽ điền thêm bit 0

vào kiểu dữ liệu nhỏ hơn để cho nó bằng kích thước của kiểu dữ liệu lớn nhất.Nếu

kiểu dữ liệu trong Dest nhỏ hơn kiểu dữ liệu trong Source A hoặc Source B thì

lệnh XOR sẽ cắt bớt các bit cao của Source A và Source B cho bằng với số bit

tương ứng của kiểu dữ liệu trong Dest.

-Ví dụ:Khi XOR value_4 (32-Dint) với value_5 (32-Dint) rồi lưu kết quả trong

result_4(16 -Int) thì các bit cao của value_4 và value_5 bị cắt bớt (16 bit cao) cho

bằng với số bít của kiểu dữ liệu của result_4 rồi tiến hành phép XOR giữa các bit

còn lại của value_4 với value_5 (bit thấp).

00000000 00001010 01001101 10100001 value_4 ( Dint)

00000000 00000000 00101100 11110001 value_5 (Dint)

01100001 01010000 result_4 (Int)

6.Các lệnh điều khiển chương trình.

6.1. Jum to Label, Label.

Page 35: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

- Lệnh JMP và LBL là những lệnh nhảy cách.Khi đầu vào on lệnh JMP sẽ bỏ qua

một phần giản đồ thang của chương trình và nhảy đến lệnh LBL có cùng tên

nhãn,chương trình sẽ tiếp tục thực hiện từ đó .Khi đầu vào off lệnh JMP sẽ không

ảnh hưởng tới hoạt động của giản đồ thang.

- Lệnh JMP có thể di chuyển sự thực hiện của giản đồ thang về phía trước hoặc

quay lại .Nhảy về phía trước để tiêt kiệm thời gian quét của chương trình bằng

cách quét bỏ qua một đoạn chương trình .Nhảy quay lại cho phép bộ điều khiển

lặp lại các lệnh trong đoạn chương trình đó.

- Hãy cẩn thận đừng nhảy lại thừa quá nhiều lần.Mạch cảnh giới thời gian có thể

hết giờ bời vì bộ điều khiển không bao giờ chạy hết chương trình, điều này sẽ gây

lỗi bộ điều khiển.

- Lệnh LBL là đích của lệnh JMP mà có cùng tên.Chắc chắn rằng lệnh LBL là lệnh

đầu tiên trên đầu vào của một Network. Khi sử dụng cặp lệnh này không ảnh

hưởng tới cờ trạng thái toán học.

- Tên nhãn phải là duy nhất trong một giản đồ.Tên nhãn có thể tối đa 40 kí tự, bao

gồm các chữ cái, các số và dấu gạch dưới ( _ ).

-Ví dụ: Khi đầu vào on , lệnh JMP sẽ nhảy đến lệnh LBL có cùng nhãn là label_15

6.2. Jump to Subroutine, Subroutine, Return.

-Lệnh JSR nhảy đến một đoạn chương trình khác,lệnh SBR và RET là những lệnh

tùy ý dùng để trao đổi dữ liệu với lệnh JSR.

Một đoạn của

chương trình

Page 36: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

Tên Kiểu dữ liệu Dạng Mô tả

Routine

Name

Đoạn chương

trình

Tên Đoạn chương trình cần thực hiện.

Input

Parameter

Bool,Sint,Int,

Dint,Real,

structure.

Trựctiếp,tag,

Array tag.

-Dữ liệu từ chương trình này mà bạn

muốn copy đến một tag trong

chương trình con.

-Input Parameter có thể xóa đi ,bạn

có thể nhập vào nhiều Input

Parameter nếu cần thiết.

Return

Parameter

Bool,Sint,Int,

Dint,Real,

structure.

Tag, Array

tag.

-Tag trong chương trình này để

copy kết quả của chương trình con.

-Return Parameter có thể xóa đi ,bạn

có thể nhập vào nhiều Return

Parameter nếu cần thiết.

- Lệnh SBR phải là lệnh đầu tiên trong giản đồ thang hoặc structure.

Tên Kiểu dữ liệu Dạng Mô tả

Input Parameter Bool,Sint,Int,

Dint,Real,

structure.

Tag,

array tag

Tag ở trong đoạn chương trình

này trong đó bạn muốn copy

Input parameter tương ứng từ

lệnh JSR.

-Lệnh RET:

Tên Kiểu dữ liệu Dạng Mô tả

Return Parameter Bool,Sint,Int,

Dint,Real,

structure.

Trực tiếp,

Tag,

Array tag

Dữ liệu ở trong đoạn chương

trình này mà bạn muốn copy tới

Return parameter tương ứng

trong lệnh JSR.

- Lệnh JSR khởi đầu cho sự hoạt động của đoạn chương trình đã được chỉ định.

Đoạn chương trình này như là một chương trình con:

Page 37: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

+ Chương trình con chạy một lần.

+ Sau khi chương trình con chạy xong, tiếp tục chạy đoạn chương trình mà

có chứa lệnh JSR.

- Không được sử dụng lệnh JSR để gọi chương trình chính.Để chương trình nhảy

tới một chương trình con ,theo các chỉ dẫn sau:

+ Bạn có thể đặt lệnh JSR trong chương trình chính hoặc các chương trình

khác.

+ Nếu bạn sử dụng lệnh JSR để gọi chương trình chính và dùng lệnh RET

trong chương trình chính thì sẽ xảy ra một lỗi lớn (dạng 4, mã 31).

- Sơ đồ sau đây sẽ minh họa hoạt động của các lệnh:

Gọi chương t nh Chương trình con

JSR SBR RET

1. Nếu bạn muốn copy

dữ liệu tới một tag trong

chương trình con, nhập

sử dụng một Input

Parameter.

2.Nếu bạn muốn copy

một kết quả của chương

trình con tới một tag

trong chương trình sử

dụng một Return

Parameter.

3.Có thể sử dụng nhiều

Input hoặc Return

Parameter nếu bạn cần.

1.Nếu lệnh JSR có Input

Parameter thì hãy sử

dụng lệnh SBR

2.Đặt lệnh SBR là lệnh

đầu tiên của chương

trình.

3.Cho mỗi Input

Parameter trong lệnh

JSR nhập vào một tag

trong đó.

1.Nếu lệnh JSR có Return

Parameter thì hãy sử dụng

lệnh RET.

2.Đặt lệnh RET là lệnh cuối

cùng trong chương trình.

3.Cho mỗi Return Parameter

trong lệnh JSR nhập vào

một Return Parameter để

gửi tới lệnh JSR.

4.Trong chương trình thang

dặt thêm lệnh RET để thoát

khỏi chương trình con dựa

vào các điều kiện đầu vào

khác nhau , nếu cần thiết.

Page 38: 1 Các lệnh lập trình giản đồ thang cơ bản RSLogix 5000

-Không có giới hạn,khác với bộ nhớ trong số lương các chương trình lồng nhau mà

bạn có thể có cũng như các biến mà bạn chuyển đi hoặc gửi về.