You are on page 1of 38

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.

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 Timer .EN .TT .DN .PRE .ACC Kiểu dữ liệu Timer Bool Bool Bool Dint Dint Mô tả Tên bộ định thời On khi đầu vào on On trong khi bộ định thời đang đếm. On khi điều kiện thời gian là đúng .ACC >=.PRE Khoảng thời gian đặt trước (ms). 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).

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 Timer .EN .TT .DN .PRE .ACC Kiểu dữ liệu Timer Bool Bool Bool Dint Dint Mô tả Tên bộ định thời On khi đầu vào on On trong khi bộ định thời đang đếm. On khi đầu vào on. Off khi điều kiện thời gian là đúng .ACC >=.PRE Khoảng thời gian đặt trước (ms). 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).

Sau khi đếm song 30s thì Den_a tắt. Den_a sáng. On khi điều kiện thời gian là đúng .PRE Khoảng thời gian đặt trước (ms).3.DN . 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 .Khi này dù Start có off thì do T3 không được reset lại nên Den_b vẫn sáng.ACC Tên Timer . khi đó giá trị trong Accum vẫn giữ nguyên ở 10s (10000) . Retentive Timer On .Den_b tắt.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.ACC Kiểu dữ liệu Timer Bool Bool Bool Dint Dint Mô tả Tên bộ định thời On khi đầu vào on On trong khi bộ định thời đang đếm.Den_b sáng.TT .Muốn reset lệnh RTO ta phải dùng lệnh RES để xóa giá trị trong .ACC >=.Khi đang đếm đến 10s thì Start off.EN . .PRE . cả Den_a và Den_b đều tắt. Giá trị đếm.2.ACC vẫn được giữ nguyên). -Ví dụ: khi Start on bộ định thời T3 có điện và sẽ đếm thời gian từ 0-30s.Khi Start on trở lại T3 lại tiếp tục đếm thời gian từ giá trị 10s. trong khoảng thời gian này khi T3 đang đếm thời gian thì Den_a sáng.

ACC >= . lệnh RES sẽ reset lại bộ định thời T3 ( xóa giá trị trong Accum về 0) . -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ị .CU . 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.Dùng để đếm từ giá trị sai sang đúng của điều kiện đầu vào.Muốn reset lại bộ đếm ta dùng lệnh RES để xóa giá trị trong .Khi tiếp điểm reset on. Giá trị đếm.ACC Kiểu dữ lệu Count Bool Bool Dint Dint Mô tả Tên bộ đếm On khi đầu vào on On khi điều kiện . 2. .Den_b off.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.DN sẽ tác động Den_a sáng.PRE .DN .ACC.PRE là đúng.4. khi Accum>=10 thì tiếp điểm C1. Tên Counter . Count Up . Giá trị đặt trước.

2.DN tác động đèn báo het_cho sáng. 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. .5. Giá trị đặt trước.ACC. mỗi lần xe_ra chuyển từ off sang on bộ đếm C1 lại trừ đi 1 đơn vị. Counter Down -Dùng để đếm từ giá trị đúng sang sai của điều kiện đầu vào .DN .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ị.CU .PRE . Tên Counter . Khi giá trị Accum >=100 thì tiếp điểm C1.ACC Kiểu dữ lệu Count Bool Bool Dint Dint Mô tả Tên bộ đếm On khi đầu vào on On khi điều kiện . Giá trị đếm.Khi tiếp điểm restart on lệnh RES sẽ reset lại bộ đếm C1( Giá trị trong Accum về 0).ACC >= . -Ví dụ:Điều khiển bãi đỗ xe tự động.Muốn reset lại bộ đếm ta dùng lệnh RES để xóa giá trị trong .PRE là đúng.

