Ngôn ngữ lập trình PLC

Đánh giá

Ngôn ngữ lập trình PLC

1. Ngôn ngữ lập trình PLC LAD (Ladder Diagram)

Ngôn ngữ lập trình PLC LD / LAD
  • Ladder Logic còn được biết đến với nhiều tên gọi khác như: sơ đồ bậc thang (ladder diagram “LD”) hay LAD và là một ngôn ngữ lập trình được sử dụng để lập trình PLC. Nó là một ngôn ngữ PLC đồ họa nhằm thể hiện các hoạt động logic với ký hiệu tượng trưng. Ladder Logic được tạo ra từ các nấc thang logic, tạo thành thứ trông giống như một cái thang, do đó có tên là “Ladder Logic” hay sơ đồ bậc thang.
  • Ladder Logic “LAD” không chỉ là một ngôn ngữ lập trình cho PLC. Nó là một trong những ngôn ngữ PLC được tiêu chuẩn hóa. Điều này đơn giản có nghĩa là Ladder Logic đã được mô tả theo một tiêu chuẩn. Tiêu chuẩn đó được gọi là IEC 61131-3.

1-1. Ưu điểm

  • LAD với cấu trúc bậc thang dễ sắp xếp, tổ chức và tiện theo dõi
  • Cho phép ghi chú thích
  • Hỗ trợ chỉnh sửa online

1-2. Nhược điểm

  • Một số lập trình chức năng không có sẵn, đặc biệt là khó khăn trong việc lập trình chyển động hoặc phân luồng
  • Một số hãng sản xuất PLC hỗ trợ ngôn ngữ lập trình LAD (hầu hết các hãng PLC đều hỗ trợ ngôn ngữ này) như: AB, Mitsubishi, B&R, Siemens, Unitronics, Schneider,..

2. Ngôn ngữ lập trình PLC FBD (Function Block Diagram)

Ngôn ngữ lập trình PLC FB / FBD
  • FBD là từ viết tắt của “Function Block Diagram” tạm dịch là “Sơ đồ khối chức năng”. Là một trong những ngôn ngữ PLC được sử dụng rộng rãi. FBD là một ngôn ngữ lập trình rất dễ học. Cung cấp rất nhiều khả năng và chúng ta có thể sử dụng ngôn ngữ FBD này để lập trình cho bất kỳ chức năng nào trong một chương trình PLC.
  • FBD là ngôn ngữ PLC chính thức được mô tả theo tiêu chuẩn IEC 61131-3 và là ngôn ngữ cơ bản cho tất cả các lập trình viên PLC. FBD là một ngôn ngữ tuyệt vời để triển khai mọi thứ từ logic đến timer, bộ điều khiển PID và thậm chí là hệ thống SCADA.

2-1. Ưu điểm

  • Hoạt động tốt với các chức năng điều khiển chuyển động
  • Trực quan và dễ dàng hơn đối với một số người dùng
  • Có thể gộp nhiều dòng lập trình thành một khối hoặc một số khối chức năng

2-2. Ưu điểm

  • Có thể trở nên vô tổ chức khi sử dụng ngôn ngữ này vì bạn có thể dặt các khối chức năng này ở bất kỳ đâu trên trang. Điều này cũng dẫn đến việc khắc phục sự cố khó khăn hơn.

 

  • Một số hãng sản xuất PLC hỗ trợ ngôn ngữ lập trình FBD như: AB, Schneider, B&R, Siemens,..

3. Ngôn ngữ lập trình PLC ST/STL (Structured Text)

