PHẦN MỀM LẬP TRÌNH CHO PLC

Một phần của tài liệu Thiết kế hệ thống kiểm tra sản phẩm ứng dụng xử lý ảnh trong labview (Trang 39)

Trong đồ án này nhóm đã quyết định sử dụng phần mềm TIA Portal Version 14 của hãng Siemens. Phần mềm được thiết kế với giao diện thân thiện với người sử dụng, TIA Portal thích hợp cho cả những người mới lẫn những người nhiều kinh nghiệm trong lập trình tự động hóa. Là phần mềm cơ sở cho các phần mềm dùng để lập trình, cấu hình, tích họp các thiết bị trong dải sản phẩm Tích hợp tự động hóa toàn diện (TIA) của Siemens.

Là phần mềm thông minh và trực quan cấu hình phần cứng kỹ thuật và cấu hình mạng, lập trình, chẩn đoán và nhiều hơn nữa.

Lợi ích đối với người dùng:

- Trực quan : dễ dàng để tìm hiểu và dễ dàng để lập trình xử lý. - Hiệu quả : tốc độ về kỹ thuật

- Chức năng bảo vệ: Kiến trúc phần mềm tạo thành một cơ sở ổn định cho sự đổi mới trong tương lai.

Cách tạo một Project:

Bước 1: Từ màn hình Desktop nhấp đúp chọn biểu tượng Tia Portal V14

Hình 2. 19: Biểu tượng TIA Portal V14

Bước 2: Click chuột vào Create new project để tạo dự án mới

26

Bước 3: Nhập tên dự án vào Project name sau đó nhấn Create

Hình 2. 21: Nhập tên chương trình và đường dẫn lưu file

Bước 4 : Chọn Configure a device

Hình 2. 22: Chọn thiết bị cấu hình trên phần mềm

27

Hình 2. 23: Tạo thiết bị mới trên phần mềm

Bước 6: Chọn loại CPU PLC sau đó chọn Add

Hình 2. 24: Chọn CPU PLC trên phần mềm

28

Hình 2. 25: Giao diện viết chương trình 2.7. GIỚI THIỆU PHẦN MỀM LABVIEW

2.7.1. LabVIEW là gì?

LabVIEW (viết tắt của Laboratory Virtual Instrumentation Engineering Workbench) là môi trường ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênh giữa con người, thuật toán và các thiết bị xử lý.

Gọi LabVIEW là ngôn ngữ đồ họa hiệu quả vì về cách thức lập trình, LabVIEW khác với các ngôn ngữ C ở điểm thay vì sử dụng các từ vựng (từ khóa) cố định thì LabVIEW sử dụng các khối hình ảnh sinh động và các dây nối để tạo ra các lệnh và các hàm. Cũng chính sự khác biệt này mà LabVIEW trở nên đơn giản và dễ sử dụng hơn bao giờ hết. Đặc biệt, LabVIEW rất phù hợp đối với kỹ sư, các nhà khoa học hay giảng viên. Chính sự đơn giãn, dễ học, dễ nhớ đã giúp cho LabVIEW trở thành một trong những công cụ phổ biến trong các ứng dụng thu thập dữ liệu từ các cảm biến, phát triển các thuật toán, và điều khiển thiết bị tại các phòng thí nghiệm trên thế giới.

Về ý nghĩa kỹ thuật, LabVIEW cũng được dùng để lập trình ra các chương trình (source code : mã nguồn) trên máy tính tương tự các ngôn ngữ lập trình dựa trên chữ như C, Python, Java, Basic, v.v…

Đồng thời LabVIEW cũng hỗ trợ kỹ sư, các nhà khoa học, sinh viên, v.v… xây dựng (thực thi) các thuật toán một cách nhanh, gọn, sáng tạo và dễ hiểu nhờ các khối hình ảnh có tính gợi nhớ và cách thức hoạt động theo kiểu dòng dữ liệu (data flow) lần lượt từ

29

trái qua phải. Các thuật toán này sau đó được áp dụng lên các mạch điện và các cơ cấu chấp hành thực nhờ vào việc kết nối hệ thống thật với LabVIEW thông qua nhiều chuẩn giao tiếp RS232 (giao tiếp qua cổng COM), chuẩn USB, chuẩn giao tiếp mạng TCP/IP, UDP, chuẩn GPIB, v.v… Vì vậy LabVIEW là một ngôn ngữ giao tiếp đa kênh.

