Các tham số của hàm : SCR BLK : Vùng nhớ nguồn không cho phép dữ liệu kiểu chuổi.. Nếu vùng dữ liệu nguồn lớn hơn vùng dữ liệu đích thì hàm chỉ sao chép những dữ liệu từ vùng nguồn tư
Trang 1Chương 5: Hàm SFC20 BLKMOV
Với hàm này ta có thể copy nội dung từ vùng nhớ này đến vùng nhớ khác
Phạm vi sử dụng :có thể sao chép tất cả các kiểu dữ liệu ngoại trừ
Các khối loại : FB , SFB , FC , SFC ,
OB
Counters
Timerd
Các vùng nhớ I/O ngoại vi
Trang 2Các tham số của hàm :
SCR BLK : Vùng nhớ nguồn (không cho phép dữ
liệu kiểu chuổi )
RET_VAL : Mã của lỗi sẽ được trả về ở đầu ra
này
DST BLK : Vùng nhớ đích ( không cho phép dữ
liẹu kiểu chuổi)
Chú ý :
Vùng nhớ nguồn và đích không được trùng lắp
Nếu vùng dữ liệu nguồn lớn hơn vùng dữ liệu đích thì hàm chỉ sao chép những dữ liệu từ vùng nguồn tương ứng với khả nănglưu trữ của vùng đích
Ngược lại nếu vùng dữ liệu đích lớn hơn vùng dữ liệu nguồn thì chỉ vùng dữ liệu đích tương ứng với vùng dữ liệu nguồn được sao chép dữ liệu
2.7 Hàm SFC 21 FILL
Với hàm này ta có thể khởi tạo một vùng nhớ (vùng nguồn ) với nội dung của vùng nhớ khác Hàm SFC21 sẽ chép nội dung vào vùng đích cho đến khi hoàn toàn đầy đủ
Trang 3BVAL : Giá trị ban đầu muốn điền vào vùng đích BLK : khối dữ liệu đích muốn điền vào
Chú ý :
Vùng nguồn và vùng đích không được trùng lắp Nếu vùng đích không phải là bội của nguồn vào về chiều dài của bộ nhớ thì dữ liệu vẫn cứ ghi vào cho đến byte cuối cùng của vùng nhó đích Hàm này sẽ không hoạt động nếu con trỏ đến vùng nguồn và vùng đích là liểu Bool
2.8.Hàm SFC22 CREAT DB
Với hàm SFC22 (create data block) ta có thể khối dữ liệu mà không chứa giá ban đầu nào Không chỉ thế chiều
Trang 4dài của khối dữ liệu ta có thể chủ động lựa chọn và phải đặt số hiệu cho khối dữ liệu đã tạo trong tầm ấn định trước
Đặt tham số cho hàm SFC22 :
LOW_LIMIT : Giá trị giới hạn dưới là số nhỏ nhất trong tầm số mà bạn có thể gán cho khối
UP_LIMIT : Giá trị giới hạn trên là số cao nhất trong tầm mà bạn có thể gán cho khối
COUNT : Giá trị đếm xác định số byte lưu trữ trong toàn khối (kiểu W : MW2)
Số khối dữ liệu là số của các khối dữ liệu được tạo ra
2.9 Hàm SFC24 TEST DB
Với hàm SFC24 (test data block ) ta có được những thông tin về khối dữ liệu tồn tại trong vùng nhớ làm việc nào đó của CPU Hàm SFC24 truy ra số các byte dữ liệu trong khối DB chỉ đọc được
Trang 5Các tham số của hàm :
DB_number : số của DB được kiểm tra
Số byte dữ liệu mà DB được chọn chứa
Thông tin về việc bảo vệ của DB( 1 nghĩa là chỉ đọc , không thể sửa chữa)
2.10 Hàm SFC46
Với hàm SFC46 ta có thể chuyển CPU sang chế độ stop Hàm STP không có thông số
2.11 Hàm SFC47
Với hàm SFC47 “WAIT” , ta có thể lập trình thời gian trễ hay thời gian chờ trong chương trình của người sử dụng Bạn có thể lập trình trễ đến 32767 mili giây.Thời gian trễ nhỏ nhất có thễ phụ thuộc vào từng loại CPU đặc biệt với cùng một hàm SFC47
Chú ý : Đối với S7-300 , ngoại trừ CPU 318 , thời gian
trễ với hàm SFC47 là thời gian nhỏ nhất
Trang 6Thông số của hàm : đầu vào WT chứa thời gian trễ
s.(ví dụ nếu MW20=2000 thì khi En từ 0 lên 1 thì 2mili giây sau ENO sẽ lên 1
2.12 Hàm SFC60 GD_SND
Với hàm SFC60(global data send) dữ liệu của vòng
GD được tập hợp và gửi đi trên con đường đặc biệt Gói vòng GD phải được nhận diện bởi STEP 7
Hàm SFC60 có thể được gọi ở bất kỳ điểm nào trong chương trình của người sử dụng
Dữ liệu sau đó được tập hợp và gửi đi trong lớp ưu tiên cao hơn.Khi chương trình trở về thì hàm bị ngắt , điều này sẽ cắt ngay lập tức và dữ liệu cái mà đã được tập hợp xong bị bỏ Thủ tục này có nghĩa là trong suốt quá trình xử lý của lớp ưu tiên cao hơn, dữ liệu đúng được truyền
Gói vòng GD chỉ đúng với các loại dữ liệu sau :
Loại dữ liệu đơn giản : Bit, byte, word và
double word
Một mảng những byte, word và double word
dài đến chiều dài nhất định được xác định theo mỗi CPU
Gói vòng GD trên CPU gởi đi dữ liệu có cấu trúc không được tự động xác nhận là dữ liệu tập hợp là hoàn toàn đúng Cho ví dụ, trường hợp khi dãy chứa nhửng byte hay mảng những byte mà có chiều daì lớn hơn chiều dài tối
đa cho phép của CPU.Tuy nhiên nếu bạn đòi hỏi đúng cho
Trang 7toàn bộ gói vòng GD, bạn phải thực hiện những thủ tục dưới đây
Disable hoặc làm trễ những khối ngắt ưu
tiên cao và lỗi đồng xảy ra bằng cách gọi hàm SFC39”DIS_DIS” hay
“SFC41”DIS_AIRT”
Gọi hàm SFC60”GD_SND”
Enable các khối ngắt ưu tiên cao hơn và lỗi
đồng bộ trở lại bằng cách gọi hàm SFC40”EN_IRT” hay SFC42”EN_AIRT” Thông số của hàm :
CIRCLE_ID :Số của những gói vòng GD cái
mà sẽ được gởi sẽ được nhập vào ở chân này Bạn phải nhận dạng gói dữ liệu này với S7 Cho phép giá trị từ 1 đến 16 Giá trị lớn nhất có thể của GD tuỳ vào từng loại CPU
BLOCK_ID :Số của những gói vòng GD
được gởi đi trong số vòng GD được chọn Số này được set liên lục trong suốt quá trình nhận dạng của chu kỳ GD bởi S 7.Giá trị
Trang 8cho phép là từ 1 đến 3 và giá trị lớn nhất tuỳ thộc vào từng loại CPU