组态上位机.docx
- 文档编号:8805224
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:15
- 大小:1.81MB
组态上位机.docx
《组态上位机.docx》由会员分享,可在线阅读,更多相关《组态上位机.docx(15页珍藏版)》请在冰点文库上搜索。
组态上位机
上位机软件设计
上位机组态软件设计的界面中进行数据、曲线等监控、实时报警。
在VisualBasic可视化编程中要通过选取通讯控件对其属性进行设置。
在程序中进行初始化对波特率、通信数据长度、停止位长度、校验等参数进行设置。
下位机编程时同样要进行初始化对波特率、通信数据长度、停止位长度、校验等参数进行设置。
表5-3
放组态画的控制界面图
上位机程序
VB与组态王、应用程序间的动态数据交换(DDE)程序
DimA(8)AsString
DimiAsInteger
Dimplc1AsString
Dimplc2AsString
Dimplc3AsString
Dimsg(10)AsLong
DimstrDataAsString
DimstrAsString
DimmeasureValueAsString
DimgiveValueAsString
DimsuccessAsString
DimcanShuAsDouble
PrivateSubForm_Load()
Fori=0To8
A(i)="A"&(i+1)
Nexti
'Fori=0To8
'Text1(i).Text=A(i)
'Nexti
'定义远程主机及端口和对应本地端口
Fori=0To8
udpClient(i).RemoteHost=A(i)
udpClient(i).RemotePort=2000
udpClient(i).Bind(2001+i)
Nexti
'定义远程主机及端口和对应本地端口
udpClient(9).RemoteHost="B1"
udpClient(9).RemotePort=2000
udpClient(9).Bind2011
udpClient(10).RemoteHost="B2"
udpClient(10).RemotePort=2000
udpClient(10).Bind2012
'**********************定义从组态王接收的数据*************************
Fori=0To10
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
plc1="errorValue"
plc1=plc1&i
plc1=plc1+".STATIC100"
Text4(i).LinkTopic="VIEW|tagname"
Text4(i).LinkItem=plc1'errorValue
Text4(i).LinkMode=vbLinkNone
Text4(i).LinkMode=vbLinkAutomatic
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
plc2="giveMinute"
plc2=plc2&(i+1)
plc2=plc2+".STATIC100"
Text5(i).LinkTopic="VIEW|tagname"
Text5(i).LinkItem=plc2'giveMinute
Text5(i).LinkMode=vbLinkNone
Text5(i).LinkMode=vbLinkAutomatic
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
plc3="wordPlc"
plc3=plc3&i
plc3=plc3+".STATIC5"
Text6(i).LinkTopic="VIEW|tagname"
Text6(i).LinkItem=plc3
Text6(i).LinkMode=vbLinkNone
Text6(i).LinkMode=vbLinkAutomatic
Nexti
EndSub
PrivateSubText6_Change(IndexAsInteger)
DimwordToServerAsString
DimwordToAllAsString
IfText6(Index).Text=1Then
wordToServer=InputBox(message,"给他发信息")
IfwordToServer<>""AndLabel1(Index).ForeColor=vbGreenThen
OnErrorResumeNext
udpClient(Index).SendData"W"&wordToServer
EndIf
EndIf
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IfText6(0).Text=3Then
wordToAll=InputBox(message,"给所有人发信息")
IfwordToAll<>""Then
Fori=0To10
IfLabel1(i).ForeColor=vbGreenThen
OnErrorResumeNext
udpClient(i).SendData"W"&wordToAll
EndIf
Nexti
EndIf
EndIf
EndSub
PrivateSubTimer1_Timer()
Fori=0To10
IfLabel1(i).ForeColor=vbGreenThen
sg(i)=sg(i)+1
EndIf
Ifsg(i)=3Then
Label1(i).ForeColor=vbBlack
sg(i)=0
EndIf
Nexti
EndSub
PrivateSubudpClient_DataArrival(IndexAsInteger,ByValbytesTotalAsLong)
OnErrorResumeNext
Label1(Index).ForeColor=vbGreen'如果接收到数据表示正在通信
sg(Index)=0
IfTimerMod5=0Then
'设定试验误差和时间
IfText5(Index).Text<>0Then
udpClient(Index).SendData"G"&Text5(Index).Text
EndIf
IfText4(Index).Text<>0Then
udpClient(Index).SendData"E"&Text4(Index).Text
EndIf
EndIf
udpClient(Index).GetDatastrData,vbString
str=Left(strData,1)
SelectCasestr
Case"M"
measureValue=Mid(strData,2)
canShu=Val(measureValue)
IfIndex=0OrIndex=1OrIndex=2Then
canShu=canShu*500
ElseIfIndex=3OrIndex=4OrIndex=5Then
canShu=canShu*50
ElseIfIndex=3OrIndex=4OrIndex=5Then
canShu=canShu*600
Else
canShu=canShu*500
EndIf
Text1(Index).Text=canShu
Case"G"
giveValue=Mid(strData,2)
canShu=Val(giveValue)
IfIndex=0OrIndex=1OrIndex=2Then
canShu=canShu*500
ElseIfIndex=3OrIndex=4OrIndex=5Then
canShu=canShu*50
ElseIfIndex=3OrIndex=4OrIndex=5Then
canShu=canShu*600
Else
canShu=canShu*500
EndIf
Text2(Index).Text=canShu
Case"S"
success=Mid(strData,2)'收到试验结果标记
Text3(Index).Text=success
EndSelect
EndSub
监控界面命令语言
\\本站点\持续时间=\\本站点\持续时间+1;
xyAddNewPoint("XYA1",\\本站点\持续时间,\\本站点\测量值A1,1);
xyAddNewPoint("XYA1",\\本站点\持续时间,\\本站点\给定值A1,2);
xyAddNewPoint("XYA2",\\本站点\持续时间,\\本站点\测量值A2,1);
xyAddNewPoint("XYA2",\\本站点\持续时间,\\本站点\给定值A2,2);
xyAddNewPoint("XYA3",\\本站点\持续时间,\\本站点\测量值A3,1);
xyAddNewPoint("XYA3",\\本站点\持续时间,\\本站点\给定值A3,2);
if(\\本站点\持续时间==40)
{
xyClear("XYA1",1);
xyClear("XYA1",2);
xyClear("XYA2",1);
xyClear("XYA2",2);
xyClear("XYA3",1);
xyClear("XYA3",2);
\\本站点\持续时间=0;
}
xyClear("XYA1",1);
xyClear("XYA1",2);
xyClear("XYA2",1);
xyClear("XYA2",2);
xyClear("XYA3",1);
xyClear("XYA3",2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组态 上位