Cải tiến TIA Portal trong thế hệ PLC mới: S7-1200 và S7-1500 (P1)

5.0/5 (6 Reviews)
22 - 07 - 2021
Nhiều cải tiến TIA Portal trong bộ điều khiển S7-1200, S7-1500 tạo điều kiện thuận lợi cho việc lập trình, kích hoạt mã mạnh mẽ và tiết kiệm bộ nhớ

Chương trình của bộ điều khiển SIMATIC từ S7-300 / S7-400 đến S7-1500 vẫn giữ nguyên như ngôn ngữ lập trình đã biết như LAD, FBD, STL, SCL hoặc đồ thị và các khối như khối tổ chức (OB), khối chức năng (FB), hàm (FC) hoặc khối dữ liệu (DB). Các chương trình S7-300/400 được tạo có thể dễ dàng thực hiện trên S7-1500 và các chương trình LAD, FBD và SCL hiện có có thể dễ dàng thực hiện trên PLC S7-1200.

Ngoài ra, có nhiều cải tiến TIA Portal tạo điều kiện thuận lợi cho việc lập trình, kích hoạt mã mạnh mẽ và tiết kiệm bộ nhớ.

Đối với các chương trình được triển khai cho bộ điều khiển S7-1200/1500, Siemens khuyến nghị người dùng không nên triển khai từng chương trình một mà kiểm tra các tùy chọn mới và sử dụng chúng nếu có thể. Nỗ lực thêm thường bị giới hạn và bạn sẽ nhận được mã chương trình, ví dụ: tối ưu cho bộ nhớ và thời gian chạy cho các CPU mới, dễ hiểu hơn và dễ bảo trì hơn.

Các điều khoản chung trong TIA Portal

Một số điều khoản đã thay đổi để cho phép xử lý dễ dàng hơn với TIA Portal

Điều khoản cho thẻ và thông số

Khi xử lý các thẻ, hàm và khối chức năng, nhiều thuật ngữ được sử dụng nhiều lần theo cách khác nhau hoặc thậm chí không chính xác. Hình sau làm rõ các thuật ngữ này.

  1. Tags: Các thẻ được gắn nhãn bởi một tên / mã định danh và sử dụng một địa chỉ trong bộ nhớ của bộ điều khiển. Các thẻ luôn được xác định với một kiểu dữ liệu nhất định (Bool, Số nguyên, v.v.): Thẻ PLC, Các thẻ riêng lẻ trong khối dữ liệu, Khối dữ liệu hoàn chỉnh
  2. Tag value: Giá trị thẻ là các giá trị được lưu trữ trong thẻ
  3. Tham số thực tế (Actual parameter): Tham số thực tế là các thẻ được kết nối với nhau tại các giao diện của lệnh, hàm và khối chức năng.
  4. Tham số chính thức (tham số truyền, tham số khối): Tham số chính thức là các tham số giao diện của lệnh, hàm và khối chức năng

Ngôn ngữ lập trình - Programming languages

Các ngôn ngữ lập trình khác nhau có sẵn để lập trình một chương trình người dùng. Mỗi ngôn ngữ đều có những ưu điểm riêng có thể sử dụng linh hoạt tùy theo ứng dụng. Do đó, mỗi khối trong chương trình người dùng có thể được tạo bằng bất kỳ ngôn ngữ lập trình nào.

  • SIMATIC S7-1200: Ladder diagram (LAD), Function block diagram (FBD), Structured Control Language (SCL)
  • SIMATIC S7-1500: Ladder diagram (LAD), Function block diagram (FBD), Structured Control Language (SCL), Graph, Statement list (STL)

Tối ưu code máy

TIA Portal và S7-1200 / 1500 cho phép tối ưu hóa hiệu suất thời gian chạy trong mọi ngôn ngữ lập trình. Tất cả các ngôn ngữ được biên dịch trực tiếp trong mã máy theo cùng một cách. 

Điều này thuận lợi cho tất cả các ngôn ngữ lập trình có cùng mức hiệu suất (đối với các kiểu truy cập giống nhau), đồng thời không giảm hiệu suất thông qua biên dịch bổ sung với bước tạm thời qua STL.

Mặc khác, đối với bộ điều khiển S7-300 / 400 / WinAC, chương trình LAD và FBD lần đầu tiên được biên dịch trong STL trước khi mã máy được tạo. Còn đối với bộ điều khiển S7-1200 / 1500 tất cả các ngôn ngữ lập trình được biên dịch trực tiếp bằng mã máy.

Tạo khối trong hệ thống mới

