-
Thành viên cấp 1
Thang đo mực nước trong bồn
hiênj tại e làm tới đây thì bị bí mất tiêu, các a nào làm qua cho e hướng giải quyết
e muốn lập giá trị Max, Min trên thang đo. tọa độ của thang đo là x=200, y=100
và đây là code c mình viết
trong đó A là hình màu trắng, MUC_NUOC_BON là biến
{
int a;
a=GetHeight("1.pdl","A"); //Return-Type: long int
if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
{
a=a-5;
SetHeight("1.pdl","A",a);
}
đây là video của mình
http://www.youtube.com/watch?v=s45Ix...ature=youtu.be
-
-
Thành viên cấp 2
mình thì chỉ có chút kiến thức về thiết bị Autonics, Mitsu và Keyence thôi, còn Siemens thì lâu quá rồi ko đụng tới, ae ở đây nhiều người am hiểu Siemens, giúp e nó tí...up
Vikhanhads
Automation and Service Solution
Skype: vikhanhads
Email:
Hidden Content
-
-
Gửi bởi
hoangcdt
hiênj tại e làm tới đây thì bị bí mất tiêu, các a nào làm qua cho e hướng giải quyết
e muốn lập giá trị Max, Min trên thang đo. tọa độ của thang đo là x=200, y=100
và đây là code c mình viết
trong đó A là hình màu trắng, MUC_NUOC_BON là biến
{
int a;
a=GetHeight("1.pdl","A"); //Return-Type: long int
if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
{
a=a-5;
SetHeight("1.pdl","A",a);
}
đây là video của mình
http://www.youtube.com/watch?v=s45Ix...ature=youtu.be
Ý bạn là gần đến max thì nó dừng lại ah? Kiểm nó đến tọa độ max thì setbit MUC_NUOC_BON = 1 là nó dừng.
-
Bài viết của "hoanghoa_dtt" đã được cám ơn bởi các thành viên:
-
Thành viên cấp 1
Gửi bởi
hoanghoa_dtt
Ý bạn là gần đến max thì nó dừng lại ah? Kiểm nó đến tọa độ max thì setbit MUC_NUOC_BON = 1 là nó dừng.
e sữa lại rồi, thang đo chạy.
nhưng nó chạy hết thang đo lun, ko cách nào cho nó dừng lại
ví dụ mức thang do từ 0 đến 100
em mún dừng ở mức 50, thì phải làm như thế nào hả mấy A.
có cần tạo nút nhấn gì hok.
e còn gà lắm mong mấy a thông cảm nha.
Lần sửa cuối bởi hoangcdt, ngày 07-10-2013 lúc 10:01 PM.
-
-
Bạn muốn dừng ở thang đo 50 ah, bạn vào Geometry -> Height giảm nó xuống xem nó ở giá trị bao nhiêu thì ở thang đo 50.
{
int a;
a=GetHeight("1.pdl","A"); //Return-Type: long int
if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
{
a=a-5;
SetHeight("1.pdl","A",a);
}
if(GetHeight("1.pdl","A")== gt cua Height) SetTagBit("MUC_NUOC_BON",1);
}
Nói chung là khi nào muốn chạy thì kiểm tra đk rồi SetTagBit("MUC_NUOC_BON",0) dừng thì SetTagBit("MUC_NUOC_BON",1)
-
Bài viết của "hoanghoa_dtt" đã được cám ơn bởi các thành viên:
-
Thành viên cấp 1
Gửi bởi
hoanghoa_dtt
Bạn muốn dừng ở thang đo 50 ah, bạn vào Geometry -> Height giảm nó xuống xem nó ở giá trị bao nhiêu thì ở thang đo 50.
{
int a;
a=GetHeight("1.pdl","A"); //Return-Type: long int
if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
{
a=a-5;
SetHeight("1.pdl","A",a);
}
if(GetHeight("1.pdl","A")== gt cua Height) SetTagBit("MUC_NUOC_BON",1);
}
Nói chung là khi nào muốn chạy thì kiểm tra đk rồi SetTagBit("MUC_NUOC_BON",0) dừng thì SetTagBit("MUC_NUOC_BON",1)
ok. để mình làm thử, ak nếu mình tạo 1 ô nhập giá trị của Height ngoài giao diện thì có làm đc ko?
-
-
Thành viên cấp 4
Tạo mực nc mà cũng viết C nữa ah? có sẵn chức năng scale sao ko dùng?
gcdpham,
Siemens Solution
PLC, HMI, SCADA, Upgrade S5toS7, SimaticNet, OPC,...
Control Engineer.
Email:
Hidden Content
-
-
Thành viên Mới
Gửi bởi
hoanghoa_dtt
Bạn muốn dừng ở thang đo 50 ah, bạn vào Geometry -> Height giảm nó xuống xem nó ở giá trị bao nhiêu thì ở thang đo 50.
{
int a;
a=GetHeight("1.pdl","A"); //Return-Type: long int
if (GetTagBit("MUC_NUOC_BON")==0); //Return-Type: BOOL
{
a=a-5;
SetHeight("1.pdl","A",a);
}
if(GetHeight("1.pdl","A")== gt cua Height) SetTagBit("MUC_NUOC_BON",1);
}
Nói chung là khi nào muốn chạy thì kiểm tra đk rồi SetTagBit("MUC_NUOC_BON",0) dừng thì SetTagBit("MUC_NUOC_BON",1)
Code này của bạn có thể chạy theo ý mình và có thể không, vì tùy thuộc vào Hight của cái thang đo của bạn là bao nhiêu, nếu là bội số của 5(trong lệnh a=a-5) thì nó tới đúng 50 nó sẽ dừng . Nếu không phải là bội số của 5 thì nó sẽ không dừng. nếu bạn muốn dừng thì câu lệnh phải sữa như thế này "if(GetHeight("1.pdl","A")>= gt cua Height)", hoặc phải tao cái mức của bạn có Hight là bội số của 5 trong (a=a-5).
tớ có ý kiến như vậy không biết giúp gì được bạn không
-
-
Gửi bởi
hhhuudang
Code này của bạn có thể chạy theo ý mình và có thể không, vì tùy thuộc vào Hight của cái thang đo của bạn là bao nhiêu, nếu là bội số của 5(trong lệnh a=a-5) thì nó tới đúng 50 nó sẽ dừng . Nếu không phải là bội số của 5 thì nó sẽ không dừng. nếu bạn muốn dừng thì câu lệnh phải sữa như thế này "if(GetHeight("1.pdl","A")>= gt cua Height)", hoặc phải tao cái mức của bạn có Hight là bội số của 5 trong (a=a-5).
tớ có ý kiến như vậy không biết giúp gì được bạn không
Uhm phải >= nếu = thì phải là bội số nó mới dừng.
-
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
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 03:18 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu