CÁC THANH GHI

19
CÁC THANH GHI 1. Thanh ghi trạng thái . Khi thực hiện lệnh, CPU sẽ ghi nhận lại trạng thái trung gian cũng như kết quả vào 1 thanh ghi đặc biệt 16 bits, được gọi là thanh ghi trạng thái, tuy nhiên ta chỉ sử dụng 9 bits với cấu trúc như sau: BR CC1 CC0 OV OS OR STA RLO FC FC(First check): Khi phải thực hiện các lệnh logic liên tiếp nhau gồm các phép tính ^, v và nghịch đảo, bit FC có giá trị bằng 1. RLO(Result of logic operation): Kết quả tức thời của phép tính logic vừa đươc thực hiện. STA(Status bit): luôn có giá trị logic của tiếp điểm được chỉ định trong lệnh. OR: Ghi lại giá trị của phép logic ^ cuối cùng thực hiện phụ giúp cho việc thực hiện phép toán v sau đó. OS(Stored overflow bit): Bit ghi lại giá trị bit bị tràn ra ngoài mảng ô nhớ. OV(Overflow bit): Bit báo kết quả phép tính bị tràn ra ngoài mảng ô nhớ. CC0, CC1 (condition code): Hai bit báo trạng thái của kết quả phép tính với số nguyên, số thực, phép dịch chuyển hoặc phép tính logic trong ACCU.

Transcript of CÁC THANH GHI

Page 1: CÁC THANH GHI

CÁC THANH GHI

1. Thanh ghi trạng thái .

Khi thực hiện lệnh, CPU sẽ ghi nhận lại trạng thái trung gian cũng

như kết quả vào 1 thanh ghi đặc biệt 16 bits, được gọi là thanh ghi trạng

thái, tuy nhiên ta chỉ sử dụng 9 bits với cấu trúc như sau:

BR CC1 CC0 OV OS OR STA RLO FC

FC(First check): Khi phải thực hiện các lệnh logic liên tiếp nhau gồm các

phép tính ^, v và nghịch đảo, bit FC có giá trị bằng 1.

RLO(Result of logic operation): Kết quả tức thời của phép tính logic vừa

đươc thực hiện.

STA(Status bit): luôn có giá trị logic của tiếp điểm được chỉ định trong

lệnh.

OR: Ghi lại giá trị của phép logic ^ cuối cùng thực hiện phụ giúp cho việc

thực hiện phép toán v sau đó.

OS(Stored overflow bit): Bit ghi lại giá trị bit bị tràn ra ngoài mảng ô nhớ.

OV(Overflow bit): Bit báo kết quả phép tính bị tràn ra ngoài mảng ô nhớ.

CC0, CC1 (condition code): Hai bit báo trạng thái của kết quả phép tính

với số nguyên, số thực, phép dịch chuyển hoặc phép tính logic trong

ACCU.

BR(Binary result bit): Bit trạng thái cho phép liên kết 2 loại ngôn ngữ

STL và LAD

Cụ thể :

Khi thực hiện lệnh toán học như cộng, trừ, nhân ,chia với số nguyên

hoặc số thực.

CC1 CC0 Ý nghĩa

0 0 kết quả bằng 0

0 1 kết quả nhỏ hơn 0

1 0 kết quả lơn hơn 0

Page 2: CÁC THANH GHI

Khi thực hiện lệnh toán học với số nguyên nhưng kết quả bị tràn ô

nhớ

Khi thực hiện lệnh toán học với số thực nhưng kết quả bị tràn ô nhớ

Khi thực hiện lệnh dịch chuyển.

CC1 CC0 Ý nghĩa

0 0kết quả quá nhỏ khi thực

hiện lệnh cộng(I,D)

0 1

kết quả quá nhỏ khi thực

hiện nhân(I,D) hoặc quá

lớn khi thực hiện lệnh

cộng trừ(I,D)

1 0

kết quả quá lớn khi thực

hiện lệnh nhân, chia (I,D)

hoặc quá nhỏ khi thực

hiện lệnh cộng, trừ1 1

kết quả bị tràn do thực

hiện lệnh chia cho 0

CC1 CC0 Ý nghĩa

0 0 Kết quả có mũ e quá lớn

0 1 KQ có mantissa quá nhỏ

1 0 KQcó mantissa quá lớn

1 0 Phép tính sai quy chuẩn

