玖玖玖视频-亚洲精品1卡2卡3卡-操欧美美女-真实国产乱子伦对白视频不卡-国产乱在线-大胸美女被吃奶爽死视频-久久亚洲美女精品国产精品-天堂在线www天堂在线-久久在精品线影院精品国产-国产又粗又长又大-欧美三级一区二区-超碰在线亚洲-天天cao在线-国产偷倩视频-亚洲啪

趙云龍
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 10 個(gè)
工控威望: 58 點(diǎn)
下載積分: 460 分
在線時(shí)間: 12(小時(shí))
注冊(cè)時(shí)間: 2023-11-23
最后登錄: 2026-03-06
查看趙云龍的 主題 / 回貼
樓主  發(fā)表于: 2024-09-17 16:49
Option Explicit

Private Sub Form_Load()

  '設(shè)置本地任意可用端口,這樣系統(tǒng)會(huì)自動(dòng)分配一個(gè)未被占用的端口

  Winsock1.LocalPort = 0

  Winsock2.LocalPort = 0

  '設(shè)置通信協(xié)議為 TCP 協(xié)議

  Winsock1.Protocol = sckTCPProtocol

  Winsock2.Protocol = sckTCPProtocol

  '開(kāi)始監(jiān)聽(tīng),等待客戶(hù)端連接

  Winsock1.Listen

  Winsock2.Listen

  '初始化PLC地址,IP,端口數(shù)據(jù)

  Open App.Path & "\data\add.ini" For Binary As #1

  Add = StrConv(InputB$(LOF(1), 1), vbUnicode)

  Close #1

  Open App.Path & "\data\ip.ini" For Binary As #1

  ip = StrConv(InputB$(LOF(1), 1), vbUnicode)

  Close #1

  Open App.Path & "\data\port.ini" For Binary As #1

  port = StrConv(InputB$(LOF(1), 1), vbUnicode)

  Close #1

  reg.Text = "0"

  high.Text = "0"

  low.Text = "0"

End Sub



Private Sub SendData_Click()

  '如果 Winsock 處于已連接狀態(tài)

  If Winsock1.State = sckConnected Then

    '構(gòu)造 Modbus TCP 請(qǐng)求數(shù)據(jù)

    Dim PLC_Add As Long

    Dim dataToSend As Integer

    Dim dataToSend1 As Integer

    Dim dataToSend2 As Integer

    'Add PLC起始地址,reg:寄存器地址,high/low高低字節(jié)位(數(shù)據(jù))。

    PLC_Add = Val(Add.Text)

    To_reg = Val(reg.Text)

    To_high = Val(high.Text)

    To_low = Val(low.Text)

    'MODBUSTCP報(bào)文

     Dim request As String

    request = Chr(&H0) & Chr(&H1) & Chr(&H0) & Chr(&H0) & Chr(&H0) & Chr(&H6) & Chr(&H1) & Chr(&H6) & Chr(PLC_Add - 40001) & Chr(To_reg) & Chr(To_high) & Chr(To_low)

      '發(fā)送構(gòu)造好的請(qǐng)求數(shù)據(jù)給 PLC

      Winsock1.SendData request

    Exit Sub

  

  Else

    '如果未連接到 PLC,彈出消息提示

    MsgBox "Not connected to PLC."

  End If

  

End Sub


Private Sub Timer1_Timer()

  '定時(shí)器事件,用于周期性檢查連接狀態(tài)并更新界面

  If Winsock1.State = sckConnected Then

    '如果連接成功,將標(biāo)簽的背景色設(shè)置為綠色(十六進(jìn)制顏色值 &HC000&)

    connection.BackColor = &HC000&

  Else

    '如果未連接,將標(biāo)簽的背景色設(shè)置為紅色(十六進(jìn)制顏色值 &HFF&)

    connection.BackColor = &HFF&

  End If

    

End Sub



Private Sub Timer2_Timer()

  '定時(shí)器事件,用于周期性檢查連接狀態(tài)并重新連接

  If connection.BackColor = &HFF& Then

  '檢查 Winsock 的狀態(tài),如果不是已關(guān)閉狀態(tài)

  If Winsock1.State <> sckClosed Then

    '關(guān)閉當(dāng)前連接,以便重新連接到 PLC

    Winsock1.Close

    '確認(rèn)連接IP地址及端口

    Timer3.Interval = 1

  End If

  If Winsock2.State <> sckClosed Then

    '關(guān)閉當(dāng)前連接,以便重新連接到 PLC

    Winsock2.Close

    '確認(rèn)連接IP地址及端口

    Timer3.Interval = 1

  End If

  

    '變量

    Dim plc_ip As String

    Dim plc_port As Integer

    '讀取IP及端口參數(shù)

    plc_ip = ip.Text

    plc_port = port.Text

    '連接到指定的 PLC IP 地址和端口號(hào),這里需替換為實(shí)際的 PLC IP 和端口

    Winsock1.Connect plc_ip, plc_port

    Winsock2.Connect plc_ip, plc_port

    '停止IP地址及端口確認(rèn)

    Timer3.Interval = 0

  End If

End Sub



Private Sub Command1_Click()

    '打開(kāi)通訊設(shè)置窗口

    Form2.Show

End Sub



Private Sub ConnectToPLC_Click()

  '判斷通訊是否啟動(dòng)連接

  If Timer2.Interval = 0 Then

     '開(kāi)始連接

    Timer2.Interval = 1

  ElseIf Timer2.Interval = 1 Then

    '判斷通訊是否啟動(dòng)連接

    If Winsock1.State <> sckClosed Then

    '停止連接

    Timer2.Interval = 0

    '斷開(kāi)連接

    Winsock1.Close

    Winsock2.Close

    

    End If

    

  End If



End Sub



Private Sub Timer3_Timer()

    '讀取起始地址

    Open App.Path & "\data\add.ini" For Binary As #1

    '更新起始地址

    Add = StrConv(InputB$(LOF(1), 1), vbUnicode)

    Close #1

    '讀取IP地址

    Open App.Path & "\data\ip.ini" For Binary As #1

    '更新IP地址

    ip = StrConv(InputB$(LOF(1), 1), vbUnicode)

    Close #1

    '讀取端口

    Open App.Path & "\data\port.ini" For Binary As #1

    '更新端口

    port = StrConv(InputB$(LOF(1), 1), vbUnicode)

    Close #1

    '停止更新

    Timer3.Interval = 0

End Sub





Private Sub TCP0_Click(Index As Integer)

  '對(duì)齊寄存器地址

  If reg.Text <> 0 Then

    reg.Text = 0

  End If

  '開(kāi)關(guān)量轉(zhuǎn)換

  If reg.Text = 0 Then

    If low.Text = 0 Then

      low.Text = 1

      SendData_Click

    ElseIf low.Text = 1 Then

      low.Text = 0

      SendData_Click

    End If

  End If



End Sub



Private Sub TCP1_Click(Index As Integer)

  '對(duì)齊寄存器地址

  If reg.Text <> 1 Then

    reg.Text = 1

  End If

  '開(kāi)關(guān)量轉(zhuǎn)換

  If reg.Text = 1 Then

    If low.Text = 0 Then

      low.Text = 1

      SendData_Click

    ElseIf low.Text = 1 Then

      low.Text = 0

      SendData_Click

    End If

  End If



End Sub



Private Sub TCP2_Click(Index As Integer)

  '對(duì)齊寄存器地址

  If reg.Text <> 2 Then

    reg.Text = 2

  End If

  '開(kāi)關(guān)量轉(zhuǎn)換

  If reg.Text = 2 Then

    If low.Text = 0 Then

      low.Text = 1

      SendData_Click

    ElseIf low.Text = 1 Then

      low.Text = 0

      SendData_Click

    End If

  End If



End Sub



Private Sub TCP3_Click(Index As Integer)

  '對(duì)齊寄存器地址

  If reg.Text <> 3 Then

    reg.Text = 3

  End If

  '開(kāi)關(guān)量轉(zhuǎn)換

  If reg.Text = 3 Then

    If low.Text = 0 Then

      low.Text = 1

      SendData_Click

    ElseIf low.Text = 1 Then

      low.Text = 0

      SendData_Click

    End If

  End If



End Sub



Private Sub TCP4_Click(Index As Integer)

  '對(duì)齊寄存器地址

  If reg.Text <> 4 Then

    reg.Text = 4

  End If

  '開(kāi)關(guān)量轉(zhuǎn)換

  If reg.Text = 4 Then

    If low.Text = 0 Then

      low.Text = 1

      SendData_Click

    ElseIf low.Text = 1 Then

      low.Text = 0

      SendData_Click

    End If

  End If



End Sub



Private Sub TCP5_Click(Index As Integer)

  '對(duì)齊寄存器地址

  If reg.Text <> 5 Then

    reg.Text = 5

  End If

  '開(kāi)關(guān)量轉(zhuǎn)換

  If reg.Text = 5 Then

    If low.Text = 0 Then

      low.Text = 1

      SendData_Click

    ElseIf low.Text = 1 Then

      low.Text = 0

      SendData_Click

    End If

  End If