Tất cả các khối như OB, FB và FC có thể được lập trình trực tiếp bằng ngôn ngữ lập trình mong muốn. Do đó không cần phải tạo nguồn để lập trình SCL. Chỉ chọn khối và SCL làm ngôn ngữ lập trình. Sau đó, bạn có thể lập trình khối trực tiếp.

Các khối được tối ưu hóa

Bộ điều khiển S7-1200 / 1500 có bộ lưu trữ dữ liệu được tối ưu hóa. Trong các khối được tối ưu hóa, tất cả các thẻ được sắp xếp tự động theo kiểu dữ liệu của chúng. Việc sắp xếp đảm bảo rằng khoảng cách dữ liệu giữa các thẻ được giảm đến mức tối thiểu và các thẻ được lưu trữ tối ưu hóa quyền truy cập cho bộ xử lý.

> Các khối không được tối ưu hóa chỉ có sẵn vì lý do tương thích trong bộ điều khiển S7-1200 / 1500.

> Việc truy cập luôn diễn ra nhanh nhất vì việc lưu trữ dữ liệu đã được hệ thống tối ưu hóa và không phụ thuộc vào việc khai báo.

> Không có nguy cơ mâu thuẫn do truy cập bị lỗi, tuyệt đối, vì truy cập nói chung là tượng trưng

> Các thay đổi về khai báo không dẫn đến lỗi truy cập vì, ví dụ, truy cập HMI là tượng trưng.

> Các thẻ riêng lẻ có thể được xác định cụ thể là có tính lưu ý.

> Không yêu cầu cài đặt trong khối dữ liệu cá thể. Mọi thứ được thiết lập trong FB được chỉ định

> Dự trữ lưu trữ trong khối dữ liệu cho phép thay đổi mà không làm mất giá trị hiện tại

S7-1200: Cấu trúc của các khối được tối ưu hóa

Không có khoảng trống dữ liệu nào được hình thành vì các thẻ lớn hơn nằm ở đầu khối và các thẻ nhỏ hơn ở cuối. Chỉ có quyền truy cập tượng trưng cho các khối được tối ưu hóa.

S7-1500: Cấu trúc của các khối được tối ưu hóa

> Các cấu trúc được đặt riêng biệt và do đó có thể được sao chép dưới dạng khối.

> Dữ liệu lưu giữ được đặt trong một khu vực riêng biệt và có thể được sao chép dưới dạng khối. Trong trường hợp mất điện áp, dữ liệu này sẽ được lưu bên trong CPU. “MRES” đặt lại dữ liệu này về các giá trị bắt đầu nằm trong bộ nhớ tải.

> Không có khoảng trống dữ liệu nào được hình thành vì các thẻ lớn hơn nằm ở đầu khối và các thẻ nhỏ hơn ở cuối.

> Truy cập nhanh hơn do lưu trữ được tối ưu hóa cho bộ xử lý (tất cả các thẻ được lưu trữ theo cách để bộ xử lý của S7-1500 có thể đọc hoặc ghi trực tiếp chúng chỉ bằng một lệnh máy).

> Các thẻ boolean được lưu trữ dưới dạng byte để truy cập nhanh hơn. Do đó, bộ điều khiển không phải che quyền truy cập.

> Các khối được tối ưu hóa có dự trữ lưu trữ để tải trong hoạt động đang chạy

> Chỉ có quyền truy cập tượng trưng cho các khối được tối ưu hóa.

Lưu trữ dữ liệu được tối ưu hóa cho bộ xử lý cho S7-1500

Vì lý do tương thích với các bộ điều khiển SIMATIC đầu tiên, nguyên tắc lưu trữ dữ liệu “Big Endian” đã được chấp nhận trong các bộ điều khiển S7-300 / 400.

Dựa trên kiến trúc bộ xử lý đã thay đổi, thế hệ bộ điều khiển S7-1500 mới luôn truy cập 4 byte (32 bit) trong chuỗi “Little-Endian”. Do đó, các thuộc tính sau đây dẫn đến kết quả về phía hệ thống.

Bộ điều khiển lưu trữ các thẻ được tối ưu hóa. Truy cập là với 32 bit (REAL). Chuyển các byte là không cần thiết. Mỗi bit được gán một byte. Bộ điều khiển không phải che byte khi truy cập. Kích thước khối tối đa có thể lên đến 16MB.