CC1 CC0 Ý nghĩa

0 0 GT bit bị đẩy ra bằng 0

1 0 GT bit bị đẩy ra bằng 1

Page 3: CÁC THANH GHI

Khi thực hiện lệnh logic trong ACCU.

2. Thanh ghi ACCU.

Các CPU của S7-300 thường có hai thanh ghi Accumulator (ACCU) ký

hiệu là ACCU1 và ACCU2. Hai thanh ghi này có cùng kích thước 32 bits. Mọi

phép tính toán học trên số thực, số nguyên…đều được thực hiện trên 2 thanh ghi

này.

Cấu trúc 2 thanh ghi này như sau:

31 24 23 16 15 8 7 0

ACCU1

31 24 23 16 15 8 7

0

ACCU2

Từ cao Từ thấp

CC1 CC0 Ý nghĩa

0 0 KQ bằng 0

1 0 KQ khác 0

Byte cao Byte thấp Byte cao Byte thấp

Byte cao Byte thấp Byte cao Byte thấp

Page 4: CÁC THANH GHI

PID TRONG S7-3001.1. Sử dụng module mềm FB41 “CONT_C” .

Module mềm PID “CONT_C” là một bộ điều khiển PID có đầu vào và đầu

ra là các tín hiệu liên tục (analog).

Page 5: CÁC THANH GHI

Bộ PID có thể được sử dụng làm bộ điều khiển có điểm đặt cố định hoặc

sủ dụng là bộ điều khiển nhiều vòng như điều khiển tầng, và điều khiển tỉ lệ.

Chức năng của bộ điều khiển này dựa trên thuật toán điều khiển PID.

Sơ đồ khối của bộ điều khiển:

Module mềm PID gồm có tín hiệu chủ đạo SP_INT, tín hiệu ra của đối

tượng PVF_PER, tín hiệu giả để mô phỏng tín hiệu ra của đối tượng PV_IN, các

biến trung gian trong trong quá trình thực hiện luật và thuật toán điều khiển PID

như PV_PERON, P_SEL, I_SEL…

Tín hiệu chủ đạo SP_INT : được nhập dưới dạng dấu phẩy động.

Tín hiệu ra của đối tượng PV_PER : được nhập dưới dạng số nguyên có

dấu hoặc dưới dạng số thực dấu phảy động. Thông qua một hàm nội CRP_IN nó

sẽ chuyển đổi kiểu biểu diễn của PV_PER sang số thực dấu phảy động có giá trị

nằm trong khoản -100…100% theo công thức:

Tín hiệu ra của CRP_IN = PV_PER.

Hàm chuẩn hóa : PV_NORM sẽ chuẩn hóa tín hiệu ra của CRP_IN theo công

thức :

Tín hiệu ra của PV_NORM = (Tín hiệu ra của CRP_IN).PV_FAC +

PV_OFF

Bảng mô tả các tham số của bộ điều khiển :

Page 6: CÁC THANH GHI

Bảng mô tả tham số đầu vào :

Tham số Kiểu

loại

Dải

giá trị

Giá trị mặc

định

Mô tả

COM_RST BOOL FALSE COMPLETE RESTART

Khối có chức năng khởi tạo

lại hệ thống hoàn toàn khi

đầu vào “complete restart”

được thiết lập giá trị logic là

TRUE

MAIN_ON BOOL TRUE MANUAL VALUE ON

Khi đầu vào “manual value

on” là TRUE, mạch vòng

điều khiển sẽ bị ngắt , các giá

trị sẽ được thiết lập bằng tay.

PVPER_ON BOOL FALSE PROCESS VARIABLE

PERIPHERAL ON

Khi đọc biến quá trình từ các

cổng vào/ra đầu vào

PV_PER phải được nối tới

các cổng vào ra và đầu vào

“process variable peripheral”

có giá trị là TRUE

P_SEL BOOL TRUE PROPORTIONAL ACTION

ON

Chọn luật điều khiển P

I_SEL BOOL TRUE INTEGRAL ACTION ON

Chọn luật điều khiển I

INT_HOLD BOOL FALSE INTEGRAL ACTION

HOLD

Đầu ra của bộ điều khiển I có

Page 7: CÁC THANH GHI

thể bị giữ lại không được sử

dụng khi ta thiết lập TRUE

cho thông số này

I_ITL_ON BOOL FALSE INITIALIZATION OF THE

