Bác tìm trên diễn đàn có đó. Đây không phải là chủ đề để bác hỏi phần mềm. Mất lịch sự quá.
Printable View
cac bác có thể chỉ cho mjnh cách để lập trình cho modunles FM 351 khong?mình đã tìm hiểu được vể phần cứng nhg lập trình cho nó khó quá
Ban user cảnh cáo vì tội viết bài 1 nội dung ở 2 vị trí
Các bạn nghiên cứu khối Position SFB 44 thì vào đây download tài liệu nhé :
Getting started document for the CPU 31xC: Positioning using Analog Output :
https://support.automation.siemens.c...39&caller=view
principle and details of CPU 31xC: Positioning using Analog Output :
https://support.automation.siemens.c...36&caller=view
Các anh cho em hỏi ,em có CPU313C-2dp (313 6ce00 a0b0 ), module AO,AI,DI,van tuyến tính 5/3 (MPYE-5-1/8-hf-010b), cylinder(có gắn cảm biến vị trí-Cylinder with displacement encoder) . Nếu không dùng fm351-3-4 thì có thể điều khiển vị trí cylinder đươc không? em cám ơn
FM 351 không dùng được vói cpu 31c bạn ak.chỉ dùng đc vs 314 trở nên thui
thư viện cho mô đun FM 351 cho SIMATIC Manager 5.5 sau khi cài thư viện này ae có thể xem các ví dụ và lập trình.ok
http://www.mediafire.com/?k108rjsad7j780p
Hưng cho mình hỏi một chút nha. Mình hiện tại có một CPU314C-2DP, Modul FM351 (351-1AH01-0AE0), BIẾN TẦN Simovert compaq plus (6SE7021-4EP60), ĐỘNG CƠ KĐB Siemens và Encoder. Mình muốn sử dụng các thiết bị phần cứng này cho bài toán điều khiển vị trí được không vậy? Cảm ơn Hưng nha.
viết lộn thôi ông Hưng này soi mình kinh hị hị
vấn đề bác dùng nó để điều khiển vị trí ứng dụng như nào? tui làm với 1 trục vitme gắn encoder ở đầu trục đó, động cơ điều khiển bởi biến tần để truyền động cho trục vít me. tư xung đếm về của encoder có thể xác định được ví trí cũng như khoảng cách di chuyển ^^!
Chẳng hạn như ứng dụng mà bạn đang nói đến. Làm thế nào để biết được khoảng cách di chuyển?
Kết nối phần cứng thế này nhé: Phần cứng của CPU314C-2DP có X1 và X2 gồm các AI/AO,DI/DO.
- Nối pin X1.16 và X1.20 ( AO thứ nhất của PLC) với đầu vào tương tự của biến tần. dùng để làm setpoint tần số.
- Nối pin X2.28 và X2.30 với DI của biến tần dùng để làm lệnh ON/OFF biến tần.
- Dùng Chanel 0 đếm xung ( A/B/Z của Encoder nối với DI1/DI2/DI3).
Mình kết nối như vậy có đúng không bạn? và tiếp theo phải làm thế nào nữa? bạn có một Project làm rồi chia sẽ cho mình với.
tui không đọc rõ nên có phần nói thiếu, và với biến tần bạ́c có thì không rõ nó thế nào. ứng dụng tôi dùng với biến tần MM440. đk qua profibus. giao tiếp PLC với biến tần hoàn toàn qua profibus. xung chỉ đọc về qua HSC của 314 C2DP. Nhưng theo như catalog của dòng 31x C2DP thì nó điều khiển qua đầu ra analog và đầu ra số đều được, cái này chắc đúng với ứng dụng của bác
và kết nối chân như bác đã ổn, giờ để xác định khoảng cách di chuyển thông qua vòng quay động cơ và số xung đọc về. còn điều khiển cho đúng vị trí tránh cái thằng quán tính thì chắc bác có kinh nghiệm khi làm thang máy rồi ^^!
code tui viết là dùng qua profibus và vần này chỉ là 1 phần nhỏ trong project chua chuyển cho khách nên chua share được hihi
Bác vui tính thế, HSC của 200 chắc bác quá biết rõ, thì con 300 nó cũng rứa, còn cái đếm tăng giảm xung kia không phải thế, mà xác định chiều quay có thể dùng chính encoder loại có 3 chân xung đó, hoặc kiểm tra trực tiếp tần số của biến tần cũng có thể biết được
Thế theo bạn tăng giảm xung thế nào?chỉ sử dụng một kênh đếm xung của Encoder đưa vào HSC nếu động cơ quay thuận thì đếm tăng số xung lên, còn quay ngược thì đếm giảm xung đi. Giả sử trong thang máy nhé, khi buồng thang đang ở tầng 1 được gọi lên tầng 3 thì HSC sẽ đếm tiến, khi đến tầng 3 số xung đếm được giả sử là X1 xung, từ X1 xung này sẽ biết được vị trí của thang để ra lệnh dừng. Khi thang đang ở tâng 3 có lệnh gọi xuống tầng 2, lúc này động cơ đảo chiều, buồng thang đi xuống và khi đến tần 2 thì số xung là X2 và X2<X1, từ X2 biết được vị trí của thang để dừng tầng. Vậy phải đếm giảm xung khi động cơ quay ngược đúng ko? Vậy với HSC của S7300 thì phải thiết lập và kết nối như thế nào bạn?
như này nhé, nếu dùng loại encoder có 1 chân xung thì không xác định được chiều quay đâu bác ạ. bác dùng loại có 3 chân (như tôi đang dùng) từ pha a và b sẽ xác định đượcc chiều quay,HSC của 314 C2dp có 4 mode đếm, bác chọn mode nào sẽ có cấu hình và kết nối cứng khác nhau. bác có thể xem trong tài liệu về phần này của hãng rất chi tiết. giờ \tui về quê đây, bác làm đi có vấn đề gì tui biết tui sẽ giúp. ^^
Ai chẳng biết là Encoder có 3 pha xung, bạn chẳng hiểu mình nói gì à? tôi có nói gì đến xác định chiều quay của động cơ đâu? đọc lại những gì tôi viết ở trên nhé.
- Chỉ được sử dụng một pha đếm xung (giả sử pha A chẳng hạn)
- Cần xác định tốc độ quay của động cơ
- Cần xác định tọa độ hay ( giả sử là vị trí của buồng thang trong thang máy, vì đây cũng là một bài toán điều khiển vị trí) ( giả sử thang có 5 tầng, mỗi tầng cao 3 mét, vậy làm thế nào để biết được buồng thang đang ở tầng nào? để điều khiển chạy và dừng tầng ?)
Với S7200 thì không nói, tôi đang muốn bàn là để giải quyết được vấn đề trên với HSC của CPU314C-2DP thì phải thiết lập thế nào?
giả sử tôi dùng Channel 0. Trình bày cụ thể nhé, đấu nối Encoder và PLC thế nào? thiết lập Count thế nào trong Hardware? thiết lập SFB47 như thế nào? Moderator giúp mình với nhé, cảm ơn Moderator nhiều.
Hàm đọc xung tốc độ cao: SFB 47
??? : nơi chứa dữ liệu ( thường là các DB)
Dữ liệu được lưu vào theo nguyên tắc:
LADDR: địa chỉ của kênh đọc xung tốc độ cao ( mặc định W#16#300).
CHANNEL: số kênh; 0-1: CPU 312C, 0-2: CPU 313C, 0-3: CPU 314C.
SW_GATE: bit cho phép đếm.
CTRL_DO: cho phép ngõ ra.
SET_DO: điều khiển ngõ ra.
JOB_REQ: bắt đầu job
JOB_ID: mặc định W#16#0000.
JOB_VAL: giá trị cho việc ghi dữ liệu cho bộ đếm.
STS_GATE: trạng thái cổng bên trong.
STS_STRT: trạng thái cổng bên ngoài.
STS_LTCH: trạng thái ngõ vào chốt.
STS_DO: trạng thái ngõ ra.
STS_C_DN: trạng thái hướng ngược.
STS_C_UP: trạng thái thuận.
COUNTVAL: giá trị đếm hiện tại.
LATCHVAL: giá trị chốt hiện tại.
JOB_DONE: có sự kiện mới bắt đầu.
JOB_ERR: trạng thái lỗi.
JOB_STAT: giá trị lỗi.
STS_CMP: trạng thái so sánh.
STS_OFLW: trạng thái tràn trên.
STS_UFLW: trạng thái tràn dưới.
STS_ZP: trạng thái zero.
JOB_OVAL: giá trị đếm ngõ ra.
RES_STS: bit reset lỗi.
Bài tập ví dụ HSC:
Hàm SFB47 “COUNT” là hàm đếm tốc độ cao của S7-300.
Để lấy hàm SFB47 ta vào Libraries=>system Function block=>SFB47 COUNT TEC_FUNC.
Ví dụ được làm trên CPU 314C-2DP(tốc độ đếm đến 30kH, và có 4kênh: 0,1,2,3). Ngõ vào mật định là I124, I125 ngõ ra mật định là Q124, Q125.
Được khai báo:
LADDR (địa chỉ của COUNT,xem trong phần cứng): bắt đầu là 768 đổi ra số HEX là 300.(có thể thay đổi tuy thuộc phần cứng).
CHANNEL (kênh của HSC): chọn kênh 0.
JOB_ID(địa chỉ chức năng làm việc của HSC):trong bài chon giá trị 0001 để viết giá trị đếm.
JOB_VAL( giá trị ngõ vào để làm việc dạng Dint): chọn MD4.
SW_GATE(chân cho phép HSC đếm): M1.0
CTRL_DO, SET_DO, JOD_RED: là những chân điều khiển ngõ ra.
COUNTVAL ( ngõ ra hiển thị giá trị đếm): được lưu vào MD8
LATCHVAL (chân hiển thị giá trị chốt khi chôt bên ngoài phần cứng): được lưu vào MD20.
JOD_STAT (Chân hiển thị báo giá trị lỗi): được hiển thị ra vùng nhớ MW4
Các chân còn lại của ngõ ra dùng để hiển thị quá trình làm việc và giá trị lỗi của HSC được lưu dưới dạng bit.
Lưu ý :
Để HSC chạy thì phần cứng phải được khai báo. Khai báo theo từng kênh và từng chế độ của HSC.Trong phân cứng chúng ta vào: count
Và để điều khiển HSC nhận xung đếm lên xuống chúng ta phải xem phần cứng hỗ trợ của CPU mình đang sử dụng. Với CPU313C_2DP.
sử dụng kênh 0 nên chân nhận xung là I124.0, chân đảo hướng I124.1, chân chốt dữ liệu I125.4, chân cho phép và cho phép HSC là I124.2
Khi chân làm việc: JOB_DONE=1
Khi cho phép đếm: SW_GATE=1
- Để đo tốc độ động cơ, bác chỉ việc dùng ngắt timer để lấy thời gian lấy mẫu là tính được xung/phút -> vòng/phút thôi.
- Xác định vị trí thì thông qua xác định khoảng cách di chuyển là được. Vùa làm hộ 1 đề tại thạc sy về cái này, bác để lại mail tui gửi bài luận cho :)
Còn nếu về HSC sử dụng hàm chưa hỉu tôi sẽ gửi bác 1 project cấu hình và dùng hàm đó đếm được.
Bạn gửi Project cái luận văn Thạc sỹ kia lên cho mọi người tham khảo vì nó có ứng dụng còn Project cấu hình và dùng SFB 47 và những gì bạn viết ở trên, các diễn đàn khác đã có rồi bạn ạ. Phải là ứng dụng cụ thể bạn ạ. Nếu bạn không muốn post lên diễn đàn thì cho mình xin vào Mail:[email protected]. Cảm ơn bạn vì sự nhiệt tình của bạn.
Anh anhlv.ddt ơi. Anh gửi cho em xin bài luận và project mẫu của anh với. Em đang làm đề tài về vấn đề này. Nhưng em chưa biết cách sử dụng HSC của S7-300 và tính toán tốc độ động cơ. Em đọc trên diễn đàn mọi người cũng nói nhiều, nhưng chỉ là lý thuyết nên hơi khó hiểu. Anh có tài liệu về vấn đề này anh gửi cho em xin nhé. Mail của em là: [email protected]. Em cảm ơn anh nhiều! Mong tin từ anh.
http://www.mediafire.com/?31qtqqi86c0nehc
đây là ví dụ cài đặt và sử dụng HSC của 314 C2DP dùng kênh 0. các bạn có thể tham khảo và sử dụng theo mục đích của mình ^^!
anhlv.ddt: thanks
anhlv.ddt: thanks
a có thể gửi giúp e bài luận thsi về HSC vào mail [email protected] được không. Em hiện cũng đang làm luận văn về hệ điều khiển vị trí sử dụng encoder+biến tần+S7-300.
Cảm ơn a rất nhiều
Dùng SFB47 thì bạn lưu ý 3 vấn đề :
LADDR : đây là địa chỉ dạng Hex, còn trong cấu hình là dạng decimal, nên bạn phải đổi số địa chỉ trong phần cứng ra sô Hex.
CHANNEL : Đếm kênh nào thì chọn kênh đó.
SW_Gate : chân cho phép đếm, nên lưu ý chọn chế độ kích cho bộ đếm là kích cứng hay kích mềm.
Địa chỉ lưu giá trị xung.
Chọn chế độ đếm.
Đó là những thông số cơ bản quan trọng.
chào anh anhlv.ddt em cũng đang làm về vấn đề đếm xung của encoder. Nếu được mong anh chia sẻ tài liệu vào mail. [email protected]
em cảm ơn!
Chào các bạn
Mình cũng có đụng đến Fm350-1 để đo và cắt vật đang chuyển động như Anh dohung đã nói. Có mem nào sử dụng các hàm thư viện của nó chưa? FC0:CNT_CTRL. FC1: DIG_INF: FC2: CNT_CTL1; FC3: CNT: CTL2? xin chia sẽ cho mình với
Thanks
Vấn đề này mình đã làm cho công ty mình rồi, mình sử dụng modul FM351 có 2 kênh Encoder. Mình viết cho 1 tay gắp có 6 vị trí di chuyển ngang và 3 vị trí lên xuống và đã thành công. Nếu ai muốn chia sẻ xin liên hệ 0904013513 , mình ở "Công Nghệ Cao Hòa Lạc" đảm bảo thành công 100%
Mình làm sẵn những hàm thư viện cho dòng modul FM351 (cả 2 kênh luôn, dùng kênh nào tính tiền kênh đó) và CPU 314-CP (4 kênh nhé, ai dùng kênh nào khai báo kênh đó).
Chào anh, em đang tìm hiểu phần HSC, anh gửi em xin đề tài thạc sỹ anh nói ở trên với.
[email protected]
Em xin cảm ơn.
Anh nói hay quá....
anh gửi bài luận thạc sỹ HSC cho em nghiên cứu kỹ hơn được không
[email protected]
Đính kèm 2826Đính kèm 2827Đính kèm 2828
Trên này tôi sử dụng Modul FM 351-2 (2 kênh Encoder), có 3 UDT sẵn khi bạn setup cái đĩa đi kèm modul. Tôi viết riêng một hàm cho dòng modul này để khi sử dụng tôi chỉ call nó vào thôi và khai báo kênh và vùng nhớ tương ứng đi kèm. Nếu bạn muốn tham khảo thì liên hệ với tôi, tôi bận công việc chứ tôi không có ý bỏ lửng chủ đề ở đây. Nói hay và làm hay có gì mà không tốt?