End Sub



Private Sub end_Click()

End

End Sub


www.scplc.cn
mhbxfys
趁年輕,走遍中國(guó)!
級(jí)別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 653 個(gè)
工控威望: 7029 點(diǎn)
下載積分: 7659 分
在線時(shí)間: 234(小時(shí))
注冊(cè)時(shí)間: 2012-01-04
最后登錄: 2026-01-24
查看mhbxfys的 主題 / 回貼
1樓  發(fā)表于: 2024-09-19 11:16
大神啊
感謝每位朋友! 承接plc柜、電氣柜設(shè)計(jì)、定制。觸摸屏組態(tài)、調(diào)試。 藍(lán)海華騰變頻器代理,變頻器維修。!   QQ:545636511

主站蜘蛛池模板: 久久久亚洲欧洲日产无码av | 欧美肥富婆丰满xxxxx | 亚洲精品~无码抽插 | 91在线观看视频网站 | 无码中文字幕乱码一区 | 日韩在线播放一区 | 久久理论片午夜琪琪电影网 | 人妻内射一区二区在线视频 | 精品一区二区三区免费毛片 | 亚洲三区在线播放 | 91国产一区二区 | 翘臀少妇被扒开屁股日出水爆乳 | 午夜欧美激情 | 午夜亚洲影院在线观看 | av无码av天天av天天爽 | www.99爱| 欧美精品一区在线 | 国产精品国产三级国产普通话 | 超碰福利在线观看 | 精品处破女学生 | 91成人在线观看喷潮动漫 | 一级大片免费观看 | 欧美一夜爽爽爽爽爽爽 | 久久中文字幕在线观看 | 国产精品久久精品国产 | 久久国产一区二区 | 国产精品午夜福利不卡120 | 北条麻妃一区二区三区 | 羞羞影院体验区 | 亚洲精品无码av天堂 | 天堂在线观看www | 国产精品成人一区二区三区吃奶 | 美女扒开大腿让男人桶 | 一a一片一级一片啪啪 | 国产亚洲a∨片在线观看 | 国产99久一区二区三区a片 | 久久精品国产视频在热 | 一区二区视频免费在线观看 | 欧美成人三级在线观看 | 日本在线看片免费人成视频 | 亚洲老熟女av一区二区在线播放 | 亚洲免费视频网站 | 一本色道无码不卡在线观看 | 成人黄色免费网站在线观看 | 亚洲另类欧美小说图片区 | 成人国产黄色 | 亚洲欧洲日韩综合色天使 | 国产黄色片免费看 | 国产男女猛烈无遮挡免费视频网站 | 国产午夜福利在线播放87 | 插少妇视频 | 人人人人干 | 亚洲精品乱码久久久久久 | 国产无遮挡18禁无码网站 | 精品伊人久久大线蕉色首页 | 国产偷伦视频片免费视频 | 五月婷婷亚洲 | www.国产 | 青青草国产精品日韩欧美 | 色噜噜av亚洲色一区二区 | 2021少妇久久久久久久久久 | 久久综合网欧美色妞网 | 日韩精品一卡2卡3卡4卡新区乱码 | 欧美激情精品久久久久久 | 国产另类在线 | 亚洲免费观看视频 | 亚洲国产三区 | 亚洲精品国产成人99久久 | 亚洲欧美综合一区 | www.国产| 欧美群妇大交群 | 久久zyz资源站无码中文动漫 | 亚洲国产一区二区在线 | 巨胸不知火舞露双奶头无遮挡 | 中文无码妇乱子伦视频 | 91视频在线国产 | 五月婷久久综合狠狠爱97 | 久久综合综合久久综合 | 日本久久一区二区 | 少妇做爰免费视看片 | 久久综合网丁香五月 | 五月开心激情 | 成人网站av亚洲国产 | 日韩高清一区 | 人妻少妇被猛烈进入中文字幕 | 日本强伦姧人妻一区二区 | 最新中文字幕av无码专区 | 亚洲精品国产第一区二区尤物 | 国产热视频 | 亚洲国产呦萝小初 | 成人深夜视频在线观看 | 毛片毛片毛片毛片 | 国产精品 中文字幕 亚洲 欧美 | 亚洲成av在线 | 极品少妇的粉嫩小泬视频 | 国产午夜亚洲精品国产成人小说 | 亚洲一区二区三区 | 国内精品一区二区三区不卡 | 黄色成人在线播放 |