91黄动漫 I 欧美 日韩 国产 成人 在线 I a级成人毛片 I 农村黄色片 I 男生捅女生的肌肌 I 精品99一区二区三区 I 妃光莉av I 日日夜夜操操 I 性中国古装videossex I 久久不卡av I 美女高潮动态图 I 极品美女开粉嫩精品 I 牛牛精品一区二区 I 91精品福利视频 I 成人刺激视频 I 91国内精品视频 I 中国一级特黄毛片大片 I 校长狠狠挺进校花体内小说 I 欧美激情黄色片 I 欧美久久久一区 I 爱豆国产剧免费观看大全剧苏畅 I 麻豆国产人妻欲求不满谁演的 I 亚洲一区二区在线免费观看视频 I 国产超碰av人人做人人爽 I 精品国产第一国产综合精品 I 久久免费看av I 欧美一区二区三区白人 I 国产精品夫妻激情 I 校花被肉干高h潮不断 I 欧美最猛黑人xxxx黑人表情 I 国产欧美日韩一区二区搜索 I 极品女神露脸呻吟啪啪 I 人人天天久久 I 亚洲动漫在线 I 日本91福利区 I 五月天 桃色 开心 I av在线免费观看国产 I 男人添女人的免费视频 I 夜夜穞天天穞狠狠穞

趙云龍
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 7 個
工控威望: 55 點
下載積分: 266 分
在線時間: 11(小時)
注冊時間: 2023-11-23
最后登錄: 2025-12-14
查看趙云龍的 主題 / 回貼
樓主  發(fā)表于: 2024-09-17 16:49
Option Explicit

Private Sub Form_Load()

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

  Winsock1.LocalPort = 0

  Winsock2.LocalPort = 0

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

  Winsock1.Protocol = sckTCPProtocol

  Winsock2.Protocol = sckTCPProtocol

  '開始監(jiān)聽,等待客戶端連接

  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 請求數(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報文

     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)造好的請求數(shù)據(jù)給 PLC

      Winsock1.SendData request

    Exit Sub

  

  Else

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

    MsgBox "Not connected to PLC."

  End If

  

End Sub


Private Sub Timer1_Timer()

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

  If Winsock1.State = sckConnected Then

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

    connection.BackColor = &HC000&

  Else

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

    connection.BackColor = &HFF&

  End If

    

End Sub



Private Sub Timer2_Timer()

  '定時器事件,用于周期性檢查連接狀態(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

    '確認連接IP地址及端口

    Timer3.Interval = 1

  End If

  If Winsock2.State <> sckClosed Then

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

    Winsock2.Close

    '確認連接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 地址和端口號,這里需替換為實際的 PLC IP 和端口

    Winsock1.Connect plc_ip, plc_port

    Winsock2.Connect plc_ip, plc_port

    '停止IP地址及端口確認

    Timer3.Interval = 0

  End If

End Sub



Private Sub Command1_Click()

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

    Form2.Show

End Sub



Private Sub ConnectToPLC_Click()

  '判斷通訊是否啟動連接

  If Timer2.Interval = 0 Then

     '開始連接

    Timer2.Interval = 1

  ElseIf Timer2.Interval = 1 Then

    '判斷通訊是否啟動連接

    If Winsock1.State <> sckClosed Then

    '停止連接

    Timer2.Interval = 0

    '斷開連接

    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)

  '對齊寄存器地址

  If reg.Text <> 0 Then

    reg.Text = 0

  End If

  '開關(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)

  '對齊寄存器地址

  If reg.Text <> 1 Then

    reg.Text = 1

  End If

  '開關(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)

  '對齊寄存器地址

  If reg.Text <> 2 Then

    reg.Text = 2

  End If

  '開關(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)

  '對齊寄存器地址

  If reg.Text <> 3 Then

    reg.Text = 3

  End If

  '開關(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)

  '對齊寄存器地址

  If reg.Text <> 4 Then

    reg.Text = 4

  End If

  '開關(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)

  '對齊寄存器地址

  If reg.Text <> 5 Then

    reg.Text = 5

  End If

  '開關(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