INTEGRAL ACTION

Đầu ra của bộ điều khiển I có

thể được nối vào cổng vào

I_ITL_VAL nếu đầu vào

I_ITL_ON có giá trị là

TRUE

D_SEL BOOL FALSE DERIVATIVE ACTION ON

Chọn thành phần D

CYCLE TIME >=1ms T#1s SAMPLING TIME

Thời gian lấy mẫu

SP_INT REAL 100.0…

100.0%

0.0 INTERNAL SETPOINT

Tín hiệu chủ đạo

PV_IN REAL 100.0…

100.0%

0.0 PROCESS VARIABLE IN

Giá trị khởi tạo có thể đặt ở

đầu vào PV_IN cũng có thể

được đặt từ biến quá trình

PV_PER WORD W#16#0000 PROCESS VARIABLE

PERIPHERAL

Biến quá trình được nối với

CPU thông qua cổng vào

tương tự

MAIN REAL 100.0…

100.0%

0.0 MANUAL VALUE

Cổng vào “manual value”

được sử dụng để đặt giá trị

bằng các hàm giao diện

GAIN REAL 2.0 PROPORTIONAL GAIN

Hệ số tỉ lệ của luật P

Page 8: CÁC THANH GHI

TI TIME >=

CYCLE

T#20s RESET TIME

Hằng số thời gian tích phân

TD TIME >=

CYCLE

T#10s DERIVATIVE TIME

Hằng số thời gian vi phân

TM_LAG TIME >=

CYCLE/2

T#2s TIME LAG OF THE

DERIVATIVE ACTION

Chọn thời gian tích cực của

luật điều khiển vi phân

DEADB_W REAL >=0.0% 0.0 DEAD BAND WIDTH

Để xử lý tính hiệu nhiễu

LMN_HLM REAL LMN_LL

M…100%

100.0 MANIPULATED VALUE

HIGH LIMIT

Thiết lập bằng tay giới hạn

trên

LMN_LLM REAL -100…

LMN_HL

M %

0.0 MANIPULATED VALUE

LOW LIMIT

Thiết lập bằng tay giới hạn

dưới

PV_FAC REAL 1.0 PROCESS VARIABLE

FACTOR

Biến quá trình được nhân với

hệ số phù hợp với phạm vi

của biến này, Hệ số chọn

thông qua cổng PV_FAC

PV_OFF REAL 0.0 PROCESS VARIABLE

OFFSET

Biến quá trình được cộng với

một lượng bù cho phù hợp

với phạm vi quy định của

biến này. Giá trị bù được

chọn thông qua PV_OFF

Page 9: CÁC THANH GHI

LMN_FAC REAL 1.0 MANIPULATED VALUE

FACTOR

Giá trị giới hạn được nhân

với một hệ số bù cho phù hợp

với phạm vi quy định của

biến quá trình, giá trị bù này

được thiết lập thông qua

LMN_FAC

LMN_OFF REAL 0.0 MANIPULATED VALUE

OFFSET

Giá trị giới hạn được cộng

với với một hệ số bù cho phù

hợp với phạm vi quy định

của biến quá trình, giá trị bù

này được thiết lập thông qua

LMN_OFF

I_ITLVAL REAL -100.0…

100.0%

0.0 INITIALIZATION VALUE

OF THE INTEGRAL

ACTION

Giá trị đầu ra của bộ điều

khiển tích phân có thể được

thiết lập thông qua cổng vào

I_ITLVAL

DISV REAL -100.0…

100.0%

0.0 DISTURBANCE

VARIABLE

Giá trị đặt bù nhiễu khi sử

dụng phương pháp điều

khiển thẳng

Page 10: CÁC THANH GHI

Bảng môt tả tham số đầu ra :

Tham số Kiểu loại Dải giá trị Giá trị mặc

định

Mô tả

LMN REAL 0.0 MANIPULATED VALUE

Giá trị được thiết lập bằng

tay thông qua cổng ra LMN

LMN_PER WORD W#16#0000 MANIPULATED VALUE

PERIPHERAL

Giá trị đầu ra được thiết lập

bằng tay theo kiểu biểu diễn

phù hợp với cổng vào ra

tương tự được chọn qua

LMN_PER

QLMN_HL

M

BOOL FALSE HIGH LIMIT OF

MANIPULATED VALUE

REACHED

Giá trị thông báo biến quá

