Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Truyền thông freeport và ứng dụng

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 
TRUYỀN THÔNG FREEPORT VÀ ỨNG DỤNG 
Mode truyền thông cho phép chương trình...
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 
...
Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 
Nếu ta dùng cáp RS-232/PPI Multi-Master trong hệ thống có truyền thông Fre...
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 52 Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (18)

Publicité

Similaire à Truyền thông freeport và ứng dụng (20)

Plus récents (20)

Publicité

Truyền thông freeport và ứng dụng

  1. 1. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 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 PLC_Lab | Tài liệu ôn thi tốt nghiệp 1
  2. 2. 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.
  3. 3. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 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 : PLC_Lab | Tài liệu ôn thi tốt nghiệp 3 - 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
  4. 4. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 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. PLC_Lab | Tài liệu ôn thi tốt nghiệp 4 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.
  5. 5. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 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ợ. PLC_Lab | Tài liệu ôn thi tốt nghiệp 5 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.
  6. 6. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 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. PLC_Lab | Tài liệu ôn thi tốt nghiệp 6 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.
  7. 7. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 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. PLC_Lab | Tài liệu ôn thi tốt nghiệp 7 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)
  8. 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 8
  9. 9. 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
  10. 10. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] 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ự. PLC_Lab | Tài liệu ôn thi tốt nghiệp 10
  11. 11. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Thường ta dùng loại điều kiện bắt đầu này khi giao thức được sử dụng có một khoảng thời gian giữa các kí tự, kí tự ban đầu của tin là địa chỉ của thiết bị hay một cái gí đó mô tả điểm đặc biệt của thiết bị. Cách này có ích khi có nhiều thiết bị trên đường truyền. Trong trường hợp này, lệnh Receive ngắt gọi khi tin được bắt đầu bởi địa chỉ hay mô tả tương ứng bởi một kí tự bắt đầu. Setup: il = 1, sc = 1, bk = 0, SMW90/SMW190 > 0, SMB88/SMB188 = start character 4. Dò ngắt tin (Break detection): Một ngắt tin được xác định khi dữ liệu nhận được vẫn giữ giá trị zero trong khoảng thời gian lớn hơn khoảng thời gian truyền một kí tự hoàn chỉnh. Thời gian truyền một kí tự hoàn chỉnh được định nghĩa là tổng khoảng thời gian của các bit start, dữ liệu, parity và stop bits. Nếu lệnh nhận được cấu hình để khởi động một tin dựa trên việc dò ngắt tin thì bất kí các kí tự nhận sau ngắt tin này được ghi vào bộ đệm tin (message buffer). Bất kì kí tự này nhận trước ngắt tin đều bị bỏ qua. Thường, ta dùng việc dò ngắt tin làm điều kiện bắt đầu tin chỉ khi giao thức đó cần đến nó. Setup: il = 0, sc = 0, bk = 1, SMW90/SMW190 = don’t care, SMB88/SMB188 = don’t care 5. Ngắt tin và kí tự bắt đầu (Break and a start character): Lệnh nhận có thể được cấu hình để bắt đầu nhận tin sau khi nhận lần lượt điều kiện ngắt tin và kí tự bắt đầu. Nếu kí tự nhận được không giống với kí tự bắt đầu(do người dùng định nghĩa), lệnh nhận tin sẽ quay lại dò tìm điều kiện ngắt tin. Tất cả các kí tự nhận được trước ngắt tin được lưu giữ trong bộ đệm, kí tự nhận sau ngắt tin bị bỏ qua. Kí tự bắt đầu được lưu vào bộ đệm cùng với các kí tự khác nhận được theo thứ tự. Setup: il = 0, sc = 1, bk = 1, SMW90/SMW190 = don’t care, SMB88/SMB188 = start character 6. Các kí tự khác: Lệnh nhận có thể được cấu hình để nhận các kí tự và đưa nó vào bộ đệm tin. Đây là trường hợp đặc biệt của dò line rỗi. Trong trường hợp này, thời gian line rỗi ( ở SMW90 hoặc SMW190) được thiết lập là zero. Điều này làm cho lệnh nhận bắt đầu nhận kí tự ngay khi lệnh được thực thi. PLC_Lab | Tài liệu ôn thi tốt nghiệp 11
  12. 12. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Setup: il = 1, sc = 0, bk = 0, SMW90/SMW190 = 0, SMB88/SMB188 = don’t care Việc bắt đầu một tin bằng bất kì kí tự nào cho phép bộ đị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. Khi vượt quá thời gian đặt trước, bộ định thời nhận tin ngắt lệnh nhận tin nếu không nhận được điều kiện kết thúc. Setup: il = 1, sc = 0, bk = 0, SMW90/SMW190 = 0, SMB88/SMB188 = don’t care c/m = 1, tmr = 1, SMW92 = message timeout in milliseconds Lệnh nhận tin hỗ trợ một số cách để ngắt tin. Tin được ngắt dựa trên từng cách hoặc sự kết hợp của các cách sau: 1. Dò kí tự kết thúc: Kí tự kết thúc là một kí tự bất kì dùng xác định kết thúc của tin. Sau khi xác định được vị trí đầu tin, lệnh nhận tin kiểm tra các kí tự nhận để dò kí tự cuối. Khi kí tự cuối được nhận, nó ghi vào bộ đệm tin và dừng lệnh nhận. Thường, ta dùng kí tự kết thúc bản tin khi sử dụng giao thức ASCII, trong đó vị trí cuối tin được xác định bởi một kí tự đặc biệt (thuộc bảng mã ASCII) sao cho không liên quan gì đến những kí tự dữ liệu. Ta có thể dùng việc dò kí tự kết hợp với thời gian định thời kí tự, thời gian định thời bản tin hoặc số kí tự nhiều nhất để dừng việc nhận bản tin. Setup: ec = 1, SMB89/SMB189 = end character PLC_Lab | Tài liệu ôn thi tốt nghiệp 12 2. Thời gian định thời kí tự (Intercharacter timer): Thời gian định thời kí tự là thời gian tính từ kết thúc một kí tự này đến kết thúc kí tự kế tiếp. Nếu thời gian giữa các kí tự (bao gồm cả kí tự thứ 2 đạt đến giá trị tính bằng milliseconds mô tả
  13. 13. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] trong SMW92 hoặc SMW192, lệnh nhận sẽ được ngắt. Thời gian định thời kí tự được khởi động lại trên mỗi kí tự được nhận. Xem hình 6-12. Ta có thể dùng thời gian định thời kí tự để ngắt một bản tin đối với những giao thức không có kí tự kết thúc bản tin. Bộ định thời này phải được thiết lập một giá trị lớn hơn thời gian truyền một kí tự ở tốc độ truyền đang lựa chọn. Ta có thể dùng bộ định thời kí tự kết hợp với việc dò kí tự kết thúc và đếm số kí tự lớn nhất để ngắt việc nhận tin. Setup: c/m = 0, tmr = 1, SMW92/SMW192 = timeout in milliseconds Figure 6-12 Using the Intercharacter Timer to Terminate the Receive Instruction PLC_Lab | Tài liệu ôn thi tốt nghiệp 13 3. Bộ định thời bản tin (Message timer): Bộ định thời bản tin dừng bản tin sau một khoảng thời gian tính từ lúc bắt đầu bản tin. Bộ định thời bản tin khởi động ngay khi điều kiện bắt đầu của bộ nhận được tác động. Kết quả của bộ định thời bản tin làm dừng bản tin sau một khoảng thời gian mô tả trong SMW92 hoặc SMW192. Xem hình 6-13. Thường, ta dùng bộ định thời bản tin khi thiết bị truyền thông không xác định khoảng thời gian giữa các kí tự (để ngắt giữa các kí tự) hay hoạt động thông qua một modems. Đối với modems, ta có thể dùng một bộ định thời bản tin để mô tả khoảng thời gian lớn nhất cho phép để nhận kí tự sau khi nhận được kí tự bắt đầu tin. Giá trị thường gặp của bộ nhận tin thường khoảng 1.5 lần thời gian cần để nhận một tin dài nhất ở tốc độ truyền hiện tại.
  14. 14. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Ta có thể dùng bộ định thời bản tin để kết hợp với việc dò kí tự kết thúc và số kí tự lớn nhất để ngắt tin. Setup: c/m = 1, tmr = 1, SMW92/SMW192 = timeout in milliseconds Hình 6-13 Dùng bộ định thời bản tin để dừng lệnh nhận bản tin PLC_Lab | Tài liệu ôn thi tốt nghiệp 14 4. Số kí tự lớn nhất (Maximum character count): Lệnh nhận phải lấy số kí tự lớn nhất được mô tả trong SMB94 hoặc SMB194. Khi số kí tự nhận bằng hoặc lớn hơn, lệnh nhận được yêu cầu dừng. Lệnh nhận yêu cầu người dùng mô tả số kí tự lớn nhất ngay cả khi mục đích chính không dùng nó để làm điều kiện dừng. Điều này do lệnh nhận cần biết kích thước lớn nhất của bản tin để chuẩn bị vùng nhớ chứa, và như thế tránh những dữ liệu xử lý trong chương trình ghi đè lên. Số kí tự nhiều nhất có thể được dùng để dừng nhận tin đối với những giao thức trong đó độ dài tin được biết và luôn giống nhau. Số kí tự nhiều nhất luôn được dùng kết hợp với việc dò kí tự kết thúc, bộ định thời kí tự hay bộ định thời tin. 5. Cờ lỗi (Parity errors): Lệnh nhận tự động dừng khi phần cứng phát tín hiệu lỗi trên cờ lỗi nhận được. Việc dò cờ lỗi được cho phép dùng SMB30 hoặc SMB130. Không có cách nào hủy cho phép chức năng này. 6. Dừng do người dùng (User termination): Người dùng có thể dùng việc nhận tin bằng cách reset bit cho phép trong SMB87 hay SMB187 về zero. Điều này làm dừng việc nhận tin.
  15. 15. 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 15 Dùng ngắt kí tự để điều khiển nhận dữ liệu. Để linh động trong hỗ trợ giao thức, ta có thể nhận dữ liệu bằng cách điều khiển ngắt kí tự. Mỗi kí tự được 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 được do thấy trong các kí tự nhận được. Khi 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ự trong Port 0 do chương trình ngắt được gọi bởi sự kiện ngắt 8, SMB2 chứa kí tự nhận được ở Port 0, và SMB3 chứa kí tự trạng thái cờ của kí tự đó. Khi nhận được kí tự ở Port 1 do chương trình ngắt gán cho sự kiện ngắt 25, SMB2 chứa kí tự nhận được ở Port 1 và SMB3 chứa trạng thái cờ của kí tự này. SMB86 đến SMB94 và SMB186 đến SMB194 là các ô nhớ đặc biệt dùng để điều khiển và đọc trạng thái của lệnh nhận.
  16. 16. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Các bit của byte điều khiển ngắt tin được dùng để định nghĩa tiêu chuẩn dựa trên đo tin được xác định. Tiêu chuẩn bắt đầu và kết thúc của tin được định nghĩa. Để xác định bắt đầu của tin, cả hai điều kiện logic phải xảy ra lần lượt (tức là sau khi phát hiện được rỗi line sẽ nhận kí tự bắt đầu). Để xác định kết thúc của tin, các điều kiện kết thúc tin được xác định bằng lựa chọn OR. Phương trình điều kiện bắt đầu và kết thúc được lựa chọn : Bắt đầu tin = il * sc + bk * sc Kết thúc tin = ec + tmr + đạt đến số kí tự đặt trước. PLC_Lab | Tài liệu ôn thi tốt nghiệp 16
  17. 17. 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 17
  18. 18. 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 18
  19. 19. 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 19
  20. 20. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. 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ư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ố: PLC_Lab | Tài liệu ôn thi tốt nghiệp 20 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 CPU. Chương trình chuyển mạch giữa các bộ đệm khi nhận các mã vạch. Thường dữ liệu được dùng cho các quy trình, tuy nhiên 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 các chương trình con sau : MAIN : Khởi động chương trình chính. SBR0 : Thiết lập giao thức và trỏ đến bộ đệm đển nhận dữ liệu mã vạch. INT0 Nhận bộ đệm 0.
  21. 21. 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 21 INT1 Nhận bộ đệm 1 Yêu cầu phần cứng : PLC S7-200 CPU 224; PC/PPI cable; Bộ chuyển đổi tùy thuộc vào giao tiếp của bộ đọc mã vạch, ví dụ : dùng giao tiếp RS-232C theo chuẩn 9/25 chân. Chương trình chính : Nhiệm vụ chính của chương trình chính 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ữ ở byte nhớ SMB30 (đối với Port 0) hoặc trong byte SMB130 (đối với Port 1 trên S7-200 CPU, nếu CPU có 2 ports). Chương trình chính :
  22. 22. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4]  Ở vòng quét đầu, gọi chương trình chính.  Nếu bit SM0.7 (off nếu mode switch ở 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. PLC_Lab | Tài liệu ôn thi tốt nghiệp 22 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ó cờ ưu tiên.  Thiết lập VD50 hoạt động nhưu một con trỏ đến vùng nhớ VB100 (địa chỉ bắt đầu của bộ đệm 0) bằng cách di chuyển &VB100 vào VD50. (Kí tự & ở trước vùng nhớ VB100 xác định ta đưa địa chỉ của vùng nhớ này vào VD50. VD50 sau đó hoạt động như một con trỏ đến vùng nhớ này.) VB100 là vùng nhớ đầu tiên của bộ đệm 0.  Thiết lập VD60 hoạt động như một con trỏ đến vùng nhớ VB200 (địa chỉ bắt đầu của bộ đệm 1) bằng cách di chuyển &VB200 vào VD60. (Kí tự & ở truớc VB200 xác định rằng ta di chuyển địa chỉ của vùng nhớ này vào VD60. VD60 lúc đó trở đi hoạt động như một con trỏ đến vùng nhớ này.) VB200 là vùng nhớ đầu tiên trong bộ đệm 1.  Đưa dữ liệu do con trỏ VD50 (pointer to buffer 0) chỉ đến vào vùng nhớ VD56.
  23. 23. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4]  Đưa 0 vào vùng nhớ VW54 để xóa (set VW54 về 0). VW54 được dùng để đếm số kí tự trong PLC_Lab | Tài liệu ôn thi tốt nghiệp 23 bộ đệm 0.  Gán sự kiện ngắt 8 (Port 0: Receive character) cho chương trình ngắt INT0 để cho phép INT0 (bộ đệm 0).  Đưa 1 (số nhị phân 0001) ra QB0 để bật Q0.0 và tắt Q0.1.  Cho phép tất cả các sự kiện ngắt.
  24. 24. 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 24
  25. 25. 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 25 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 giá trị trong VW54 (biến đếm kí tự trong bộ đệm 0) lên 1.  So sánh kí tự trong SMB2 với “10” (Kí tự "LF" (linefeed) =10 (Decimal) – là kí tự xuống hàng trong bảng mã ASCII).  Nếu 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.
  26. 26. 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 26 Giải thuật chương trình ngắt.
  27. 27. 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 27
  28. 28. 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 28 Chương trình ngắt INT1
  29. 29. 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 29
  30. 30. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Truyền thông điều khiển máy in dùng chuẩn Freeport PLC_Lab | Tài liệu ôn thi tốt nghiệp 30
  31. 31. 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 31 Chương trình chính
  32. 32. 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 32
  33. 33. 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 33
  34. 34. 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 34
  35. 35. 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 35 Chương trình con SBR0
  36. 36. 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 36
  37. 37. 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 37 Chương trình đọc dữ liệu mã vạch, xuất ra máy in. Cấu tạo phần cứng : Chương trình này mô tả cách truyền dữ liệu tới máy in và nhận dữ liệu từ thiết bị đọc mã vạch.
  38. 38. 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 38 Chương trình chính :  Dùng bit SM0.1 để thực hiện network này chỉ trong 1 vòng quét. Đưa số 9 (binary 1001)vào SMB30 (Thanh ghi điều khiển Freeport của Port 0). Giá trị này cho phép cấu hình truyền thông mode Freeport mode, 9600 baud, 8 dữ liệu một kí tự, và không có cờ.  Đưa giá trị 1 vào VB100 để xác định độ dài của tin là 1 kí tự ASCII.
  39. 39. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4]  Đưa dữ liệu “A” hoặc “41” dưới định dạng số Hexal vào VB101 để mô tả kí tự chữ A trong PLC_Lab | Tài liệu ôn thi tốt nghiệp 39 bảng mã ASCII.  Khi có sười dương ở I0.1, truyền dữ liệu ở bộ đệm bắt đầu tại vùng nhớ VB100 vào Port 0.
  40. 40. 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 40
  41. 41. 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 41 Chương trình ngắt INT0
  42. 42. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Dạng 1 : Thiết lập truyền thông giữa máy tính với PLC có các thông số sau : PLC_Lab | Tài liệu ôn thi tốt nghiệp 42  Kiểm tra Parity : không kiểm tra  Số bit dữ liệu/ 1 ký tự: 8 bit  Tốc độ truyền: 9600 Baud  Giao thức truyền thông: Freeport Khi PLC nhận được “M”, bật các đèn từ Q0.0 đến Q0.7. Khi PLC nhận được “N”, tắt các đèn từ Q0.0 đến Q0.7. Đồng thời truyền ngược lại máy tính kí tự được nhận. Khi PLC nhận được kí tự khác với hai kí tự trên. PLC truyền ngược lại máy tính chuỗi “Error” và cho phép QB0 chớp tắt với tần số 1Hz. Bài làm Khai báo các thông số truyền thông :  Viết dưới dạng số nhị phân : 2#0000.1001  Viết dưới dạng thập lục phân : 16#09 Chương trình chính :
  43. 43. 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 43
  44. 44. 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 44 Chương trình ngắt :
  45. 45. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Dạng 2 : Thiết lập truyền thông giữa máy tính với PLC có các thông số sau : PLC_Lab | Tài liệu ôn thi tốt nghiệp 45  Kiểm tra Parity : không kiểm tra  Số bit dữ liệu/ 1 ký tự: 8 bit  Tốc độ truyền: 9600 Baud  Giao thức truyền thông: Freeport Khi PLC nhận được “M”, khởi động động cơ 3 pha nối hình sao, sau 5 s chuyển sang chạy tam giác; khi PLC nhận được “N”, tắt động cơ. Đồng thời truyền ngược lại máy tính kí tự được nhận. Khi PLC nhận được kí tự khác với hai kí tự trên. PLC truyền ngược lại máy tính chuỗi “Error”, tắt động cơ và cho phép Q0.5 chớp tắt với tần số 1Hz. Bài làm Khai báo các thông số truyền thông :  Viết dưới dạng số nhị phân : 2#0000.1001  Viết dưới dạng thập lục phân : 16#09 Chương trình chính :
  46. 46. 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 46
  47. 47. 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 47 Chương trình ngắt :
  48. 48. Automanvn [TÀI LIỆU ÔN THI TỐT NGHIỆP. PHẦN 4] Dạng 3 : Hệ bao gồm PLC kết nối với máy tính (port 0 trên PLC) và máy in (port 1 trên PLC) truyền thông dùng chuẩn Freeport. PLC điều khiển động cơ M khởi động ở chế độ sao, sau đó tự động chuyển sang chế độ tam giác sau một thời gian nạp từ máy tính (từ 0-255s). (Nếu không, sẽ chạy thời gian mặc định là 5s). Thời gian động cơ hoạt động kể từ khi khởi động xong là 200 giây. Tham số truyền thông khai báo trên máy tính là: PLC_Lab | Tài liệu ôn thi tốt nghiệp 48  Tốc độ truyền: 9600 Baud  Số bit dữ liệu/ 1 ký tự: 7 bit  Kiểm tra Parity: kiểm tra lẻ  Giao thức truyền thông: Freeport PLC nhận được dữ liệu nào từ máy tính sẽ truyền ngược dữ liệu ấy về máy tính. Khi nhấn nút Start, động cơ chạy xong PLC xuất dữ liệu ra máy in với dòng chữ “XONG” thể hiện hệ thống đã điều khiển động cơ chạy hoàn tất. Bài làm Phải sử dụng PLC có 2 port truyền thông : CPU224XP, CPU226. Tham số truyền thông : Nạp cho SMB30 (port 0) và SMB130 (port 1)  Viết dưới dạng nhị phân : 2#1110.1001.  Viết dưới dạng thập lục phân : 16#E9.
  49. 49. 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 49 Chương trình
  50. 50. 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 50
  51. 51. 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 51
  52. 52. 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 52 Chương trình ngắt :

×