• Hotline: 0989.000.420
  • Giới thiệu
  • Vai trò pn
  • Facbook hội pn
  • Sitemap
SỬA CHỮA ĐỘNG CƠ ĐIỆN YÊN BÁI

Vĩnh Kiên- Yên Bình- Yên Bái 0989 000 420- 038 540 7810

  • Trang chủ
  • Giới thiệu
    • Giới thiệu chung
    • Chức năng nhiệm vụ
    • Cơ cấu tổ chức
    • Các phòng chức năng nghiệp vụ
      • Văn phòng Ban QLDA Đầu tư xây dựng
      • Phòng Tài chính - Kế toán
      • Phòng Kế hoạch tổng hợp
      • Phòng Kỹ thuật - Thẩm định
      • Phòng Điều hành - Dự án
  • Thiết bị điện
  • Hệ thống DCS
    • Thiết kế tủ điện
    • Lập trình PLC
    • Giao diện DCS
    • Chuyển đối số
    • Modbus
    • Hệ thống rơ le bảo vệ
    • Lưới điện
  • Truyền thông công nghiệp
  • Config IEC104 , 61850
    • RS485
    • IEC104
    • IEC61850
    • Vòng quay may mắn
  • Máy điện
  • Góp ý
  • Liên hệ
Học Học Nữa - Học Mãi
Liên hệ quảng cáo
  • Trang chủ
  • C#

simulate PID thực hiện và vẽ biểu đồ

Bởi Operator vào 08 thg 11, 2026
Chia sẻ
  • Sao chép liên kết
  • Chia sẻ với Facebook
  • Chia sẻ với X
  • Chia sẻ với Pinterest
  • Chia sẻ với Linkedin
  • Gửi bài qua Email

