Phần mềm giao diện lập trình ứng dụng

Phần mềm giao diện lập trình ứng dụng
   Để các chương trình ứng dụng có thể sử dụng các dịch vụ mạng, lớp phần mềm giao diện ứng dụng có thể được thực hiện thông qua các hình thức phần mềm thư viện hoặc server.
Thư viện lập trình phổ thông
   Các ngôn ngữ lập trình bậc cao thường được sử dụng trên nền máy tính cá nhân hoặc điều khiển nhúng, vì thế rất nhiều phần mềm giao diện ứng dụng được cung cấp dưới dạng thư viện lập trình phổ thông, đặc biệt là cho ngôn ngữ C/C++. Bên cạnh việc định nghĩa một số cấu trúc dữ liệu, các thư viện dưới dạng này cung cấp một tập hợp các hàm hoặc lớp để khai thác các dịch vụ mạng như trao đổi dữ liệu, xác định và thiết lập cấu hình. Một số nhà sản xuất còn cung cấp cả mã nguồn ANSI-C để có thể dịch trên nhiều vi xử lý khác nhau.
   Việc sử dụng các thư viện lập trình phổ thông thường gặp một khó khăn lớn. Đó là sự phụ thuộc không những vào các dịch vụ của một mạng cụ thể, mà còn vào cách xây dựng thư viện của nhà cung cấp sản phẩm. Điều đó có nghĩa là, đối với các mạng khác nhau hay thậm chí với cùng một loại mạng, người sử dụng cũng sẽ không có một thư viện lập trình thống nhất. Vì thế, việc tuân theo một chuẩn giao tiếp như MMS (Manufacturing Message Specification) sẽ góp phần giảm bớt sự không thống nhất này
Thư viện hàm hoặc khối chức năng chuyên dụng 
    Lập trình sử dụng hàm và khối chức năng là phương pháp phổ biến trong phát triển các phần mềm điều khiển. Vì thế, các nhà sản xuất PLC hoặc các bộ điều khiển khác (ví dụ trong một hệ DCS) thường cung cấp một số hàm và khối chức năng giao tiếp để có thể sử dụng tích hợp trong môi trường lập trình. Các hàm/khối chức năng này có thể có giao diện theo một chuẩn quốc tế, hoặc do riêng hãng tự đặt. Ví dụ, mô hình giao tiếp và một tập hợp các khối chức năng giao tiếp theo chuẩn IEC 61131-5 có thể tìm thấy nguyên bản hoặc biến thể trong hầu hết các công cụ lập trình cho PLC. Chuẩn 61131-5 sẽ được giới thiệu khái quát trong chương 5 của bài giảng này.
Công nghệ đối tượng thành phần 
    Một đối tượng thành phần được có thể thực hiện thông qua một thư viện liên kết động, ví dụ DLL (Dynamic Link Library) hoặc một chương trình server, cho phép sử dụng bằng nhiều ngôn ngữ lập trình khác nhau. Tốt hơn nữa là nếu các đối tượng thành phần này được thực hiện theo một mô hình chuẩn quốc tế hay chuẩn công nghiệp. Hai mô hình đối tượng thành phần cho các ứng dụng phân tán được sử dụng rộng rãi nhất hiện nay là CORBA (Common Object Request Broker Architecture) chuẩn hóa quốc tế bởi tổ chức OMG (Object Management Group) và chuẩn Microsoft DCOM (Distributed Component Object Model). OPC chính là một chuẩn công nghiệp dựa trên mô hình DCOM và có ý nghĩa quan trọng hơn cả trong lĩnh vực tự động hóa công nghiệp, sẽ được đề cập chi tiết hơn ở chương 5.