khi lệnh RES được thực hiện nó sẽ xóa các bộ đếm (Counter) .String Tag Mô tả 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.GRT.ACC Counter Giá trị trong .Real. Sử dụng lệnh RES cho: Giá trị bị xóa Timer Giá trị trong.Dint.Dùng để xóa bộ định thời hoặc bộ đếm. 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.6. Toán hạng Kiểu dữ liệu Hình thức Expression Sint Trực tiếp Int. Reset . . Compare -Nếu đầu vào off thì đầu ra CMP sẽ là off.LEQ.MEQ) 3. ngược lại đầu ra sẽ off.2.1. bộ định thời (Timer) hoặc bộ điều khiển (Control) có cùng địa chỉ.Compare (CMP.LIM.GEQ. nếu biểu thức đúng thì đầu ra sẽ on.EQU. nếu đầu vào on thì tiến hành so sánh biểu thức trong Expression .ACC Control Giá trị trong .POS 3.LES.NEQ.

-.Các toán tử hợp lệ: . .*. Den_4 luôn sáng do Expreesion bằng 5 và khác 0. ./ ). 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.-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.

TRN.Real Dint .Real Dint.Real Dint.Real Real Dint.Real Dint Real Real Dint.Real Dint.TOD.Real Dint. 3 ** 4 -(dấu âm).+ 8 AND 9 XOR 10 OR . <=.ACS.COS.Real Real Dint Real Real Toán tử COS DEG NOT LN LOG MOD FRD OR RAD SIN SQR TAN TOD TRN XOR Mô tả Cosine Radian sang độ Đảo bit Loga tự nhiên Loga cơ số 10 Lấy phần dư BCD sang số nguyên OR bit Độ sang radian Sine Căn bậc hai Tang Số nguyên sang BCD Rút gọn XOR bit Kiểu dữ liệu Real Dint. NOT 5 *.SIN.SQR.ATN.Real Dint Dint Dint./ .Real Dint.Real Dint.Real Dint.LN.Real Dint.>=.DEG.LOG. TAN.Real Dint.Real Dint.= 7 -(trừ). MOD 6 <.Toán tử + * / = < <= > >= <> ** ABS ACS AND ASN ATN Mô tả Cộng Trừ/dấu âm Nhân Chia 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 Mũ Trị tuyệt đối Arc Cosine AND bit Arc Sine Arc Tang Kiểu dữ liệu Dint.Thứ tự thực hiện các phép toán : Thứ tự Phép toán 1 () 2 ABS.Real Real Dint Dint.FRD.RAD.ASN.>.Real Dint.

Chữ hoa A ($41) không bằng với chữ thường a ($61).-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ự) . +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. để 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.a>B… Kí tự ASCII 1ab 1b A AB B a ab Mã Hexadecimal $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 L ớ n h ơ n . +Các kí tự ASCII là trường hợp nhạy cảm. + 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. +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.Ví dụ :1b>1ab.

. . Toán hạng Kiểu dữ liệu Hình thức Mô tả Source A Sint Trực tiếp Giá trị để so sánh Int. khi đầu vào on.2. .Real. Less Than or Equal to.Lệnh so sánh bằng. Greater Than.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 . 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 .Dint. Less Than. -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.ngược lại đầu ra off. Equal to.Nhóm lệnh này có cấu trúc giống nhau gồm Source A và Source B. *EQN (Equal to) .3. Not Equal to . ngược lại đầu ra vẫn off.String tag 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 . 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.String Tag với Source B SourceB Sint Trực tiếp Giá trị để so sánh Int.Dint.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. Greater Than or Equal to.Real.

Lệnh so sánh không bằng. .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. -Ví dụ: Khi đầu vào on . ngược lại nếu value_3 = value_4 thì Den_2 không sáng.ngược lại đầu ra off. 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 Den_3 không sáng.ngược lại đầu ra off.*NEQ (Not Equal to) .khi đầu vào on.khi đầu vào on . *GRT( Greater Than) -Lệnh so sánh lớn hơn. *GEQ(Greater Than or Equal) . nếu value_3 khác value_4 thì Den_2 sáng.lệnh GRT sẽ so sánh value_2 với value_4 nếu value_2>value_4 thì Den_3 sáng.Ví dụ: khi đầu vào on .

