您现在所在的是:

人机界面

回帖:22个,阅读:2337 [上一页] [1] [2] [3] [下一页]
15624
step1
文章数:7325
年度积分:36
历史总积分:15624
注册时间:2008/4/10
发站内信
2017国庆活动(三)
2016国庆活动(三)
2013辞旧迎新
发表于:2014/10/9 22:08:52
#0楼
哪里能找到用VB或者VC做监控界面的教材?最好有详细的实例程序解说。谢谢。
不积硅步,无以至千里;不积小流,无以成江河;九层之台,始于垒土。   好好学习,天天向
上。
3288
lihai010
文章数:780
年度积分:50
历史总积分:3288
注册时间:2006/2/14
发站内信
发表于:2014/10/9 22:54:08
#1楼
入门的又简单,难度大的又看不懂
2539
逆水行舟
文章数:404
年度积分:53
历史总积分:2539
注册时间:2005/10/27
发站内信
发表于:2014/10/9 22:56:10
#2楼
以下是引用lihai0102014/10/9 22:54:08的发言:
入门的又简单,难度大的又看不懂
首先要学好VB或VC才可能使用它们
3288
lihai010
文章数:780
年度积分:50
历史总积分:3288
注册时间:2006/2/14
发站内信
发表于:2014/10/9 23:00:28
#3楼
回复 #2楼 逆水行舟
反正我是把以前的学的完全还给老师了
15624
step1
文章数:7325
年度积分:36
历史总积分:15624
注册时间:2008/4/10
发站内信
2017国庆活动(三)
2016国庆活动(三)
2013辞旧迎新
发表于:2014/10/10 7:55:24
#4楼
附件 1.jpg

我现在有《案例解说VB典型控制应用》这本书,最先的想法是根据这本书的实例做一遍,发现输入代码太多了,而且对理解代码帮助不大,这本书有配套光盘,里面实例程序都是现成的, 而且有注释,我能写入PLC运行,能做一点点改动,比如模拟量书上是0-5V,我能改成0-10V, 开关量我能改变图形,颜色, 就这样能不能拼凑出实际应用的界面?
不积硅步,无以至千里;不积小流,无以成江河;九层之台,始于垒土。   好好学习,天天向
上。
15624
step1
文章数:7325
年度积分:36
历史总积分:15624
注册时间:2008/4/10
发站内信
2017国庆活动(三)
2016国庆活动(三)
2013辞旧迎新
发表于:2014/10/10 7:59:18
#5楼
下次我就拼凑出一个水塔水位控制的界面试试吧。
不积硅步,无以至千里;不积小流,无以成江河;九层之台,始于垒土。   好好学习,天天向
上。
39955
tigermu 版主
文章数:14926
年度积分:913
历史总积分:39955
注册时间:2004/8/12
发站内信
2018论坛优秀版主
2018春节活动(二)
2017论坛优秀版主
2017国庆活动(一)
2016论坛优秀版主
2016国庆活动(一)
2015论坛优秀版主
西门子logo体验(三)
英威腾PLC体验(三)
2015春节活动
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2010年度论坛贡献奖
发表于:2014/10/10 8:06:09
#6楼
如果单纯的只是界面的东西都还算好弄。柱状图、历史曲线什么的,状态变化看看例子都应该差不多。我觉得还是通讯部分相较比较难,各家的设备通讯格式都不同。建议看看vb与通讯的书。
清泉石上,明月松间。
18266
ZHTOK
文章数:11606
年度积分:-16
历史总积分:18266
注册时间:2004/3/11
发站内信
2014相约国庆
发表于:2014/10/10 8:42:33
#7楼
        重点:看看vb与通讯的部分,弄到熟悉的程度。
15624
step1
文章数:7325
年度积分:36
历史总积分:15624
注册时间:2008/4/10
发站内信
2017国庆活动(三)
2016国庆活动(三)
2013辞旧迎新
发表于:2014/10/10 22:10:59
#8楼
以下是引用ZHTOK2014/10/10 8:42:33的发言:
        重点:看看vb与通讯的部分,弄到熟悉的程度。
