Đăng Ký
Trang 12 của 18 Đầu tiênĐầu tiên ... 21011121314 ... CuốiCuối
Kết quả 111 đến 120 của 177
  1. #111
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    Trích dẫn Gửi bởi tuaran Xem bài viết
    mấy bác cho em hỏi chút, em mới tìm hiểu nên còn lôm côm
    Khi dùng hàm Scale để đọc một tín hiệu analog, giá trị đầu ra là số thực (ví dụ em đọc giá trị 4-20 mA để hiển thị mức nước 0-10m).Nếu em được giá trị ra là 8.5m, em muốn hiển thị giá trị này ở 2 con Led 7 đoạn. Theo em biết thì muốn hiển thị ra Led 7 đoạn thì phải chuyển giá trị ra số BCD. Vậy làm sao để chuyển giá trị này ra số BCD được mấy huynh
    Bạn viết hàm chuyển Real sang Double interger, sau đó dùng hàm DI->BCD để chuyển qua BCD, nhưng cách này (với khả năng của mình) có hạn chế là bạn k giữ dc hệ số thập phân, nghĩa là 8.5 lúc ày chỉ còn 8.

  2. #112
    Thành viên cấp 1
    Ngày tham gia
    Dec 2011
    Bài viết
    14
    Thanks
    4
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi hotronghieu Xem bài viết
    Bạn viết hàm chuyển Real sang Double interger, sau đó dùng hàm DI->BCD để chuyển qua BCD, nhưng cách này (với khả năng của mình) có hạn chế là bạn k giữ dc hệ số thập phân, nghĩa là 8.5 lúc ày chỉ còn 8.
    cảm ơn bạn nhiều nhé

  3. #113
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    Mình có viết cho bạn hàm tách 1 số real ra 2 số dint, mình chỉ lấy 1 số lẻ.(vd: 8.51 mình sẽ lấy ra 8 và 5)

    SET
    R #OVERLIMIT
    L #IN_DATA //load data vào, dữ liệu sau khi ra fc105
    PUSH
    TRUNC
    JO FLT
    T #TEMP_DATA
    T #OUT_DATA //out phần nguyên
    DTR
    -R
    T #TEMP_DATA_TRUNC
    L 1.000000e+001
    *R
    TRUNC
    T #OUT_DATA1 //out phần thập phân
    SAVE
    BEU
    FLT: S #OVERLIMIT
    CLR
    SAVE


    Để mình nói thuật toán cho bạn dễ hiểu: Mình lấy data vào (real), dùng truncate để lấy phần nguyên. Sau đó lấy số real dầu vào trừ giá trị truncate để lấy phần thập phân. Next, lấy hiệu số nhân 10 và truncate lần nữ sẽ lấy dc phần lẻ sau dấu thập phân. Với cách viết này sẽ có 1 số trường hợp bị sai lêch giá trị 0.1,
    nhưng k ảnh hưởng lắm, bạn suy nghĩ và cải thiện chương trình nha
    Lần sửa cuối bởi Mechatronic_Hieu, ngày 01-03-2013 lúc 09:25 AM.
    Nhận hợp tác lập trình các loại PLC và xử lý sự cố về hệ thống tự động hóa
    Gm: Hidden Content

  4. #114
    Thành viên cấp 1
    Ngày tham gia
    Dec 2011
    Bài viết
    14
    Thanks
    4
    0 lượt trong 0 bài viết
    Mình đi công tác ở xa k có internet nên h mới vào được diễn đàn, cảm ơn bạn nhiều nhé

  5. #115
    Thành viên Mới
    Ngày tham gia
    Mar 2012
    Bài viết
    5
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi tran_hieu0983 Xem bài viết
    SET // if(BIPOLAR=0)
    A #BIPOLAR // .
    JC EL01 // {
    L 0.000000e+000 // K1=0
    T #K1 // .
    JU EI01 // } else {
    EL01: L -2.764800e+004 // K1=-27648.0
    T #K1 // .
    EI01: NOP 0 // }
    L 2.764800e+004 // K2=+27648.0
    T #K2 // .

    // convert input (IN) to real

    L #IN // ACC1=IN
    ITD // convert to double integer
    DTR // convert to real
    T #IN_REAL // IN_REAL-IN as a real

    // determine SPAN = HI_LIM - LO_LIM

    L #HI_LIM // SPAN=HI_LIM-LO_LIM
    L #LO_LIM // .
    -R // .
    T #SPAN // .

    // If the input value is outside the K1 and K2 range, the output
    // is clamped to the nearer of either the LO_LIM or the HI_LIM
    // and an error is logged. If the input value is exactly at a limit the
    // output will be set to the computed limit with no error returned.
    // changed 2/14/00 by ERI per RQ210693
    L #IN_REAL // if(IN_REAL<K1)
    L #K1 // .
    >=R // .
    JC EL02 // {
    L 8 // error
    T #RET_VAL // .
    L #LO_LIM // ACC1=LO_LIM
    T #OUT // OUT=ACC1
    JU FAIL // error
    EL02: POP // } else {
    L #K2 // if(IN_REAL>K2)
    <=R // .
    JC EI04 // {
    L 8 // error
    T #RET_VAL // .
    L #HI_LIM // ACC1=HI_LIM
    T #OUT // OUT=ACC1
    JU FAIL // error
    EI04: NOP 0 // }
    NOP 0 // }

    // scale the input

    L #K2 // TEMP1=K2-K1
    L #K1 // .
    -R // .
    T #TEMP1 // .
    L #IN_REAL // IN_REAL-K1
    L #K1 // .
    -R // .
    L #TEMP1 // divide by TEMP1
    /R // .
    L #SPAN // multiply by SPAN
    *R // .
    L #LO_LIM // add LO_LIM
    +R // .
    T #OUT // OUT=scale(IN_REAL)

    // set BR bit : no error-set BR bit to 1; with error-set BR bit to 0.

    L 0 // return error code 0
    T #RET_VAL
    SET // RLO = 1 (NO ERROR)
    JU SVBR //
    FAIL: CLR // RLO = 0 (ERROR)
    SVBR: SAVE // BR = RLO
    Đề nghị bạn mô tả rõ hơn về khai báo Interface và Data type của tất cả các biến trong đoạn STL trên. Cảm ơn bạn nhiều

  6. #116
    Thành viên cấp 3
    Ngày tham gia
    May 2012
    Bài viết
    237
    Thanks
    39
    88 lượt trong 50 bài viết
    Trích dẫn Gửi bởi van8x10 Xem bài viết
    Đề nghị bạn
    ?????????!!!!!!

    Tự bấm F1 của FC105 mà đọc. Bạn là ai mà đề nghị người khác phải nghe lệnh bạn?!

  7. #117
    Thành viên cấp 1
    Ngày tham gia
    Apr 2012
    Bài viết
    29
    Thanks
    0
    Thanked 1 Time in 1 Post
    Trích dẫn Gửi bởi plcvietnam Xem bài viết
    ?????????!!!!!!

    Tự bấm F1 của FC105 mà đọc. Bạn là ai mà đề nghị người khác phải nghe lệnh bạn?!
    Chắc bác van8x10 là sếp lớn nên thế, bác ấy chỉ biết " đề nghị " , " nhờ bạn " , " bạn làm ơn " .
    Muốn biết phải hỏi, muốn giỏi phải học !

  8. #118
    Thành viên Mới
    Ngày tham gia
    Mar 2012
    Bài viết
    5
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi plcvietnam Xem bài viết
    ?????????!!!!!!

    Tự bấm F1 của FC105 mà đọc. Bạn là ai mà đề nghị người khác phải nghe lệnh bạn?!
    Xin lỗi bạn, tôi không nghĩ tôi dùng "đề nghị", "cảm ơn bạn nhiều" có nghĩa là ra lệnh. Take it easy! Dù sao cũng xin tiếp thu và rút kinh nghiệm ạ!
    Tôi nhờ chủ topic chỉ dẫn là vì link tài liệu : http://plcvietnam.com.vn/showthread....3%A2m-C%C4%90T
    không vào được
    Lần sửa cuối bởi van8x10, ngày 02-05-2013 lúc 04:56 PM.

  9. #119
    Thành viên Mới
    Ngày tham gia
    Mar 2012
    Bài viết
    5
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi tdh_ngtrungduc Xem bài viết
    Chắc bác van8x10 là sếp lớn nên thế, bác ấy chỉ biết " đề nghị " , " nhờ bạn " , " bạn làm ơn " .
    Chào bạn! Tôi mới tham gia diễn đàn này. Có gì thất thố xin bạn và mọi người giúp đỡ và chỉ bảo thêm ạ.

  10. #120
    Thành viên cấp 1
    Ngày tham gia
    Feb 2013
    Bài viết
    23
    Thanks
    0
    4 lượt trong 3 bài viết
    e có câu này nếu không phải mong bác zippopham bỏ qua cho. Như e được biết thì tín hiệu dòng chỉ nằm trong khoảng 4 - 20 mA, nếu từ 0 - 20 mA sẽ gây ra nhieeuc và không còn chính xác nữa.
    Trích dẫn Gửi bởi zippopham Xem bài viết
    Tín hiệu analog thì thông dụng là 0-10VDC, 4-20mA, 0-20mA,...
    4-20mA nó là nguồn dòng mà, cần áp 24V DC để làm gì? Không hiểu luôn.

Trang 12 của 18 Đầu tiênĐầu tiên ... 21011121314 ... 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