- 
	
	
		
			
			
				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à 10:08 PM. 
				
				Phiên bản 4.2.5 
Phát triển bởi thành viên PLCVietNam®.
					
				
				
				
					 
			
		 
 
Đánh dấu