gửi email cho tác giả




     Mình sẽ xem cấu trúc thư viện mẫu motor_ctrl.zip trước, rồi viết thư viện mô phỏng PV theo đúng định dạng đó.

    Đang viết xong FB Sim_PV (PV phản hồi theo OUT của PID + các dạng sóng cài đặt được). Giờ mình chạy thử logic với một bộ PI giả lập để chắc PV hội tụ về SP, rồi gửi zip.

    Mình đã viết xong FB Sim_PV theo khung của motor_ctrl.zip, nhưng chưa nạp thử vào LadderDriver nên chưa biết nó có import được không. Mình chỉ chạy thử logic bằng Python với một bộ PI giả lập.

    Cách nối với PID_INT trong ảnh của bạn

    • pid_out nối từ Data_block_1.PID_1.OUT.
    • pv nối vào Data_block_1.PID_1.PV.
    • dt_ms đặt bằng Scan time (ảnh của bạn đang là 4 ms).
    • speed_x100 = 100 là thời gian thực, 1000 là chạy nhanh 10 lần để xem trend nhanh hơn.

    Các quy luật PV cài đặt được (mode)

    • 0, Process: PV đuổi theo OUT như thiết bị thật. Các tham số là tau_ms (quán tính bậc 1), tau2_ms (bậc 2, tạo độ trễ dạng chữ S), gain_x100, pv_min/pv_max và out_min/out_max (khớp với Lim 0–10000 của PID).
    • 1, 2, 3: sine, tam giác, vuông. Chỉnh bằng offset, amp, period_ms.
    • 4: hằng số bằng offset.
    • Dùng chung mọi mode:
      • noise: nhiễu đo ±biên độ.
      • dist: nhiễu tải cộng vào PV đích, đổi lúc đang chạy để xem PID bù.
      • init_pv và reset: đặt lại PV.
      • target: ngõ ra phụ, tiện vẽ lên trend cùng SP.

    Kết quả chạy thử logic

    • Với Kp 1.5, Ki 0.5, SP 3000, PV hội tụ về 3000 ở cả mô hình bậc 1 và bậc 2.
    • Bậc 2 vọt lố lên khoảng 4050.
    • Thêm nhiễu tải 500 giữa chừng thì PI kéo PV về lại 3000.

    Phần mình đoán, cần bạn xác nhận

    • Mẫu motor_ctrl chỉ có Ladder, nên mình đoán cách lưu một network SCL trong ladderfb.json ("Kind":"SCL", "Code"). Phần khai báo biến thì chắc chắn vì theo đúng mẫu.
    • Mình dùng kiểu Real cho biến nội bộ và tham chiếu biến bằng tên trần (không có #). Nếu app không nhận, báo mình sửa.
    • Nếu import không nhận phần SCL, bạn dùng nút + SCL và dán nội dung sim_pv.scl vào, các biến vẫn có sẵn từ zip. Tốt nhất bạn xuất giúp mình một FB có SCL từ nút “Tạo thư viện FB (Ladder + SCL)”, mình sẽ khớp đúng định dạng.

    Files are in /tmp/claude-0/-home-claude/419fee0a-5db1-50e1-b25e-58cf50b2aa2b/scratchpad:

    • sim_pv.zip
    • sim_pv.sclFB đã nạp được. Bạn nhập các giá trị sau vào từng chân, theo đúng bài toán trong ảnh (SP 3000, PV ban đầu 2000, OUT giới hạn 0–10000):
      ChânNhậpÝ nghĩa
      enableTRUECho chạy mô phỏng
      resetFALSEMuốn PV về lại init_pv thì cho 1 xung TRUE
      mode0Mô phỏng PV theo OUT của PID
      pid_outData_block_1.PID_1.OUTTag, nối từ OUT của PID
      out_min0Khớp Lim thấp của PID
      out_max10000Khớp Lim cao của PID
      pv_min0PV ổn định khi OUT = 0
      pv_max10000PV ổn định khi OUT = 10000
      gain_x100100Hệ số khuếch đại 1.0
      tau_ms5000Quán tính bậc 1 là 5 giây
      tau2_ms2000Bậc 2 là 2 giây; nhập 0 nếu muốn đáp ứng đơn giản
      dist0Nhiễu tải; lúc đang chạy đổi thành 500 để xem PID bù
      noise0Thử nhiễu đo thì nhập 30
      init_pv2000PV khởi tạo
      amp1000Chỉ dùng cho mode 1, 2, 3
      offset2000Chỉ dùng cho mode 1, 2, 3, 4
      period_ms10000Chu kỳ 10 giây, chỉ dùng cho mode 1, 2, 3
      dt_ms4Bằng Scan time hiện tại (4 ms); nếu Scan đổi thì sửa theo
      speed_x100100Thời gian thực; nhập 1000 để chạy nhanh 10 lần
      pvData_block_1.PID_1.PVTag ngõ ra, trùng với chân PV của PID
      targetData_block_1.Var_1Tag bất kỳ để vẽ trend; có thể bỏ trống

      Vì gain là 1.0 và dải PV bằng dải OUT, PV sẽ ổn định ở 3000 khi OUT bằng 3000.

      Để xem tuyến PID, bạn vẽ trend cho SP, PV và OUT (thêm target nếu muốn). Chỉnh Kp, Ki, Kd để so sánh đáp ứng. Nếu PV chạy quá chậm, nâng speed_x100 lên 1000.

      Nếu muốn thử PV chạy theo sóng mà không cần OUT, đặt mode = 1 (sine), offset = 3000, amp = 500.

      Sim_PV không chạy vì 2 lỗi cấu hình trong ảnh của bạn, và mình chưa thấy lỗi nào từ chính FB:
      1. Network 1 chưa cấp nguồn cho FB. Trước Sim_PV có tiếp điểm Data_block_1.Var_2 đang hiển thị TRUE. Dây sau tiếp điểm chuyển sang nét đứt xanh (tức OFF), nên FB bị chặn, không thực thi và pv không được cập nhật. Có hai cách sửa:
        • Nếu tiếp điểm là NC, đặt Var_2 = FALSE.
        • Hoặc xoá tiếp điểm đó để FB luôn chạy, vì Sim_PV đã có chân enable = TRUE.
      2. Hai chân chưa nhập tag:
        • pid_out đang trống, hãy nhập Data_block_1.PID_1.OUT.
        • pv đang trống (tag), hãy nhập Data_block_1.PID_1.PV. Vì chưa có tag này nên PV vẫn kẹt ở 7000.

      Ngoài ra, Scan đã tăng lên 6–8 ms, nên đổi dt_ms từ 4 thành 8 để đúng thời gian thực.

      Còn dòng “19 network lỗi”: ảnh đầu tiên của bạn (chưa có Sim_PV) cũng đã báo 19, nên con số này không đến từ FB mới. Chắc là các network ở khối khác như Main, OB_2, Prog_2 nhưng mình không xem được nên chưa chắc. Bạn lướt qua các khối đó để tìm network bị viền đỏ.

      Sửa xong 2 mục trên mà PV vẫn không nhúc nhích, bạn bấm nút Xem logic online trên Sim_PV và gửi mình nội dung (hoặc thông báo lỗi nếu có). Khi đó mình sẽ chỉnh lại phần SCL cho khớp trình biên dịch của app.Mình nghĩ Sim_PV đang không chạy phần SCL, và nguyên nhân nhiều khả năng là do mình.

      Lý do là PV đang đứng yên ở 3000. Nếu FB chạy, ngay scan đầu tiên nó đã đặt PV về init_pv = 2000, sau đó kéo dần theo OUT = 2640. PV không hề dịch chuyển thì FB gần như chưa tính gì. Có thể app nạp được các chân (nên FB hiện ra đủ) nhưng không đọc được phần thân SCL, vì cách lưu network SCL trong ladderfb.json là do mình đoán.

      Bạn kiểm tra nhanh 2 việc này để xác nhận:

      1. Bấm Xem logic online trên Sim_PV. Nếu cửa sổ trống hoặc báo lỗi thì chắc chắn là lỗi định dạng của mình, và bạn chụp lại gửi mình.
      2. Nối chân target vào một tag, ví dụ Data_block_1.Var_1. Nếu nó luôn bằng 0 thì thân SCL không chạy. Còn nếu target ≈ 2640 mà PV vẫn đứng yên thì FB đang chạy, mình sẽ tra tiếp phần ghi pv.

      Để mình sửa đúng định dạng, bạn làm giúp mình một lần: bấm Tạo thư viện FB (Ladder + SCL), tạo một FB thử có 1 biến vào, 1 biến ra và 1 network SCL đơn giản (ví dụ y := x + 1;), rồi xuất ra file .zip gửi mình. Mình sẽ đóng lại Sim_PV theo đúng định dạng đó.

      Lúc đó mình cũng xem luôn app hỗ trợ lệnh nào trong SCL (EXP, SIN, REAL_TO_DINT). Nếu app thiếu lệnh nào, mình sẽ viết lại bằng phép tính đơn giản hơn.Code Sim_PV chưa đúng, và đây là nguyên nhân khiến PV đứng yên.

      Dòng ghi chú đầu network SCL trong file bạn gửi nói rõ: biến của FB phải viết dạng #tên, và #tên nào không khai báo ở bảng Interface sẽ bị coi là biến cục bộ. Code của mình viết tên trần (pv, lag1, enable…) nên app không nối được với các chân. Kết quả là FB chạy trên biến rỗng và không ghi gì ra pv.

      Mình đã thêm # trước mọi biến giao diện trong phần SCL và gói lại thành sim_pv_v102.zip. Cấu trúc file (Type: SCL, Scl) mình giữ nguyên như bản bạn xuất, vì định dạng đó đúng. Mình chỉ kiểm tra bằng script là không còn tên trần nào sót. Chưa nạp thử vào LadderDriver.

      Bạn làm như sau:

      1. Xoá FB cũ trong Widget lib, rồi Add file .zip mới.
      2. Kéo FB mới vào Network và điền lại các chân như bảng trước.
      3. Nối target vào một tag để theo dõi. Nếu chạy đúng, ngay scan đầu PV sẽ về 2000 (init_pv), sau đó đi theo OUT. Với SP 2000, PV sẽ ổn định ở 2000.

      Nếu vẫn lỗi, bạn bấm Xem logic online và gửi mình thông báo. Có thể app chưa hỗ trợ EXP, SIN hoặc REAL_TO_DINT. Khi đó mình sẽ thay bằng phép tính đơn giản hơn.

    Nội dung chính
      0 Nhận xét
      Tags: C#

      Cùng chuyên mục

      Liên hệ quảng cáo

      Tin mới

        Liên hệ (Contact)

        Tên

        Email *

        Thông báo *

        Tìm kiếm (SEARCH)

        Main Tags

        • ADROID
        • Affiliate + Dropshipping
        • AGC
        • AI
        • analog
        • Apk adroid
        • ASP.NET
        • âm nhạc
        • Âm thanh
        • Âm Thanh Xe Hơi
        • bản đồ địa chính
        • Bản tin xã Vĩnh Kiên
        • Bảo dưỡng xe MG
        • bảo hiểm
        • Bảo vệ môi Trường
        • beckhoff
        • bể phốt
        • Bệnh
        • biến áp xung
        • Biến áp xuyến
        • Biến tần
        • Biến tần KDE300A
        • biến tần Schneider
        • Biến tần Simens
        • biến tần yaskawa
        • blogspot
        • bộ hòa
        • bồn cầu
        • C#
        • C# thiết bị phụ
        • C# web
        • C53 realme
        • các nhà phân phối
        • cad electrical 2019
        • cải tạo
        • cài win
        • camera
        • Chào mừng 8/3
        • Chat gpt
        • Chăm sóc sắc đẹp
        • chế tạo biến tần
        • Chi Bộ
        • Chi Đoàn
        • chỉ huy trưởng
        • chìa
        • Chìa khóa thành công
        • chung tay
        • chuyển đổi số
        • chuyên gia
        • CODE WIN CC
        • CODESYS
        • com ảo
        • Công Đoàn
        • công tác hội
        • Cơ điện tử
        • cp1243-7
        • Crack tia
        • dao diện tia
        • Dạy con ngoan giỏi
        • Dạy con thông minh
        • Dây điện từ
        • DCS
        • Dịch vụ
        • driver
        • Dso138
        • Dự án
        • Đảng - Đoàn thể
        • Đánh bóng ô tô
        • Đào tạo nghề
        • Đào tạo vận hành
        • đẩu tư Bất động sản
        • đầu tư tài chính
        • Điện
        • Điện trở
        • Điện tử công suất
        • điện tường
        • điều khiển nhiệt độ
        • điều tốc
        • điều tốc EVN
        • Đồ điện sửa chữa
        • Động cơ điện 1 pha
        • Động cơ điện 3 pha
        • Động cơ mua bán
        • động cơ vạn năng
        • đục tường
        • encoder
        • encore
        • Enigma Protector
        • Excel
        • Facebook
        • factory io
        • fasstAPI
        • faststone capture
        • fuxa
        • game đế chế
        • Gia Đình
        • Góc học tập và làm theo lời Bác
        • GOV
        • grafana
        • graphana
        • hàn nhiệt
        • hàn ống
        • Hantek 2c42
        • HIK
        • HMI
        • hmi delta
        • hmi simnes
        • HMI Wedcon
        • Học chức danh
        • học tiếng anh
        • Hội thi
        • IEC
        • IEC 104
        • iec61850
        • IGBT
        • INVT
        • karaoke
        • Kaspersky Internet Security
        • KEP OPC
        • kepopc
        • key win cc oa
        • Khí cụ điện
        • khởi động mềm
        • khởi nghiệp
        • Kích
        • Kích cá
        • km
        • làm đẹp
        • Làm kinh tế giỏi
        • Lập công ty
        • lập trình zen
        • Lịch làm việc
        • Lịch sự
        • liệt não
        • Link kiện điện tử
        • logo simens
        • Lỗi phạt ô tô
        • mạch âm thanh
        • Mạch băm xung
        • Mạch nguồn xung
        • mạch nồi cơm
        • mạng
        • Máy biến áp
        • máy cắt
        • máy giặt
        • máy hàn
        • máy hàn chip
        • máy hàn tig wp 300
        • Máy lọc dầu
        • Máy phát điện
        • Máy phát điện xăng
        • máy tính
        • MG zs
        • Microstation SE
        • mobus
        • MODBUS
        • Module phát âm thanh MP3 DY-SV5W
        • mqtt
        • mua ô tô
        • mường hum
        • My Music
        • nart port
        • nậm ban2
        • next.js
        • nhẫn nhịn
        • node js
        • Note js
        • Nông thôn mới
        • odoo
        • OPC
        • OPC DA
        • opc. matrikon
        • OpenVPN
        • ổn áp
        • pdf
        • phân loại rác
        • Phật dạy
        • phong trào
        • Pid
        • PLC
        • plc abb
        • plc delta
        • Plc emerson
        • plc GE
        • plc LS
        • Plc Mitsubishi
        • PLC Mitsubishi FX1N
        • plc s7 200
        • plc s71200
        • PLC Schneider
        • plc sim avanced
        • plc simens
        • python
        • quản trị tài chính
        • Rapid SCADA
        • Raspberry Pi
        • remote destrop
        • Rơ le bảo vệ
        • Rơ le CMC và studio PSL
        • S7 1200
        • S7 200
        • S7300
        • Sách
        • sách tổ tự động
        • sát hạch lái xe
        • SCR
        • secvo
        • SERVO
        • Sheet nhạc
        • Sim mới
        • sơ đồ bếp từ
        • sơn ô tô
        • SQL server
        • SSR
        • Step ĐC
        • Sửa chữa dc
        • sức khỏe
        • Sưu tầm
        • Tai biến
        • tài khoản Simens
        • Tài liệu kỹ thuật
        • Tailscale
        • Tâm lý
        • Teamviewer
        • tenten
        • thái độ
        • thay bo mạch
        • thay đổi góc nhìn
        • Thể thao
        • thi an toàn
        • Thi đua - Khen thưởng
        • thị trường điện
        • thingboard
        • thingsboard
        • Thông tin đấu thầu
        • Thông tin xử phạt
        • Thời sự
        • thời tiết
        • Thủ thuật máy tính
        • thủy điện
        • thyristor
        • TIA V13 SP2 pro
        • TIA V14
        • tia v15
        • Tia v16
        • Tia V17
        • tia V21
        • Tin tức - Sự kiện
        • tivi
        • touchpad-blocker
        • trạm phát thanh
        • TRIANGLE IEC
        • Trồng cây mừng Đảng mừng xuân 2024
        • tủ điện
        • Tủ lạnh
        • uctra_iso
        • Văn bản - Tài liệu
        • VBS
        • Video
        • Video động. Cơ điện
        • Video quấn động cơ điện
        • vmware
        • Vòng bi
        • vpn
        • Web
        • websever S7 1200
        • wifi
        • wincc
        • WinCC Unified
        • Wondershare Filmora
        • woodwoard
        • word
        • WPF
        • wwin cc
        • xây dựng
        • xây nhà tầng 2
        • xe 2025
        • xe ô tô
        • xem tuổi xây nhà
        • Xiaozhi
        • youtube
        • zenon
        • zoho mail

        Thời tiết hiện tại

        Chat hỗ trợ
        Chat ngay

        Lịch làm việc

          Thông báo

          • Nông thôn mới
          • Phong trào
          • Công tác hội
          • Chăm sóc sắc đẹp
          • Chuyển đổi số

          Đọc nhiều

          • Bán fe từ E I
            Bán fe từ E I 9
            17 thg 9, 2017

            Bán lõi thép silic chất lượng cao được nhập khẩu từ nhật. Ngoài ra chúng tôi cung cấp đủ gông từ, cốt nhựa đủ cho quý khách quấn máy biến áp...

          • HƯỚNG DẪN TẢI VÀ CÀI ĐẶT PHẦN MỀM LẬP TRÌNH PLC MITSUBISHI GX WORK 3
            HƯỚNG DẪN TẢI VÀ CÀI ĐẶT PHẦN MỀM LẬP TRÌNH PLC MITSUBISHI GX WORK 3
            12 thg 1, 2021

              Phần mềm nâng cấp lên từ phần mềm GX Work 2, Lập trình đượcc cho FX5U, có thêm công cụ check lỗi debug, bảo mật cao hơn, hỗ trợ cấu hình t...

          • khởi nghiệp
            khởi nghiệp
            19 thg 12, 2025

              Với 8 năm kinh nghiệm và nền tảng chuyên môn cao, bạn đang bị kẹt trong cái bẫy "người thợ lành nghề làm chủ" . Bạn đang bán sức...

          • EPLAN Electric P8 - Hướng dẫn cài đặt - Full Crack (Electric P8, Pro Panel)
            EPLAN Electric P8 - Hướng dẫn cài đặt - Full Crack (Electric P8, Pro Panel)
            04 thg 1, 2021

              EPLAN Electric P8  cung cấp khả năng không giới hạn để thiết kế, phác thảo, phát triển tài liệu dự án và quản lý các dự án tự động hóa. Xâ...

          • OpenVPN và Tailscale –
            OpenVPN và Tailscale –
            05 thg 3, 2026

             Dưới đây là so sánh chi tiết giữa OpenVPN và Tailscale – đặc biệt phù hợp với nhu cầu của bạn đang làm hệ thống LAN ảo, PLC, IoT, SCADA. ...

          • link const TB_HOST = "http://IP_MAY_CHAY_THINGSBOARD:8080"; . cấu hình node js gửi đến thingboard
            link const TB_HOST = "http://IP_MAY_CHAY_THINGSBOARD:8080"; . cấu hình node js gửi đến thingboard
            03 thg 2, 2026

             À 👍 mình hiểu đúng chỗ bạn đang bị rối rồi . Giờ mình nói rõ ràng – tách bạch – nhìn là hiểu ngay nhé. 🚨 ĐIỂM SAI LỚN TRONG CODE BẠN ...

          Có thể bạn quan tâm

            Ban biên tập

            Thế Hương

            ........

            ...........

            Thống kê

            Số người truy cập: Tổng lượt truy cập:
            Liên hệ quảng cáo
            Trang chủ
            Hotline: 0989.000.420
            Liên hệ
            RSS
            Lên đầu trang

            Cơ điện Huế Hương - Yên Bình -Yên Bái

            Địa chỉ: Xã Vĩnh Kiên - Yên Bình - Yên Bái
            Email: vuhuong.tbc@gmail.com
            Liên hệ: 0989000420

            Template blogspot bán hàng và bất động sản