Đăng Ký
Kết quả 1 đến 9 của 9
  1. #1
    Thành viên cấp 1
    Ngày tham gia
    Apr 2013
    Bài viết
    27
    Thanks
    1
    0 lượt trong 0 bài viết

    Thang đo mực nước trong bồn

    hiênj tại e làm tới đây thì bị bí mất tiêu, các a nào làm qua cho e hướng giải quyết
    e muốn lập giá trị Max, Min trên thang đo. tọa độ của thang đo là x=200, y=100
    và đây là code c mình viết
    trong đó A là hình màu trắng, MUC_NUOC_BON là biến
    {
    int a;
    a=GetHeight("1.pdl","A"); //Return-Type: long int
    if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
    {
    a=a-5;
    SetHeight("1.pdl","A",a);
    }
    đây là video của mình

    http://www.youtube.com/watch?v=s45Ix...ature=youtu.be

  2. #2
    Thành viên cấp 2
    Ngày tham gia
    Apr 2013
    Đang ở
    Dict.7, HCM City
    Bài viết
    67
    Thanks
    2
    7 lượt trong 7 bài viết
    mình thì chỉ có chút kiến thức về thiết bị Autonics, Mitsu và Keyence thôi, còn Siemens thì lâu quá rồi ko đụng tới, ae ở đây nhiều người am hiểu Siemens, giúp e nó tí...up
    Vikhanhads
    Automation and Service Solution
    Skype: vikhanhads
    Email: Hidden Content

  3. #3
    Thành viên cấp 3
    Ngày tham gia
    Mar 2012
    Bài viết
    150
    Thanks
    10
    47 lượt trong 39 bài viết
    Trích dẫn Gửi bởi hoangcdt Xem bài viết
    hiênj tại e làm tới đây thì bị bí mất tiêu, các a nào làm qua cho e hướng giải quyết
    e muốn lập giá trị Max, Min trên thang đo. tọa độ của thang đo là x=200, y=100
    và đây là code c mình viết
    trong đó A là hình màu trắng, MUC_NUOC_BON là biến
    {
    int a;
    a=GetHeight("1.pdl","A"); //Return-Type: long int
    if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
    {
    a=a-5;
    SetHeight("1.pdl","A",a);
    }
    đây là video của mình

    http://www.youtube.com/watch?v=s45Ix...ature=youtu.be
    Ý bạn là gần đến max thì nó dừng lại ah? Kiểm nó đến tọa độ max thì setbit MUC_NUOC_BON = 1 là nó dừng.

  4. Bài viết của "hoanghoa_dtt" đã được cám ơn bởi các thành viên:


  5. #4
    Thành viên cấp 1
    Ngày tham gia
    Apr 2013
    Bài viết
    27
    Thanks
    1
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi hoanghoa_dtt Xem bài viết
    Ý bạn là gần đến max thì nó dừng lại ah? Kiểm nó đến tọa độ max thì setbit MUC_NUOC_BON = 1 là nó dừng.
    e sữa lại rồi, thang đo chạy.
    nhưng nó chạy hết thang đo lun, ko cách nào cho nó dừng lại
    ví dụ mức thang do từ 0 đến 100
    em mún dừng ở mức 50, thì phải làm như thế nào hả mấy A.
    có cần tạo nút nhấn gì hok.
    e còn gà lắm mong mấy a thông cảm nha.
    Lần sửa cuối bởi hoangcdt, ngày 07-10-2013 lúc 10:01 PM.

  6. #5
    Thành viên cấp 3
    Ngày tham gia
    Mar 2012
    Bài viết
    150
    Thanks
    10
    47 lượt trong 39 bài viết
    Bạn muốn dừng ở thang đo 50 ah, bạn vào Geometry -> Height giảm nó xuống xem nó ở giá trị bao nhiêu thì ở thang đo 50.
    {
    int a;
    a=GetHeight("1.pdl","A"); //Return-Type: long int
    if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
    {
    a=a-5;
    SetHeight("1.pdl","A",a);
    }
    if(GetHeight("1.pdl","A")== gt cua Height) SetTagBit("MUC_NUOC_BON",1);
    }
    Nói chung là khi nào muốn chạy thì kiểm tra đk rồi SetTagBit("MUC_NUOC_BON",0) dừng thì SetTagBit("MUC_NUOC_BON",1)

  7. Bài viết của "hoanghoa_dtt" đã được cám ơn bởi các thành viên:


  8. #6
    Thành viên cấp 1
    Ngày tham gia
    Apr 2013
    Bài viết
    27
    Thanks
    1
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi hoanghoa_dtt Xem bài viết
    Bạn muốn dừng ở thang đo 50 ah, bạn vào Geometry -> Height giảm nó xuống xem nó ở giá trị bao nhiêu thì ở thang đo 50.
    {
    int a;
    a=GetHeight("1.pdl","A"); //Return-Type: long int
    if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
    {
    a=a-5;
    SetHeight("1.pdl","A",a);
    }
    if(GetHeight("1.pdl","A")== gt cua Height) SetTagBit("MUC_NUOC_BON",1);
    }
    Nói chung là khi nào muốn chạy thì kiểm tra đk rồi SetTagBit("MUC_NUOC_BON",0) dừng thì SetTagBit("MUC_NUOC_BON",1)
    ok. để mình làm thử, ak nếu mình tạo 1 ô nhập giá trị của Height ngoài giao diện thì có làm đc ko?

  9. #7
    Thành viên cấp 4
    Ngày tham gia
    Aug 2011
    Đang ở
    "Lang Thang" in Sài Gòn
    Bài viết
    332
    Thanks
    22
    95 lượt trong 75 bài viết
    Tạo mực nc mà cũng viết C nữa ah? có sẵn chức năng scale sao ko dùng?
    gcdpham,
    Siemens Solution
    PLC, HMI, SCADA, Upgrade S5toS7, SimaticNet, OPC,...
    Control Engineer.
    Email: Hidden Content

  10. #8
    Thành viên Mới
    Ngày tham gia
    Oct 2011
    Bài viết
    8
    Thanks
    1
    Thanked 2 Times in 1 Post
    Trích dẫn Gửi bởi hoanghoa_dtt Xem bài viết
    Bạn muốn dừng ở thang đo 50 ah, bạn vào Geometry -> Height giảm nó xuống xem nó ở giá trị bao nhiêu thì ở thang đo 50.
    {
    int a;
    a=GetHeight("1.pdl","A"); //Return-Type: long int
    if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
    {
    a=a-5;
    SetHeight("1.pdl","A",a);
    }
    if(GetHeight("1.pdl","A")== gt cua Height) SetTagBit("MUC_NUOC_BON",1);
    }
    Nói chung là khi nào muốn chạy thì kiểm tra đk rồi SetTagBit("MUC_NUOC_BON",0) dừng thì SetTagBit("MUC_NUOC_BON",1)
    Code này của bạn có thể chạy theo ý mình và có thể không, vì tùy thuộc vào Hight của cái thang đo của bạn là bao nhiêu, nếu là bội số của 5(trong lệnh a=a-5) thì nó tới đúng 50 nó sẽ dừng . Nếu không phải là bội số của 5 thì nó sẽ không dừng. nếu bạn muốn dừng thì câu lệnh phải sữa như thế này "if(GetHeight("1.pdl","A")>= gt cua Height)", hoặc phải tao cái mức của bạn có Hight là bội số của 5 trong (a=a-5).
    tớ có ý kiến như vậy không biết giúp gì được bạn không

  11. #9
    Thành viên cấp 3
    Ngày tham gia
    Mar 2012
    Bài viết
    150
    Thanks
    10
    47 lượt trong 39 bài viết
    Trích dẫn Gửi bởi hhhuudang Xem bài viết
    Code này của bạn có thể chạy theo ý mình và có thể không, vì tùy thuộc vào Hight của cái thang đo của bạn là bao nhiêu, nếu là bội số của 5(trong lệnh a=a-5) thì nó tới đúng 50 nó sẽ dừng . Nếu không phải là bội số của 5 thì nó sẽ không dừng. nếu bạn muốn dừng thì câu lệnh phải sữa như thế này "if(GetHeight("1.pdl","A")>= gt cua Height)", hoặc phải tao cái mức của bạn có Hight là bội số của 5 trong (a=a-5).
    tớ có ý kiến như vậy không biết giúp gì được bạn không
    Uhm phải >= nếu = thì phải là bội số nó mới dừng.

Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Back to Top