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
Trang 1CÁ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
Trang 2 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 0 kết quả quá nhỏ khi thực
hiện lệnh cộng(I,D)
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)
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
Trang 3 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
Byte cao Byte thấp Byte cao Byte thấp
Byte cao Byte thấp Byte cao Byte thấp
Trang 4PID TRONG S7-300 1.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)
Trang 5Bộ 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
27648 100
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 :
Trang 6Bả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ả
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
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
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
ON Chọn luật điều khiển P
Chọn luật điều khiển I
HOLD Đầu ra của bộ điều khiển I có thể bị giữ lại không được sử dụng khi ta thiết lập TRUE cho thông số này
Trang 7I_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
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
PERIPHERAL Biến quá trình được nối với CPU thông qua cổng vào tương tự
100.0%
Cổng vào “manual value” được sử dụng để đặt giá trị bằng các hàm giao diện
Hệ số tỉ lệ của luật P
CYCLE
T#20s RESET TIME
Hằng số thời gian tích phân
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
Trang 8Chọ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
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
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
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
Trang 9LMN_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%
VARIABLE Giá trị đặt bù nhiễu khi sử dụng phương pháp điều khiển thẳng
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ả
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
Trang 10bằ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
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
MANIPULATED VALUE REACHED
Giá trị thông báo biến quá trình vượt giới hạn dưới
COMPONENT Tín hiệu ra của bộ điều khiển
tỉ lệ
Tín hiệu ra của bộ điều khiển tích phân
COMPONENT Tín hiệu ra của bộ điều khiển
vi phân
Trang 11Tín hiệu quá trình được xuất
ra cổng PV
Tín hiệu sai lệch được xuất qua cổng ER
BÀI TẬP
Bài 1 ANALOG
Viế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 TIMER
Viết chương trình điều khiển cột đèn giao thông
Trang 12Đè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
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 Đỏ B Tươ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, M3
Yê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
Trang 13 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