Anh nào làm về truyền nhận VB với S7-200 rồi gửi em cái sample với,đơn giản cũng được,chả bít con LPC nhận truyền với khung truyền ra sao hết
Thông báo
Collapse
No announcement yet.
Giao tiếp S7-200 với PC
Collapse
X
-
Viết thật nhiều,ý nghĩa chẳng được bao nhiêuNguyên văn bởi nonumber.ksdCHƯƠNG TRÌNH PLC
Chương trình OB1
Network 1 //
LD SM0.0
O T32
= SM30.0
= Q0.3
Network 2 //
LD SM0.1
MOVB 16#09, SMB30
ATCH INT0, 8
ENI
Network 3 //
LD Q0.1
O Q0.2
O I0.1
O I0.2
CALL SBR2, 1, 9600, 16#1, Q0.0, VB1
Network 4 //
LDN I0.1
LD I0.0
O Q0.1
ALD
AN I0.2
= Q0.1
Network 5 //
LDN I0.1
LD I0.4
O Q0.2
ALD
AN I0.2
= Q0.2
Network 6 //
LD SM0.0
= L60.0
LD Q0.1
= L63.7
LD I0.1
= L63.6
LD I0.2
= L63.5
LD I0.3
= L63.4
LD Q0.2
= L63.3
LD L60.0
CALL SBR5, L63.7, L63.6, L63.5, L63.4, L63.3, 0, 1, VD52, M0.0, VB2, VW4, VD6, M20.0, M20.1, M20.2, M20.3
Network 7 //
LD SM0.5
= L60.0
LD SM0.5
EU
= L63.7
LD L60.0
CALL SBR8, L63.7, 0, 755, 0, &VB20, M20.4, VB10, VW12
Network 8//
LD Q0.1
O Q0.2
O I0.1
AN T32
TON T32, 1
Chương trình xl ngắt
Network 1 //
LDB= SMB2, 16#41
S Q0.1, 1
= Q0.4
Network 2//
LDB= SMB2, 16#42
= I0.1
= Q0.5
R Q0.1, 1
Network 3//
LDB= SMB2, 16#43
= Q0.2
= Q0.6
Network 4//
LDB= SMB2, 16#44
= I0.2
= Q0.7
CHƯƠNG TRÌNH VB
'***************** MO CONG VA SU DUNG BAY LOI***************
Private Sub cmdconnect_Click()
On Error GoTo OpenFalse
cmdconnect.Enabled = False
cmdsend.Enabled = True
Command2.Enabled = True
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
Exit Sub
OpenFalse:
MsgBox err.Description & vbLf + vbCr + "Loi, khong the mo cong. Hay dong cac ung dung dang su dung cong COM"
End Sub
' *********** THOAT KHOAI CHUONG TRINH *********************
Private Sub cmdexit_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
End
End Sub
' ********** GUI DATA RA CONG **************
Private Sub cmdsend_Click()
On Error GoTo sendfalse
MSComm1.Output = Text1.Text
Exit Sub
sendfalse:
MsgBox err.Description & vbLf + vbCr + "Loi, Cong COM chua duoc mo, nhan Connect"
End Sub
************* XOA TEXT ******************
Private Sub cmdclear_Click()
If cmdconnect.Enabled = False Then
On Error GoTo loi
Text1.Text = ""
Text2.Text = ""
Form2.Text1.Text = ""
Else
loi: MsgBox "Ban chua connect"
End If
End Sub
Private Sub cmdstart_Click()
If cmdconnect.Enabled = False Then
On Error GoTo loi
Dim datasend As String
datasend = "A"
MSComm1.Output = datasend
Shape2.Visible = True
Shape1.Visible = False
Else
loi: MsgBox "Ban chua connect"
End If
End Sub
Private Sub cmdstop_Click()
If cmdconnect.Enabled = False Then
On Error GoTo loi
Dim datasend1 As String
datasend1 = "B"
MSComm1.Output = datasend1
Shape2.Visible = False
Shape1.Visible = True
Else
loi: MsgBox "Ban chua connect"
End If
End Sub
Private Sub Command1_Click()
If cmdconnect.Enabled = False Then
On Error GoTo loi
Form1.Hide
Form2.Show
Else
loi: MsgBox "Ban chua connect"
End If
End Sub
Private Sub Command2_Click()
On Error GoTo err
cmdconnect.Enabled = True
Command2.Enabled = False
cmdsend.Enabled = False
'cmdreset.Enabled = False
MSComm1.PortOpen = False
err:
End Sub
'******* THIET LAP CAC THONG SO CHO VIEC TRUYEN NHAN DATA**
Private Sub Form_Load()
Text2.FontBold = True
Shape2.Visible = False
Shape1.Visible = False
Timer3.Interval = 1000
Timer3.Enabled = True
Text3.Text = Now()
Me.Caption = "CHAO CAC BAN TRONG DIEN DAN DIENTUVIETNAM.NET CHUC CA NHA VUI CHIA SE SE DUOC CHIA SE "
Timer1.Interval = 300
Timer1.Enabled = True
Text1.Text = ""
Text2.Text = ""
With MSComm1
.Settings = cmbBaudRate.Text + "N,8,1"
.RThreshold = 1
.SThreshold = 0
'.InBufferSize = 1024
'.OutBufferSize = 1024
.InputMode = comInputModeText
.ParityReplace = ""
.CommPort = Switch(cmbComPort.Text = "COM 1", 1, cmbComPort.Text = "COM 2", 2, cmbComPort.Text = "COM 3", 3, cmbComPort.Text = "COM 4", 4)
End With
End Sub
Comment
-
Chương trình của nonumber.ksd viết khá đầy đủ. Tuy nhiên bạn có thể cho mình tham khảo một ví dụ mẫu về việc xử lý Timeout được ko? Ví dụ như máy tính truyền dữ liệu xuống cho PLC hoặc VĐK nếu PLC hoặc VĐK không nhận được dữ liệu ta thử gửi thêm một vài lần nữa. Nếu vẫn không được thì máy tính sẽ đưa ra một cảnh báo. Chân thành cảm ơn!
Comment
-
Bài viết của bạn rất hay.Nguyên văn bởi nodiesun Xem bài viếtChương trình của nonumber.ksd viết khá đầy đủ. Tuy nhiên bạn có thể cho mình tham khảo một ví dụ mẫu về việc xử lý Timeout được ko? Ví dụ như máy tính truyền dữ liệu xuống cho PLC hoặc VĐK nếu PLC hoặc VĐK không nhận được dữ liệu ta thử gửi thêm một vài lần nữa. Nếu vẫn không được thì máy tính sẽ đưa ra một cảnh báo. Chân thành cảm ơn!
về PLC thì mình biết, nhưng VB thì chưa hiểu lắm. theo mình nghĩ thì trên VB có cái form gì nữa chứ, để khi mình kích cái đầu vào I0.0 chẳng hạn thì mới có hiển thị lên form về thời gian gì đó, phải không bạn. thật sự là ko rõ, bạn thông cảm nhé.
cảm ơn !
Comment
-
bài viết hay quá.Nguyên văn bởi megatronVN Xem bài viếtViết thật nhiều,ý nghĩa chẳng được bao nhiêu
bạn có thể chỉ cho mình làm sao cho nó chạy trên máy tính. về phần PLC thì mình biết, nhưng cái VB thì mù tịt,
cảm ơn.
Comment
-
Các Bro cho hỏi chút.Hiện mình đang làm truyền nhận giữa VB và S7-200 (CPU 226).Hiện giờ mình đã truyền nhận được nhưng có chút khó khăn thế này:
Dữ liệu nhận xuống từ PC là dạng mã ASCII,mình dùng lệnh ATH để chuyển qua Hex,giờ không biết làm sao để chuyển qua số để sử dụng.
Ai biết xin chỉ với,xin cảm ơn trước
Comment
-
Em không hiểu rõ chỗ này lắm: (bôi đỏ ấy), anh có thể nói rõ hơn không ạ? hay anh post code một ví dụ đơn giản không ạ? cho dễ hiểu. em cảm ơn anh!Nguyên văn bởi sensorman Xem bài viếtHi! mình có một ít kinh nghiệm như sau trong chế độ truyền tự do điểm - điểm
Phần 1- Truyền khoảng cách cở trên dưới 1200 m ( 1 PLC <-> 1 PC)
phần cứng bao gồm: CPU 22X, PC, cáp chuyển đổi rs232/rs485 ( phần rs485 chiếm độ dài chủ yếu).
Cách 1-: không sử dụng PC access.
phần mềm: ở PC bạn có thể dùng VB( visual basic) hoặc dùng NC …
Tự định nghĩa giao thức. Tuy nhiên bạn cần thực hiện các thủ tục sau ở PLC:
- Định nghĩa và khai báo khung truyền ( byte khởi đầu và độ dài của khung truyền)
- Chọn: tốc độ truyền( 9600bit/s…), byte dữ liệu (8 or 7 bit), bit start, stop, bit parity ..), chế độ truyền free port.
- Chuyển đổi dữ liệu: bạn cần mov dữ liệu vào địa chỉ dữ liệu đã xác định trong khung truyền đã định nghĩa phía trên.Lưu ý tất cả dữ liệu cần truyền ( integer. nhị phân, BCD, real, kí tự..) bạn cần chuyển sang mã ASCII. Tuy nhiên một số phiên bản step micro/Win củ chỉ cung cấp lệnh chuyển đổi có toán hạng là từ ( word) nếu dữ liệu cần truyền của bạn đủ lớn chứa trong từ kép (dW) thì cần phải viết chương trình con để chuyển đổi.
- Tiếp theo là thực hiện việc truyền thông bằng lệnh XMT ( bao gồm địa chỉ đầu của khung truyền và chọn cổng sẽ truyền, ví dụ nếu CPU 226 có 2 port)
- Sử dụng ngắt truyền thông để truyền và nhận dữ liệu
- Truyền dữ liệu: bạn có thể tự đặt 1 chu kì truyền theo vòng quét hoặc theo ngắt thời gian để định nghĩa chu kì truyền. Sau khi kết thúc bạn có thể sử dụng ngắt 2 để xác định việc truyền kết thúc ví dụ
ATCH INT_2 9 //Attach interrupt 2 to the transmit complete event.
ENI //Enable user interrupts
Nếu không cần thiết bạn có thể không sử dụng ngắt này.
- Nhận dữ liệu: Bạn phải bắt buộc sử dụng ngắt truyền thông 0 để nhận dữ liệu. Như vậy giã sử nếu khung truyền của bạn có 10 byte( mỗi kí tự được thể hiện dưới dạng mã ACSII(0-255) =1 byte) như vậy mỗi kí tự nhận được sẽ gây ra 1 ngắt truyền thông nhận dữ liệu. 10 byte tương ứng có 10 lần ngắt. Tuy nhiên do bô đệm truyền thông của S7200 chỉ có 1byte vì vậy trong chương trình xử lí ngắt bạn phải cất ngay byte dữ liệu vừa nhận được, sau đó lại biến đổi mã ASCII này sang số dạng dữ liệu của nguời sử dụng.Nếu bạn không xử lí vấn đề này thì các kí tự sau sẽ chèn lên kí tự trước đó trong bộ đệm. Chú ý các ngắt chỉ có hiệu lực khi bạn khai báo lệnh cho phép ngắt ENI.
- Ở PC bạn thực hiện tương tự ( sử dụng VB/MSCOMM,mình sẻ cấp tài liệu qua mail nếu bạn cần tham khảo)
- Quy tắc hỏi / đáp ở PC và PLC do bạn tự định nghĩa.
- Lưu ý khi đã kích hoạt chế độ ngắt truyền thông ở PLC và PLC ở chế độ RUN bạn không thể dùng chức năng chart status của micro win để giám sát online trạng thái các biến trong của PLC. Bạn cần chuyển PLC về STOP thì micro win mới test được PLC.
Để khai báo các thủ tục trên bạn có thể tham khảo các lệnh trong sách S7/200 của PGS. Phan Xuân Minh..hoặc đọc Help của micro win và cần nắm rỏ các ô nhớ đặc biết ví dụ:
‘SMB30 controls Freeport communication for port 0; SMB130 controls Freeport communication for port 1. You can read and write to SMB30 and SMB130. These bytes configure the respective communication port for Freeport operation and provide selection of either Freeport or system protocol support.’
-
Cách 2-: sử dụng PC access.
phần mềm: ở PC bạn có thể dùng WINCC. Như vậy toàn bộ công việc truyền thông do PC access và PLC tự động thực hiện. Mình có đủ các bộ cài cho PC access và WinCC.
Phần 1- Truyền khoảng cách trên 1200 m ( PLC <-> PC)
phần cứng bao gồm: CPU 22X, PC, .module Modem. … truyền qua mạng điện thoại sẽ bổ sung phần 2.
THAN!
Comment
-
chao ban cho minh xin code tren s7200 duoc ko minh dang gap rac roi khi truyen du lieu len pc trungnguyenkdd06@gmail.com cam on nhieu!Nguyên văn bởi mstudio8x Xem bài viết
Đây là chương trình Bộ đếm của S7-200. được điều khiển và giám sát trên PC. Giao diện được viết bằng Visual Basic 6.0. Bạn cần phải có phần mềm sau để hỗ trợ:
1- PC Access v1.0 của SIEMENS.
2- Visual basic 6.0
3- Measurement Studio của bọn National Instruments (NI), Phần này có cũng được không cũng được. Code tôi gửi có sử dụng phần mềm Measurement Studio.
*Note: Nút lệnh, Nhãn hiển thị giá trị PV-SV & Ledout tôi sử dụng điều khiển của NI. Nếu bạn không có phần mềm này thì cần sửa lại các câu lệnh cho các đối tượng này sao cho phù hợp
Comment
-
Nguyên văn bởi mstudio8x Xem bài viết
Đây là chương trình Bộ đếm của S7-200. được điều khiển và giám sát trên PC. Giao diện được viết bằng Visual Basic 6.0. Bạn cần phải có phần mềm sau để hỗ trợ:
1- PC Access v1.0 của SIEMENS.
2- Visual basic 6.0
3- Measurement Studio của bọn National Instruments (NI), Phần này có cũng được không cũng được. Code tôi gửi có sử dụng phần mềm Measurement Studio.
*Note: Nút lệnh, Nhãn hiển thị giá trị PV-SV & Ledout tôi sử dụng điều khiển của NI. Nếu bạn không có phần mềm này thì cần sửa lại các câu lệnh cho các đối tượng này sao cho phù hợpphien ban up lai code vb duoc ko minh ko mo duoc. thieu file roi.hay ban gui cho minh trungnguyenkdd06@gmail.com. cam on nhieuNguyên văn bởi nhphong Xem bài viếtBạn xem file đính kèm code của VB6 và PLC S7-200, test rồi, chế độ freeport....
Comment
Bài viết mới nhất
Collapse
-
bởi hayarNăm 2026 việc chọn laptop gaming chủ yếu vẫn là cân bằng vì giá cả và phần cứng thay đổi liên tục, nên tập trung vào GPU ổn, tản nhiệt tốt và hiệu năng thực tế sẽ quan trọng hơn việc chạy theo cấu hình cao nhất, giống như trong nulls brawl, chơi hay hơn khi biết cách tối ưu và chọn chiến...
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 21:23 -
-
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
30-06-2026, 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 -

...
Comment