Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
4,09 MB
Nội dung
Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 1 TRUYỀN THÔNG FREEPORT VÀ ỨNG DỤNG Mode truyền thông cho phép chương trình điều khiển port truyền thông của S7-200 CPU. Ta có thể dùng mode Freeport để thực hiện giao thức truyền thông do người dùng định nghĩa đến tất cả các thiết bị thông minh khác khi ta biết giao thức của chúng (tất nhiên). Freeport mode hỗ trợ cả giao thức mã ASCII hoặc giao thức mã nhị phân. Để cho phép Freeport mode, ta có thể dùng byte nhớ đặc biệt SMB30 (cho Port 0) và SMB130 (cho Port 1). Chương trình dùng những lệnh sau để điều khiển hoạt động của port truyền thông: - Lệnh truyền (Transmit instruction-XMT) và ngắt truyền : Lệnh truyền cho phép S7-200 truyền lên đến 255 kí tự thông qua cổng COM. Ngắt truyền thông báo cho chương trình trong S7-200 khi truyền thông hoàn tất. - Ngắt nhận kí tự (Receive character interrupt): Ngắt nhận kí tự báo cho chương trình khi kí tự nhận hoàn tất ở cổng COM. Chương trình có thể xử lý chương trình đó dựa trên giao thức được thực hiện. - Lệnh nhận (Receive instruction - RCV): Lệnh nhận nhận kí tự được truyền vào thông qua cổng COM và sau đó tạo một ngắt cho chương trình khi kí tự nhận hoàn tất. Ta dùng vùng nhớ SM để cấu hình lệnh Receive để khởi động và dừng nhận tín hiệu dựa trên điều kiện được định nghĩa. Lệnh nhận cho phép chương trình khởi động dừng dựa trên kí tự đặc biệt hay một khoảng thời gian on. Hầu hết các giao thức có thể thực hiện với lệnh nhận (Receive instruction). Mode Freeport được tích cực khi S7-200 ở chế độ RUN mode. Thiết lập S7-200 để mode STOP dừng tất cả việc truyền thông Freeport, và port truyền thông sau đó chuyển về giao thức PPI thiết lập được cấu hình trong khối hệ thống ( system block) của S7-200. Cấu hình mạng Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 2 Dùng Freeport thông qua kết nối RS-232. Ví dụ : Dùng S7-200 với một cân trả về tín hiệu thông qua cổng RS- 232. Cáp RS-232/PPI Multi-Master kết nối cổng RS-232 của cân điện tử với chuẩn RS-485 port trên S7-200 CPU. (Thiết lập cáp về mode PPI/Freeport, chuyển mạch 5=0.) S7-200 CPU dùng Freeport để truyền thông với cân. Tốc độ truyền thông từ 1200 baud đến 115.2 kbaud. Chương trình người dùng định nghĩa giao thức. Dùng cáp RS-232/PPI Multi-Master và Freeport Mode với thiết bị RS-232. Ta có thể dùng cáp RS-232/PPI Multi-Master và hàm truyền thông Freeport để kết nối S7-200 CPUs với nhiều thiết bị tương thích với chuẩn RS-232. Cáp phải được thiết lập theo mode PPI/Freeport (chuyển mạch 5 = 0) để thực hiện việc truyền thông. Chuyển mạch 6 dùng chọn lựa mode cục bộ (DCE) (switch 6 = 0), hay Remote mode (DTE) (switch 6 = 1). Cáp RS-232/PPI Multi-Master ở mode truyền khi dữ liệu được truyền từ cổng RS-232 đến cổng RS-485. Cáp ở chế độ mode nhận (Receive mode) khi nó rỗi hay ở đang ở truyền dữ liệu từ cổng RS-485 từ cổng RS-232. Cáp thay đổi từ mode truyền sang mode nhận ngay lập tức khi nó dò thấy kí tự từ dây truyền RS-232. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 3 Nếu ta dùng cáp RS-232/PPI Multi-Master trong hệ thống có truyền thông Freeport, chương trình trong S7-200 phải bao gồm thời gian đặt trước để kiểm tra ở những điều kiện sau : - S7-200 trả lời tin được truyền từ thiết bị RS-232. Sau khi S7-200 nhận được tin yêu cầu từ thiết bị có giao thức chuẩn RS-232, S7-200 phải delay tin trả lời một khoảng thời gian lớn hơn hay bằng thời gian đặt trước để kiểm tra của cáp. - Thiết bị RS-232 trả lời tin được truyền từ S7-200. Sau khi S7-200 nhận được tin trả lời từ thiết bị RS-232, S7-200 phải delay việc truyền tin kế một khoảng thời gian lớn hơn hoặc bằng khoảng thời gian đặt trước để kiểm tra của cáp. Cấu hình cáp PPI Multi-Master để làm việc ở giao thức Freeport Cáp RS-232 PPI Multi-Master cho phép hỗ trợ truyền thông Freeport, tuy nhiên ta phải cấu hình đúng tốc độ truyền thông, cờ và số bit dữ liệu của S7-200. Tốc độ truyền thông : nằm trong khoảng từ 1.2 kbaud đến 115.2 kbaud. Có thể chọn lựa 7 hay 8 bit dữ liệu. Có thể chọn lựa cờ chẳn, lẻ hoặc không có cờ. Lệnh trong mode Freeport Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 4 Khi cấu hình cáp RS-232/PPI Multi-Master với STEP 7 Micro/WIN, ta phải kết nối đầu nối RS-485 với S7-200 CPU. Đây là nguồn (24V) cần cung cấp cho cáp hoạt động. Vì thế, cần phải cấp nguồn cho S7-200 CPU. Lệnh Transmit và Receive (Freeport) Lệnh truyền (Transmit instruction - XMT) được dùng trong mode Freeport để truyền dữ liệu thông qua cổng truyền thông. Lệnh nhận (Receive instruction - RCV) bắt đầu hay kết thúc chức năng nhận tin. Ta phải mô tả điều kiện bắt đầu và điều kiện kết thúc cho lệnh nhận để lệnh này hoạt động. Tin được nhận thông qua port được mô tả ở (PORT) và được lưu và bộ đệm dữ liệu được bắt đầu bằng (TBL). Byte đầu tiên của bộ đệm chứa số các byte được nhận. Bảng 6-12 Các toán hạng cho lệnh truyền và nhận. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 5 Dùng mode Freeport để điều khiển cổng truyền thông nối tiếp. Ta có thể chọn mode Freeport để điều khiển port truyền thông nối tiếp của S7-200 dùng chương trình. Khi ta chọn mode Freeport, chương trình điều khiển hoạt động port truyền thông thông qua việc dùng ngắt nhận, ngắt truyền, lệnh truyền và lệnh nhận. Giao thức truyền thông hoàn toàn được điều khiển bằng chương trình LAD trong mode Freeport. SMB30 (for port 0) và SMB130 (cho port 1 nếu PLC S7-200 đang dùng có 2 port) được dùng để chọn lựa tốc độ truyền (baud rate) và cờ ưu tiên (parity). Mode Freeport bị hủy và việc truyền thông bình thường được tái lập (ví dụ với thiết bị lập trình) khi S7-200 ở mode STOP. Trong trường hợp đơn giản nhất, ta có thể gởi một tin đến máy in hoặc thiết bị hiển thị dùng chỉ lệnh Transmit (XMT). Ví dụ khác bao gồm cả việc kết nối với bộ đọc mã vạch, cân điện tử (weighing scale), and a welder. Trong mỗi trường hợp, ta phải viết chương trình hỗ trợ giao thức được dùng bởi thiết bị trong đó thực hiện truyền thông với S7-200 thông qua chuẩn Freeport. Truyền thông Freeport chỉ phù hợp khi S7-200 ở trong mode RUN. Cho phép mode Freeport bằng cách thiết lập giá trị 01 trong giao thức chọn trường thuộc SMB30 (Port 0) hay SMB130 (Port 1). Trong mode Freeport, truyền thông với thiết bị lập trình không được hỗ trợ. Tip Mode Freeport có thể được điều khiển dùng bit đặc biệt SM0.7, biểu thị vị trí tức thời của chuyển mạch điều khiển mode hoạt động. Khi SM0.7 bằng 0, chuyển mạch ở vị trí TERM; khi SM0.7 = 1, mode hoạt động ở trạng thái RUN. Nếu ta cho phép chỉ mode Freeport khi chuyển mạch ở vị trí RUN, ta có thể dùng thiết bị lập trình để giám sát hay điều khiển hoạt động của S7-200 bằng cách thay đổi vị trí chuyển mạch sang vị trí khác. Thay đổi truyền thông PPI sang mode Freeport. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 6 SMB30 và SMB130 cấu hình port truyền thông 0 và 1 tương ứng, cho hoạt động Freeport và cho phép chọn lựa tốc độ truyền, cờ ưu tiên, và số bit dữ liệu. Hình 6-8 mô tả byte điều khiển Freeport. Một bit stop được tạo ra cho tất cả các cấu hình. Chú ý : Even – Chẳn; Odd-Lẽ. Hình 6-8 Byte điều khiển SM cho Mode Freeport (SMB30 or SMB130) Truyền dữ liệu Lệnh truyền cho phép truyền dữ liệu chứa trong bộ đệm, dữ liệu lớn nhất là 255 kí tự. Hình 6-9 cho thấy định dạng của bộ đệm truyền. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 7 Nếu một chương trình ngắt được gán cho sự kiện truyền hoàn tất, S7-200 tạo một ngắt (sự kiện ngắt 9 cho port 0 và sự kiện ngắt 26 cho port 1) sau khi kí tự cuối của bộ đệm được truyền. Ta có thể truyền mà không cần dùng ngắt (ví dụ gởi một tin đến máy in) bằng cách giám sát tín hiệu SM4.5 hoặc SM4.6 khi việc truyền hoàn tất. Ta có thể dùng lệnh Transmit để tạo điều kiện ngắt BREAK bằng cách thiết lập số kí tự về zero và sau đó thực thi lệnh truyền. Điều này tạo điều kiện ngắt (BREAK) trên line for 16-bit times ở tốc độ hiện tại. Truyền một ngắt (BREAK) được điều khiển truyền cùng cách như việc truyền bất kì tin khác, trong đó ngắt truyền được tạo ra khi ngắt hoàn tất trong đó ngắt truyền thông được tạo ra khi BREAK hoàn tất và SM4.5 hoặc SM4.6 xuất tín hiệu trạng thái hiện tại của lệnh truyền. Nhận dữ liệu Lệnh nhận dữ liệu (Receive instruction) cho phép ta nhận dữ liệu từ bộ đệm lên đến 255 kí tự. Hình 6-10 cho thấy định dạng của bộ đệm nhận (Receive buffer) Nếu một chương trình ngắt được gán cho sự kiện ngắt, ta có thể nhận tin không cần dùng ngắt bằng cách kiểm tra SMB86 (port 0) hoặc SMB186 (port 1). Byte này không bằng 0 khi lệnh nhận không được tích cực hoặc bị ngắt. Nó sẽ là zero khi quá trình nhận tin hoàn tất, S7-200 tạo một ngắt (sự kiện ngắt 23 cho port 0 và sự kiện ngắt 24 cho port 1) sau khi kí tự cuối của bộ đệm được nhận. Như đã trình bày trong Table 6-13, lệnh nhận cho phép ta chọn điều kiện bắt đầu một tin và kết thúc một tin dùng SMB86 đến SMB94 đối với port 0 và SMB186 đến SMB194 đối với port 1. Bảng 6-13 Bytes bộ đệm nhận (SMB86 đến SMB94, và SM1B86 đến SMB194) Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 8 Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 9 Điều kiện bắt đầu và kết thúc lệnh nhận. Lệnh nhận dùng các bit của byte điều khiển nhận (SMB87 hoặc SMB187) để định nghĩa điều kiện bắt đầu và điều kiện kết thúc của tin. Lệnh nhận (Receive instruction) hỗ trợ nhiều điều kiện bắt đầu: 1. Dò line rỗi (Idle line detection): Điều kiện line rỗi được định nghĩa là thời gian rỗi hay thời gian lặng trên dây truyền. Việc nhận sẽ được bắt đầu khi dây truyền có một khoảng lặng kéo dài bằng số thời gian tính bằng milliseconds được mô tả trong ô nhớ SMW90 hay SMW190. Khi lệnh nhận trong chương trình được thực thi, hàm nhận tin bắt đầu xác định điều kiện rỗi line. Nếu có sự thay đổi được nhận trước khi đạt được thời gian rỗi line, hàm nhận tin sẽ bỏ qua những kí tự này và bắt đầu dò lại thời gian rỗi line với thời gian xác định trong SMW90 hoặc SMW190. Xem Hình 6-11. Sau khi thời gian rỗi line được xác lập, hàm nhận tin sẽ lưu tất cả các kí tự nhận được vào trong bộ đệm tin (message buffer). Thời gian rỗi line phải luôn lớn hơn thời gian truyền một kí tự (start bit, data bits, parity và stop bits) ở tốc độ mô tả. Giá trị thông dụng của thời gian rỗi line thường là gấp 3 lần thời gian truyền một kí tự. Ta dùng việc dò thời gian rỗi như là một điều kiện bắt đầu cho giao thức nhị phân, giao thức mà ở đó không thể mô tả kí tự bắt đầu khác hay khi giao thức xác định thời gian nhỏ nhất giữa các tin Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] PLC_Lab | Tài liệu ôn thi tốt nghiệp 10 Setup: il = 1, sc = 0, bk = 0, SMW90/SMW190 = thời gian rỗi (idle line timeout ) tính bằng milliseconds Hình 6-11 Dùng việc dò thời gian rỗi để bắt đầu lệnh nhận. 2. Dò kí tự bắt đầu (Start character detection) : Kí tự bắt đầu là bất kì kí tự nào được dùng như là một kí tự bắt đầu cho một tin. Một tin được bắt đầu dò thấy kí tự bắt đầu được mô tả trong SMB88 hay SMB188 được nhận. Hàm nhận lưu kí tự bắt đầu trong bộ đệm nhận như là một kí tự đầu tiên của tin. Hàm nhận tin bỏ qua bất kì kí tự nào được nhận trước khi nhận kí tự bắt đầu. Kí tự bắt đầu và tất cả các kí tự nhận được sau kí tự bắt đầu được lưu lại trong bộ đệm tin. Thường, ta dùng việc dò kí tự bắt đầu trong giao thức mã ASCII trong đó tất cả các tin được bắt đầu với cùng một kí tự. Setup: il = 0, sc = 1, bk = 0, SMW90/SMW190 = don’t care, SMB88/SMB188 = start character 3. Line rỗi và kí tự bắt đầu: Lệnh nhận có thể nhận được một tin với bắt đầu là sự kết hợp giữa tín hiệu line rỗi và kí tự. Khi lệnh nhận được thực thi, nó sẽ tìm điều kiện rỗi line, sau khi xác định được điều kiện rỗi line, hàm nhận tiếp tục tìm kí tự bắt đầu. Nếu có bất kì kí tự nào không phải là kí tự bắt đầu được nhận, lệnh nhận sẽ khởi động lại việc dò thời gian rỗi. Tất cả các kí tự nhận được trước khi nhận được thời gian rỗi được lưu giữ và trước khi nhận được kí tự bắt đầu được bỏ qua. Kí tự bắt đầu được đặt trong bộ đệm nhận theo tuần tự của các kí tự được nhận. Thời gian rỗi luôn lớn hơn thời gian truyền 1 kí tự (start bit, data bits, parity and stop bits) ở cùng tốc độ truyền. Giá trị thường gặp của thời gian rỗi thường gấp 3 lần thời gian nhận 1 kí tự. [...]... PHẦN 4] Truyền thông Freeport với thiết bị đọc mã vạch Dùng S7-200 CPU để nhận dữ liệu từ bộ đọc mã vạch sử dụng mode truyền thông Freeportcủa CPU Ta có thể dùng mode Freeport để truyền dữ liệu để nhận dữ liệu từ thiết bị đọc mã vạch thông qua Port 0 Ta chọn giao thức truyền thông Freeport thông qua việc dùng SMB30 (đối với Port 0) hoặc SMB130 (đối với Port 1 nếu CPU có 2 port) Ta có thể lưu thông tin... là khởi động giao thức truyền thông, nếu mode hoạt động là mode RUN thì tích cực SM0.7 để cho phép truyền thông Freeport mode (Nếu mode hoạt động được chuyển về TERM, bit SM0.7 được reset về 0 để cho phép các mode truyền thông khác như point-to-point, hoặc PPI Ở những mode này bộ đọc mã vạch không thể truyền thông với S7-200 CPU Thông tin cần thiết lập cho giao thức truyền thông Freeport được lưu trữ... (đối với Port 1 nếu CPU có 2 port) Ta có thể lưu thông tin lưu trữ để truyền thông vào một trong cách byte nhớ đặc biệt này Sau khi chọn mode Freeport, ta khai báo các thông số: o Baud rate o Number of data bits per character o Parity Thiết bị đọc mã vạch đọc dữ liệu mã vạch, tách lấy thông tin và truyền dữ liệu đến S7-200 CPU dùng mode Freeport Có hai bộ đệm để lưu những mã này trong bộ nhớ của S7-200... ở chế độ TERM, on nếu mode switch ở chế độ RUN) on, cho phép chọn mode truyền thông Freeport bằng cách bật SM30.0 =1 Chương trình con SBR0 Thường xuyên cho đoạn chương trình này chạy Đưa giá trị 9 (số nhị phân là 1001) vào vùng nhớ SMB30 (Freeport control register for Port 0) Điều này cho phép cấu hình truyền thông với mode Freeport mode, tốc độ 9600 baud, 8 bit dữ liệu trên mỗi kí tự, không có... trong chương trình này dữ liệu chỉ được lưu lại Mô tả chương trình : Chương trình này lưu thông tin nhận được từ thiết bị đọc mã vạch vào hai bộ đệm của S7-200 CPU Trong chương trình này, CPU nhận thông tin qua Port 0 Thông tin được truyền bằng bộ đọc mã vạch thông qua mã dưới dạng mã ASCII Mã vạch được nhận được lưu vào vùng nhớ của S7-200 CPU Dữ liệu có thể được dùng cho chương trình Chương trình chứa... định thời nhận tin được dùng để định khoảng thời gian nhận một tin Cách này có ích khi thiết bị master hoặc host dùng mode Freeport để truyền thông và nó cần thoát ra khỏi việc truyền thông với một thiết bị slave khi vượt quá thời gian định trước (time out) mà không nhận được đáp ứng từ thiết bị bằng slave Bộ định thời nhận tin bắt đầu khi lệnh nhận thực thi do thời gian rỗi line được thiết lập về zero... nhận tạo ra một ngắt Kí tự được nhận đặt vào SMB2, và cờ trạng thái ưu tiên (nếu được cho phép) trong SM3.0 cho phép thực thi chương trình ngắt được gán cho sự kiện nhận kí tự SMB2 là bộ đệm nhận kí tự Freeport Mỗi kí tự nhận được trong mode Freeport được đặt vào vùng nhớ này (SMB2) đê dễ dàng truy cập trong chương trình người dùng SMB3 được dùng cho mode Freeport và chứa cờ lỗi được tích cực khi cờ lỗi... ngắt kí tự được dùng ở tốc độ truyền cao (38.4 kbaud đến 115.2 kbaud), thời gian giữa các ngắt ngắn Ví dụ, ngắt kí tự ở tốc độg 38.4 kbaud là 260 microseconds, đối với tốc đô 57.6 kbaud là 173 microseconds, và đối với 115.2 kbaud là 86 microseconds Phải viết chương trình ngắn để khỏi làm mất kí tự hoặc dùng lệnh nhận Tip SMB2 và SMB3 chia sẽ việc truyền thông dùng cho Port 0 và Port 1 Khi nhận một kí tự... Chương trình ngắt INT0 Dùng bit SM0.0 để cho phép thực hiện đoạn chuơng trình ở từng vòng quét Đưa nội dung SMB2 vào vùng nhớ được chỉ trỏ tới bằng con trỏ VD56 SMB2 chứa từng kí tự được nhận từ Port 0 hoặc Port 1 trong khi truyền thông Freeport Trong ví dụ này, CPU nhận thông tin thông qua Port 0 Tăng giá trị trong VD56 (con trỏ của bộ đệm 0) lên 1 để con trỏ trỏ đến vị trí kế trong bộ đệm Tăng... kí tự trong SMB2 là "LF": di chuyển dữ liệu VD60 (trỏ đến bộ đệm 1) vào VD66 và di chuyển 0 vào để xóa VW64 (xóa VW64 về 0) VW64 được dùng để đếm kí tự trong bộ đệm 1 Gán sự kiện ngắt 8 (Nhận được kí tự ở Port 0) cho chương trình ngắt INT1 và cho phép ngắt INT1 (bộ đệm nhận 1) Di chuyển 2 (số nhị phân 0010) vào QB0 để tắt Q0.0 và bật Q0.1 PLC_Lab | Tài liệu ôn thi tốt nghiệp 25 Automanvn [TÀI LIỆU . 1 TRUYỀN THÔNG FREEPORT VÀ ỨNG DỤNG Mode truyền thông cho phép chương trình điều khiển port truyền thông của S7 -20 0 CPU. Ta có thể dùng mode Freeport để thực hiện giao thức truyền thông. S7 -20 0 CPU dùng Freeport để truyền thông với cân. Tốc độ truyền thông từ 120 0 baud đến 115 .2 kbaud. Chương trình người dùng định nghĩa giao thức. Dùng cáp RS -23 2/PPI Multi-Master và Freeport. RS -23 2. Ta có thể dùng cáp RS -23 2/PPI Multi-Master và hàm truyền thông Freeport để kết nối S7 -20 0 CPUs với nhiều thiết bị tương thích với chuẩn RS -23 2. Cáp phải được thiết lập theo mode PPI/Freeport