
正文
plc和net.vb的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
请教斑竹 :VB 或者VC 与PLC的TCP/IP通信问题
1.还是OPC方式:用Kepware公司的KEPServerEXOPCplc和net.vb,或者TOP公司的TOPOPC。西门子以太网驱动的授权大概是500美金左右。可以支持最多16个以太网卡,每网卡最多支持64个CPX43-1。每计算机最多可以支持126个CPX43-1。VB做OPCClient就可以了。各个公司成品的解决方案倒是没有,但是相关的论文倒是可以搜出来一大堆。VB做OPCClient一点点都不难的。2.DLL方式:(请跟西门子资深工程师核实下)购买西门子公司的ProDaveV6版本,“据说”ProDave从V6版本开始,除了支持MPI外,还支持IE(工业以太网)方式。这样plc和net.vb你可以基于ProDave开发上位的通讯程序,直接访问DLL即可,坏处是难度比用OPC的方式大,好处是买ProDave是一次性投资,通讯程序做好后,plc和net.vb你可不用每台电脑都装ProDave了。VB要通过以太网访问PLC中的数据可能就这么几种方式。另外VB开发监控系统,跟plc和net.vb你在Step7如何调用没有任何关系。你继续用你的Step7编写你的程序。上位的监控仅仅需要访问下位的地址就可以了。比如你要显示一个模拟量的值,你可以用FC105,也可以自己写语句转换,上位软件管你用的是什么功能块,只需要明确的告诉他,要访问的数据是什么格式的,整型还是浮点型plc和net.vb?地址是多少。就OK了。
相关问答
Q1: VC、VB、C#哪种更有前途,介绍VC、VB是时请分清6.0和.net架构!
其实这个问题也很久了plc和net.vb,微软推出这么多语言主要是为了和苹果对抗。BASIC语言和C语言个又好处。不管是大家熟悉plc和net.vb的vb.net还是已经被微软淘汰plc和net.vb的vb6.0。期初刚刚开始进入.net的时候就像Vista刚出的时候一样plc和net.vb,大家都不喜欢,但是时代在进步,vb6已经没办法不被淘汰了。微软淘汰vb6就像现在淘汰xp是一样的,举步艰难。c语言的的最初的推出也只是为了更好的跨平台。但始终跨不出去。却在绘图上得到了肯定,广泛用于开发游戏。c#就更不用说了。可以说是BASIC语言和C语言的结合。外形酷似java,但实际上差别很大。c适合图形处理。c#数据处理能力强。而vb6.0的办公能力却也是得到肯定的。
Q2: vb怎么与三菱Q系列PLC通过以太网通讯,通过VB界面可以控制PLC的x,y,m以及对D值的写入和读取
你好!
你连问题都没问对啊~
VB是一个编程环境plc和net.vb,它本身是控制不plc和net.vb了PLCplc和net.vb的。
你大概是使用了用VB编写的上位机程序才能与PLC通讯的。
如果是这样plc和net.vb,你只能从这套上位机程序中下功夫plc和net.vb,而不是研究VB如何如何了。
仅代表个人观点,不喜勿喷,谢谢。
Q3: 西门子plc中VB、VW、VD的含义和使用?
这些是V寄存器中不同数据类型表示方法
在西门子PLC中plc和net.vb:VB表示V存储区plc和net.vb的一个字节Byteplc和net.vb,可用于存放短整型数据。
VW表示V存储区的一个字Wordplc和net.vb,可用于存放整型数据。
VD表示V存储区的两个字DoubleWord,可用于存放双整型和浮点数数据。
西门子PLC,是德国西门子(SIEMENS)公司生产的可编程序控制器,产品包括LOGO、S7-200、S7-1200、S7-300、S7-400等,具备体积小、速度快、标准化的特点,PLC可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。PLC采用梯形图、布尔助记符、功能表图、功能模块和语句描述编程语言,其不需要大量的活动元件和连线电子元件,编程简单,有较高的易操作性,能自动诊断,维修容易。
Q4: 求牛人指教,vb和VC作为上位机与plc通讯,两者之间各有什么优缺点?
如果只做PLC通信,没啥区别,怎么写都可以,做其他地方还有点区别 ,VB最多线程方面据说不怎么好
Q5: 谁有VB和OMRON PLC 通信例子啊?能否发个原始代码? 再次特别感谢!
提供一个VB.NET与OMRON以太网通讯的代码,是我项目里面复制出来的:
Dim Handle1 As Int32 'PLC的连接句柄
Dim EntLink As Boolean '连接标志
Dim PLC As New FinsTcp.PlcClient '引用OMRON的通讯组件
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
EntLink = False
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
Dim mry As FinsTcp.PlcClient.PlcMemory = cmbReadMry.SelectedIndex + 1
Dim typ As FinsTcp.PlcClient.DataType = cmbReadType.SelectedIndex + 1
re = PLC.CmdRead(Handle1, mry, typ, CUShort(Val(txtReadAdd.Text)), CUShort(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
Dim mry As FinsTcp.PlcClient.PlcMemory = cmbWriteMry.SelectedIndex + 1
Dim typ As FinsTcp.PlcClient.DataType = cmbWriteType.SelectedIndex + 1
re = PLC.CmdWrite(Handle1, mry, typ, CUShort(Val(txtWriteAdd.Text)), CUShort(Val(txtWriteCnt.Text)), WD)
txtReWrite.Text = re.ToString
If re 0 Then
Timer1.Enabled = False
butScan.Text = "Cycle R/W"
End If
End Sub
关于plc和net.vb和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








