Tải bản đầy đủ (.docx) (5 trang)

Hướng dẫn cài đặt và điều khiển read time trong s7 200

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (217.45 KB, 5 trang )

Tớ đang lập trình đèn giao thông dùng s7200 bài đèn giao thông, mình dùng vùng nhớ VB3,4,5. để nhập thời gian
thực vào! nhưng mình không biết khi bắt đầu chạy chương trình thì thời gian thực sẽ bắt đầu từ thời gian mình nhập
bên trên hay thế nào và mình lấy thời gian đó như thế nào?ví dụ mình muốn đọc thời gian thực từ 23h tới 5h thì mình
lấy như thế nào? mong các bạn giúp đỡ!
Việc thiết lập thời gian thực (TGT) trong s7-200 có 2 cách!
Cách 1: Thực hiện lệnh SET_RTC (tuy nhiên phương pháp này có vẻ ít dùng vì nó đòi hỏi phải thự hiện lệnh này
ngay lúc đúng thời gian ấy ngòai thực tế)
Cách 2: Thực hiện bằng PC.PC lúc connect với S7-200 qua RS-485 sẽ có chức năng đồng bộ hóa thời gian với
PC.Vì vậy chỉ thực hiện đồng bộ 1 phát là xong, thời gian sẽ dc duy trì tự động trong PLC.
Còn về cách đọc thời gian thực,vì dụ với bài đèn giao thông này đi.Anh sẽ dùng lệnh READ_RTC và move vào VB0
Như thế này này
Sau lệnh này thì thời gian thực sẽ move vào lần lượt các ô nhớ như sau:
VB0-YEAR (NĂM) TỪ 00-99
VB1-MONTH (THÁNG)từ 1-12
VB2-DAY (NGÀY)1-31
VB3-HOUR (GIỜ)00-23
VB4-MINUTE (PHÚT)00-59
VB5-SECOND (GIÂY)00-59
VB6- LÚC NÀO CŨNG LÀ 00
VB7-NGÀY TRONG TUẦN (1=CHỦ NHẬT)1-7
vì vậy anh ko nhất thiết (thậm chí có thể sai, vì có thể các giá trị sẽ chồng lấn nhau) nếu khai báo nhiều ô nhớ, chỉ
cần khai báo VB0 là dc!
TẤT CẢ CÁC Ô NHỚ NÀY ĐỀU CÓ GIÁ TRỊ LÀ SỐ BCD
Vì vậy, sau khi đọc thời gian thực vào các ô này, khi cần so sánh (ví dụ anh cần bật đèn vàng từ 23h đêm) thì anh
phải so sánh thế này
Sở dĩ là 35 là vì sao.Vì 23 giờ, số 23 là số BCD ko nén,ta phải đồi đồi số này ra thành số Binary đề có thề so sánh
bằng lệnh byte (vì byte là số binary)
Cách đổi thế này.2=0010; 3=0011; như vậy 23=0010 0011=00100011=35!
Và như vậy anh có thể đồi bất kì số nào, vì giới hạn là các số 2 chữ số thui ah
Việc set_RTC (hay dùng chức năng synchronyze-đồng bộ hóa thời gian với PC) là làm duy nhất 1 lần và chỉ 1 lần.
Còn Read_RTC phải là luôn luôn và luôn luôn đọc.Cụ thể đầu EN của lệnh Read_RTC ko cần nối tiếp điềm,có điện


thường trực, để lúc nào các ô nhớ VB0 đến VB7 chứa dc thời gian hiện tại!
Anh bảo là "thời gian khó đúng với TGT" là thế nào, sao mà ko đúng dc.Chính xác đến từng giây đó chứ!
Thứ nhất em chưa rõ anh muốn "nhập:10h 30p 30s ngày 8 tháng 8 năm 1988" là thế nào?
Nghĩa là anh muốn đến thời điểm đó xảy ra 1 sự kiện j đó hay là muốn đặt thời gian hiện tại là mốc thời gian đó?
Nếu anh muốn đến thời gian đó xảy ra 1 sự kiện j đó thì anh chỉ việc dùng các lệnh so sánh byte là dc, cụ thể thế
này:
Còn về cách đồng bộ time giữa PLC và Pc thì thì anh phải dùng Step 7 MicroWin 4.0 (hoặc các bản 3.2 đều dc), vào
Menu chọn Time of Day clock như hình
Lưu ý là anh phải connect PLC thực với PC thì các Port nó mới hiều, hoặc với chương trình giả lập PLC ảo S7-200
Simulator thì các anh làm như sau để có thể đồng bộ dc
Vào configuration/current time
Sau đó trong hộp thọai Current time anh chọn Same PC
Thế là xong!
Theo 1 tài liệu em đọc dc thì trong PLC s7-200 nó có 1 nguồn điện nuôi (1 cục pim thô) để cung cấp năng lượng cho
đồng hồ thời gian thực.Vì thế sẽ ko có hiện tượng "sai" trong quá trình sử dụng realtime ở đây! (Giống như pin
CMOS trong PC vậy, nuôi đồng hồ trong máy tính ấy)
Còn về HMI thì lĩnh vực này em ko rành, cái này phải nhờ cao thủ khác chỉ bảo

×