nếu Source A nhỏ hơn Source B thì đầu ra sẽ on. nếu value_3>=value_4 là đúng thì Den_4 sẽ sáng . ngược lại đầu ra off. ngược lại nếu value_3<value_4 thì Den_4 sẽ không sáng. ngược lại nếu value_1>=value_3 thì Den_5 sẽ không sáng.LES sẽ tiến hành so sánh Source A với Source B .Ví dụ:Nếu value_1<value_3 là đúng thì Den_5 sẽ sáng.khi đầu vào on . -Ví dụ:Khi đầu vào on. ngược lại đầu ra off. nếu SourceA lớn hơn hoặc bằng Source B là đúng thì đầu ra on. .Lệnh so sánh nhỏ hơn.khi đầu vào on . *LES(Less Than) .Lệnh so sánh lớn hơn hoặc bằng.. *LEQ(Less Than or Equal) .GEQ sẽ tiến hành so sánh Source A với Source B.

Khi (Low Limit > High Limit) nếu (Test >=Low Limit) hoặc (Test<= High Limit) là đúng thì đầu ra sẽ on. LEQ sẽ tiến hành so sánh Source A với Source B.Real Tag Tag Sint. ngươc lại đầu ra off..Lệnh so sánh nhỏ hơn hoặc bằng.Dint.3. 3. Limit -Khi đầu vào ON . Toán hạng Low Limit Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị giới hạn dưới Int.Real Tag High Limit Sint Trực tiếp Giá trị giới hạn trên Int.Dint. ngược lại nếu value_1>value_2 thì Den_6 sẽ không sáng. . -Ví dụ:Nếu value_1<=value_2 là đúng thì Den_6 sẽ sáng. Khi (Low Limit<= High Limit )nếu (Low Limit =< Test=<High Limit) là đúng thì đầu ra LIM sẽ on.Dint.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. ngược lại đầu ra off. 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.Int sẽ chuyển thành giá trị Dint bởi sign-extension.Real Tag Test Sint Trực tiếp Giá trị kiểm tra Int.

Dint Hình thức Trực tiếp Tag Trực tiếp Tag Trực tiếp Tag Mô tả Giá trị để kiểm tra với Compare Chỉ ra khi nào bit được đi qua hoặc bị khóa Giá trị để kiểm tra với Source .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 . 3. Mask Equal to . ngược lại nếu -100<value_2<0 thì Den_2 sẽ không sáng .100] thì Den_1 sẽ sáng.-Ví dụ1:Do Low limit=0 <High Limit =100 nên nếu value_1 nằm trong đoạn [0.4.Dint Sint Int. nếu hai kết quả này bằng nhau thì đầu ra MEQ sẽ on.Dint Sint Int. -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 value_1 <0 hoặc value_1>100 thì Den_1 sẽ không sáng. sau đó lấy hai kết quả này so sánh với nhau. Toán hạng Source Mask Compare Kiểu dữ liệu Sint Int.

Tag Sint.MOD.Int sẽ chuyển tới giá trị Dint bởi zero-fill.DIV.ADD.Một số lệnh toán học ( CPT. Do masked value_1= masked value_2 nên Den_1 sáng.SUB.MUL.SQR.ABS). -Khi bạn nhập giá trị trực tiếp vào Mask .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.chương trình sẽ mặc định là giá trị thập phân. 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 value_1:22315 Mask:65520 Masked value_1 value_2: 22319 Mask:65520 Masked value_2 4. -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. . 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ố 16# 8# 2# Mô tả Hệ hexadecimal Ví dụ: 16#0F0F Hệ Octal Ví dụ: 8#16 Hệ Binary Ví dụ: 2#110101 .NEG.

Real Dint. kết quả được lưu trong tag result . Trực tiếp Biểu thức chứa các tag và các giá Int.Int chuyển thành giá trị Dint bởi sign-extension .Ví dụ: Khi đầu vào on .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).Dint.Real Tag trị người điều khiểntrực tiếp nhập vào Tag Sint.Real Expression Sint.Real Dint.Real Dint .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. Compute -Khi đầu vào on . Toán hạng Kiểu dữ liệu Hình thức Mô tả Destination Sint.Real Toán tử LN LOG MOD FRD Mô tả Loga tự nhiên Loga cơ số 10 Lấy phần dư BCD sang số nguyên Kiểu dữ liệu Real Real Dint.Int Tag Tag chứa kết quả Dint. 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.4.Real Dint.1.Các toán tử hợp lệ: Toán tử + * / Mô tả Cộng Trừ/dấu âm Nhân Chia Kiểu dữ liệu Dint.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 .