'在窗体的Load事件中加入下列代码对串口进行初始化:
Private Sub Form_Load()
 MSComm1.CommPort = 1
 MSComm1.InputMode = 1
 MSComm1.RThreshold = 1
 MSComm1.SThreshold = 1
 MSComm1.Settings = "9600,E,8,1"
 MSComm1.PortOpen = True
End Sub
'向S7-200PLC发送读指令,读取寄存器VW100中的数据,发送指令:
'68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 04 00 01 00 01 84 00 03 20 8D 16
'PLC返回数据 E5 后,发确认命令:10 02 00 5C 5E 16
'PLC返回数据68 17 17 68 00 02 08 32 03 00 00 00 00 00 02 00 06 00 00 04 01 FF 04 00 10 50 E1 90 16
'其中第25字节如50和第26字节E1就反映输入电压值
Private Sub Timer1_Timer()
 Dim temp As String
 Dim arr() As Byte
 Dim n As Integer
 Dim temp1 As String
 Dim arr1() As Byte
 Dim n1 As Integer
 Dim Inbyte() As Byte
 Dim Inbyte1() As Byte
 Dim data(10) As String     '电压值16进制各位
 Dim datan As Long          '电压值的数字量形式
 Dim dataV As Single        '电压实际值
 bz = bz + 1
 If bz = 1 Then
   temp = "681B1B6802006C320100000000000E00000401120A100400010001840003208D16"
   n = Len(temp) \ 2 - 1
   
   ReDim arr(n)
   For i = 0 To n
     arr(i) = Val("&H" & Mid(temp, i * 2 + 1, 2))
   Next i
   MSComm1.Output = arr     '发送读指令
 End If
 If bz = 2 Then
   Inbyte = MSComm1.Input              '读取返回数据串"E5"
   temp1 = "1002005C5E16"
   n1 = Len(temp1) \ 2 - 1
   ReDim arr1(n1)
   For i = 0 To n1
     arr1(i) = Val("&H" & Mid(temp1, i * 2 + 1, 2))
   Next i
   'PLC返回数据 E5 后,确认写入命令,发送以下数据:10 02 00 5C 5E 16
   If Hex(Inbyte(0)) = "E5" Then
      MSComm1.Output = arr1       '发送确认指令
   End If
 End If
 If bz = 3 Then
   Inbyte1 = MSComm1.Input             '读取返回数据串
   T16.Text = Hex(Inbyte1(25)) & Hex(Inbyte1(26))      '取电压值的16进制(第25和第26字节)
   '取电压16进制值各位
   If Len(Hex(Inbyte1(25))) = 1 Then
     data(1) = "0": data(2) = Mid(Hex(Inbyte1(25)), 1, 1)
   Else
     data(1) = Mid(Hex(Inbyte1(25)), 1, 1): data(2) = Mid(Hex(Inbyte1(25)), 2, 1)
   End If
   If Len(Hex(Inbyte1(26))) = 1 Then
     data(3) = "0": data(4) = Mid(Hex(Inbyte1(26)), 1, 1)
   Else
     data(3) = Mid(Hex(Inbyte1(26)), 1, 1): data(4) = Mid(Hex(Inbyte1(26)), 2, 1)
   End If
   datan = Val("&H" & data(1)) * (16 ^ 3) + Val("&H" & data(2)) * (16 ^ 2) + _
           Val("&H" & data(3)) * (16 ^ 1) + Val("&H" & data(4)) * (16 ^ 0)               '计算电压10进制值
   Tdata.Text = Str(datan)
   dataV = datan / 3200  '0-10V为3200 0-5V为6400
   Tv.Text = Format(dataV, "0.00")
   bz = 0
 End If
End Sub

'当退出程序时,关闭串行口
Private Sub Cmdquit_Click()
  MSComm1.PortOpen = False           '关闭串口
  Unload Me
End Sub



代码看不懂, 程序示例是读取VW100中的数值, 如果还要读取VW102呢?
不积硅步,无以至千里;不积小流,无以成江河;九层之台,始于垒土。   好好学习,天天向
上。
2539
逆水行舟
文章数:404
年度积分:53
历史总积分:2539
注册时间:2005/10/27
发站内信
发表于:2014/10/10 22:50:53
#9楼
你需要了解PPI协议格式,通讯的交互方式。其次你要比较熟练掌握VB,至少看到懂得代码的含义

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005