LabVIEW được tiến sĩ James Truchard, Đại học Taxas, Hoa Kỳ sáng tạo ra năm 1986, và đã trở thành công cụ không thể thiếu trong các ngành kỹ thuật, sản phẫm đầu tiên bắt đầu trong nhà xe của chủ tịch, CEO và đồng sáng lập NI – James Truchard ở Austin, Taxas Hoa Kỳ.

2.7.2. Các ứng dụng của LabVIEW

LabVIEW được sử dụng trong các lĩnh vực đo lường, tự động hóa, cơ điện tử, robotics, vật lý, toán học, sinh học, ô tô,… [6]

LabVIEW giúp kỹ sư kết nối với bất kỳ các cảm biến, và bất kỳ cơ cấu chấp hành nào với máy tính.

LabVIEW có thể được sử dụng để xử lý các kiểu dữ liệu như tín hiệu tương tự (analog), tín hiệu số (digital), hình ảnh (vision), âm thanh (audio),…

LabVIEW hỗ trợ các giao thức giao tiếp khác nhau như RS232, RS485, TCP/IP, PCI, PXI.

Bạn cũng có thể tạo ra các thực thi độc lập và các thư viện chia sẻ (ví dụ thư viện liên kết động DLL), bởi vì LabVIEW là một trình biên dịch 32- bit.

LabVIEW đã trở nên phổ biến ở các phòng thí nghiệm ở Nhật, Hàn, Mỹ , Đức, Anh,… Ứng dụng đo lường, trong Hình 4.20 là giao diện thu thập dữ liệu các thông tin cần thiết của tàu vũ trụ cỡ nhỏ tại cơ quan hàng không và vũ trụ NASA, Hoa Kỳ.

30

Hình 2. 26: Thu thâp dữ liệu tại cơ quan hàng không vũ trụ NASA 2.7.3. Cách tạo một Project

Bước 1: Từ màn hình Desktop nhấp đúp chọn biểu tượng LabVIEW

Hình 2. 27: Biểu tượng LabVIEW

Cửa sổ giao diện LabVIEW xuất hiện

Hình 2. 28: Cửa sổ giao diện LabVIEW

31

Hình 2. 29: Cửa sổ làm việc chính của LabVIEW 2.7.4. Cấu trúc của một chương trình LabVIEW

Trong LabVIEW, các nút nhấn được gọi là Control, LCD được gọi là Indicator. Các phép tính gọi là hàm (Funtion). Các Control và Indicator sẽ nằm ở cửa sổ chính (Front panel), và hàm nằm ở cửa sổ sau (Block diagram), còn gọi là cửa sổ chứa các sơ đồ khối.

Một chương trình LabVIEW dù đơn giản nhất hay phức tạp nhất cũng được tạo nên một cách rất đơn giản từ bốn thành phần cơ bản sau : các khối Control đóng vai trò input (giá trị nhập vào), các Indicator đóng vài trò Output (giá trị hiển thị, kết quả), các hàm và các đường nối (wire) các khối và hàm lại.

Hình 2. 30: Phép cộng trong LabVIEW

Các Control thì luôn nối vào các nút bên trái của hàm. Các Indicator thì luôn nối vào các nút bên trái của hàm như Hình 4.25.

32

Ta cũng dễ dàng nhận thấy, các Control thì có các nút mũi tên lên – xuống để tăng giảm giá trị (hoặc nhập trực tiếp vào ô Control). Các Indicator thì không thể nhập giá trị vào. Control thì có màu trắng, còn Indicator thì có màu xám.

Một Control có thể đổi thành Indicator (hoặc Costant) bằng cách nhấp Right Click lên Control cần đổi, chọn Change to Indicator hoặc ngược lại. Constant ở đây là một Control có giá trị không đổi suốt thời gian chạy chương trình.

Các Control và Indicator đều có ảnh của chính mình bên Block Diagram, ảnh này tạo ra khi ta lấy các Control và Indicator bên Front Panel.

Hình 2. 31: Control và Indicator bên Front Panel 2.8. GIAO TIẾP LABVIEW VỚI PLC