Add .DEG.Real Real Dint Dint.RAD.Real Dint .ACS.** ABS ACS AND ASN ATN COS DEG NOT Mũ Trị tuyệt đối Arc Cosine AND bit Arc Sine Arc Tang Dint.ASN. NOT *.TOD. TAN.2.SQR.TRN.Real Real Dint. MOD -(trừ).Thứ tự thực hiện các phép toán: Thứ tự 1 2 3 4 5 6 7 8 9 Phép toán () ABS.Real Real Dint Real Real OR RAD SIN SQR TAN TOD TRN XOR Cosine Real Radian sang độ Dint.Real Dint.SIN.LN.COS.ATN./ .Real Đảo bit Dint OR bit Độ sang radian Sine Căn bậc hai Tang Số nguyên sang BCD Rút gọn XOR bit Dint Dint.LOG. ** -(dấu âm).FRD.+ AND XOR OR 4.

Real Tag Source B Source B Sint Trực tiếp Giá trị để cộng vào Int.3.Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int. Toán hạng Source A Kiểu dữ liệu Sint Hình thức Trực tiếp Mô tả Giá trị của số bị trừ .Dint.khi đầu vào on lệnh ADD sẽ tiến hành cộng Source A với Source B . Subtract . kết quả được lưu trong Dest.Real Tag Source A Tag Sint.Dint.. 4. 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ộng vào Int.Lệnh trừ.Lệnh cộng.Dint.Real -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.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.

Real -Ví dụ: khi đầu vào on.Real Tag Tag Sint.Real Tag Source B Sint Trực tiếp Giá trị của số nhân Int.Dint. Multiply .Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int.Dint.Lệnh nhân .Dint.Dint. lệnh ADD lấy value_1 trừ đi value_2 kết quả được lưu trong tag result_2 4.4.Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int.Real .Dint.Dint.Real Tag Source B Sint Trực tiếp Giá trị của số trừ Int.Real Tag Tag Sint. lệnh MUL sẽ lấy Source A nhân với Source B kết quả được lưu trong Dest.Int. Toán hạng Source A Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị của số nhân Int.khi đầu vào on.

Dint. kết quả được lưu trong Dest.Real Tag Source B Sint Trực tiếp Giá trị của số chia Int.Real Tag Tag Sint.0 3 2 . Divide .Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int. lệnh DIV sẽ lấy Source A chia cho Source B .Dint.lệnh MUL sẽ nhân value_1 với value_3 kết quả được lưu trong result_3. 4..Ví dụ :Khi đầu vào on .Khi đầu vào ON . Toán hạng Source A Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị của số bị chia Int.Real -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à Source B không Cắt bỏ phần thập phải là số thực phân Hoặc Source B là số thực Ví dụ Soucer A Source B Destination Soucer A Source B Destination Làm tròn Dint Dint Dint Real Dint Dint 5 3 1 5.Dint.5.

-Mã số 4 : Tràn số học. .6 Modulo . +Kết quả sẽ được xử lí như sau: Nếu Source B bằng Và đích đến là 0 và: một: Tất cả các toán hạng đều là số nguyên. Ít nhất một toán Dint hạng là số thực Real Và kết quả là Cuối cùng Destination bằng: Source A -1 0 1$(Dương vô cùng) -1$(Âm vô cùng) Số dương Số âm Số dương Số âm -Ví dụ:Khi đầu vào on. Sint.Dạng 4 :chương trình lỗi. 4..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.Nếu Source B( số chia) bằng không : + Có một lỗi nhỏ xảy ra: .Int.lệnh DIV lấy value_1 chia cho value_3 kết quả được lưu trong result_4.

Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int. Sint. .Nếu Source B( số chia) bằng không : + Có một lỗi nhỏ xảy ra: .kết quả được lưu trong tag result_5.Dint. +Kết quả sẽ được xử lí như sau: Nếu Source B bằng Và đích đến là 0 và: một: Tất cả các toán hạng đều là số nguyên.Dint.Toán hạng Source A Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị của số bị chia Int.Dint.Real Tag Source B Sint Trực tiếp Giá trị của số chia Int. Ít nhất một toán Dint hạng là số thực Real Và kết quả là Cuối cùng Destination bằng: Source A -1 0 1$(Dương vô cùng) -1$(Âm vô cùng) Số dương Số âm Số dương Số âm -Ví dụ: Khi đầu vào on .Int.Dạng 4 :chương trình lỗi.lệnh MOD sẽ lấy số dư của phép chia value_2 cho value_4 .Real Tag Tag Sint. -Mã số 4 : Tràn số học.Real .

