Hôm nay chúng tôi có thể giúp gì cho bạn?

Measuring Control Expert Program Section or POU Scan Times in SCADAPack x70 RTUs

Scan time is the amount of time the RTU takes to execute one full cycle of logic.
Understanding scan time helps diagnose performance issues, optimize logic, and verify that time‑critical tasks are running as expected.

To determine how long each section or POU takes to execute in a SCADAPack x70 RTU, use the FREERUN function block. This function block enables a free-running counter, which can be used for run time measurement of sections and application programs.

Measurement using FREERUN function block reflect only the logic execution time of the section being measure. They do not include the RTU system overhead, such as: IO updating  and communication servicing time. These overhead components are included only in the overall task scan time, which can be monitored via system words %SW30.

System Status Words:

Scan1

Scan2

FREERUN outputs a counter value that increases every program scan.
By placing a FREERUN block at the start and end of a section, you can calculate the time difference between the two values.

This difference represents the approximate scan time for that section of logic.

Example: Using FREERUN to measure section scan time

Below is a common implementation pattern:

  1. Insert a FREERUN block at the beginning of a section.
  2. Capture its output into a variable (e.g., StartTime).
  3. Insert another FREERUN block at the end of the section.
  4. Capture its output into another variable (e.g., EndTime).
  5. Subtract StartTime from EndTime to obtain the execution time.

The SUB_DINT instruction is typically used to perform the subtraction.

Scan3

FREERUN increments once per scan, so the raw difference represents scan cycles, not time in microseconds.

To convert cycles into microseconds:

Time (µs) = CycleCount × ScanPeriod (µs)

Using animation table to monitor the Scan time.

Right click on the OUT of the SUB_DINT and select Initialize Animation Table

Scan4

Monitor Animation Table as example below: The value ‘4’ in the MotorScanTime variable represents the cycle count.

Scan5

If task scan period is 1 µs then Time_µs = CycleCount × 1 = CycleCount
So if your animation table shows MotorScanTime = 4, the section time is 4 µs.
Image4
image5

Schneider Electric Việt Nam

Tìm hiểu thêm
Phạm vi:
Tìm hiểu thêm
Phạm vi:

Bạn cần trợ giúp?

Bạn cần trợ giúp?

Công cụ chọn sản phẩm

Công cụ chọn sản phẩm

Nhanh chóng và dễ dàng tìm được sản phẩm và phụ kiện phù hợp cho các ứng dụng của bạn.

Nhận báo giá

Nhận báo giá

Bắt đầu gửi yêu cầu bán hàng trực tuyến và chuyên gia sẽ liên hệ với bạn.

Nơi mua hàng?

Nơi mua hàng?

Dễ dàng tìm nhà phân phối Schneider Electric gần bạn nhất.

Trung tâm Hỗ trợ

Trung tâm Hỗ trợ

Tìm sự hỗ trợ cho mọi nhu cầu của bạn tại một nơi.

  • Tài liệu về Sản phẩm
  • Tải xuống phần mềm
  • Công cụ chọn Sản phẩm
  • Thay thế và thay đổi sản phẩm
  • Trung tâm Hỗ trợ
  • Tìm Văn phòng của chúng tôi
  • Nhận báo giá
  • Tìm Nhà Phân phối
  • Cộng đồng Schneider Electric
  • Cơ hội nghề nghiệp
  • Hồ sơ doanh nghiệp
  • Báo cáo hành vi sai trái
  • Khả năng truy cập
  • Phòng tin tức
  • Nhà đầu tư
  • EcoStruxure
  • Tìm việc
  • Blog
  • Chính sách bảo mật
  • Thông báo về Cookie
  • Điều khoản sử dụng
  • Change your cookie settings