trình vượt giới hạn trên

QLMN_LL

M

BOOL FALSE LOW LIMIT OF

MANIPULATED VALUE

REACHED

Giá trị thông báo biến quá

trình vượt giới hạn dưới

LMN_P REAL 0.0 PROPORTIONAL

COMPONENT

Tín hiệu ra của bộ điều khiển

Page 11: CÁC THANH GHI

tỉ lệ

LMN_I REAL 0.0 INTEGRAL COMPONENT

Tín hiệu ra của bộ điều khiển

tích phân

LMN_D REAL 0.0 DERIVATIVE

COMPONENT

Tín hiệu ra của bộ điều khiển

vi phân

PV REAL 0.0 PROCESS VALUE

Tín hiệu quá trình được xuất

ra cổng PV

ER REAL 0.0 ERROR SIGNAL

Tín hiệu sai lệch được xuất

qua cổng ER

Page 12: CÁC THANH GHI

BÀI TẬP Bài 1 ANALOGViết chương trình cấu trúc đọc PIW0 theo chu kỳ 10ms tính trung bình 10 giá trị chuyển đổi ra điện áp từ 0---10V. Và so sánh giá trị đó với 3000. Nếu lớn hơn thì ON Q0.0.

Bài 2 TIMERViết chương trình điều khiển cột đèn giao thông.

Đèn giao thông ngã 4 gồm pha A và pha B vuông góc nhau (2 pha C và D đối diện hoạt động tương tự nên chỉ cần nối song song).

Nguyên lý hoạt động của đèn GT

Page 13: CÁC THANH GHI

Yêu cầu: Đèn Xanh A sáng 40s đèn vàng A sáng 10s đèn đỏ A sáng 20s Đèn Xanh B sáng 40s đèn vàng B sáng 10s đèn đỏ B sáng 20s Lưu ý:Thời gian đèn Xanh A +Thời gian đèn Vàng A sang = Thời gian đèn Đỏ BTương tự Thời gian đèn Xanh B +Thời gian đèn Vàng B sáng = Thời gian đèn Đỏ A

Bài 3 Điều khiển tuần tự 3 động cơCó 4 Động cơ M1, M2, M3Yêu cầu:

Khi ấn nút khởi động (START), động cơ M1 khởi động trước, sau 60s, động cơ M1 dừng lại và động cơ M2 bắt đầu khởi động.

Sauk hi động cơ M1 khởi động được 40s, động cơ M3 bắt đầu hoạt động trong 20s thì dừng.

Khi nhấn nút dừng (STOP) hệ thống dừng.

Bài 4 Thời gian thực Viết chương trình điều khiển chuông báo tiết học theo yêu cầu sau:- Từ 7h00’00” đến 7h00’10” chuông kêu, báo vào tiết học.- Từ 9h00’00” đến 9h00’10” chuông kêu, báo giò giải lao.- Từ 9h15’00” đến 7h15’10” chuông kêu, báo hết giờ giải lao.- Từ 11h00’00” đến 11h00’10” chuông kêu, báo giò học kết thúc.

Bài 5 Động cơ chạy thuận nghịch theo chu kỳ. Điều khiển động cơ chạy theo yêu cầu công nghệ sau: - Nhấn nút ON Động cơ chuẩn bị làm việc, sau đó chọn chế độ làm

việc:o Nếu nhấn nút P1 thì động cơ chạy thuận 50s,

dừng 10s rồi chạy ngược 50s, dừng 10s và chu kỳ lặp lại 3 lần.o Nếu nhấn nút P2 động cơ chạy thuận 40s, dừng

10s sau đó chạy ngược 40s, dừng 10s và chu kỳ lặp lại 5 lần.

Bài 6 Điều khiển khởi động sao – tam giác. Lập trình điều khiển khởi động động cơ chạy Sao/Tam giác theo nguyên lý sau:

- Nhấn nút START, Contactor K1, K2 có điện đóng các tiếp điểm thường hỏ K1, K2 bên mạch động lực ĐC khỏi động theo chế độ sao, đồng thời trong thời gian này Timer T1 tính thời gian mở chậm, sau 10s cấp điện cho Contactor K3 đồng thời cắt điện Contactor K2. Các tiếp điểm mạch động lực K1, K3 đóng lại ĐC chuyển sang chạy ở chế động Tam giác.

- Nhấn nút STOP hệ thống dừng.