Modbus RTU S7-1200 và Đồng hồ điện năng

Thảo luận trong 'Siemens PLC S7-200/300/400 và S7-1200/1500' bắt đầu bởi nghia.cuong93, 19/6/18.

  1. nghia.cuong93

    nghia.cuong93 New Member

    Tham gia ngày:
    6/8/16
    Bài viết:
    20
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Chào mọi người,
    Hiện tại mình đang viết một chương trình truyền thông giữa CPU S7 1214C và đồng hồ điện năng (Số lượng khoảng 30 cái).
    Dữ liệu đọc lên đã ok, tuy nhiên có tình trạng như sau: Từ chiếc thứ 1 đến chiếc thứ 4 giá trị thay đổi cập nhật online theo giá trị thực tế trên đồng hồ, còn từ chiếc tứ 5 trở đi giá trị không thay đổi hoặc thay đổi sau một khoảng thời gian rất dài (Bao gồm các giá trị dòng, áp, công suất, điện năng,.). Mặc dù trên OB 1 mình đã gọi đồng thời các chương trình con tương ứng của các đồng hồ.
    Nếu bạn nào có kinh nghiệm rồi hỗ trợ giúp mình. Mình xin cảm ơn.
    upload_2018-6-19_11-56-36.
     
    Quan tâm nhiều
    Bán logo rc230 và module dm8 rc230
    Bán logo rc230 và module dm8 rc230 bởi PhucBui, 14/7/18 lúc 1:08 PM
  2. admin

    admin Chia sẻ để cùng phát triển Thành viên BQT

    Tham gia ngày:
    15/1/13
    Bài viết:
    3,527
    Đã được thích:
    2,597
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Automation Engineer
    Nơi ở:
    Sài Gòn
    Web:
    Cái này cũng hơi hơi khó nhỉ, kiểm tra tốc độ bus là bao nhiêu, kiểm trả end node register có được nối không.
     
  3. nghia.cuong93

    nghia.cuong93 New Member

    Tham gia ngày:
    6/8/16
    Bài viết:
    20
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Tốc độ em đặt đồng bộ là 19200, đọc được tất cả các giá trị tuy nhiên không cập nhật giá trị online anh ạ
     
  4. nghia.cuong93

    nghia.cuong93 New Member

    Tham gia ngày:
    6/8/16
    Bài viết:
    20
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Đã fix xong ạ :D
     
    admin thích bài này.
  5. admin

    admin Chia sẻ để cùng phát triển Thành viên BQT

    Tham gia ngày:
    15/1/13
    Bài viết:
    3,527
    Đã được thích:
    2,597
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Automation Engineer
    Nơi ở:
    Sài Gòn
    Web:
    Fix xong chia sẻ lại kinh nghiệm cho bà con nhờ chứ.
     
  6. nghia.cuong93

    nghia.cuong93 New Member

    Tham gia ngày:
    6/8/16
    Bài viết:
    20
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Trước em dùng 1 xung clock 10Hz PLC để làm tín hiệu kích vào chân Enable của hàm, làm như vậy số lượng đồng hồ ít thì tốc độ xử lý các lệnh ok, nhưng khi số lượng nhiều lên hình như thời gian mức ON vào enable của xung không đủ để xử lý hết tất cả các lệnh của các đồng hồ.
    Giải quyết bằng cách timer tạo xung tăng TON đủ để giải quyết hoặc có thể kích 1 tín hiệu = 1 vào chân đó (cách này em không biết khi xử lý nhiều hàm, nhiều đồng hồ thì có bị ảnh hưởng tới việc tràn bộ nhớ gì không)
     
  7. admin

    admin Chia sẻ để cùng phát triển Thành viên BQT

    Tham gia ngày:
    15/1/13
    Bài viết:
    3,527
    Đã được thích:
    2,597
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Automation Engineer
    Nơi ở:
    Sài Gòn
    Web:
    Đây là lỗi do lập trình, em nên đọc tuần tự tức là đọc cái thứ nhất xong thì đến cái thứ hai rồi đến cái thứ 3 ... rồi lặp lại chứ không nên ép kiểu xung như vậy vì khi có xung nó lại quay lại từ đâu mà không đọc hết toàn bộ.
     

Chia sẻ trang này