Nguyên văn bởi caohoangvu
Thông báo
Collapse
No announcement yet.
Giao tiếp S7-200 với PC
Collapse
X
-
[/QUOTE]Nguyên văn bởi kemoihoc Xem bài viết[
Như vậy chúng ta thấy Mscomm là một bộ công cụ đã có sẳn trong VB giúp người lập trình can thiệp vào cổng com ( RS232). Và đây chính là 1 Actix có đầy đủ các thuộc tính cần thiết. Thông thường sau khi tạo một Project mới, ở phần các Actix có thể chưa có Mscomm do vậy bạn cần phải lấy đối tượng này ra ( hình điện thoại). Chúng ta có thể xem Mscomm là 1 đối tượng có nhiều thuộc tính, để Mscomm hoạt động chúng ta phải khai báo hay nói đúng hơn là set các thuộc tính cần thiết cho cơ chế truyền thông.
Khi đã được kích hoạt, Mscomm sẽ tự động lấy data từ cổng RS232 vào và cất ở bộ đệm truyền thông ( được thực hiện trên cơ chế ngắt truyền thông, Mscomm sẽ tự động chuyển đổi dữ liệu nguời sử dụng sang mã ASCII hoặc ngược lại), vậy người lập trình chỉ có nhiệm vụ lấy dữ liệu ( hoặc ngược lại) đưa vào 1 Text để hiện thị hoặc cất vào 1 địa chỉ cần thiết. Tuy nhiên VB là ngôn ngữ có cơ chế kích hoạt theo sự kiện vì vậy CHU KÌ lấy dữ liệu của bạn bắt buộc phải theo 1 sự kiện ( đây chính là nhược điểm hạn chế tốc độ truyền và nhận gói dữ liệu và hạn chế tính thời gian thực ), như ví dụ trên hình vẽ bạn phải sử dụng 1 timer để tạo ra sự kiện có tính tuần hoàn, và mỗi lần timer tràn thì sẽ tạo ra 1 sự kiện và đây chính là điều kiện để thực hiện việc lấy dữ liệu từ bộ đệm vào text.
Để kích hoạt các thuộc tính cần thiết của Mscomm cho truyền thông bạn cần khai báo các thuộc tính của nó như sau:
Mscomm1.PortOpen = True // mở cổng
Mscomm1.CommPort=1 // chọn com 1
Mscomm1.Settings=’ 9600,N,8,1’ // tốc độ,không sửdụng Parity,8 bít dữ liệu,1 bít stop.
Để lấy dữ liệu từ bộ đệm vào text ta sử dụng câu lệnh
Text1.text = Mscomm1.input ( hoặc .output)
Lưu ý các công việc này chỉ được thực hiện theo sự kiện ( ví dụ timer tràn)
Nếu cần thiết bạn có thể liên hệ trực tiếp tôi sẽ gửi cho bạn tài liệu và các chương trình mẫu. Chúc thành công.
Nếu dùng con S7-200 để truyền thông với máy tính theo phương thức Modbus thì lại phải khởi tạo nó = phần mềm. Còn nếu có thàng PC Access thì mọi việc chở nên đơn giản rất nhiều.katllu
Comment
-
Nếu dùng con S7-200 để truyền thông với máy tính theo phương thức Modbus thì lại phải khởi tạo nó = phần mềm. Còn nếu có thàng PC Access thì mọi việc chở nên đơn giản rất nhiều.[/QUOTE]
Bác có tài liệu và phần mềm PC access không gửi cho mình với nhé! Cảm ơn bác nhe!
Comment
-
Bác có tài liệu và phần mềm PC access không gửi cho mình với nhé! Cảm ơn bác nhe![/QUOTE]Nguyên văn bởi nodiesun Xem bài viếtNếu dùng con S7-200 để truyền thông với máy tính theo phương thức Modbus thì lại phải khởi tạo nó = phần mềm. Còn nếu có thàng PC Access thì mọi việc chở nên đơn giản rất nhiều.
Nâu rồi không đụng tới chẳng nhớ nó lằm ở đâu nữa bạn chịu khó search trên mạng đi hoặc tham khảo đoạn code sau của mình qua đường link:
http://dientuvietnam.net/forums/show...?t=5207&page=2katllu
Comment
-
Nâu rồi không đụng tới chẳng nhớ nó lằm ở đâu nữa bạn chịu khó search trên mạng đi hoặc tham khảo đoạn code sau của mình qua đường link:Nguyên văn bởi mstudio8x Xem bài viếtBác có tài liệu và phần mềm PC access không gửi cho mình với nhé! Cảm ơn bác nhe!
http://dientuvietnam.net/forums/show...?t=5207&page=2[/QUOTE]
Anh Lưu ơi em đang làm đồ án về hiển thị và điều khiển nhiệt độ dùng S7-200. Anh có phần mềm và tài liệu về PC access gửi cho em với nhé! À nếu em muốn hiển thị nhiệt độ theo thời gian thì lập trình như thế nào để có được đồ thị nhiệt độ theo thời gian hả anh! Anh cố gắng giúp em với nhé! Thanks anh!Last edited by nodiesun; 15-04-2008, 20:33.
Comment
-
Anh Lưu ơi em đang làm đồ án về hiển thị và điều khiển nhiệt độ dùng S7-200. Anh có phần mềm và tài liệu về PC access gửi cho em với nhé! À nếu em muốn hiển thị nhiệt độ theo thời gian thì lập trình như thế nào để có được đồ thị nhiệt độ theo thời gian hả anh! Anh cố gắng giúp em với nhé! Thanks anh![/QUOTE]Nguyên văn bởi nodiesun Xem bài viếtNâu rồi không đụng tới chẳng nhớ nó lằm ở đâu nữa bạn chịu khó search trên mạng đi hoặc tham khảo đoạn code sau của mình qua đường link:
http://dientuvietnam.net/forums/show...?t=5207&page=2
Đây là đường link mình gửi trên diễn đàn bạn vào đó xem:
http://dientuvietnam.net/forums/show...8261#post98261katllu
Comment
-
Cho mình hỏi với Microcomputing cái này dùng làm gì mà ai cũng tranh nhau xin thế?
Mình đang viết chương trình giao tiếp PC với S7200 của siemen không biết cái đó có giúp gì được không? Xin hỏi trong diễn đàn ai đã làm về đề tài này giúp đỡ mình với
cảm ơn nhiều
xuanvudk2@gmail.comNGUYỄN XUÂN VŨ
Mua bán, sửa chữa PLC, biến tần
Vỉ mạch điện tử công nghiệp các loại
0978462163
Comment
-
mình đang viết chương trình nhận kí tự 'A' từ VB6.0 truyền xuống plc ,rồi sau đó sẽ xuất tín hiệu qo.o. vậy ai có thể sửa bài làm này dùm ko ? xin cảm ơn .
trong chương trình chính
LD SM0.0
MOVB 16#09,SMB30 /khai báo cổng truyền thông ..
MOVD &VB300,AC1 / byte nhận vào ô nhớ VB300
MOVB SMB2,*AC1
INCD AC1
NETWORK 2:
LD SM0.1
ATCH INT_0, 8
ENI
TRONG CHƯƠNG TRÌNH NGẮT INT0
LD SM0.0
AB= VB300, 'A' / lệnh so sánh kí tự A
= Q0.0
LD SM0.0
AB= VB2, 1 /VB2 là biến đếm số lượng byte nhận
= Q0.0
Comment
-
giao tiếp plc S7-200 với VB6.0
mình đang muốn truyền kí tự (ví dụ kí tự A) xuống plc S7-200 rồi mở tín hiệu Q0.0 .trong VB mình có ô textbox1 (dùng ghi kí tự) , cmdsend (gửi kí tự ) . trong cmdsend ,viết : mscomm1.output=buffer(65)
trong form_load : dim buffer
buffer= text1.text.
nhưng tại sao khi test lại ko được nhỉ ? sau khi mình nhấn nút send thì PC ko kết nối được với plc s7-200,mình ko thể upload hay download chương trình lên đc. vậy đại ca nào biết xin giúp đở ,xin cảm ơn.
Comment
-
Chao ban !
Theo như bạn nói : sau khi nhấn nút Send nhưng không kếtt nối được với S7-200 do :
1. Bạn phải viết chương trình nhận ở chế độ freeport cho PLC
2. Sau khi PLC nhận được ký tự đó, rồi so sánh nếu bằng thí xuất ra q0.0
3. Chương trình vb bạn viết chưa có lệnh mở cổng Com (portopen=true) , tốc độ truyen (baud=9600,8,1).
4. khi cần truyền ký tự bạn có thể dùng dòng lệnh :
mscomm1.output = text1.text
Comment
-
giao tiếp vb với plc s7-200
những cái đó thì mình khai báo rồi .mình sẽ viết đầy đủ code nhé :
trong VB6.0 : mình nhấn nút command thì sẽ gửi kí tự A
private form_load()
with mscomm1
.rthreshold=1
.commport=1
.settings="9600,N,8,1"
.handshaking=2-comrts
.RTSenable=true
.portopen=true
end with
end sub
privat sub command_click()
mscomm1.output="A" 'truyền kí tự A
trong plc s7-200
NETWORK 1:
LD SM0.1
MOVB 16#09,SMB30
MOVD &VB300,AC1
NETWORK 2:
LD SM0.1
ATCH INT_0, 8
ENI
Phần nhận ký tự ở trong chương trình con
LD SM0.0
MOVB SMB2,*AC1
INCD AC1
trong chương trình chính
LD SM0.0
AB= VB300, 'A' // lệnh so sánh kí tự A
= Q0.0
khi so sánh là kí tự A thì sẽ mở tín hiệu Q0.0 ,nhưng khi mình test như vậy thì có một số vấn đề sau :
trong VB6.0 thông báo lỗi ở đoạn : .portopen=true
còn trong plc thì lúc đầu download chương trình được ,nhưng sau đó ko download được ,thông báo lỗi truyền thông (communication time-out,check port,address..).vậy ai đã từng làm bài này xin chỉ giáo dùm .chờ đợi câu trả lời .
Comment
-
bạn thử tắt nguồn PLC đi rồi bật lại. Thế là ok ngay mà!
Nhưng ma chương trình PLC và VB bạn xem kĩ lại nhé. Theo mình thì khi bạn truyền ký tự A trên VB xuống PLC sẽ có mã là 41h. Nếu bạn khai báo ký tự 'A' trong PLC là 41h rồi thì ok. Mình có câu hỏi này muốn hỏi bạn. Mình muốn truyền từ PLC lên VB nhưng ko phải liên tục mà cứ cách khoảng 1s lại truyền thì phải viết chương trình như thế nào nhỉ. Giúp mình với nhé! Thanks. Chúng ta cùng trao đổi nhé!
Comment
-
Chao ban !
Đây là đoạn code mình đã thử trên vb :
Private form_load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
End sub
Private Sub SEND_Click() ' truyền ký tự A xuống PLC
MSComm1.Output = Chr(65)
End Sub
Private Sub THOAT_Click()
MSComm1.portOpen = Flase
end
End Sub
Chương trìn nhận trên PLC :
PROGRAM COMMENTS
Chuong trinh Ket noi PLC va PC
PC se gui mot ky tu la " V " xuong PLC. Khi PLC nhan duoc ky tu "V" thi ngo ra Q0.0 ON.
PC se gui mot ky tu la " A" xuong PLC. Khi PLC nhan duoc ky tu "A thi ngo ra Q0.0 OFF
MAIN COMMENTS
Network1
LD SM0.1
CALL SBR_0
SUBROUTINE COMMENTS
network1
LD SM0.0
MOVB 16#09, SMB30
ATCH INT_0, 8
ENI
INTERRUPT ROUTINE COMMENTS
Network1
LDB= SMB2, 16#56
S Q0.0, 1
Network2
LDB= SMB2, 16#41
R Q0.0, 1
Chuc ban thanh cong.
Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatDưới đây là một số gợi ý để các bạn sinh viên chọn được chiếc laptop phù hợp với nhu cầu, ngân sách và ngành học trong bối cảnh giá linh kiện leo thang kéo theo mức giá laptop liên tục tăng cao.
Bước vào mùa tựu trường năm...-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 11:26 -
-
bởi theidiotcatAMD Ryzen 9 9950X bước sang năm 2026 vẫn là một trong những bộ vi xử lý desktop mạnh mẽ nhất dành cho người dùng phổ thông cao cấp. Dù đã ra mắt từ thế hệ Zen 5 đầu tiên của dòng Ryzen 9000, con chip 16 nhân 32 luồng này vẫn giữ được sức...
-
Channel: Đánh giá sản phẩm DTVN
29-06-2026, 13:58 -
-
bởi theidiotcatTrong thị trường CPU năm 2026, khi các dòng vi xử lý đời mới liên tục ra mắt với những thông số kỹ thuật hào nhoáng, AMD Ryzen 5 7600X vẫn là một cái tên khiến nhiều game thủ và người dùng phổ thông phải cân nhắc kỹ lưỡng. Sau gần hai...
-
Channel: Đánh giá sản phẩm DTVN
29-06-2026, 13:42 -
-
bởi theidiotcatTrong bối cảnh giá linh kiện tăng cao, hiện tại mức giá laptop đã tăng đáng kể so với thời điểm trước cơn sốt AI. Chính vì vậy để lựa chọn được một chiếc laptop đáp ứng tốt nhu cầu vừa học vừa giải trí các bạn sinh viên cần...
-
Channel: Đánh giá sản phẩm DTVN
29-06-2026, 13:33 -
-
bởi theidiotcatViệc lựa chọn một chiếc laptop gaming phù hợp với nhu cầu, ngân sách chưa bao giờ là dễ dàng. Và điều đó càng khó hơn trong năm 2026 khi mà mức giá liên tục tăng.
Nếu bạn chưa biết nên chọn một chiếc laptop gaming như thế nào...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:29 -
-
bởi theidiotcatVới mức ngân sách 20 - 30 triệu đồng trong năm 2026, các bạn sinh viên và dân văn phòng có thể tìm thấy nhiều lựa chọn cao cấp, mạnh mẽ, pin “trâu”, đặc biệt là các mẫu laptop AI hỗ trợ cho học tập và làm việc.
Trong phân...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:25 -
-
bởi theidiotcatDưới đây là một số mẫu laptop nổi bật trong phân khúc dưới 20 triệu giúp các bạn văn phòng, sinh viên và đặc biệt là tân sinh viên có thể dễ dàng lựa chọn được mẫu laptop phù hợp với nhu cầu và ngân sách của mình.
Thị...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:07 -
-
bởi theidiotcatViệc chọn mua một bộ máy tính phục vụ cho các nhu cầu làm việc văn phòng và sử dụng cơ bản hàng ngày đang trở nên dễ dàng và tiết kiệm hơn bao giờ hết. Thay vì phải đau đầu trích ngân sách để mua cả vi xử lý lẫn card đồ họa rời...
-
Channel: Đánh giá sản phẩm DTVN
25-06-2026, 11:23 -
-
bởi theidiotcatViệc nâng cấp từ một dàn máy tính cũ lên cấu hình mới luôn khiến nhiều người đắn đo về mức chi phí bỏ ra. Nếu bạn đang tìm kiếm một sự lột xác hoàn toàn về hiệu năng mà vẫn cân đối được dòng tiền, combo giữa vi xử lý Ryzen...
-
Channel: Đánh giá sản phẩm DTVN
25-06-2026, 11:06 -

...
Comment