Đề xuất: 

  • Bạn không yêu cầu địa chỉ tuyệt đối và bạn luôn có thể đánh địa chỉ bằng dữ liệu tượng trưng (liên quan đến đối tượng). Cũng có thể định địa chỉ gián tiếp với dữ liệu tượng trưng (xem chương 3.6.2 Kiểu dữ liệu ARRAY và các truy cập trường gián tiếp).
  • Xử lý các khối được tối ưu hóa trong bộ điều khiển nhanh hơn đáng kể so với các khối tiêu chuẩn.
  • Tránh sao chép / gán dữ liệu giữa các khối được tối ưu hóa và không được tối ưu hóa. Việc chuyển đổi dữ liệu cần thiết giữa định dạng nguồn và đích đòi hỏi thời gian xử lý cao.

Hiển thị các khối được tối ưu hóa trong TIA Portal

Các khối dữ liệu được tối ưu hóa được giải quyết một cách tượng trưng. Do đó không có “offset” nào được hiển thị. Trong khối được tối ưu hóa, bạn có thể khai báo từng thẻ riêng lẻ với “Retain”

Chuyển đổi giữa các thẻ được tối ưu hóa

Nó thường được khuyến khích làm việc với các thẻ được tối ưu hóa. Tuy nhiên, nếu trong các trường hợp riêng lẻ, bạn muốn giữ chương trình của mình cho đến nay, thì sẽ có sự kết hợp giữa lưu trữ dữ liệu được tối ưu hóa và không được tối ưu hóa trong chương trình.

Hệ thống biết bộ nhớ trong của mỗi thẻ, không liên quan dù có cấu trúc (bắt nguồn từ một kiểu dữ liệu được xác định riêng) hay sơ cấp (INT, LREAL,…)

Đối với các bài tập có cùng loại giữa hai thẻ có bộ nhớ lưu trữ khác nhau, hệ thống sẽ tự động chuyển đổi. Việc chuyển đổi này yêu cầu hiệu suất cho các thẻ có cấu trúc và do đó nên tránh, nếu có thể.

Truyền tham số giữa các khối có tối ưu hóa

Khi bạn chuyển các cấu trúc sang khối được gọi dưới dạng tham số vào / ra (InOut), chúng được chuyển theo mặc định dưới dạng tham chiếu. Tuy nhiên, đây không phải là trường hợp nếu một trong các khối có thuộc tính “Quyền truy cập được tối ưu hóa” và khối kia chặn thuộc tính “Quyền truy cập mặc định”. Trong trường hợp này, tất cả các thông số thường được chuyển dưới dạng bản sao

Trong trường hợp này, khối được gọi luôn hoạt động với các giá trị được sao chép. Trong quá trình xử lý khối, các giá trị này có thể bị thay đổi và chúng được sao chép trở lại toán hạng ban đầu, sau khi xử lý lệnh gọi khối.
Điều này có thể gây ra sự cố nếu các toán hạng ban đầu bị thay đổi bởi các quy trình không đồng bộ, ví dụ, bởi truy cập HMI hoặc ngắt OB. Nếu các bản sao được sao chép trở lại các toán hạng ban đầu sau khi xử lý khối, các thay đổi được thực hiện không đồng bộ trên các toán hạng ban đầu sẽ bị ghi đè.

> Đề xuất: Luôn đặt cùng một kiểu truy cập cho hai khối giao tiếp với nhau.

Giao tiếp với dữ liệu được tối ưu hóa

Giao diện (CPU, CM) truyền dữ liệu theo cách mà nó được sắp xếp (bất kể nó được tối ưu hóa hay không được tối ưu hóa).

Thuộc tính Block

> Kích thước block: Đối với bộ điều khiển S7-1200 / 1500, kích thước tối đa của các khối trong bộ nhớ chính được mở rộng đáng kể. Đề xuất sử dụng DB cho bộ điều khiển S7-1500 làm nơi chứa dữ liệu với khối lượng dữ liệu rất lớn. Bạn có thể lưu trữ khối lượng dữ liệu> 64 kB với bộ điều khiển S7-1500 trong DB được tối ưu hóa (kích thước tối đa 16 MB).

> Số khối tổ chức (OB): Với các OB, một cấu trúc phân cấp của chương trình người dùng có thể được tạo ra. Có các OB khác nhau có sẵn cho việc này.

> Giao diện khối - ẩn thông số khối (V14 trở lên): Khi gọi khối, các thông số khối có thể được hiển thị hoặc ẩn cụ thể. Tại đây, bạn có ba tùy chọn mà bạn có thể định cấu hình riêng cho từng tham số chính thức: “Hiển thị”, “Ẩn”, “Ẩn nếu không có tham số nào được chỉ định”. Có thể được sử dụng cho: FCs, FBs / In, Out, InOut

(Còn tiếp)

Thông Tin Liên Hệ

Bài viết liên quan

Bài viết liên quan

Bài viết liên quan

Bài viết liên quan

Bài viết liên quan