2.8.1. Truyền thông MODBUS TCP/ IP

Trong nền công nghiệp hiện nay, việc ứng dụng các mạng truyền thông trong việc quản lý, điều khiển và giám sát ngày càng phổ biến trong các nhà máy, xí nghiệp và các dây chuyền sản xuất. Để đáp ứng nhu cầu đó thì ngày càng có nhiều thiết bị điều khiển và cơ cấu chấp hành như PLC, biến tần, ... được tích hợp sẵn các giao thức truyền thông như: Profibus, Profinet, Can, Modbus, Zigbe, Simatic net, ... [11]

 Giới thiệu về Modbus:

MODBUS là một protocol phổ biến bậc nhất được sử dụng hiện nay cho nhiều mục đích. MODBUS đơn giản, rẻ, phổ biến và dễ sử dụng. Được phát minh từ thế kỉ trước

33

(gần 30 năm trước), các nhà cung cấp thiết bị đo và thiết bị tự động hóa trong công nghiệp tiếp tục hỗ trợ MODBUS trong các sản phẩm thế hệ mới. Mặc dù các bộ phân tích, lưu lượng kế, hay PLC đời mới có giao diện kết nối không dây, Ethernet hay fieldbus, MODBUS vẫn là protocol mà các nhà cung cấp lựa chọn cho các thiết bị thế hệ cũ và mới.

MODBUS do Modicon (hiện nay thuộc Schneider Electric) phát triển năm 1979, là một phương tiện truyền thông với nhiều thiết bị thông qua một cặp dây xoắn đơn. Ban đầu, nó hoạt động trên RS232, nhưng sau đó nó sử dụng cho cả RS485 để đạt tốc độ cao hơn, khoảng cách dài hơn, và mạng đa điểm (multi-drop). MODBUS đã nhanh chóng trở thành tiêu chuẩn thông dụng trong ngành tự động hóa, và Modicon đã cho ra mắt công chúng như một protocol miễn phí.

Ngày nay, MODBUS-IDA (www.MODBUS.org) , tổ chức sử dụng và cung cấp MODBUS lớn nhất tiếp tục hỗ trợ protocol MODBUS trên toàn cầu.

Ba phiên bản MODBUS phổ biến nhất được sử dụng ngày nay là: - MODBUS ASCII

- MODBUS RTU - MODBUS/TCP

Tất cả thông điệp được gửi dưới cùng một format. Sự khác nhau duy nhất giữa 3 loại MODBUS là cách thức thông điệp được mã hóa.

Với MODBUS ASCII, mọi thông điệp được mã hóa bằng hexadeci-mal, sử dụng đặc tính ASCII 4 bit. Đối với mỗi một byte thông tin, cần có 2 byte truyền thông, gấp đôi so với MODBUS RTU hay MODBUS/TCP.

Đối với MODBUS RTU, dữ liệu được mã hóa theo hệ nhị phân, và chỉ cần một byte truyền thông cho một byte dữ liệu. Đây là thiết bị lí tưởng đối với RS 232 hay mạng RS485 đa điểm, tốc độ từ 1200 đến 115 baud. Tốc độ phổ biến nhất là 9600 đến 19200 baud.

MODBUS/TCP đơn giản là MODBUS qua Ethernet. Thay vì sử dụng thiết bị này cho việc kết nối với các thiết bị tớ, do đó các địa chỉ IP được sử dụng. Với

34

MODBUS/TCP, dữ liệu MODBUS được tóm lược đơn giản trong một gói TCP/IP. Do đó, bất cứ mạng Ethernet hỗ trợ MODBUS/ IP sẽ ngay lập tức hỗ trợ MODBUS/TCP.

 Bản đồ bộ nhớ MODBUS

Mỗi thiết bị MODBUS có bộ nhớ chứa dữ liệu quá trình. Thông số kỹ thuật của MODBUS chỉ ra cách dữ liệu được gọi ra như thế nào, loại dữ liệu nào có thể được gọi ra. Tuy nhiên, không đặt ra giới hạn về cách thức và vị trí mà nhà cung cấp đặt dữ liệu trong bộ nhớ. Dưới đây là ví dụ về cách thức mà nhà cung cấp đặt các loại dữ liệu biến thiên quá trình hợp lí.

