Chưa làm cái này bao giờ. Nghe bác nói vậy, chắc phải về tìm hiểu liền.
Printable View
Chưa làm cái này bao giờ. Nghe bác nói vậy, chắc phải về tìm hiểu liền.
Lệnh SetLeft là đặt tọa độ X bên trái nha .Nghĩa là khi bạn đọc được bằng lệnh GetLeft là biến t chẳng hạn .Sao đó biến đổi biến t này tùy theo ý bạn . Rồi SetLeft theo biến đó .
vd mình muốn 1 vật chuyển động từ trái qua phải khi có tín hiệu nút nhấn "Khởi động"
Thủ tục hàm bạn thêm vào nha .Đây là nội dung chính .
it x;
x=GetLeft("ducdien.pdl","vat");
if(GetTagBit("Khoi dong")=1)
x=x++;
SetLeft("ducdien.pdl","vat",x);
mình có thể dùng plc lập trình để tác động mực nước đó bạn
Bài tập băng tải là 1 bài toán mà khá nhiều người vướng mắc khi bắt đầu học WinCC
Theo mình để thấy được băng tải chuyển động thì có cách như sau:
1/ Làm cho rulo băng tải quay
2/ Làm cho dãi băng chạy (Vẽ các hình chữ nhật -> làm chuyển động)
3/ Kết hợp 1/ và 2/ (Như vậy sẽ thấy chuyển động tốt hơn)
Mong mọi người góp ý để có thể giúp những ai đang thắc mắc vấn đề này.
Thanks a lot.
Người ta làm trong thực tế thì chẳng bao giờ dùng tới Simulation của WinCC cả. Phải sử dụng biến ngoại để tác động làm thay đổi mực nước.
Lập trình cho phần này khá đơn giản.
Bạn lập trình trong PLC cho một biến nào đó chứa giá trị của mực nước. Trong WinCC bạn gán thuộc tính Fill level vào tag (Biến giá trị)đó. Vậy là ok.
Chúc bạn thành công.
Mình cũng đã làm được 1 chuyển động của băng tải. Các bạn xem rồi góp ý giúp. Thanks
http://youtu.be/iFEP1evQAgw
Có rất nhiều cách để làm băng tải chạy. Sau đây mình xin mạn phép hướng dẫn 1 cách. Có gì sai sót mong các pro góp ý.
1. Tạo Tag 'bang_tải' unsigned 16 bit
http://i1213.photobucket.com/albums/...ocvinh/1-3.png
2. Thiết kế trong Graphics Designer: Tạm thời mình chia làm 3 nhóm như sau. Trong đó có 2 nhóm động và 1 nhóm tĩnh.
Nhóm 1:
http://i1213.photobucket.com/albums/...ocvinh/2-3.png
Nhóm 2:
http://i1213.photobucket.com/albums/...ocvinh/3-2.png
Nhóm 3:
http://i1213.photobucket.com/albums/...ocvinh/4-1.png
Còn tiếp ...
Tiếp tục ...
Ghép 3 nhóm trên ta được 1 băng tải hoàn chỉnh.
http://i1213.photobucket.com/albums/...ocvinh/5-1.png
3. Gán thuộc tính.
Nhóm 1 (gồm 2 nhóm nhỏ. 1 nhóm nhỏ gồm 1 cycle và 1 polyline) :
- Chuột phải nhóm -> properties -> polyline -> geometry -> Rotation Angle: chuột phải -> Dynamic Dynalog...
- Standar cycle để là 'upon change'
http://i1213.photobucket.com/albums/...quocvinh/6.png
Bên Events -> Objects -> Polyline -> Properties Topic -> Geometry -> Rotation Angle -> Dicrect Connection... -> gán tag 'bang_tai'
http://i1213.photobucket.com/albums/...quocvinh/7.png
Còn tiếp ...
Tiếp tục ...
Nhóm 2 (Gồm các hình chữ nhật ghép lại được vẽ bằng Polygon): Chuyển động này sẽ dựa trên đối tượng Nhóm 1 (chuyển động xoay tròn) hay nói cách khác là chuyển từ CĐ xoay sang CĐ tịnh tiến, tức khi xoay được 1 góc A độ thì sẽ chuyển động tịnh tiến 1 đoạn B. Nếu chia đoạn càng nhỏ thì sẽ thấy chuyển động càng tốt.
(Đó là 1 cách, ngoài ra còn cách khác là xác định tọa độ X của vật -> Set di chuyển 1 đoạn tương ứng với băng tải)
- Chuột phải -> Properties -> group -> geometry -> postion X -> chỗ Dynamic: chuột phải -> Dynamic Dialog...
- Standard Cycle phải để là 'upon change'
http://i1213.photobucket.com/albums/...quocvinh/8.png
5. Chạy Runtime.
Chúc các bạn thành công.
uhm mình gán nó rồi đưa vào counter đếm đến 100 dùng xung 1s,mô phỏng cho mực nước tăng lên đó rôi lấy giá trị wa bộ so sánh để tác động cho càm biến
hình ở trên mình khai báo chỗ Up to (0,30,60,90,120..) là có ý nghĩa gi` vậy bạn??
ah` có phải là độ trong 1 vòng tròn phải ko???
Up to: nói 1 cách dễ hiểu đó là cập nhật vị trí của tag 'bang_tai" tức số độ của polyline xoay được.
Potision X: chính là tọa động dãi băng sẽ được gán vào tương ứng với bên Up to.
Bài của bạn Vinh, nhưng mình xin góp ý 1 chút
Chỗ Up to và Position đó có nghĩa là thế này.
Bạn có thể hiểu:
Tương ứng với mỗi giá giá trị Up to ( đây chính là giá trị tag mà bạn gán) thì Position sẽ có giá trị tương ứng.
Nghĩa là khi giá trị "bang_tai" tăng lên, đến mỗi khoảng giá trị thì sẽ có mỗi vị trí tương ứng cho đối tượng.
That's all!
http://www.mediafire.com/?l5nl7gj1008z6dr
Đây là một tài liệu khá hay,mọi người tham khảo nhé ^^:D
Thế bài trên bạn làm băng tải tăng kiểu j mà chạy dc .Mình thấy bạn có 2 chuyển động (quay +tròn )mà chưa thấy đề cập tới Tag Băng tải .Mà chỗ (bangtai+5)%360 là j vậy (lấy số dư hả )
Còn về tag bang tải làm cho nó tăng thì bạn vào global Scripts làm vài cái lệnh If rồi băng tải ++ cho nó cái .Hhehe
Bài băng tải này mình k dùng GS. Tại sao? tại 1 người mới bắt đầu học WinCC thì có thể chưa biết gì về C-Action chẳng hạn. Thì khi viết như vậy sẽ làm cho người ta khó hiểu.
(bangtai+5)%360 : chỗ này chuyển động xoay tròn nên đơn vị sẽ tính là độ, bangtai xoay 5 độ cấp số cộng đến maximum là 360 độ sẽ quay lại từ đầu.
Vậy nhưng tiện đây thì k biết bạn nguyendien.89 có thể post 1 bài hướng dẫn cụ thể hơn về viết trong GS được không?
Thanks a lot
Ok .Bạn gửi file WinCC bài tập băng tải cho mình , mình sẽ làm trên C-Action trên bài tập của bạn luôn .
Vậy thì mất công quá. Bạn chỉ cần lấy 1 hình làm thôi. Đâu nhất thiết phải là băng tải.
Làm như vậy thì đâu có mang tính chất chia sẻ.
Mình nhớ là mình đã đề cập đến chuyện sử dụng C-actions rồi mà. Các bạn vào link này để biết cách làm cho vật di chuyển nè.
http://plcvietnam.com.vn/showthread....=1098#post1098
mình muốn giám sát được sự thay đổi liên tục mức nước trong bình trên wincc thì phải dùng cảm biến gì thay cho 3 cảm biến mức mà bạn đã dùng vậy?
trong diển đàn ai đả cài bản wincc 7.0 sp2 chưa ,nó có lẹ hơn wincc 7.0 sp1 không ? lúc trước mình cài wincc 7.0 sp1 cài xong thấy máy tính khởi động chậm kinh khủng
Trang hướng dẫn cài đặt WinCC V7 SP2
http://plcvietnam.com.vn/showthread.php?t=13
chào mọi người.
đây là chương trình mô phỏng hệ thống máy bơm. mình chưa biết cách giải quyết vấn đề ở chỗ là:
- Khi mực nước đầy 2 động cơ ngưng làm việc. Khi bồn cạn cả 2 động cơ cùng làm việc.
mong mỏi người chỉ giúp.
[IMG]http://cC3.upanh.com/23.142.30189622.uBz0/untitled.jpg[/IMG]
thank.
mình đã đọc qua rồi.
- mình muốn cập nhật giá trị từ I/O filed để điều khiển 2 động cơ. Giả sử như I/O filed có giá trị =100 thì off 2 động cơ và =0 thì on 2 động cơ, Điều mình muống nói ở đây là dùng tag nội thôi chứ không dùng đền plc-sim của s7. bạn nào biết xin chỉ giúp.
1/ Sử dụng WinCC mà k kết nối với PLC thì ta sẽ tạo các tag trong internal. Khác nhau ở chỗ, khi tạo các tag internal này thì ta k dùng tag động input từ PLC mà ta sẽ tạo chức năng trực tiếp vào các hình đã vẽ trong Graphic designer (ví dụ nút nhấn: khi runtime ta sẽ nhấn trực tiếp trên nút nhấn đó là đèn sáng chẳng hạn).
Còn dùng PLC thì ta sẽ gán giá trị input I0.5 chẳng hạn vào nút nhấn đã vẽ, Q0.0 vào đèn chẳng hạn. Sau đó bên PLC viết chương trình điều khiển. (Tác động I0.5 thì Q0.0 sáng chẳng hạn)
2/ Kết nối WinCC với PLC S7-300, PLCSIM S7-300 bạn có thể tham khảo tại đây:
http://plcvietnam.com.vn/showthread.php?t=172
3/ Trong quá trình làm, thư viện hình ảnh trong WinCC có thể sẽ không đủ cho người sử dụng, như vậy ta phải vẽ thêm các hình theo ý muốn của người vẽ. Có nhiều cách khác nhau để thực hiện điều đó.
Có thể dùng công cụ vẽ đã có sẵn trong Graphic designer và vẽ sau đó 'group' lại thành 1 nhóm.
Hoặc lấy các hình vẽ từ các 'project' khác (tức là ta lên mạng download các project mà mọi người chia sẻ, sau đó có hình nào mới thì ta lấy bỏ vào thư viện của mình, khi nào cần dùng tới thì ta lấy ra)
Hoặc ta có thể vẽ các hình từ bên ngoài bằng các phần mềm vẽ: Autocad, Corel, Photoshop, thậm chí là paint, v.v...
Bạn có thể tham khảo thêm tại đây: http://plcvietnam.com.vn/showthread.php?t=259
4/ Các chuyển động: muốn nhìn các chuyển động giống như thật tế thì ta phải ghép giữa các hình ở các trạng thái lại với nhau, có thể nói là giống như làm phim hoạt hình vậy.
Ví dụ như 1 cái quạt quay. Nếu ta đứng tại 1 vị trí thì khi quạt quay được 1 vòng thì có bao nhiêu hình ảnh khác nhau. (khá nhiều đấy). Vì thế ta sẽ vẽ các hình đó, sau đó ghép lại, cho xuất hiện lần lượt (vd 5 hình thì từ vị trí 1 (hình 1) -> 5) thì sẽ tạo cảm giác là cái quạt đang quay. Hình càng nhiều, chuyển động càng nhuyễn.
Thân chào.