Real Tag bậc hai.Dint.4.Dint. Toán hạng Kiểu dữ liệu Hình thức Mô tả Source Sint Trực tiếp Giá trị của số lấy căn Int.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ố Cắt bỏ phần thập Source Dint 3 thực.7. kết quả được lưu trong tag result_6.lệnh SQR sẽ lấy căn bậc hai của giá trị trong value_1. Square Root .Real . .Lệnh lấy căn bậc hai.0 Destination Dint 2 . Destination Dint 1 Là số thực Làm tròn số Source Real 3.Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int. -Ví dụ: khi đầu vào on .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. Tag Sint. phân.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ó.

Real -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.Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int. Toán hạng Source Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị của số để lấy trị Int.Real Tag Tag Sint.9. Toán hạng Kiểu dữ liệu Hình thức Mô tả Source Sint Trực tiếp Giá trị của số bị đảo dấu Int.Dint. 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. 4.Dint. 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.Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag chứa kết quả Int.4. Absolute Value . Negate -Lệnh đảo dấu .Lệnh lấy trị tuyệt đối.Dint.Real .8.Dint.Real Tag tuyệt đối Tag Sint.

Giá trị trong Source vẫn không thay đổi.Real -Ví dụ: khi đầu vào on. .Ví dụ: Khi đầu vào on lệnh ABS lấy trị tuyệt đối của giá trị trong value_3= -4. 5.Các lệnh di chuyển/logic.Dint.Int sẽ được chuyển thành giá trị Dint bởi sign-extension Destination Sint Tag Tag để lưu trữ kết quả Int.1 Move -Lệnh copy.lệnh MOV copy giá trị trong value_1 vào value_2. Toán hạng Source Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị để copy Int.Dint.Real Tag Tag Sint.Sử dụng lệnh MOV sẽ tác động lên cờ trạng thái toán học.. khi đầu vào on lệnh MOV sẽ copy giá trị trong Source vào trong Dest. kết quả thu được bằng 4 được lưu trong result_8 5.

5. Toán hạng Source Kiểu dữ liệu Hình thức Mô tả Sint Trực tiếp Giá trị để di chuyển Int.2. 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. 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ố 16# 8# 2# Mô tả Hệ hexadecimal Ví dụ: 16#0F0F Hệ Octal Ví dụ: 8#16 Hệ Binary Ví dụ: 2#110101 -Ví dụ:Giá trị ban đầu : Source=5(0101).Int sẽ được chuyển thành giá trị Dint bởi zero-fill Destination Sin Tag Tag để lưu trữ kết quả Int.chương trình sẽ mặc định là giá trị thập phân. 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.Dint Tag Tag Sint. Mask=6(0110) . .Dest=value_1=3(0011) .Dint -Khi bạn nhập giá trị trực tiếp vào Mask .Dint Tag Mask Sint Trực tiếp Bit nào bị chặn hoặc đi qua Int.

Bit Field Distribute -Lệnh phân phối bit.Int. Source Bit Dint Trực tiếp Số bit ( tính từ bit thấp nhất) (0-7 Sint) từ đó bắt đầu di chuyển.Int sẽ chuyển thành giá trị Dint bởi zero-fill.Source không bị thay đổi.3.tag chuyển Tag Sint.Source AND Mask: 0101 AND 0110 = 0100.Dint Trực tiếp Tag có chứa các bit để di . Lệnh BTD khi thực hiện không ảnh hưởng đến cờ trạng thái toán học . 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.giá (0-15 Int) trin này phải nằm trong . 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. Toán hạng Source Kiểu dữ liệu Hình thức Mô tả Sint.