Các đầu vào và cuộn cảm rời rạc có giá trị 1 bit, mỗi một thiết bị lại có một địa chỉ cụ thể. Các đầu vào analog (bộ ghi đầu vào) được lưu trong bộ ghi 16 bit. Bằng cách sử dụng 2 bộ ghi này, MODBUS có thể hỗ trợ format điểm floating (nổi) IEEE 32 bit. Bộ ghi Holding cũng sử dụng các bộ ghi bên trong 16 bit hỗ trợ điểm floating.

Bảng 2. 3: Địa chỉ Modbus

Địa chỉ Loại Tên

1 - 9999 Đọc hoặc viết Cuộn cảm

10001 - 19999 Chỉ đọc Đầu vào rời rạc

30001 – 39999 Chỉ đọc Bộ ghi đầu vào

40001 – 49999 Đọc hoặc viết Bộ ghi Holding

Dữ liệu trong bộ nhớ được xác định trong thông số kỹ thuật MODBUS. Giả sử rằng nhà cung cấp tuân theo tiêu chuẩn kỹ thuật MODBUS (không phải tất cả), mọi dữ liệu có thể được truy cập dễ dàng bởi chủ, thiết bị tuân theo các thông số kỹ thuật. trong nhiều trường hợp, nhà cung cấp thiết bị công bố vị trí của bộ nhớ, tao điều kiện cho nhân viên lập trình dễ dàng để kết nối với thiết bị tớ.

Trong đồ án này nhóm đã quyết đinh chọn giao thức Modbus TCP là giao thức giao tiếp giữa PLC và LabVIEW.

TCP/IP là một hệ thống giao thức – một tập hợp các giao thức hỗ trợ việc lưu truyền trên mạng. Hai giao thức được dùng chủ yếu ở đây TCP (Transmission control protocol)

35

và IP ( Internet protocal) tức là cần phải có một giai đoạn thiết lập liên kết giữa một cặp thực thể TCP trước khi chúng thực hiện trao đổi dữ liệu.

Còn giao thức IP là một kiểu giao thức không kết nối (connectionless), nghĩa là không cần phải có giai đoạn thiết lập liên kết giữa một cặp thực thể nào đó trước khi trao đổi dữ liệu.

TCP có khả năng truyền và nhận dữ liệu cùng một lúc — song công (full-duplex). Cơ chế báo nhận (Acknowledgement): tức là khi A gửi gói tin cho B, nếu B nhận được thì sẽ gửi thông báo cho A, trường hợp A không nhận được thông báo thì sẽ gửi lại gói tin tới khi nào B báo nhận thì thôi.

Tính năng phục hồi dữ liệu bị mất trên đường truyền.

2.8.2. Hàm chức năng Modbus TCP MB_SERVER trong PLC S7-1200

PLC S7-1200 cung cấp cho người dùng các lệnh dùng cho chế độ truyền thông theo giao thức Modbus TCP. Các lệnh này nằm trong thư mục con theo đường dẫn: Options → Communication → Others → Modbus TCP → MB_SEVER [3].

Hình 2. 32: Khối chức năng MB_SERVER trong TIA Portal Bảng 2. 4: Ý nghĩa các thông số trong khối MB_SERVER

Tham số và kiểu Kiểu dữ

liệu Mô tả

DISCONNECT (input)

Bool Lệnh "MB_SERVER" nhập vào kết nối thụ động với mô-đun đối tác, có nghĩa là máy chủ đáp ứng yêu cầu kết nối TCP từ mỗi địa chỉ IP yêu cầu. Bạn

36

có thể sử dụng tham số này để kiểm soát khi yêu cầu kết nối được chấp nhận:

0: Kết nối thụ động được thiết lập khi không có kết nối liên lạc.

1: Ngắt kết nối. Bất cứ khi nào đầu vào được được kích hoạt, không có thao tác nào khác được thực thi. Giá trị 7003 là đầu ra ở tham số STATUS sau khi chấm dứt kết nối thành công

CONNECT_ID UINT Thông số CONNECT_ID phải xác định duy nhất mỗi kết nối trong PLC. Mỗi ví dụ duy nhất của MB_CLIENT hoặc MB_SERVER chỉ dẫn phải chứa một tham số CONNECT_ID duy nhất.

