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
-
Trả lời cho Máy đo khuôn mẫubởi vi van phamQuá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 08:49 -
-
Trả lời cho Máy Phun sương tạo ầm Trung Quốc.bởi nguyendinhvanMạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...-
Channel: Tâm tình dân kỹ thuật
07-06-2026, 00:09 -
-
bởi nguyendinhvan
Cái máy đo này mắc tiền quá !
Anh em dtvn có giải pháp nào tự chế được không ?...-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 00:00 -
-
bởi nguyendinhvanOi giời.
Thơi buổi PLC rồi, cậu còn hỏi mấy thứ cổ lỗ sĩ này nữa.-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 22:59 -
-
bởi nguyendinhvanChuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...-
Channel: Tìm mua
06-06-2026, 22:56 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phambao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 21:58 -
-
bởi ittcChào các anh em, tình hình là mình lo làm ăn không để ý sức khỏe, giờ có chút vấn đề rồi? không biết trên này có anh em nào độ tuổi U35 -> 40 đang có dùng các loại thuốc, thuốc bổ hay thực phẩm chức năng giúp bổ thận tráng dương,...
-
Channel: Tâm tình dân kỹ thuật
05-06-2026, 12:28 -
-
bởi theidiotcatTrong thế giới phần cứng năm 2026, AMD Ryzen 5 7500X3D không chỉ là một cái tên mới, nó là một tuyên ngôn về hiệu suất. Dựa trên các thử nghiệm khắt khe trong môi trường chơi game chuyên nghiệp, con chip này đã chứng minh rằng: bạn không cần...
-
Channel: Đánh giá sản phẩm DTVN
05-06-2026, 10:05 -
-
bởi VinhPham92Chào các bác,
Em vừa dự một cái Odoo Business Show 2026 tuần rồi, ngồi nghe mấy session về tự động hóa sản xuất mà em thấy có vài điểm thấy đáng chia sẻ với mấy anh em làm kỹ thuật ở đây.
Câu hỏi của các doanh nghiệp.
Hôm đấy đi thì các doanh...-
Channel: Lập trình PLC và ứng dụng
05-06-2026, 09:18 -
-
bởi quang4789Mình có cái tay chuyển số chơi game của PXN, hiệu là PXN shifter A7, nó bị lỗi 1 con biến trở chỗ gạt lên xuống dùng để xác định là đang đẩy lên, ở giữa, hay gạt về. Con biến trở này giá trị là 10kOhm, sau khi bị hư thì mình đo chỉ...
-
Channel: Hướng dẫn tìm thông tin linh kiện
03-06-2026, 12:04 -

Comment