主站蜘蛛池模板: 99热99在线 | 中国精品一区二区三区 | 2020国产精品永久在线 | 国产在线 | 中文 | 亚洲国产成人精品在线 | 91成品人网页版 | 欧美日韩在大午夜爽爽影院 | 国内精品久久久久影院日本 | 成人欧美一区二区三区色青冈 | 狠狠干b | 精品人伦一区二区三区蜜桃网站 | 92在线精品视频在线观看 | 免费精品99久久国产综合精品应用 | 亚洲成av人无码综合在线 | 日本久久大片 | 久久国产精品老女人 | 特级黄色视频毛片 | 50岁熟妇的呻吟声对白 | 夹得好湿真拔不出来了动态图 | 精品九九九九九 | 成人三级在线 | 亚洲va中文字幕无码久久 | 国产精品宾馆国内精品酒店 | 色www永久免费视频首页 | 国产精品高潮呻吟久久影视a片 | 免费va人成视频网站全 | 色狠狠色噜噜av一区 | 亚洲二新区乱码无人区二 | 国产成人92精品午夜福利 | 欧美熟妇性xxx交潮喷 | 国产精品视频导航 | 无码精品人妻一区二区三区漫画 | 中文字幕婷婷日韩欧美亚洲 | 天天色综合1 | 国产精品成熟老女人视频 | 国产偷窥熟妇高潮呻吟 | 亚欧成a人无码精品va片 | 日韩精品一级 | 免费观看国产女人高潮视频 | 超碰人人做| 最新中文无码字字幕在线 | 欧美成人aa久久狼窝五月丁香 | 美女内射毛片在线看3d | 欧美精品激情 | 国产suv精品一区二av18 | 天干天干天啪啪夜爽爽av网站 | 另类第一页 | 辟里啪啦国语版免费观看 | 黑人巨大精品欧美一区二区免费 | 欧美黑人一级 | 伊人蕉久影院 | 国产成人精彩在线视频 | 健身房(高h,双性,饥渴受) | 2020亚洲男人天堂 | 亚洲理论在线a中文字幕 | 四川50岁熟妇大白屁股真爽 | 黑人巨大av| 国产五月色婷婷六月丁香视频 | 欧美绝顶高潮抽搐喷水合集 | 国产a一级片 | 噜噜色综合天天综合网mp3 | 丁香花在线视频观看免费 | 国产精品国产亚洲精品看不卡 | 久久 国产 尿 小便 嘘嘘 | 日本精品一区二区三区在线观看 | 久久人人爽人人 | 日本另类αv欧美另类aⅴ | 亚洲 欧美 日韩 综合aⅴ | 男女做爰猛烈啪啪吃奶图片 | 欧美xxx喷水 | 久久婷婷五月综合成人d啪 日日干日日射 | 日韩一级片中文字幕 | 潮喷大喷水系列无码久久精品 | 日本电影一区二区三区 | 国产在线观看黄 | 天天躁夜夜躁狠狠躁 | 亚洲伊人色综合网站小说 | 91丨porny丨加精 | 天堂а在线最新版在线 | 国产精品久久久久久欧美2021 | 欧美牲交a欧牲交aⅴ久久 | 再深点灬舒服灬太大了av网站 | 国产成人av乱码免费观看 | 久久精品国产99国产精偷 | 爱情岛成人www亚洲网站 | 中文在线最新版天堂 | 国产欧美色图 | 亚洲αⅴ无码乱码在线观看性色 | 搜一级黄色片 | 国产三级在线观看完整版 | 福利视频你懂的 | 激情五月综合网 | 国产成人精品视频ⅴa片软件竹菊 | 最新国产拍偷乱偷精品 | 久草免费在线 | 中文字幕一区二区三区乱码 | 久久综合国产伦精品免费 | 日韩欧美国产一区二区三区在线观看 | 大香线蕉伊人精品超碰 |