VB6.0与西门子1200TCP通信

2025-05-07 21:57:46

1、打开博图软件,点击设备添加1214C CPU。双击网口,弹出属性对话框,设置以太网IP地址

VB6.0与西门子1200TCP通信

3、添加TCON(建立通信连接)指令块,用鼠标点击后拖放到程序段里。

VB6.0与西门子1200TCP通信VB6.0与西门子1200TCP通信VB6.0与西门子1200TCP通信

7、添加 输出程序做测试。

VB6.0与西门子1200TCP通信VB6.0与西门子1200TCP通信

10、程序分析Private Sub button1_Click() '按钮1-8程碌食撞搁序txtSend.Text = "10000000"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button2_Click()txtSend.Text = "01000000"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button3_Click()txtSend.Text = "00100000"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button4_Click()txtSend.Text = "00010000"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button5_Click()txtSend.Text = "00001000"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button6_Click()txtSend.Text = "00000100"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button7_Click()txtSend.Text = "00000010"tcpClient.SendData txtSend.TextEnd SubPrivate Sub button8_Click()txtSend.Text = "00000001"tcpClient.SendData txtSend.TextEnd SubPrivate Sub Command1_Click() ‘按下发送按钮 把txtSend的内容发出'tcpClient.SendData txtSend.TexttxtSend.Text = ""End SubPrivate Sub Command2_Click() ‘按下清空按钮 把txtSend的内容清空txtOutput = ""End SubPrivate Sub cmdConnect_Click() '按下连接按钮tcpClient.RemoteHost = Text1.Text '读取Text1内的IP。tcpClient.RemotePort = Val(Text2.Text) '读取Text2内的端口号。tcpClient.ConnectLabel6.Caption = "链接打开"Label6.FontSize = 12Label6.ForeColor = vbBluecmdConnect.Enabled = FalseOpen "e:\TCP\ip.txt" For Output As #1 '按下连接按钮后把IP存到e:\TCP\ip.txt的文件夹内Print #1, Text1.TextClose #1End SubPrivate Sub Command5_Click() '按下退出按钮 退出程序Unload MeEnd SubPrivate Sub tcpClient_DataArrival _ '数据接收(ByVal bytesTotal As Long)Dim strData As StringtcpClient.GetData strDatatxtOutput.Text = strData + vbCrLfEnd SubPrivate Sub Form_Unload(Cancel As Integer) '关闭窗口时先关闭socket tcpClient.CloseEnd SubPrivate Sub Form_load() '窗口打开把e:\TCP\ip.txt文件内的IP给Text1 If Text1.Text = "" Then Open "e:\TCP\ip.txt" For Input As #1Text1.Text = Input(LOF(1), 1)Close #1 End If End SubPrivate Sub txtOutput_Change() '把接收到的数据 拆分 对应该8个指示灯Dim x1 As LongDim y1, y2, y3, y4, y5, y6, y7, y8 As LongIf txtOutput.Text <> "" Thenx1 = txtOutput.TextElsex1 = 0End Ify1 = x1 \ 10000000y2 = (x1 Mod 10000000) \ 1000000y3 = ((x1 Mod 10000000) Mod 1000000) \ 100000y4 = (((x1 Mod 10000000) Mod 1000000) Mod 100000) \ 10000y5 = ((((x1 Mod 10000000) Mod 1000000) Mod 100000) Mod 10000) \ 1000y6 = (((((x1 Mod 10000000) Mod 1000000) Mod 100000) Mod 10000) Mod 1000) \ 100y7 = ((((((x1 Mod 10000000) Mod 1000000) Mod 100000) Mod 10000) Mod 1000) Mod 100) \ 10y8 = ((((((x1 Mod 10000000) Mod 1000000) Mod 100000) Mod 10000) Mod 1000) Mod 100) Mod 10If y1 = 1 Then '指示灯的状态改变Shape4.FillColor = vbGreenbutton1.BackColor = vbGreenElseShape4.FillColor = vbWhitebutton1.BackColor = vbWhiteEnd IfIf y2 = 1 ThenShape5.FillColor = vbGreenbutton2.BackColor = vbGreenElseShape5.FillColor = vbWhitebutton2.BackColor = vbWhiteEnd IfIf y3 = 1 ThenShape6.FillColor = vbGreenbutton3.BackColor = vbGreenElseShape6.FillColor = vbWhitebutton3.BackColor = vbWhiteEnd IfIf y4 = 1 ThenShape7.FillColor = vbGreenbutton4.BackColor = vbGreenElseShape7.FillColor = vbWhitebutton4.BackColor = vbWhiteEnd IfIf y5 = 1 ThenShape8.FillColor = vbGreenbutton5.BackColor = vbGreenElseShape8.FillColor = vbWhitebutton5.BackColor = vbWhiteEnd IfIf y6 = 1 ThenShape9.FillColor = vbGreenbutton6.BackColor = vbGreenElseShape9.FillColor = vbWhitebutton6.BackColor = vbWhiteEnd IfIf y7 = 1 ThenShape10.FillColor = vbGreenbutton7.BackColor = vbGreenElseShape10.FillColor = vbWhitebutton7.BackColor = vbWhiteEnd IfIf y8 = 1 ThenShape11.FillColor = vbGreenbutton8.BackColor = vbGreenElseShape11.FillColor = vbWhitebutton8.BackColor = vbWhiteEnd IfEnd SubPrivate Sub Command3_Click() ' 把文件夹内的IP读到Text3中Open "e:\TCP\ip.txt" For Input As #1Text3.Text = Input(LOF(1), 1)'Print #1, ""Close #1Dim AA = Split(Text3.Text)End SubPrivate Sub Command4_Click() ' 读多行数据放到list中Dim SS$() Dim A$, i%List1.ClearOpen "e:\test\testdata.txt" For Input As #1While Not EOF(1)Line Input #1, A$ '可以考虑行读入List1.AddItem A$WendCloseReDim SS(List1.ListCount)For i = 0 To List1.ListCount - 1SS(i) = List1.List(i)NextEnd Sub

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