Đăng Ký
Trang 10 của 22 Đầu tiênĐầu tiên ... 8910111220 ... CuốiCuối
Kết quả 91 đến 100 của 215
  1. #91
    Thành viên cấp 2
    Ngày tham gia
    Jul 2011
    Bài viết
    59
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi thanhkethuhien Xem bài viết
    theo như bạn nói để đếm số lần làm việc của 1 chu trình thì chẳng cần phức tạp hóa vấn đề như thế này đâu bạn ạ
    theo tôi thì khi bắt đâu cho chu trình làm việc phải có điều kiện cho nó đúng ko
    và như thế tương ứng như nút ấn START hệ thống, bạn cho vào 1 tiếp điểm song song với điều kiện
    bắt đầu, sau đó cho nó lấy xung cạnh lên cho vào Counter đếm số lần, bao nhiều tùy bạn
    dùng timer như mọi người nói để tạo xung thôi, bạn nói khống chế cho 5s sau đó đếm,vậy chu trình của bạn nói có chắc nó diễn ra chuẩn đúng 5s ko.điều này ko giám chắc đâu bạn.
    đó là ý kiến của tôi ,có gì sai xót mong mọi người góp ý thêm
    Cảm ơn ý kiến của bạn.
    Cách làm của bạn cũg tương tự như mình nói ở phía trên là đếm số lần hoạt độg của 1 phần tử trog cơ cấu. Nhưg theo mìh thì nên đếm điều kiện kết thúc của phần tử cuối cùg hoạt độg trước khi chuyển sag chu trình mới, còn nếu bạn đếm theo điều kiện bắt đầu thì sẽ dễ bị mất lần lặp lại cuối cùg (mình nghĩ thế :D, nhưg hoàn toàn có thể sử dụg đc cách này).
    Trở lại như bài này, thì điều kiện bắt đầu của quá trìh là T0 chuyển lên 1 (ko có thời gian nghỉ giữa 2 chu trình nhé) thì nếu mình dùg Counter để đếm T0 thì lại mắc lỗi như ban đầu rồi.
    Mìh đã thử thực hiện bài này ở S7 200 và Counter vẫn đếm đc số chu trìh hoạt độg nhưg ở S7 300 thì ko. Ko biết nguyên nhân của sự khác biệt này là j, mog mọi ng cho ý kiến
    Thanks trc nhé

  2. #92
    Thành viên cấp 7
    Ngày tham gia
    May 2011
    Đang ở
    HoChiMinhCiTy
    Bài viết
    781
    Thanks
    7
    43 lượt trong 37 bài viết
    Trích dẫn Gửi bởi trison89 Xem bài viết
    của em chạy được mà anh . khi tín hiệu m0.1 chuyển từ 0 lên 1 thì bộ đếm được đặt giá trị là 3 . Giá trị đầu ra q0.0 = 1 mà anh
    Oke em,anh không thấy cái lệnh cuối.Hết noron rồi.Nghỉ thôi.

    Hãy luôn là chính mình.
    Mail :Hidden Content

  3. #93
    Thành viên cấp 1
    Ngày tham gia
    Sep 2011
    Bài viết
    25
    Thanks
    0
    0 lượt trong 0 bài viết

    Ngắt trì hoãn

    Em cần viết ct nếu q0.0 on thì sau 5s cho q0.1 ON. cái này viết bằng ngắt trì hoãn mà em không biết cái SIGN của hàm SFC32 có nghĩa là gì nên cứ báo lỗi chỗ đó.
    Anh chị có thể giúp em cái ví dụ nho nhỏ về hàm SFC32 đc không ạ ??
    Xin cám ơn ![-O<

  4. #94
    Thành viên cấp 7
    Ngày tham gia
    May 2011
    Đang ở
    HoChiMinhCiTy
    Bài viết
    781
    Thanks
    7
    43 lượt trong 37 bài viết
    Trích dẫn Gửi bởi loc.plsoft Xem bài viết
    Em cần viết ct nếu q0.0 on thì sau 5s cho q0.1 ON. cái này viết bằng ngắt trì hoãn mà em không biết cái SIGN của hàm SFC32 có nghĩa là gì nên cứ báo lỗi chỗ đó.
    Anh chị có thể giúp em cái ví dụ nho nhỏ về hàm SFC32 đc không ạ ??
    Xin cám ơn ![-O<
    Sao bạn không dùng timer ?

    Hãy luôn là chính mình.
    Mail :Hidden Content

  5. #95
    Thành viên cấp 1
    Ngày tham gia
    Nov 2011
    Bài viết
    28
    Thanks
    0
    0 lượt trong 0 bài viết
    Anh Hiếu giúp mình tí nhé. chức năng của khối OB85, khối OB85 có lập trình được không? Khi lập trình PLC nhất thiết có phải đưa thêm khối OB85 vào chương trình không? Mong giúp đỡ

  6. #96
    Little PLC

    Ngày tham gia
    Mar 2011
    Đang ở
    Mọi câu hỏi hãy đưa lên diễn dàn. Tôi không dùng hộp thư riêng.
    Bài viết
    3,151
    Thanks
    257
    1,085 lượt trong 567 bài viết
    Trích dẫn Gửi bởi An Duong Xem bài viết
    Anh Hiếu giúp mình tí nhé. chức năng của khối OB85, khối OB85 có lập trình được không? Khi lập trình PLC nhất thiết có phải đưa thêm khối OB85 vào chương trình không? Mong giúp đỡ
    OB85 - lỗi chương trình.

    Bạn nên đọc từ đầu bài nhé. vì ở đó có trình bày rồi.
    Còn cách hoạt động là khi xảy ra lỗi chương trình thì nó sẽ ngắt OB1 không thực hiện OB1 mà nhảy sang thực hiện OB85, còn cách lập trình không có gì khác, hoàn toàn tương tự nhé bạn.
    Hidden Content

    Trần Văn Hiếu
    Email: Hidden Content
    Sđt: (+84)987 - 338 - 334

  7. #97
    Thành viên cấp 1
    Ngày tham gia
    Nov 2011
    Bài viết
    28
    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
    OB85 - lỗi chương trình.

    Bạn nên đọc từ đầu bài nhé. vì ở đó có trình bày rồi.
    Còn cách hoạt động là khi xảy ra lỗi chương trình thì nó sẽ ngắt OB1 không thực hiện OB1 mà nhảy sang thực hiện OB85, còn cách lập trình không có gì khác, hoàn toàn tương tự nhé bạn.
    cái trạm PLC chõ em cứ 2 tháng nó lại bị đơ một lần.em kiểm tra mọi cái vẫn ngon,tín hiệu input vẫn có, nhưng nó lại không set đầu ra.Chương trình em viết bằng cac khối FB, FC sau đó ra OB1 gọi nó ra sử dụng.Liệu có phải em không sử dụng các khối chức năng không anh.

  8. #98
    Little PLC

    Ngày tham gia
    Mar 2011
    Đang ở
    Mọi câu hỏi hãy đưa lên diễn dàn. Tôi không dùng hộp thư riêng.
    Bài viết
    3,151
    Thanks
    257
    1,085 lượt trong 567 bài viết
    Trích dẫn Gửi bởi An Duong Xem bài viết
    cái trạm PLC chõ em cứ 2 tháng nó lại bị đơ một lần.em kiểm tra mọi cái vẫn ngon,tín hiệu input vẫn có, nhưng nó lại không set đầu ra.Chương trình em viết bằng cac khối FB, FC sau đó ra OB1 gọi nó ra sử dụng.Liệu có phải em không sử dụng các khối chức năng không anh.
    Hi Mr An Dương.
    Tình hình là thế này nhé. Mỗi lệnh của mình sẽ tốn không khoảng thời gian T = x * chu kỳ lệnh ( 0.1 - 0.3 us) do đó khi viết tại mỗi thời điểm sẽ cộng dồn lại và tạo ra sai số ( y như việc điều chỉnh dây cót đồng hồ ngày xưa đó) thì sau khoảng thời gian sẽ tạo ra khoảng thời gian không mong muốn, vấn đề này có thể coi lại code thôi. Có một số giải pháp như sau đối với một số hệ thống là:

    1. Cô lập các chương trình với nhau. Mọi thứ sẽ chỉ là các Function Block để quản lý lỗi xảy ra tại vị trí nào?
    2. Trong những ứng dụng để tối ưu hoá thời gian cho hệ thống thì viết bằng STL hoặc SCL ( LAD vẫn giải quyết được nhưng bị hạn chế vì chiếm mất thời gian nhiều hơn so với bình thường).
    3. Dùng lệnh SET thời gian thực để hệ thống tự động RESET về thời gian gốc để không bị lỗi. Có thể để hệ thống sau 1 tháng thì trả về thời gian gốc. Đây là một giải pháp xoá lỗi đơn giản nhưng ít người nghĩ.

    Chúc anh thành công
    Hidden Content

    Trần Văn Hiếu
    Email: Hidden Content
    Sđt: (+84)987 - 338 - 334

  9. #99
    Thành viên cấp 1
    Ngày tham gia
    Nov 2011
    Bài viết
    28
    Thanks
    0
    0 lượt trong 0 bài viết
    Cảm ơn anh. Để qua tết em kiểm tra lại chương trình và xử lý mọi vấn đề. Chúc anh ăn tết vui vẻ.

  10. #100
    Thành viên Mới
    Ngày tham gia
    Feb 2012
    Bài viết
    5
    Thanks
    0
    0 lượt trong 0 bài viết

    Exclamation Xây dựng thư viện hàm cho PLC

    Good moring all,
    Mục đích của mình khi viết chủ đề này nhằm huy động trí lực và kinh nghiệm của tất cả anh em nhằm xây dựng một thư viên hàm cho các hãng PLC ( bắt đầu với S7300/400).
    Có thể một số anh em sẽ rất ngạc nhiên khi đọc bài này vì có thể thắc mắc tại sao chúng ta lại xây dựng lại các hàm làm gì trong khi chúng ta đã có các FB,FC,SFB,SFC có trong thư viện của Step 7. Mình xin mạn phép lý giải thế này:
    - Thứ nhất, các bạn có thể thấy, thư viện của S7 chưa đủ để các bạn có thể thực thi các ứng dụng
    - Thứ hai, với những ai đang nghiên cứu, học tập chuyên sâu về PLC thì hệ thống hàm thư viện là thực sự quan trọng để hiểu cặn kẽ mọi vấn đề.
    - Thứ ba, nếu chúng ta có 1 hệ thống hàm thư viện thì chúng ta sẽ ko bị ràng buộc bất cứ điều gì vì đó là do chúng ta tạo ra, chúng ta hiểu rõ hơn ai hết, do vậy, chúng ta mới thực sự là những người am hiểu PLC một cách cặn kẽ nhất.

    Hiện tại thì mình đã xây dựng khá đầy đủ thư viện hàm cho S7 và đang cố gắng xây dựng cho họ PLC Allen-Bradley
    Nhưng, biển học là vô bờ, có thể anh em còn có nhiều phương án giải quyết hay hơn và mình rất mong chờ điều đó từ các anh em trong diễn dàn.
    Đầu tiên, hãy bắt đầu bằng 1 số hàm đơn giản :
    1) Reset Range of Outputs (RSET): FC82
    -------------------------------------------------
    Description: The Reset Range of Outputs (RSET) function resets the signal state of each
    bit in a specified range to 0 if the MCR bit is 1. If the MCR bit is 0, the
    signal state of each bit in the range remains unchanged. The number of bits
    in the range to be reset is specified by N, and the starting point of the range is
    pointed to by S_BIT
    Parameter | Declaration | Data Type | Memory Area | Description
    ---------------------------------------------------------------------------------------------------------
    EN | Input | BOOL |I, Q, M, D, L | Enable input with signal state of 1
    activates the box
    ---------------------------------------------------------------------------------------------------------
    ENO Output BOOL I, Q, M, D, L Enable output has a signal state of 1 if
    the function is executed without error
    ---------------------------------------------------------------------------------------------------------
    S_BIT Input Pointer* I, Q, M, D Points to the first bit in the range
    ---------------------------------------------------------------------------------------------------------
    N Input INT I, Q, M, D, L, P or constant Number of bits in the range
    to be reset
    ---------------------------------------------------------------------------------------------------------

    Các bạn có thể tham khảo thêm cún : "Standard Software for S7-300 and S7-400" để biêt rõ thêm chi tiết của hàm

    Lưu ý các anh em: Mục đích trước mắt của chúng ta là viết lại các hàm có chức năng tương đương trong thư viện, nhờ đó mà chúng ta học hỏi được nhiều thứ, chúng ta đừng cho ý tưởng viết lại này là quá điên rồ, vì trước mắt chúng ta cần nắm vững ngôn ngữ lập trình.


    Good luck to all,
    Ảnh đính kèm Ảnh đính kèm
    Lần sửa cuối bởi Dragon_Auto, ngày 03-09-2012 lúc 04:36 AM.

Trang 10 của 22 Đầu tiênĐầu tiên ... 8910111220 ... CuốiCuối

Tag của Chủ đề này

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