Ngôn ngữ lập trình PLC ST / STL
  • Structured Text “ST/STL” là ngôn ngữ lập PLC đạt chuẩn IEC 61131-3. Ngôn ngữ lập trình ST dựa trên nền tảng văn bản, trong khi ngôn ngữ lập trình LAD và FBD dựa trên nền tảng đồ họa. ST là ngôn ngữ cấp cao giống như Basic, Pascal và “C”.
  • Khi mới tìm hiểu về lập trình PLC, có vẻ tốt hơn nếu sử dụng ngôn ngữ lập trình đồ họa để lập trình PLC. Tuy nhiên, điều đó với tôi chỉ đúng với các chương trình PLC nhỏ và vừa. Bằng cách sử dụng ngôn ngữ PLC dựa trên nền tảng văn bản, chương trình của bạn sẽ chiếm không gian nhỏ hơn nhiều và phân luồng / logic sẽ dễ đọc và dễ hiểu hơn.
  • Ngôn ngữ lập trình ST được sao chép một cách tương đối dễ dàng giữa các loại PLC khác nhau
  • Đây được coi là ngôn ngữ PLC dễ sử dụng nhất cho các chương trình sử dụng các phép tính toán học, công thức, thuật toán và chương trình có lượng lớn dữ liệu
  • Cấu trúc lập trình ngôn ngữ ST gần giống với các ngôn ngữ phổ biến khác như: C++, C#, Pascal, VB,..

3-1. Ưu điểm

  • Tính tổ chức cao và có khả năng tính toán các phép toán học lớn
  • Cho phép lập trình một số chức năng không có ở ngôn ngữ khác (như LAD)

3-2. Nhược điểm

  • Khó thành thạo các cú pháp
  • Khó khắc phục lỗi
  • Rất khó để chỉnh sửa online

 

  • Một số hãng sản xuất PLC hỗ trợ ngôn ngữ lập trình ST như: AB, Schneider, B&R, Siemens,..

4. Ngôn ngữ lập trình PLC SFC (Sequential Function Chart)

Ngôn ngữ lập trình PLC SFC
  • Nếu các bạn đã từng làm việc với các sơ đồ thì ngôn ngữ PLC SFC sẽ khiển bạn cảm thấy rất quen thuộc. SFC là từ viết tắt của cụm từ tiếng anh “Sequential Function Charts” tạm dịch là “Biểu đồ chức năng tuần tự”, bạn sẽ sử dụng các bước và quá trình chuyển đổi để đạt được kết quả cuối cùng của mình.
  • “Về mặt kỹ thuật: SFC không phải là một ngôn ngữ, mà là một phương tiện đồ họa nhằm phân vùng mã và hiển thị trạng thái hoặc chế độ hoạt động một cách trực quan.”

4-1. Ưu điểm

  • Các quá trình có thể chia thành các bước chính từ đó giúp khắc phục sự cố nhanh hơn và dễ dàng hơn.
  • Có thể truy cập trực tiếp vào phần logic để xem vị trí của thiết bị bị lỗi.
  • Có thể giúp quá trình thiết kế và viết chương trình nhanh hơn với khả năng sử dụng lặp đi lặp lại các thành phần logic riêng lẻ.

4-2. Nhược điểm

  • Ngôn ngữ này không phải lúc nào cũng phù hợp với tất cả ứng dụng.

 

  • Một số hãng sản xuất PLC hỗ trợ ngôn ngữ lập trình ST như: AB, Mitsubishi, Schneider, Siemens,..

 5. Ngôn ngữ lập trình PLC IL (Instruction List)

  • Instruction List được viết tắt là “IL”, là một trong những ngôn ngữ lập trình kiểu văn bản và là ngôn ngữ PLC đầu tiên. Cùng với LD. Instruction List là một trong 5 ngôn ngữ được đưa vào tiêu chuẩn IEC 61131-3 trong những năm đời đầu, từ lần công cố thứ ba trở đi, nó đã không được dùng (hạn chế sử dụng) bởi IEC nữa và như vậy. Trong tương lai các nhà sản xuất PLC sẽ ngừng hỗ trợ ngôn ngữ này. Ngôn ngữ IL được thiết kế để dùng để viết chương trình cho bộ điều khiển lập trình PLC. Ngôn ngữ lập trình IL là một ngôn ngữ cấp thấp gần giống như ngôn ngữ Assembly. Khi sử dụng ngôn ngữ này, bạn sẽ làm việc với các mã, thành phần như LD (Load), AND, OR, etc,…
  • Một lợi ích của các ngôn ngữ cấp thấp, bao gồm cả IL, là chúng rất nhanh và hiệu quả. Đặc biệt là khi so sánh với các ngôn ngữ đồ họa – và sử dụng ít bộ nhớ hơn. Vì lý do này, ngôn ngữ IL thường được sử dụng trong các ứng dụng như vòng điều khiển, đòi hỏi tốc độ xử lý rất nhanh.
  • Tuy nhiên, các chương trình được viết bởi ngôn ngữ IL có thể dễ bị lỗi thời gian chạy. Và chúng có thể gây ra các vòng lặp vô hạn hoặc các phép toán số học không xác định.