Tag nơi bit di chuyển tới Số bit ( tính từ bit thấp nhất) từ đó bắt đầu di chuyển.Dint Tag Destination bit Dint Trực tiếp (0-7 Sint) (0-15 Int) (0-31 Dint) Length Dint Trực tiếp (1-32) khoảng bit của kiểu dữ liệu.(0-31 Dint) Destination Sint. .Int. Clear :value_2(Dest ) :value_2 sau khi thực hiện lệnh BTD.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ả.giá trin này phải nằm trong khoảng bit của kiểu dữ liệu. -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.Các bit thừa ra không phủ lên word kế tiếp.4.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 Length 00000000000000001111111111000000 5. Số bit di chuyển .

Toán hạng Destination Kiểu dữ liệu Sint. lệnh CLR sẽ xóa giá trị trong tag value_1 về 0.Lệnh AND khi thực hiện sẽ tác động lên cờ trạng thái toán học.Int. 5.kết quả được lưu trong Dest.Dint Tag Tag lưu kết quả -Phép AND bit: Nếu bit trong Source A là: 0 Và bit trong Source Bit trong B là: Destination là: 0 0 .tag Giá trị để AND với Source A Tag Sint.5..Dint. 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 .tag Giá trị để AND với Source B Source B Sint.Dint Trực tiếp.Lệnh xóa.Int.Int sẽ được chuyển thành giá trị Dint bởi zero-fill. 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.Real Hình thức Mô tả Tag Tag để xóa -Ví dụ : Khi Start on .Dint Trực tiếp. Dest Sint. Bitwise AND . Toán hạng Kiểu dữ liệu Hình thức Mô tả Source A Sint.Int.Phép AND bit.Int.

Dint Trực tiếp. Toán hạng Kiểu dữ liệu Hình thức Mô tả Source A Sint.Lệnh OR khi thực hiện sẽ tác động lên cờ trạng thái toán học.Int.tag Giá trị để OR với Source A Tag Sint.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. Dest Sint.0 1 1 1 0 1 0 0 1 . 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.Int.Dint Tag Tag lưu kết quả .tag Giá trị để OR với Source B Source B Sint. -Ví dụ:Khi đầu vào on.Dint Trực tiếp. 00000000 00000000 11111010 11111111 :value_1 = 64255 00000000 00000000 10101010 01110111 :value_2 = 43639 00000000 00000000 10101010 01110111 :result = 43639 5. Bitwise OR -Phép OR bit .Int. 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.Int sẽ được chuyển thành giá trị Dint bởi zero-fill.6.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.

7.-Phép OR bit: Và bit trong Source Bit trong B là: Destination là: 0 0 1 1 0 1 1 1 Nếu bit trong Source A là: 0 0 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. -Ví dụ: Khi đầu vao on . .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.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. 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. Bitwise NOT .

khi đầu vào on lệnh NOT sẽ đảo các bit của Source . Dest Sint.Int.Sau đó mới tiến hành phép NOT các bit còn lại(bit thấp) của Source . .tag Giá trị để thực hiện phép NOT Tag Sint. -Ví dụ: 00000000 11111111 10101010 10101010 value_3 11111111 00000000 01010101 01010101 result_3 5.Int.Int sẽ được chuyển thành giá trị Dint bởi zero-fill.Dint Trực tiếp. kết quả được lưu vào Dest.Dint Tag Tag lưu kết quả -Phép NOT bit : Nếu bit trong Source là: 0 1 Bit trong Destination là : 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. Lệnh NOT khi thực hiện sẽ tác động lên cờ trạng thái toán học. Bitwise XOR .8.Phép đảo bí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. Toán hạng Kiểu dữ liệu Hình thức Mô tả Source A Sint..

