Đăng Ký
Trang 4 của 6 Đầu tiênĐầu tiên ... 23456 CuốiCuối
Kết quả 31 đến 40 của 51
  1. #31
    khanh my
    Guest
    Trích dẫn Gửi bởi kkkkkkkk Xem bài viết
    code cung ko có gi đâu bạn.
    ví dụ chuyển động đi lên cua buồng thang(BT)
    #include "apdefap.h"

    int gscAction( void )
    {
    float a;
    a=GetTop("mohinh_thangmay.pdl","BT");
    if (GetTagBit("NANGTOCDOCAO")==1)

    a=a-10;
    else
    a=a;
    SetTop("mohinh_thangmay.pdl","BT",a);


    return 0;
    }
    còn đi xuống thì a=a+ thôi.
    còn nếu chạy qua trái hay qua phải thì dùng GetLeft hay Get Right sau đó tuơng tự,tùy bài toán mà bạn viết code thôi.
    Cái này phía dưới lệnh a=a-10; phải có SetTop("mohinh_thangmay.pdl","BT",a); ^^

  2. #32
    Thành viên cấp 3
    Ngày tham gia
    Mar 2011
    Đang ở
    ĐÀ NẴNG
    Bài viết
    139
    Thanks
    1
    Thanked 1 Time in 1 Post
    đúng ra là có ,nhưng ko có vẩn chạy bình thường.
    luốn tiện hỏi khanhmy cái luôn nha.
    trong c scrpt mình muốn viết hàm để phát hiện buồng thang,ví dụ khi buòong thang lên tới tầng thì settagbit cảm biến,(để khỏi bấm cảm biến) mà khi viết chạy đến tọa độ cụ thể thì nó ko set,chi set trong 1 khoang nào đó,vậy là sao hả bạn,bạn có cách j ko?

  3. #33
    khanh my
    Guest
    Trích dẫn Gửi bởi kkkkkkkk Xem bài viết
    đúng ra là có ,nhưng ko có vẩn chạy bình thường.
    luốn tiện hỏi khanhmy cái luôn nha.
    trong c scrpt mình muốn viết hàm để phát hiện buồng thang,ví dụ khi buòong thang lên tới tầng thì settagbit cảm biến,(để khỏi bấm cảm biến) mà khi viết chạy đến tọa độ cụ thể thì nó ko set,chi set trong 1 khoang nào đó,vậy là sao hả bạn,bạn có cách j ko?
    Mình thì thường làm theo cách này, đầu tiên bạn hãy xác định tọa độ của từng tầng, sau đó nhớ tọa độ của từng tầng đó (nếu là giám sát thì căn cứ vào thang máy thật nó chạy như thế nào để xác định tọa độ này cho hợp lý, để thang máy thật chạy đúng với thang máy mô phỏng) mình có tọa độ của từng tầng rồi thì chỉ cần sử dụng lệnh if thôi mà, nếu = tọa độ đó thì dừng, bé hơn thì hạ, lớn hơn thì nâng ^^

  4. #34
    Thành viên cấp 1
    Ngày tham gia
    Oct 2011
    Bài viết
    20
    Thanks
    0
    0 lượt trong 0 bài viết
    bác nào biết tại sao máy này chạy bài đó được nhưng máy khác chạy thì k chịu,hic,mình lấy bài của bác KKKKKKKK mà chạy thì k được. Có bác nào gặp lỗi này chỉ mình với? cảm ơn trước nhé!

  5. #35
    khanh my
    Guest
    Trích dẫn Gửi bởi ngocminh211289 Xem bài viết
    bác nào biết tại sao máy này chạy bài đó được nhưng máy khác chạy thì k chịu,hic,mình lấy bài của bác KKKKKKKK mà chạy thì k được. Có bác nào gặp lỗi này chỉ mình với? cảm ơn trước nhé!
    muốn chạy được đầu tiên phải đúng vesion của nó, thứ hai là phải đổi tên thành máy của mình bằng cách bật WINCC lên nhìn bên trái có dòng Computer kích phải chọn properties/properties/use local..........=>>OK

  6. #36
    Thành viên cấp 3
    Ngày tham gia
    Mar 2011
    Đang ở
    ĐÀ NẴNG
    Bài viết
    139
    Thanks
    1
    Thanked 1 Time in 1 Post
    Trích dẫn Gửi bởi khanh my Xem bài viết
    Mình thì thường làm theo cách này, đầu tiên bạn hãy xác định tọa độ của từng tầng, sau đó nhớ tọa độ của từng tầng đó (nếu là giám sát thì căn cứ vào thang máy thật nó chạy như thế nào để xác định tọa độ này cho hợp lý, để thang máy thật chạy đúng với thang máy mô phỏng) mình có tọa độ của từng tầng rồi thì chỉ cần sử dụng lệnh if thôi mà, nếu = tọa độ đó thì dừng, bé hơn thì hạ, lớn hơn thì nâng ^^
    ví dụ mình viết như thế này nha:
    a=GetTop("mohinh_thangmay.pdl","BT");
    if(a==400) //400 là tọa độ của buồng thang ,khii đến tọa độ này thì mình set cảm biến phát hiện đúng tầng
    {
    settagbit("cbdungtang"==1);
    else
    settagbit("cbdungtang"==0);
    }
    như vậy mà khi đến tọa độ thì nó ko set.chỉ khi a< và > trong khoang 400 thì nó mới set.

  7. #37
    khanh my
    Guest
    Trích dẫn Gửi bởi kkkkkkkk Xem bài viết
    ví dụ mình viết như thế này nha:
    a=GetTop("mohinh_thangmay.pdl","BT");
    if(a==400) //400 là tọa độ của buồng thang ,khii đến tọa độ này thì mình set cảm biến phát hiện đúng tầng
    {
    settagbit("cbdungtang"==1);
    else
    settagbit("cbdungtang"==0);
    }
    như vậy mà khi đến tọa độ thì nó ko set.chỉ khi a< và > trong khoang 400 thì nó mới set.
    Mình làm như thế này:

    if(GetTagBit("CHON_TANG2")==1) //Return-Type: BOOL
    {
    bien1=GetTop("THANG NANG HANG.pdl","THUNG"); //Return-Type: long int
    if(bien1>340)
    {
    bien1=bien1-5;
    SetTop("THANG NANG HANG.pdl","THUNG",bien1); //Return-Type: BOOL
    SetTagBit("LEN",1); //Return-Type: BOOL
    SetTagBit("XUONG",0); //Return-Type: BOOL

    if (bien1==340)
    {
    SetTagBit("CHON_TANG2",0); //Return-Type: BOOL
    SetTagBit("LEN",0); //Return-Type: BOOL
    SetTagBit("XUONG",0); //Return-Type: BOOL

    }
    }

    if (bien1<340)
    {
    bien1=bien1+5;
    SetTop("THANG NANG HANG.pdl","THUNG",bien1); //Return-Type: BOOL
    SetTagBit("LEN",0); //Return-Type: BOOL
    SetTagBit("XUONG",1); //Return-Type: BOOL

    if (bien1==340)
    {
    SetTagBit("CHON_TANG2",0); //Return-Type: BOOL
    SetTagBit("LEN",0); //Return-Type: BOOL
    SetTagBit("XUONG",0); //Return-Type: BOOL

    }


    }


    }

  8. #38
    Thành viên cấp 3
    Ngày tham gia
    Mar 2011
    Đang ở
    ĐÀ NẴNG
    Bài viết
    139
    Thanks
    1
    Thanked 1 Time in 1 Post
    như vậy thì khi bien == 340 nó vẩn settagbit.
    mình làm như vậy nhung nó ko set. chác nó ko có giá trị đó,

  9. #39
    khanh my
    Guest
    Trích dẫn Gửi bởi kkkkkkkk Xem bài viết
    ví dụ mình viết như thế này nha:
    a=GetTop("mohinh_thangmay.pdl","BT");
    if(a==400) //400 là tọa độ của buồng thang ,khii đến tọa độ này thì mình set cảm biến phát hiện đúng tầng
    {
    settagbit("cbdungtang"==1);
    else
    settagbit("cbdungtang"==0);
    }
    như vậy mà khi đến tọa độ thì nó ko set.chỉ khi a< và > trong khoang 400 thì nó mới set.
    Có thể bạn viết Code nhầm ở chổ lệnh if, lưu ý ở đây là if lồng if nhé, chứ if riêng lẻ là không được, vì lệnh kia cứ làm cho nó chạy, lệnh này làm nó dừng, 2 lệnh như vậy nó không tác động, ở bài mình 2 cái lệnh LEN ; XUONG là mình làm cho cái mủi tên hiện thôi, k phải hành trình của thang đâu nhé, hành trình của thang chỉ phụ thuộc vào biến đầu tiên đó là if(GetTagBit("CHON_TANG2")==1) //Return-Type: BOOL
    Lần sửa cuối bởi khanh my, ngày 03-14-2012 lúc 01:11 PM.

  10. #40
    Thành viên cấp 3
    Ngày tham gia
    Mar 2011
    Đang ở
    ĐÀ NẴNG
    Bài viết
    139
    Thanks
    1
    Thanked 1 Time in 1 Post
    340 là tọa độ ở đâu vây? bài này bạn làm thang nâng hàng phải ko?
    có mấy tâng ?

Trang 4 của 6 Đầu tiênĐầu tiên ... 23456 CuốiCuối

Đá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