说明:PLC程序是从教程下抄下的。
TITLE=// S7-200以自由口通讯方式向个人计算机不断地发送 S7-200 6个ASCII码 //
Network 1 // 网络标题
// 网络注释
LD SM0.1
MOVB 16#09, SMB30
MOVW 16#5337, VW100
MOVW 16#2D32, VW102
MOVW 16#3030, VW104
MOVB 6, VB99
Network 2
LD SM0.5
EU
XMT VB99, 0
/////////////////////////
VB源程序
Dim x1
Dim yTemp() As Byte
Dim stemp As String
Dim i As Integer
Private Sub About_Click()
frmAbout.Show
End Sub
Private Sub Check1_Click()
For i = LBound(yTemp) To UBound(yTemp)
stemp = stemp + Hex(yTemp(i)) + Chr(32)
Next i
Text1.Text = Text1.Text + stemp
End Sub
Private Sub Command1_Click()
MSComm1.PortOpen = True '打开串口
Timer1.Enabled = True '开始计时
Timer1.Interval = 1000
End Sub
Private Sub Command2_Click() '清除显示内容
Text1.Text = ""
End Sub
Private Sub Command3_Click() '退出程序
Unload Me
End Sub
Private Sub Form_Load() '初始化
Cls '清屏
MSComm1.CommPort = 1 '使用COM1口
MSComm1.Settings = "9600,n,8,1" '设置通讯参数
MSComm1.InputLen = 0 '读取接收缓冲器所有字符
MSComm1.InBufferSize = 256 '接收缓冲器大小
MSComm1.OutBufferSize = 256 '输出缓冲器大小
MSComm1.InputMode = comInputModeBinary '以二进制接收
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.InBufferCount = 0 '清空接收缓冲区
MSComm1.RThreshold = 1 '触发接收事件
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub MSComm1_OnComm()
If MSComm1.InBufferCount > 0 Then
i = MSComm1.InBufferCount
yTemp = MSComm1.Input
stemp = StrConv(yTemp, vbUnicode)
Text1.Text = Text1.Text + stemp
End If
End Sub
Private Sub Timer1_Timer()
x1 = x1 + 1
Text2.Text = Str(x1)
End Sub