Int sẽ được chuyển thành giá trị Dint bởi zero-fill. Label.Dint Trực tiếp. Jum to Label.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.tag Giá trị để XOR với Source B Source B Sint.Dint Trực tiếp. -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).Int.tag Giá trị để XOR với Source A Tag Sint.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. 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.Int. Lệnh này khi thực hiện sẽ tác động lên cờ trạng thái toán học.-Phép XOR bit.1.Các lệnh điều khiển chương trình. 6. Toán hạng Kiểu dữ liệu Hình thức Mô tả Source A Sint. . Dest Sint.Int. 00000000 00001010 01001101 10100001 value_4 ( Dint) 00000000 00000000 00101100 11110001 value_5 (Dint) 01100001 01010000 result_4 (Int) 6.

.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.2.Tên nhãn phải là duy nhất trong một giản đồ.lệnh SBR và RET là những lệnh tùy ý dùng để trao đổi dữ liệu với lệnh JSR. các số và dấu gạch dưới ( _ ). Subroutine.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 và LBL là những lệnh nhảy cách.Lệnh LBL là đích của lệnh JMP mà có cùng tên. Return. điều này sẽ gây lỗi bộ điều khiể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. 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. -Lệnh JSR nhảy đến một đoạn chương trình khác.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 đó. Jump to Subroutine. .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ừ đó .Tên nhãn có thể tối đa 40 kí tự. bao gồm các chữ cái. lệnh JMP sẽ nhảy đến lệnh LBL có cùng nhãn là label_15 Một đoạn của chương trình 6. . .Hãy cẩn thận đừng nhảy lại thừa quá nhiều lần. -Ví dụ: Khi đầu vào on .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 .

Dint.Real. Array tag Mô tả 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.Int. structure. Dint. Dint. Đoạn chương trình này như là một chương trình con: .Int.bạn có thể nhập vào nhiều Return Parameter nếu cần thiết. copy kết quả của chương trình con. structure. Return Parameter Bool. -Input Parameter có thể xóa đi . Tag. Tag.Lệnh SBR phải là lệnh đầu tiên trong giản đồ thang hoặc structure.tag.Sint. -Dữ liệu từ chương trình này mà bạn Array tag. array tag structure.Sint.Int. Mô tả 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. Dint. Array -Tag trong chương trình này để tag. -Lệnh RET: Tên Kiểu dữ liệu Dạng Return Parameter Bool.Lệnh JSR khởi đầu cho sự hoạt động của đoạn chương trình đã được chỉ định. . . Dạng Tên Mô tả Đoạn chương trình cần thực hiện.Real. muốn copy đến một tag trong chương trình con. Trực tiếp. Tag.Sint. structure. Tên Input Parameter Kiểu dữ liệu Dạng Bool.Real.bạn có thể nhập vào nhiều Input Parameter nếu cần thiết.Sint. -Return Parameter có thể xóa đi .Int.Real. Trựctiếp.Tên Routine Name Input Parameter Kiểu dữ liệu Đoạn chương trình Bool.

+ Sau khi chương trình con chạy xong. .Để chương trình nhảy tới một chương trình con .Nếu lệnh JSR có Return Parameter thì hãy sử dụng lệnh RET.Nếu lệnh JSR có Input Parameter thì hãy sử dụng lệnh SBR 2.Cho mỗi Input Parameter trong lệnh JSR nhập vào một tag trong đó. 2.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 1.+ Chương trình con chạy một lần. nhập sử dụng một Input Parameter. 3. 4. .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 cần thiết. tiếp tục chạy đoạn chương trình mà có chứa lệnh JSR.Cho mỗi Return Parameter trong lệnh JSR nhập vào một Return Parameter để gửi tới lệnh JSR.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. .Đặt lệnh SBR là lệnh đầu tiên của chương trình. 3. SBR 1. 2. 3.Đặt lệnh RET là lệnh cuối cùng trong chương trình.Có thể sử dụng nhiều Input hoặc Return Parameter nếu bạn cần.Không được sử dụng lệnh JSR để gọi chương trình chính. Nếu bạn muốn copy dữ liệu tới một tag trong chương trình con. mã 31).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 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. RET 1.

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ề. .-Không có giới hạn.