5-1. Ưu điểm

  • Phù hợp với các ứng dụng ưu tiên sự đơn giản và cấp tốc

5-2. Nhược điểm

  • Bị giới hạn nhiều chức năng
  • Nhiều lỗi khó xử lý hơn so với các ngôn ngữ khác

6. Ngôn ngữ lập trình PLC C/C++

  • Với thời đại hiện nay, khoa học máy tính ngày càng phát triển, xâm nhập vào mọi lĩnh vực đang hoạt động. Trong đó không thể không kể đến các ngành công nghiệp nói chung và ngành tự động hóa nói riêng. Và C/C++ là một ngôn ngữ lập trình cấp cao mà các lập trình viên cần phải biết và ứng dụng.
  • Vào năm 1972, tại phòng thí nghiệm Bell, Dennis Ritchie đã phát triển ngôn ngữ C. Ngôn ngữ C được sử dụng lần đầu trên một hệ thống cài đặt hệ điều hành UNIX. Và ngôn ngữ này có nguồn gốc từ ngôn ngữ BCPL do Martin Richards phát triển. BCPL sau đó đã được Ken Thompson phát triển thành ngôn ngữ B, đây là người khởi thủy ra C.
  • C++ là một phiên bản mở rộng của ngôn ngữ lập trình C, được tạo ra bởi Bjarne Stroustrup – một nhà khoa máy tính người Đan Mạch tại phòng thí nghiệm AT&T Bell vào năm 1979, được ISO công nhận vào năm 1998, lần phê chuẩn tiếp theo vào năm 2003 (người ta gọi là C++ 03) và sau đó là các phiên bản cập nhật C++ 11, C++ 14 và C++ 17.
  • Một số hãng sản xuất PLC hỗ trợ ngôn ngữ lập trình C/C++ như: B&R, Mitsubishi, Unitronics, Beckhoff,..

7. Kết luận

  • Với bài viết chia sẻ trên đây, chúng ta biết và hiểu được rằng: mỗi loại đều có điểm mạnh và điểm yếu, mức độ phù hợp theo từng hoàn cảnh khác nhau. Tuy nhiên, hầu hết mọi người khi làm việc với PLC đều biết lập trình bằng ngôn ngữ LAD và có lẽ đây là ngôn ngữ phổ biến và được hỗ trợ rộng rãi nhất. Với các bài toán logic phức tạp hơn thì có thể được thực hiện bởi các ngôn ngữ khác. Một số ngôn ngữ cho phép có thể tự chuyển đổi từ ngôn ngữ đồ họa sang hoặc qua các phần mềm hỗ trợ. Mỗi một ngôn ngữ được lựa chọn còn phụ thuộc vào lượng kiến thức của lập trình viên hoặc theo yêu cầu của tổ chức.
  • Ngoài 6 ngôn ngữ lập trình được ứng dụng trong lập trình PLC kể trên, thì tùy từng ngành, từng lĩnh vực mà chúng ta còn có các ngôn ngữ lập trình phổ biến đã từng hay đang tồn tại như: ngôn ngữ máy, Assembly “hợp ngữ”, Cobol, Fortran, Pascal, HTML, JavaScript, Python, Java, Smalltalk, PHP, CSS, Swift, C# (C Sharp), Ruby, Perl, Objective-C, SQL, R, Go, Shell, Scala, TypeScript, VB (Visual Basic), TCL, Lisp, ML, Prolog.

 

Trang Web này sử dụng Cookie để cung cấp cho bạn trải nghiệm duyệt Web tốt hơn. Bằng cách duyệt trang Web này, bạn đồng ý với việc sử dụng Cookie của chúng tôi.