Tong quan thiet bi s7 1200 CHUONG 5
ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Chƣơng Tập lệnh lập trình CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-1 ĐỒ ÁN HỌC PHẦN 2A 5.1 GVHD: ThS HỒNG ĐÌNH KHƠI Tập lệnh 5.1.1 Bit logic Các tiếp điểm ladder (LAD) Ta kết nối tiếp điểm với tạo mạch logic kết nối Nếu bit ngõ vào mà ta rõ sử dụng định danh I (ngõ vào) hay Q (ngõ ra), giá trị bit đọc từ ghi ảnh tiến trình Các tín hiệu tiếp điểm vật lý tiến trình điều khiển nối đến đầu cực I PLC CPU quét tín hiệu ngõ vào nối cập nhật liên tục giá trị tương ứng ghi ngõ vào ảnh tiến trình Ta ghi rõ kết tức thời ngõ vào vật lý cách sử dụng “:P” theo sau dịch chỉnh I (ví dụ: “%I3.4:P”) Đối với kết tức thời, giá trị liệu bit đọc cách trực tiếp từ ngõ vào vật lý thay từ ảnh tiến trình Một kết tức thời khơng cập nhật ảnh tiến trình Thơng số Kiểu liệu Miêu tả IN Bool Bit gán giá trị Tiếp điểm thường hở NO (Normally Open) đóng lại (ON) giá trị bit gán Tiếp điểm thường đóng NC (Normally Closed) đóng lại (ON) giá trị bit gán Các tiếp điểm nối nối tiếp tạo mạch logic AND Các tiếp điểm nối song song tạo mạch logic OR CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-2 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Các hộp FBD: AND, OR XOR Trong lập trình FBD, mạng tiếp điểm LAD chuyển đổi thành mạng dùng khối logic AND (&), OR (> = 1) OR loại trừ (XOR) mà ta rõ giá trị bit cho ngõ vào ngõ hộp Ta cịn kết nối đến hộp logic khác tạo tổ hợp liên hợp logic riêng Sau hộp đặt mạng, ta kéo cơng cụ “Insert binary input” từ công cụ “Favorites” hay từ lệnh sau thả lên phía đầu vào hộp để thêm nhiều ngõ vào Ta cịn nhấp chuột phải lên kết nối ngõ vào hộp chọn “Insert input” Các ngõ vào ngõ hộp kết nối đến hộp logic khác, hay ta nhập vào địa bit hay tên ký hiệu bit ngõ vào chưa kết nối Khi lệnh hộp thực thi, trạng thái ngõ vào áp dụng cho mạch logic hộp nhị phân ngõ hộp Thông số Kiểu liệu Miêu tả IN1, IN2 Bool Bit ngõ vào Tất ngõ vào hộp AND phải “TRUE” để ngõ “TRUE” Bất kỳ ngõ vào hộp OR phải “TRUE” để ngõ “TRUE” Một số lẻ ngõ vào hộp XOR phải “TRUE” để ngõ “TRUE” CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-3 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Bộ đảo logic NOT Đối với lập tình FBD, ta kéo cơng cụ “Negate binary input” từ công cụ “Favorites” hay từ lệnh sau thả lên ngõ vào hay ngõ để tạo đảo logic kết nối hộp Tiếp điểm NOT (LAD) chuyển đổi trạng thái logic đầu vào dịng tín hiệu Nếu khơng có dịng tín hiệu vào tiếp điểm NOT, có dịng tín hiệu Nếu có dịng tín hiệu vào tiếp điểm NOT, khơng có dịng tín hiệu Cuộn dây ngõ (LAD) Lệnh xuất cuộn dây ghi giá trị cho bit ngõ Nếu bit ngõ ta sử dụng định danh nhớ Q, sau CPU chuyển bit ngõ ghi ảnh tiến trình on off, thiết lập giá trị bit gán với trạng thái luồng tín hiệu Các tín hiệu ngõ cho cấu điều khiển nối đến đầu cực Q S7 – 1200 Trong chế độ RUN, hệ thống CPU quét cách liên tục tín hiệu ngõ vào, xử lý trạng thái ngõ vào theo chương trình logic, sau tác động trở lại cách thiết lập giá trị trạng thái ngõ ghi ngõ ảnh tiến trình Sau chu trình thực thi chương trình, hệ thống CPU chuyển phản ứng trạng thái ngõ lưu trữ ghi ảnh tiến trình đến đầu cực nối dây ngõ Ta xác định kết ghi tức thời ngõ vật lý cách sử dụng “:P” theo sau độ dịch chuyển Q (ví dụ “%Q3.4:P”) Đối với kết ghi tức CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-4 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI thời, giá trị liệu bit ghi đến ngõ ảnh tiến trình trực tiếp đến ngõ vật lý Thông số Kiểu liệu Miêu tả OUT Bool Bit gán giá trị Nếu có luồng tín hiệu chạy qua cuộn dây ngõ ra, bit ngõ đặt lên Nếu khơng có luồng tín hiệu chạy qua cuộn dây ngõ ra, bit ngõ đặt Nếu có luồng tín hiệu chạy qua cuộn dây ngõ đảo, bit ngõ đặt Nếu khơng có luồng tín hiệu chạy qua cuộn dây ngõ đảo, bit ngõ đặt lên Hộp gán ngõ (FBD) Trong lập trình FBD, cuộn dây LAD chuyển đổi thành hộp gán (= /=) mà ta định rõ địa bit cho hộp ngõ Các ngõ vào ngõ hộp kết nối với khối logic khác hay ta nhập vào địa bit Thơng số Kiểu liệu Miêu tả OUT Bool Bit gán giá trị Nếu tín hiệu vào hộp ngõ 1, bit OUT đặt lên Nếu tín hiệu vào hộp ngõ 0, bit OUT đặt Nếu tín hiệu vào hộp ngõ đảo 1, bit OUT đặt Nếu tín hiệu vào hộp ngõ đảo 0, bit OUT đặt lên CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-5 ĐỒ ÁN HỌC PHẦN 2A 5.1.1.1 GVHD: ThS HỒNG ĐÌNH KHÔI Các lệnh Set (đặt) Reset (đặt lại) S R: Set Reset bit Khi lệnh S (Set) kích hoạt, giá trị liệu địa OUT đặt lên Khi lệnh S khơng kích hoạt, ngõ OUT khơng bị thay đổi Khi lệnh R (Reset) kích hoạt, giá trị liệu địa OUT đặt Khi lệnh R khơng kích hoạt, ngõ OUT khơng bị thay đổi Những lệnh đặt vị trí mạch Thông số Kiểu liệu Miêu tả IN Bool Vị trí bit giám sát OUT Bool Vị trí bit đặt đặt lại SET_BF RESET_BF: Set Reset trƣờng bit Thông số Kiểu liệu n Constant OUT Phần tử mảng Boolean CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Miêu tả Số lượng bit để ghi Phần tử bắt đầu trường bit đặt hay đặt lại Ví dụ #MyArray[3] Trang 5-6 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Khi SET_BF kích hoạt, giá trị liệu gán cho “n” bit bắt đầu địa OUT Khi SET_BF khơng kích hoạt, địa OUT không bị thay đổi RESET_BF ghi giá trị liệu đến “n” bit bắt đầu địa OUT Khi RESET_BF không kích hoạt, địa OUT khơng bị thay đổi Những lệnh phải lệnh nằm bên phải nhánh RS SR: mạch chốt bit set trội reset trội RS mạch chốt set trội mà set chiếm ưu Nếu tín hiệu set (S1) reset (R) đúng, địa ngõ OUT SR mạch chốt reset trội mà reset chiếm ưu Nếu tín hiệu set (S) reset (R1) địa ngõ OUT Thông số OUT định rõ địa bit set hay reset Ngõ OUT tùy chọn (Q ) phản ánh trạng thái tín hiệu địa OUT Thơng số Kiểu liệu S, S1 Bool Ngõ vào set; số “1” biểu thị ưu R, R1 Bool Ngõ vào reset; số “1” biểu thị ưu OUT Bool Ngõ bit gán “OUT” Q Bool Trạng thái kèm theo bit “OUT” CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Miêu tả Trang 5-7 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI S1 R Bit “OUT” 0 Trạng thái kề trước 1 1 1 S R1 0 Trạng thái kề trước 1 1 Lệnh RS Bit “OUT” SR 5.1.1.2 Các lệnh ngưỡng dương âm Các dò độ dƣơng âm CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-8 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HOÀNG ĐÌNH KHƠI Thơng số Kiểu liệu Miêu tả M_BIT Bool Bit nhớ trạng thái kề trước ngõ vào lưu trữ IN Bool Bit ngõ vào mà ngưỡng độ dùng để phát OUT Bool Bit ngõ ra, cho biết ngưỡng độ phát CLK Bool Q Bool Luồng tín hiệu hay bit ngõ vào mà ngưỡng độ chúng dùng để phát Ngõ biểu thị ngưỡng phát Tiếp điểm P (LAD): trạng thái tiếp điểm “TRUE” độ dương (từ OFF sang ON) phát bit “IN” gán Trạng thái logic tiếp điểm sau kết hợp với dịng tín hiệu mạch để thiết lập trạng thái ngõ dịng tín hiệu Tiếp điểm P định vị vị trí mạch, ngoại trừ vị trí kết thúc nhánh Tiếp điểm N (LAD): trạng thái tiếp điểm “TRUE” độ âm (từ ON sang OFF) phát bit gán Trạng thái logic tiếp điểm sau kết hợp với dịng tín hiệu mạch để thiết lập trạng thái ngõ dịng tín hiệu Tiếp điểm N định vị vị trí mạch, ngoại trừ vị trí kết thúc nhánh Hộp P (FBD): trạng thái logic ngõ “TRUE” độ dương (từ OFF sang ON) phát bit ngõ vào gán Hộp P định vị vị trí bắt đầu nhánh Hộp N (FBD): trạng thái logic ngõ “TRUE” độ âm (từ ON sang OFF) phát bit ngõ vào gán Hộp N định vị vị trí bắt đầu nhánh Cuộn dây P (LAD): bit gán “OUT” “TRUE” độ dương (từ OFF sang ON) phát dịng tín hiệu vào cuộn dây Dịng tín hiệu mạch ln chạy xun qua cuộn dây, đóng vai trị trạng thái ngõ dịng tín hiệu Cuộn dây P định vị bât kỳ vị trí mạch CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-9 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Cuộn dây N (LAD): bit gán “OUT” “TRUE” độ âm (từ ON sang OFF) phát dịng tín hiệu vào cuộn dây Dịng tín hiệu mạch ln chạy xun qua cuộn dây, đóng vai trị trạng thái ngõ dịng tín hiệu Cuộn dây N định vị bât kỳ vị trí mạch Hộp P= (FBD): bit gán “OUT” “TRUE” độ dương (từ OFF sang ON) phát trạng thái logic kết nối ngõ vào hộp gán bit ngõ vào, hộp định vị điểm khởi đầu nhánh Trạng thái logic ngõ vào chạy xuyên qua hộp giống trạng thái logic ngõ Hộp P= định vị vị trí nhánh Hộp N= (FBD): bit gán “OUT” “TRUE” độ âm (từ ON sang OFF) phát trạng thái logic kết nối ngõ vào hộp gán bit ngõ vào, hộp định vị điểm khởi đầu nhánh Trạng thái logic ngõ vào chạy xuyên qua hộp giống trạng thái logic ngõ Hộp N= định vị vị trí nhánh P_TRIG (LAD/FBD): dịng tín hiệu ngõ Q trạng thái logic “TRUE” độ dương (từ OFF sang ON) phát trạng thái ngõ vào CLK (FBD) hay dịng tín hiệu CLK (LAD) Trong ngôn ngữ LAD, lệnh P_TRIG định vị vị trí khởi đầu hay kết thúc mạch Trong ngơn ngữ FBD, lệnh P_TRIG định vị vị trí nào, ngoại trừ vị trí cuối nhánh N_TRIG (LAD/FBD): dịng tín hiệu ngõ Q trạng thái logic “TRUE” độ âm (từ ON sang OFF) phát trạng thái ngõ vào CLK (FBD) hay dịng tín hiệu CLK (LAD) Trong ngơn ngữ LAD, lệnh N_TRIG định vị vị trí khởi đầu hay kết thúc mạch Trong ngơn ngữ FBD, lệnh N_TRIG định vị vị trí nào, ngoại trừ vị trí cuối nhánh Tất lệnh ngưỡng sử dụng bit nhớ (M_BIT) để lưu trữ trạng thái kề trước tín hiệu ngõ vào giám sát Một ngưỡng phát cách so sánh trạng thái tín hiệu ngõ vào với trạng thái bit nhớ Nếu trạng thái cho biết thay đổi tín hiệu theo hướng cần quan tâm sau CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-10 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Các kịch 11 12 thể tương ứng địa Modbus đến địa mảng Boolean Kịch 11: ghi bit ngõ địa Modbus 00001 Các ngõ Các giá trị ngõ vào phần phụ MB_MASTER thuộc trƣớc Dữ liệu DATA_PTR Các ngõ phần phụ thuộc 27 (ví dụ “Data”.Bool[0] = FALSE OFF 00002 ON “Data”.Bool[1] = TRUE ON 00003 OFF “Data”.Bool[2] = TRUE ON 00004 ON “Data”.Bool[3] = FALSE OFF ON “Data”.Bool[4] = FALSE ON OFF Không bị thay đổi 00007 ON Không bị thay đổi 00008 phụ ON 00006 phần 00001 00005 MB_ADDR ON Không bị thay đổi thuộc) MODE DATA_ADDR DATA_LEN DATA_PTR (Ghi) 00001 (các ngõ ra) “Data”.Bool CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-175 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHÔI Kịch 12: đọc 15 bit ngõ địa Modbus 00003 Các giá trị ngõ vào MB_MASTER Giá trị Modbus phụ thuộc Dữ liệu DATA_PTR sau MB_ADDR 27 (ví dụ phần phụ thuộc) 00001 ON MODE (Ghi) 00002 ON DATA_ADDR 00001 (các ngõ ra) 00003 OFF “Data”.Bool[0] = FALSE DATA_LEN 00004 ON “Data”.Bool[1] = TRUE 00005 ON “Data”.Bool[2] = TRUE 00006 OFF “Data”.Bool[3] = FALSE 00007 ON “Data”.Bool[4] = TRUE 00008 ON “Data”.Bool[5] = TRUE 00009 ON “Data”.Bool[6] = TRUE 00010 OFF “Data”.Bool[7] = FALSE 00011 OFF “Data”.Bool[8] = FALSE 00012 ON “Data”.Bool[9] = TRUE 00013 OFF “Data”.Bool[10] = FALSE 00014 ON “Data”.Bool[11] = TRUE 00015 OFF “Data”.Bool[12] = FALSE 00016 ON “Data”.Bool[13] = TRUE 00017 ON “Data”.Bool[14] = TRUE 00018 OFF 00019 ON DATA_PTR “Data”.Bool CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-176 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HOÀNG ĐÌNH KHƠI Các mã điều kiện Giá trị STATUS Miêu tả (W#16# ) 0000 80C8 Khơng có lỗi Hết thời gian chờ đáp ứng xác định (liên quan đến RCVTIME hay MSGTIME) Bộ nhận ban hành truy vấn điều khiển dòng để tạm ngưng truyền phát không cho phép trở lại truyền phát suốt thời 80D1 gian chờ xác định Lỗi sinh suốt điều khiển dịng phần cứng nhận khơng giữ vững CTS khoảng thời gian chờ xác định 80D2 Yêu cầu truyền phát bị bãi bỏ bì khơng có tín hiệu DSR nhận từ DCE 80E0 Thông điệp kết thúc đệm nhận đầy 80E1 Thông điệp kết thúc kết lỗi chẵn lẻ 80E2 Thông điệp kết thúc kết lỗi lập khung 80E3 Thông điệp kết thúc kết lỗi chạy mức 80E4 Thông điệp kết thúc kết độ dài xác định vượt kích thước đệm tổng 8180 Giá trị ID cổng không hợp lệ 8186 Địa trạm Modbus không hợp lệ 8188 Giá trị Mode không hợp lệ hay chế độ ghi để đọc vùng địa phụ thuộc 8189 Giá trị Data Address không hợp lệ 818A Giá trị Data Length không hợp lệ 818B 818C 8200 Con trỏ không hợp lệ đến nguồn/đích liệu nội vùng: kích cỡ khơng Con trỏ đến kiểu cho phép DB kiểu DATA_PTR (phải kiểu Classic DB) Cổng bận xử lý yêu cầu phát CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-177 ĐỒ ÁN HỌC PHẦN 2A 5.3.2.3 GVHD: ThS HỒNG ĐÌNH KHƠI MB_SLAVE Lệnh MB_SLAVE cho phép chương trình giao tiếp phần phụ thuộc Modbus sử dụng cổng module PtP CM 1241 RS485 hay CM 1241 RS232 Một phần chủ RTU Modbus ban hành u cầu sau chương trình đáp ứng qua việc thực thi MB_SLAVE Ta phải gán giá trị Instance Data Block đơn đặt lệnh MB_SLAVE chương trình Tên gọi Instance Data Block sử dụng ta xác định thông số MB_DB lệnh MB_COMM_LOAD Các mã hàm truyền thông Modbus (1, 2, 4, 15) đọc ghi bit từ trực tiếp PLC Input Process Image Output Process Image Bảng ánh xạ địa Modbus đến ý niệm tiến trình CPU Các chức Modbus MB_SLAVE Các mã Chức Vùng S7 – 1200 Phạm vi địa liệu Vùng liệu Địa CPU 01 Đọc bit Output Đến 8192 Output Process Image Q0.0 đến Q1023.7 02 Đọc bit Input 10001 Đến 18192 Input Process Image I0.0 đến I1023.7 04 Đọc từ Input 30001 Đến 30512 Input Process Image IW0 đến IW1022 05 Ghi bit Output Đến 8192 Output Process Image Q0.0 đến Q1023.7 15 Ghi bit Output Đến 8192 Output Process Image Q0.0 đến Q1023.7 Các mã hàm truyền thông Modbus (3, 6, 16) sử dụng khối liệu ghi giữ Modbus cách ly đơn mà ta phải tạo ra, trước ta định rõ thơng số MB_HOLD_REG lệnh MB_SLAVE Bảng sau thể ánh xạ ghi giữ Modbus đến địa MB_HOLD_REG PLC CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-178 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Các Chức Vùng mã liệu 03 06 16 Đọc Holding từ Vùng liệu Phạm vi địa CPU DB 40001 đến 49999 Địa CPU DB Các từ đến 9999 MB_HOLD_REG Register Ghi từ Ghi từ 400001 đến 465535 Holding 40001 đến 49999 Register 400001 đến 465535 Các từ đến 65535 Holding 40001 đến 49999 Các từ đến 9999 Register 400001 đến 465535 Các từ đến 65535 Các từ đến 9999 MB_HOLD_REG MB_HOLD_REG Các từ đến 65535 Bảng thể chức chẩn đoán Modbus hỗ trợ Các chức chẩn đoán Modbus MB_SLAVE S7 – 1200 Các mã Chức 08 0000H 08 000AH Miêu tả Phản hồi việc kiểm tra báo hiệu trở lại liệu truy vấn: MB_SLAVE báo hiệu trở lại đến phần chủ Modbus từ liệu nhận Xóa đếm kiện truyền thơng: MB_SLAVE xóa hết đếm kiện truyền thơng sử dụng hàm 11 Modbus Nhận đếm kiện truyền thông: MB_SLAVE sử dụng đếm kiện truyền thông nội dành cho việc ghi lại số lượng yêu cầu đọc 11 hay ghi Modbus thành công gửi đến phần phụ thuộc Modbus Bộ đếm không tăng lên Function 8, Function 11 hay yêu cầu phát rộng Nó cịn khơng tăng lên u cầu mà kết lỗi truyền thơng (ví dụ lỗi chẵn lẻ hay lỗi CRC) MB_SLAVE hỗ trợ yêu cầu ghi phát rộng từ phần chủ Modbus yêu cầu dành cho việc truy xuất vị trí hợp lệ Bất chấp tính có hiệu lực u cầu, MB_SLAVE khơng đưa đáp ứng đến phần chủ Modbus kết yêu cầu phát rộng CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-179 ĐỒ ÁN HỌC PHẦN 2A Thơng số MB_ADDR GVHD: ThS HỒNG ĐÌNH KHƠI Kiểu Kiểu thông số liệu IN USInt Miêu tả Địa RTU Modbus (1 đến 247): Địa trạm phần phụ thuộc Modbus Con trỏ đến DB Holding Register Modbus DB MB_HOLD_REG IN Variant Holding Register phải DB kiểu cổ điển tổng thể Xem phần lưu ý MB_HOLD_REG phía Dữ liệu sẵn sàng: NDR OUT Bool – khơng có liệu – chứng tỏ liệu vừa ghi phần chủ Modbus Dữ liệu đọc: DR OUT Bool – khơng có liệu đọc – chứng tỏ liệu vừa đọc phần chủ Modbus Lỗi: ERROR OUT Bool – khơng có lỗi phát – chứng tỏ lỗi phát mã lỗi cung cấp thông số STATUS hợp lệ STATUS OUT Word Mã lỗi Các quy tắc truyền thông phần phụ thuộc Modbus MB_COMM_LOAD phải thực thi để cấu hình cổng, trước lệnh MB_SLAVE giao tiếp với cổng CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-180 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Nếu cổng để đáp ứng phần phụ thuộc đến phần chủ Modbus, cổng khơng thể sử dụng MB_MASTER Chỉ có đối tượng thực thi MB_SLAVE sử dụng với cổng cho Các lệnh Modbus không sử dụng kiện ngắt truyền thơng để điều khiển q trình truyền thơng Chương trình phải điều khiển q trình truyền thơng việc kiểm tra vòng lệnh MB_SLAVE cho điều kiện hoàn chỉnh phát nhận MB_SLAVE phải thực thi cách định kỳ tốc độ cho phép tạo đáp ứng lúc yêu cầu vào từ phần chủ Modbus Ta nên gọi lệnh MB_SLAVE chu trình quét từ OB chu kỳ chương trình Hoạt động MB_SLAVE phải thực thi cách định kỳ để nhận yêu cầu từ phần chủ Modbus sau đáp ứng yêu cầu Tần số việc thực thi MB_SLAVE phụ thuộc theo chu kỳ hết thời gian chờ đáp ứng phần chủ Modbus Điều minh họa biểu đồ sau Chu kỳ hết thời gian chờ đáp ứng lượng thời gian mà phần chủ Modbus chờ đợi bắt đầu đáp ứng từ phần phụ thuộc Modbus Chu kỳ thời gian không xác định giao thức Modbus, thơng số phần chủ Modbus Tần số việc thực thi (thời gian thực thi với thực thi kế tiếp) MB_SLAVE phải dựa thông số riêng phần chủ Modbus ta Ít nhất, ta nên thực thi MB_SLAVE hai lần bên chu kỳ hết thời gian chờ đáp ứng phần chủ Modbus CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-181 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Các ví dụ thông số MB_HOLD_REG MB_HOLD_REG trỏ đến khối liệu (Data Block) Modbus Holding Register DB sử dụng để giữ giá trị liệu mà phần chủ Modbus cho phép để truy xuất (đọc hay ghi) Ta phải tạo khối liệu gán cấu trúc kiểu liệu mà đọc hay ghi, trước sử dụng với lệnh MB_SLAVE Lƣu ý Khối liệu Modbus Holding Register phải tham chiếu khối liệu tổng thể đƣợc tạo với hộp thuộc tính Symbolic Access Only không đƣợc đánh dấu Ta phải không đánh dấu vào hộp “Symbolic Access Only” ta thêm vào khối liệu để tạo kiểu DB tổng thể cổ điển Các ghi giữ sử dụng cấu trúc liệu DB sau: Mảng tiêu chuẩn từ Cấu trúc từ đặt tên Cấu trúc phức hợp đặt tên Các ví dụ chương tình sau thể cách sử dụng thông số MB_HOLD_REG để điều khiển cấu trúc liệu DB Ví dụ – mảng tiêu chuẩn từ Thanh ghi giữ ví dụ mảng gồm từ Các phép gán kiểu liệu thay đổi sang kiểu kích thước từ khác (Int UInt) Thuận lợi: Kiểu cấu trúc ghi giữ nhanh đơn giản để tạo Logic chương trình để truy xuất phần tử liệu đơn giản Bất lợi: CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-182 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Mặc dù ta tham chiếu cách theo chương trình phần tử mảng tên ký hiệu (từ “HR_DB”.”Array”[1] đến “HR_DB”.”Array”[10]), tên gọi không miêu tả chức bên liệu Mảng bao gồm kiểu liệu Việc chuyển đổi cần thiết chương trình người dùng với điều khiển kiểu cứng Đây cách thức mà mảng gồm nhiều từ xuất trình soạn thảo khối liệu: Hình ảnh thể cách thức mảng gán giá trị đến ngõ vào MB_HOLD_REG lệnh MB_SLAVE Mỗi phần tử mảng truy xuất tên ký hiệu, thể phía Trong ví dụ này, giá trị di chuyển vào phần tử thứ hai mảng tương ứng với địa Modbus 40002 CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-183 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Mỗi từ từ mảng, xác định khối liệu, cung cấp lệnh MB_SLAVE với địa ghi giữ Modbus Trong trường hợp này, có 10 phần tử mảng nên có 10 địa ghi có sẵn sử dụng lệnh MB_SLAVE truy xuất phần chủ Modbus Sự tương quan tên gọi phần tử mảng địa Modbus thể đây: “HR_DB”.Array[1] Địa Modbus 40001 “HR_DB”.Array[2] Địa Modbus 40002 “HR_DB”.Array[3] Địa Modbus 40003 … … “HR_DB”.Array[9] Địa Modbus 40009 “HR_DB”.Array[10] Địa Modbus 40010 Ví dụ – Cấu trúc từ đƣợc đặt tên Thanh ghi giữ ví dụ chuỗi từ với tên ký hiệu miêu tả Thuận lợi: Mỗi phần tử cấu trúc có tên miêu tả với kiểu liệu xác định gán đến Bất lợi: Để tạo kiểu cấu trúc phải nhiều thời gian so với mảng tiêu chuẩn gồm nhiều từ Các phần tử đòi hỏi việc tham chiếu ký hiệu bổ sung sử dụng chương trình người dùng Trong phần tử mảng đơn tham chiếu “HR_DB”.Array[0] phần tử kiểu tham chiếu “HR_DB”.Data>Temp[1] CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-184 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Sau cách thức cấu trúc từ đặt tên xuất trình soạn thảo khối liệu Mỗi phần tử có tên đơn kiểu Word, UInt hay Int Hình ảnh thể cách mà cấu trúc liệu gán giá trị đến ngõ vào MB_HOLD_REG lệnh MB_SLAVE chương trình Mỗi phần tử mảng truy xuất tên ký hiệu thể Trong ví dụ này, giá trị di chuyển vào phần tử thứ hai mảng tương ứng với địa Modbus 40002 Phép đối xạ tên phần tử liệu địa Modbus thể đây: “HR_DB”.Data.Temp_1 Địa Modbus 40001 “HR_DB”.Data.Temp_2 Địa Modbus 40002 CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-185 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI “HR_DB”.Data.Temp_3 Địa Modbus 40003 “HR_DB”.Data.Good_Count Địa Modbus 40004 “HR_DB”.Data.Bad_Count Địa Modbus 40005 “HR_DB”.Data.Rework_Count Địa Modbus 40006 “HR_DB”.Data.Line_Stops Địa Modbus 40007 “HR_DB”.Data.Avg_Time Địa Modbus 40008 “HR_DB”.Data.Code_1 Địa Modbus 40009 “HR_DB”.Data.Code_2 Địa Modbus 40010 Ví dụ – Cấu trúc phức hợp đƣợc đặt tên Thanh ghi giữ ví dụ chuỗi kiểu liệu hòa trộn với tên ký hiệu miêu tả Thuận lợi: Mỗi phần tử cấu trúc có tên miêu tả với kiểu liệu xác định gán cho Nó cho phép chuyển tải trực tiếp kiểu liệu không dựa từ Bất lợi: Để tạo kiểu cấu trúc phải nhiều thời gian so với mảng tiêu chuẩn gồm nhiều từ Phần chủ Modbus cần cấu hình để nhận liệu nhận từ phần phụ thuộc Modbus Như thể hình ảnh phía dưới, Temp_1 giá trị thực byte Phần chủ đóng vai trị nhận cần phải có khả lắp ghép từ nhận trở lại vào giá trị thực mong đợi Các phần tử đòi hỏi việc tham chiếu ký hiệu bổ sung chương trình ta Trong phần tử mảng đơn tham chiếu “HR_DB”.Array[0] phần tử kiểu liệu lại tham chiếu “HR_DB”.Data.Temp_1 CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-186 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI Đây cách thức mà cấu trúc phức hợp đặt tên xuất trình soạn thảo khối liệu Mỗi phần tử có tên đơn với nhiều kích thước nhiều kiểu liệu: Phép đối xạ tên phần tử liệu địa Modbus thể đây: “HR_DB”.Data.Temp_1 Địa Modbus 40001 40002 “HR_DB”.Data.Temp_2 Địa Modbus 40003 40004 “HR_DB”.Data.Good_Count Địa Modbus 40005 40006 “HR_DB”.Data.Bad_Count Địa Modbus 40007 40008 “HR_DB”.Data.Rework_Count Địa Modbus 40009 40010 “HR_DB”.Data.Line_Stops Địa Modbus 40011 “HR_DB”.Data.Avg_Time Địa Modbus 40012 “HR_DB”.Data.Long_Code Địa Modbus 40013 40014 “HR_DB”.Data.Code_1 Địa Modbus 40015 “HR_DB”.Data.Code_2 Địa Modbus 40016 Một kiểu vận hành CPU S7 – 1200 khác giống phần chủ Modbus sử dụng lệnh MB_MASTER cấu trúc liệu đồng để nhận khối liệu từ kiểu vận hành CPU S7 – 1200 giống phần phụ thuộc Modbus Lệnh phần chủ Modbus chép tất 16 từ liệu cách trực tiếp từ khối liệu CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-187 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI HR_DB phần phụ thuộc vào khối liệu Process Data phần chủ, thể đây: Một chuỗi vị trí khối liệu DATA_PTR phần chủ Modbus sử dụng để truyền phát cấu trúc giống hay khác từ nhiều phần phụ thuộc Modbus Các mã điều kiện Giá trị STATUS Miêu tả (W#16# ) 80C8 Hết thời gian chờ đáp ứng xác định (liên quan đến RCVTIME hay MSGTIME) Bộ nhận ban hành truy vấn điều khiển dòng để tạm ngưng truyền phát hoạt động không cho phép trở lại truyền phát suốt thời 80D1 gian chờ xác định Lỗi sinh suốt điều khiển dịng phần cứng nhận khơng giữ vững CTS khoảng thời gian chờ xác định 80D2 80E0 Yêu cầu truyền phát bị bãi bỏ bì khơng có tín hiệu DSR nhận từ DCE Thông điệp kết thúc đệm nhận đầy CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5-188 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HỒNG ĐÌNH KHƠI 80E1 Thông điệp kết thúc kết lỗi chẵn lẻ 80E2 Thông điệp kết thúc kết lỗi lập khung 80E3 Thông điệp kết thúc kết lỗi chạy mức 80E4 Thông điệp kết thúc kết độ dài xác định vượt kích thước đệm tổng 8180 Giá trị ID cổng không hợp lệ 8186 Địa trạm Modbus không hợp lệ 8187 Con trỏ không hợp lệ đến MB_HOLD_REG 818C Con trỏ đến kiểu cho phép DB kiểu DATA_PTR (phải kiểu Classic DB) Giá trị STATUS Miêu tả (W#16# ) Mã đáp ứng gửi đến phần chủ Modbus (B#16# ) 8380 Không đáp ứng Lỗi CRC 8381 01 Mã hàm không hỗ trợ 8382 Không đáp ứng Lỗi độ dài liệu 8383 02 Lỗi địa liệu 8384 03 Lỗi giá trị liệu 8385 03 CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Giá trị mã chẩn đốn liệu không hỗ trợ (mã hàm 08) Trang 5-189 ... CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5- 15 ĐỒ ÁN HỌC PHẦN 2A CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH GVHD: ThS HỒNG ĐÌNH KHƠI Trang 5- 16 ĐỒ ÁN HỌC PHẦN 2A GVHD: ThS HOÀNG ĐÌNH KHƠI 5. 1.3 Các đếm (Counter) 5. 1.3.1... MB1 MB4 MB5 12 34 34 12 Word MSB LSB MSB LSB Địa MB0 MB MB2 MB3 MB4 MB5 MB6 MB7 12 34 56 78 78 56 34 12 LSB MSB W#16#1234 DW#16#123 456 78 DWord MSB CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH LSB Trang 5- 48 ĐỒ... vào hộp ngõ đảo 0, bit OUT đặt lên CHƢƠNG 5: TẬP LỆNH LẬP TRÌNH Trang 5- 5 ĐỒ ÁN HỌC PHẦN 2A 5. 1.1.1 GVHD: ThS HỒNG ĐÌNH KHƠI Các lệnh Set (đặt) Reset (đặt lại) S R: Set Reset bit Khi lệnh S (Set)