Phần mềm được sử dụng để điều khiển chuyển động của thiết bị, máy móc hoặc dây chuyền và để thu thập dữ liệu về các hoạt động của nó. Phần mềm cũng được sử dụng để thiết kế và lập thông tin cho các hệ thống tự động. Cũng như phần cứng, có rất nhiều nhà cung cấp phần mềm tự động hóa.
Các nhà sản xuất phần cứng điều khiển thường cũng cung cấp phần mềm để lập trình hệ thống của họ. Điều này thường khá tốn kém vì nhà sản xuất phần cứng thường độc quyền về phần mềm nên khách hàng sẽ bị lệ thuộc.
Phần mềm thiết kế có thể là độc quyền và dành riêng cho máy móc hoặc là một gói mục đích chung được sử dụng cho các ứng dụng khác. CAD và các gói phần mềm trực quan hóa khác, được thảo luận trong
thường được sử dụng để thiết kế vật lý máy móc và điều khiển.
Phần mềm phân tích được sử dụng để xác định xem một giải pháp có hoạt động hay không trước khi thực sự triển khai hoặc để tính toán toán học các thông số cho các hệ thống cơ khí. Phần mềm đôi khi được kết hợp với phần mềm thiết kế, chẳng hạn như mô hình ba chiều hoặc được cung cấp như một phụ kiện cho các sản phẩm, chẳng hạn như hệ thống servo hoặc rô bốt.
1 Phần mềm lập trình
Bộ điều khiển, OIT, máy tính, hệ thống chuyển động, rô-bốt và mọi loại thiết bị tự động hóa phức tạp khác đều sử dụng phần mềm lập trình để cấu hình thiết bị mục tiêu hoạt động theo một ứng dụng nhất định. Ngôn ngữ lập trình thay đổi từ ngôn ngữ lập trình chuẩn như BASIC, C hoặc logic bậc thang đến ngôn ngữ tùy chỉnh riêng của nhà cung cấp. Ngay cả các ngôn ngữ chuẩn cũng có nhiều tùy chọn theo gói nhà cung cấp khác nhau. Các gói lập trình PLC đều có thể sử dụng logic bậc thang làm cơ sở, nhưng mỗi nhà sản xuất đã phát triển giao diện và cấu trúc biên dịch riêng của họ.
Phần mềm giao diện người vận hành thường có bản chất là đồ họa.
Các nút, giá trị cài đặt và chỉ báo được vẽ trên màn hình bằng các công cụ chuẩn như chuột và bàn phím. Các mục này được gán địa chỉ bit hoặc từ trong bộ điều khiển để nhập hoặc phản hồi.
Có thể kích hoạt tin nhắn văn bản bật lên từ bộ điều khiển để hiển thị trạng thái máy và các bộ phận đang hoạt động của máy hoặc hệ thống có thể được hoạt hình hóa để mô phỏng chuyển động hoặc trạng thái của bộ truyền động. Giao diện của người vận hành có thể khá phức tạp do bị giới hạn bởi trí tưởng tượng của người lập trình và thông tin có thể trao đổi với bộ điều khiển.
Phần mềm lập trình rô-bốt thường có dạng ngôn ngữ lập trình cổ điển BASIC hoặc Fortran.
Thường có nhiều mô-đun hoặc phần mã liên quan đến các trang, chẳng hạn như điểm, quỹ đạo di chuyển, logic và I/O. Một số phần lập trình được thực hiện kết hợp với “tay cầm học lệnh” được gắn vào bộ điều khiển rô-bốt. Điều này cho phép rô-bốt di chuyển đến một điểm bằng cách điều khiển các trục riêng biệt hoặc sử dụng tọa độ thế giới thực. Sau đó, vị trí có thể được “dạy” hoặc nhập vào danh sách điểm tọa độ của rô-bốt.
Các trục servo riêng lẻ hoặc nhiều trục thường được lập trình độc lập với bộ điều khiển chính của máy. Điều này là do các servo phải phản ứng nhanh với các tác động bên ngoài, chẳng hạn như một trục không ở
điểm mà nó được lệnh di chuyển. Bộ điều khiển liên tục theo dõi chuyển động của các servo để đảm bảo không có sai lệch so với chuyển động dự kiến. Việc lập trình servo thường được thực hiện
bằng phần mềm của nhà sản xuất cụ thể và thường bao gồm cài đặt cấu hình cho các chuyển động và tốc độ được lập trình sẵn,thông báo lỗi và các thông số chuyển động khác. Bộ điều khiển servo thường
được liên kết chặt chẽ với bộ điều khiển chính. Bộ điều khiển thường có các thẻ chuyển động chuyên dụng trong cụm I/O của chúng để thực hiện điều khiển chuyển động cục bộ. Đôi khi, chúng có thể được cấu hình hoặc lập trình bằng cách kết nối với bộ điều khiển chính.
Các chương trình thường phải được biên dịch trước khi tải xuống bộ điều khiển. Thường có thể lập trình trực tuyến hoặc theo thời gian thực, nhưng chương trình vẫn thường được chuyển đổi thành “ngôn ngữ máy” cấp thấp hơn, hoạt động hiệu quả hơn so với ngôn ngữ đồ họa và thân thiện với người dùng.
2 Các khái niệm lập trình
Lập trình bao gồm toàn bộ quá trình thiết kế, mã hóa, gỡ lỗi và bảo trì phần mềm. Một chương trình máy tính là một loạt các hướng dẫn yêu cầu máy tính hoặc bộ vi xử lý thực hiện một số nhiệm vụ nhất định. Trong lĩnh vực tự động hóa, bộ xử lý của các hướng dẫn này có thể là bộ điều khiển, chẳng hạn như PLC, DCS, bộ xử lý nhúng hoặc bộ điều khiển rô bốt. Máy tính cũng có thể thực hiện các lệnh để thu thập và hiển thị dữ liệu, các hoạt động cơ sở dữ liệu hoặc các chức năng điều khiển. Các chương trình có thể được viết bằng ngôn ngữ cấp thấp, dành riêng cho máy hoặc bằng ngôn ngữ cấp cao, độc lập với máy. Trong tự động hóa, đầu vào và đầu ra được biểu diễn bằng các giá trị kỹ thuật số của “Bật” và “Tắt”, Đúng hoặc Sai hoặc 1 và 0. Các câu lệnh có điều kiện như “Nếu”, “Thì”, “Nếu không”, “Và” và “Hoặc” được sử dụng kết hợp với các biến để tạo ra các câu lệnh tạo ra kết quả mong muốn. Biến là tên có thể biểu diễn I/O vật lý, giá trị dữ liệu ở dạng chuỗi, số hoặc boolean hoặc dữ liệu nội bộ. Biến có thể chỉ đơn giản là một chữ cái, như trong câu lệnh “IF X AND Y, IF Z,” hoặc chúng có thể mang tính mô tả hơn, chẳng hạn như trong “IF Motor_On AND Button_Pressed, THEN Conveyor_On.” Các biến mô tả, như các biến được nêu trong câu trước, được gọi là thẻ. Trong bộ điều khiển chuyên dụng, chẳng hạn như PLC hoặc DCS, thường có các thanh ghi dành riêng cho các loại dữ liệu khác nhau. Sau đó, các thẻ có thể biểu diễn các loại dữ liệu khác nhau, chẳng hạn như bit, số nguyên, dấu phẩy động hoặc THỰC, bộ hẹn giờ và bộ đếm. Một số nền tảng PLC cho phép người lập trình chọn thanh ghi nào được sử dụng cho loại dữ liệu và kích thước bộ nhớ tương ứng.
Biểu diễn của chương trình có thể dựa trên văn bản, sử dụng các ký tự chữ và số hoặc bản chất là đồ họa. Logic bậc thang, được sử dụng trong lập trình PLC, sử dụng biểu diễn của các thành phần điện,
như tiếp điểm và cuộn dây. Một số phần mềm sử dụng các khối tương tự như biểu đồ để lập trình. Mã bên trong các khối này có thể có hình thức khác, chẳng hạn như logic văn bản hoặc logic bậc thang. HMI và các chương trình trực quan khác có biểu diễn đồ họa của màn hình sẽ được hiển thị cho người dùng. Các đối tượng trên màn hình đó được cấu hình bằng cách nhập thẻ hoặc biến được gán trên giao diện. Các hàm logic đôi khi được nhúng vào các đối tượng để thực thi khi chúng được người dùng kích hoạt.
ều
Bất kể nền tảng phát triển phần mềm nào, chương trình cuối cùng phải đáp ứng một số yêu cầu cơ bản bao gồm.
Chương trình phải đáng tin cậy. Các thuật toán phải tạo ra kết quả chính xác; các tài nguyên, chẳng hạn như bộ đệm và kích thước phân bổ dữ liệu; phải được sử dụng đúng cách; và không được có lỗi logic. Chương trình cũng phải mạnh mẽ; chương trình phải dự đoán được các vấn đề không phải do lỗi lập trình, chẳng hạn như dữ liệu nhập không chính xác và dữ liệu bị thiếu. Chương trình phải có thể sử dụng được; các thành phần văn bản, đồ họa và thậm chí cả phần cứng phải cải thiện tính rõ ràng, trực quan và đầy đủ của giao diện người dùng. Nếu có thể, chương trình phải có tính di động; phần mềm phải có thể chạy trên tất cả các phần cứng và hệ điều hành mà chương trình được thiết kế. Một số chương trình phát triển phần mềm chỉ hoạt động cho phần cứng độc quyền của nhà sản xuất. Chương trình phải bảo trì được; các nhà phát triển hiện tại hoặc tương lai phải có thể dễ dàng sửa đổi mã để cải thiện hoặc tùy chỉnh, sửa lỗi hoặc điều chỉnh mã cho phù hợp với môi trường mới. Các thông lệ và tài liệu tốt trong quá trình phát triển ban đầu giúp ích cho vấn đề này. Cuối cùng, một chương trình phải hiệu quả; mã phải tiêu thụ càng ít tài nguyên càng tốt. Cần loại bỏ rò rỉ bộ nhớ và xóa mã không sử dụng.