松下不是有PC通訊解決方案嗎?
成都創新互聯公司是一家集網站建設,西疇企業網站建設,西疇品牌網站建設,網站定制,西疇網站建設報價,網絡營銷,網絡優化,西疇網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
我之前用的VB.NET的代碼:
Imports?System.Net
Imports?System.Runtime.InteropServices
Public?Class?Form1
Dim?Handle1?As?Int32
Dim?EntLink?As?Boolean
Dim?ScanCount?As?Long
Dim?PLC?As?New?NaisTcpFp.PlcClient?'TCP:NaisTcpFp.DLL/COM:NaisComFP.DLL
Public?Declare?Function?timeGetTime?Lib?"winmm.dll"?()?As?UInt32
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Dim?i?As?Short
Me.CenterToScreen()
cmbReadMry.Items.Clear()
cmbReadMry.Items.Add("WX")
cmbReadMry.Items.Add("WY")
cmbReadMry.Items.Add("WR")
cmbReadMry.Items.Add("DT")
'
cmbWriteMry.Items.Clear()
cmbWriteMry.Items.Add("WX")
cmbWriteMry.Items.Add("WY")
cmbWriteMry.Items.Add("WR")
cmbWriteMry.Items.Add("DT")
'
cmbBitMry.Items.Clear()
cmbBitMry.Items.Add("X")
cmbBitMry.Items.Add("Y")
cmbBitMry.Items.Add("R")
cmbBitMry.Items.Add("D")
'
cmbReadType.Items.Clear()
cmbReadType.Items.Add("INT16")
cmbReadType.Items.Add("UINT16")
cmbReadType.Items.Add("DINT32")
cmbReadType.Items.Add("HEX32")
cmbReadType.Items.Add("REAL32")
cmbReadType.Items.Add("BIN16")
'
cmbWriteType.Items.Clear()
cmbWriteType.Items.Add("INT16")
cmbWriteType.Items.Add("UINT16")
cmbWriteType.Items.Add("DINT32")
cmbWriteType.Items.Add("HEX32")
cmbWriteType.Items.Add("REAL32")
cmbWriteType.Items.Add("BIN16")
For?i?=?0?To?15?Step?1
cmbBit.Items.Add("Bit"??i)
Next?i
cmbReadMry.SelectedIndex?=?3
cmbWriteMry.SelectedIndex?=?3
cmbBitMry.SelectedIndex?=?1
cmbBit.SelectedIndex?=?0
cmbReadType.SelectedIndex?=?0
cmbWriteType.SelectedIndex?=?0
lstRead.Items.Clear()
txtWrite.Text?=?""
End?Sub
Private?Sub?butLink_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butLink.Click
Dim?re?As?Short
Dim?restr?As?String?=?""
re?=?PLC.EntLink(Trim(txtLocalIP.Text),?Val(txtLocalPort.Text),?Trim(txtRemoteIP.Text),?Val(txtRemotePort.Text),?"DEMO",?Handle1)
txtReLink.Text?=?re.ToString
If?re?=?0?Then
EntLink?=?True
MsgBox("PLC聯接成功!?")
Else
EntLink?=?False
MsgBox("PLC聯接失敗:?"??restr)
End?If
End?Sub
Private?Sub?butClose_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butClose.Click
Dim?re?As?Short
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
re?=?PLC.DeLink(Handle1)
txtReClose.Text?=?re.ToString
End?Sub
Private?Sub?butRead_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butRead.Click
Dim?re?As?Short
Dim?i?As?Short
Dim?RD()?As?Object
ReDim?RD(Val(txtReadCnt.Text?-?1))
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
re?=?PLC.CmdRead(Handle1,?1,?cmbReadMry.SelectedIndex?+?1,?cmbReadType.SelectedIndex?+?1,?Val(txtReadAdd.Text),?Val(txtReadCnt.Text),?RD)
txtReRead.Text?=?re.ToString
lstRead.Items.Clear()
For?i?=?0?To?UBound(RD)?Step?1
If?Not?IsNothing(RD(i))?Then?lstRead.Items.Add(RD(i))
Next?i
If?re??0?Then
Timer1.Enabled?=?False
butScan.Text?=?"Cycle?R/W"
End?If
End?Sub
Private?Sub?butWrite_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butWrite.Click
Dim?re?As?Short
Dim?i?As?Short
Dim?temp()?As?String
Dim?WD()?As?Object
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
ReDim?WD(Val(txtWriteCnt.Text)?-?1)
temp?=?Split(txtWrite.Text,?vbCrLf)
For?i?=?0?To?UBound(WD)?Step?1
If?i??UBound(temp)?Then
WD(i)?=?0
Else
WD(i)?=?Trim(temp(i))
End?If
Next?i
re?=?PLC.CmdWrite(Handle1,?1,?cmbWriteMry.SelectedIndex?+?1,?cmbWriteType.SelectedIndex?+?1,?Val(txtWriteAdd.Text),?Val(txtWriteCnt.Text),?WD)
txtReWrite.Text?=?re.ToString
If?re??0?Then
Timer1.Enabled?=?False
butScan.Text?=?"Cycle?R/W"
End?If
End?Sub
Private?Sub?butScan_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butScan.Click
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
Timer1.Enabled?=?Not?Timer1.Enabled
If?Timer1.Enabled?Then
ScanCount?=?0
butScan.Text?=?"Stop?R/W"
Else
butScan.Text?=?"Cycle?R/W"
End?If
End?Sub
Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
Timer1.Enabled?=?False
Dim?tim?As?Integer?=?timeGetTime
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
'
Call?butRead_Click(Nothing,?Nothing)
Call?butWrite_Click(Nothing,?Nothing)
'
If?(Val(txtReRead.Text)??0)?Or?(Val(txtReWrite.Text)??0)?Then
butScan.Text?=?"Cycle?R/W"
Exit?Sub
Else
ScanCount?+=?1
txtScanCnt.Text?=?ScanCount
txtScanPrd.Text?=?(timeGetTime?-?tim)??"ms"
End?If
Timer1.Enabled?=?True
End?Sub
Private?Sub?butBitTest_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butBitTest.Click
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
Dim?rd?As?Boolean
Dim?re?As?Short
re?=?PLC.Bit_Test(Handle1,?1,?cmbBitMry.SelectedIndex?+?1,?Val(txtBitAdd.Text),?cmbBit.SelectedIndex,?rd)
txtBitTest.Text?=?rd
txtReBit.Text?=?re
End?Sub
Private?Sub?butBitSet_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butBitSet.Click
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
Dim?re?As?Short
re?=?PLC.Bit_Set(Handle1,?1,?cmbBitMry.SelectedIndex?+?1,?Val(txtBitAdd.Text),?cmbBit.SelectedIndex)
txtReBit.Text?=?re
End?Sub
Private?Sub?butBitRst_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butBitRst.Click
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯接!")
Exit?Sub
End?If
Dim?re?As?Short
re?=?PLC.Bit_Reset(Handle1,?1,?cmbBitMry.SelectedIndex?+?1,?Val(txtBitAdd.Text),?cmbBit.SelectedIndex)
txtReBit.Text?=?re
End?Sub
End?Class
1、沒有選擇正確的通訊口,或著所選的通訊口被其他程序占用。
2、通訊線有問題,三菱plc所用的通訊口是422的方式,所以對于電腦的232來說要用專用的通訊電纜,這里可能是電路板壞了或者連接線斷開。也可能是電腦的通訊口接觸不良或者壞掉,建議換個通訊口試試或者換臺電腦試一下。
3、可能是PLC的編程口(準確是所用的通訊口)沒有插好或者說壞掉。PLC進行在線監控。如果是在電腦上運行了其他,比如:觸摸屏在線模擬、用vb或者delphi/c/c++等自己開發的軟件等與PLC通訊的,還要看程序里面所選擇的PLC的型號是否正確。
這個圈里的是通訊過程中傳送的Asc碼,包含了PLc的站號地址、指令、起始符等內容,具體要看你的PLc通訊協議。通訊與開關量是兩回事,你得補習下與通訊相關的內容。
自然是選個PLC以太網模塊,用網線和個人電腦的網卡鏈接(有的型號需要專用網卡)。1、需要熟悉你所用的PLC程序、功能、控制工藝。2、需要知道VB轉換成以太網通訊的編程關系。3、不是觸摸屏是 鼠標點擊屏。4、有點難度和門檻。祝成功?。。?/p>
網站題目:vb.net松下plc VBNET松下plc與電腦232通訊
網頁路徑:http://vcdvsql.cn/article26/hepdcg.html
成都網站建設公司_創新互聯,為您提供用戶體驗、全網營銷推廣、商城網站、面包屑導航、網站維護、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