IP_PORT UINT Giá trị bắt đầu = 502. Số lượng cổng IP xác định cổng IP nào được giám sát cho các yêu cầu kết nối của máy khách Modbus.

Không được sử dụng các số cổng TCP sau cho kết nối thụ động của lệnh "MB_SERVER": 20, 21, 25, 80, 102, 123, 5001, 34962, 34963 và 34964.

MB_HOLD_REG VARIANT Con trỏ tới thanh ghi giữ Modbus của lệnh "MB_SERVER": Sử dụng khối dữ liệu global data với quyền truy cập chuẩn làm thanh ghi giữ. Thanh ghi giữ chứa các giá trị có thể được truy cập bởi máy khách Modbus bằng cách sử dụng các chức năng Modbus 3 (đọc), 6 (ghi) và 16 (đọc).

NDR BOOL "Dữ liệu mới đã sẵn sàng": 0: Không có dữ liệu mới

1: Dữ liệu mới được viết bởi máy chủ Modbus DR BOOL "Đọc dữ liệu":

0: Không đọc dữ liệu

1: Dữ liệu được đọc bởi máy chủ Modbus

ERROR BOOL Nếu xảy ra lỗi trong khi gọi lệnh "MB_SERVER", đầu ra của tham số ERROR được đặt thành TRUE. Thông tin chi tiết về nguyên nhân của sự cố được chỉ định bởi tham số STATUS.

STATUS WORD Mã lỗi.

37

Hình 2. 33: Các thông số được khai báo trong MB_SERVER

Vùng địa chỉ Modbus:

- Đọc và ghi dữ liệu 1-bit từ địa chỉ máy chủ Modbus (00001 đến 09999). - Đọc dữ liệu 1-bit từ địa chỉ máy chủ Modbus (10001 đến 19999).

- Đọc dữ liệu từ 16 bit từ địa chỉ máy chủ Modbus (30001 đến 39999) .

- Đọc và ghi dữ liệu từ 16 bit đến địa chỉ máy chủ Modbus (40001 đến 49999).

Bảng 2. 5: Bảng địa chỉ vùng nhớ Global

Địa chỉ Word PLC Địa chỉ Modbus Địa chỉ byte PLC

MW100 40001 MB100 – MB101 MW102 40002 MB102 – MB103 MW104 40003 MB104 – MB105 MW106 40004 MB106 – MB107 MW108 40005 MB108 – MB109 MW110 40006 MB110 – MB111 Cách tính địa chỉ vùng nhớ Modbus: Địa chỉ Modbus = MW 100 400001 2  

Ví dụ: địa chỉ Word PLC là MW198 chuyển sang vùng nhớ Modbus là: Địa chỉ Modbus = 192 100 400001

2

 

= 400050

Bảng 2. 6: Bảng địa chỉ vùng nhớ Input

38 I0.0 10001 I0.1 10002 I0.2 10003 I0.3 10004 I0.4 10005 I0.5 10006 I0.6 10007 I0.7 10008 Bảng 2. 7: Bảng địa chỉ vùng nhớ Output

Địa chỉ ngõ ra PLC Địa chỉ Modbus

Q0.0 00001 Q0.1 00002 Q0.2 00003 Q0.3 00004 Q0.4 00005 Q0.5 00006 Q0.6 00007 Q0.7 00008

39

CHƯƠNG 3 THIẾT KẾ HỆ THỐNG

3.1. GIỚI THIỆU

Mô hình thiết kế bao gồm băng tải vận chuyển sản phẩm, có 2 Camera để xử lý ảnh ở đầu vào. Đồng thời cảm biến quang được gắn trên băng tải để phân loại sản phẩm và gửi về máy tính thông qua phần mềm LabVIEW

Nguyên lý hoạt động: Khi có sản phẩm lỗi đi qua, 2 Camera sẽ nhận biết lỗi sản phẩm sau đó truyền tín hiệu đến khối xử lý để thực hiện tác vụ phân loại. Trong suốt quá trình

Một phần của tài liệu Thiết kế hệ thống kiểm tra sản phẩm ứng dụng xử lý ảnh trong labview (Trang 39)

Tải bản đầy đủ (PDF)

(101 trang)