DCS与变频器、ADAM4000的接口方案.doc_第1页
DCS与变频器、ADAM4000的接口方案.doc_第2页
DCS与变频器、ADAM4000的接口方案.doc_第3页
DCS与变频器、ADAM4000的接口方案.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除DCS与变频器、ADAM4000系列、阀检仪的接口方案(Valve.dll的接口说明)一、 说明Valve.dll内部包含几个部分的采集功能,可以同时使用,说明如下:工程引用中添加(Valve.dll,需要注册),并在模块(mdlMain.bas)中添加变量声明Public RW_Tran As New RW_TranPublic Read_Valve As New Read_ValvePublic Read_Write4K As New Read_Write4K1、 变频器接口说明RW_Tran .ini(ByVal ComNum As Long, ByVal iniStr As String, ByVal ini_Path As String, ByVal Num As Long) As Boolean功能:初始化变频器接口参数:ComNum为串口号,iniStr为通讯参数,ini_Path为系统路径,Num为变频器型号选择(1为FuJiG11)返回:True或是FalseRW_Tran .R_Current(ByVal ID As Long, ByRef Current As Long)功能:读变频器输出电流参数:ID为变频器地址,Current为变频器输出电流返回:CurrentRW_Tran .R_Speed(ByVal ID As Long, ByRef Speed As Long)功能:读变频器转速参数:ID为变频器地址,Speed为变频器转速返回:SpeedRW_Tran .W_Speed(ByVal ID As Long, ByVal Speed As Long)功能:设置变频器转速参数:ID为变频器地址,Speed为变频器转速返回:无RW_Tran .W_Frequency(ByVal ID As Long, ByVal Frequency As Single)功能:设置变频器频率参数:ID为变频器地址,Frequency为变频器频率返回:无RW_Tran .Exitdll功能:退出变频器采集参数:无返回:无2ADAM4000系列接口说明Read_Write4K.ini(ByVal ComNum As Long, ByVal iniStr As String, ByVal ini_Path As String) As Boolean功能:初始化ADAM4000接口参数:ComNum为串口号,iniStr为通讯参数,ini_Path为系统路径返回:True或是FalseRead_Write4K.readValue24(ByVal Add As Long, ByRef rValue() As Single)功能:读取ADAM4024的数据参数:Add为4024的地址,rValue()为通道返回值返回:rValue()Read_Write4K.readValue17(ByVal Add As Long, ByRef rValue() As Single)功能:读取ADAM4017的数据参数:Add为4017的地址,rValue()为通道返回值返回:rValue()Read_Write4K.readValue15(ByVal Add As Long, ByRef rValue() As Single)功能:读取ADAM4015的数据参数:Add为4015的地址,rValue()为通道返回值返回:rValue()Read_Write4K.writeValue24(ByVal Add As Long, ByVal Channel As Long, ByVal Num As Long, ByVal wValue As Single)功能:设置ADAM4024的数据参数:Add为4024的地址,Channel为通道号,Num为量程范围选择,wValue为设定值返回:无Read_Write4K.Exitdll功能:退出ADAM4000采集参数:无返回:无3读取阀检仪接口说明Read_Valve.ini(ByVal ini_Path As String) As Boolean功能:初始化阀检仪接口参数: ini_Path为系统路径返回:True或是FalseRead_Valve.readSigleValue(ByVal IP As Long, ByVal Channle As Long, ByRef value As Long)功能:读取阀检仪单通道值参数:IP为阀检仪序号,Channle为通道号,value为返回通道值返回:valueRead_Valve.readMultiValue(ByVal IP As Long, ByVal startChannel As Long, ByVal Number As Long, ByRef value() As Long)功能:读取阀检仪多通道值参数:IP为阀检仪序号,startChannel为开始通道号,Number为通道数量 ,value()为返回通道值返回:value()Read_Valve. SetComm功能:调出阀检仪数据采集设置窗口参数:无返回:无Read_Valve.Exitdll功能:退出阀检仪数据采集参数:无返回:无二、代码范例Private Function iniTran() 初始化变频器Dim Tport As Long, Tset As String, i As Long, j As LongOn Error GoTo N IsTran = ReadInIFiles(TRAN, ISTRAN, false, iniPaths + system.ini) If IsTran Then i = Val(ReadInIFiles(TRAN, Num, 1, iniPaths + System.ini) For j = 1 To i Stove(j - 1).LTZSset = Val(ReadInIFiles(TRAN, SetSpeed & j, 0, iniPaths + System.ini) Next Tport = Val(ReadInIFiles(TRAN, COM, 1, iniPaths + System.ini) Tset = ReadInIFiles(TRAN, SET, 19200,n,8,1, iniPaths + System.ini) IsTran = RW_Tran.ini (Tport, Tset, App.Path, 1) End IfExit FunctionN: MsgBox 初始化变频器采集串口失败!请检查计算机COM口! IsTran = False Err.ClearEnd FunctionPrivate Function iniADAM4K() 初始化4000模块Dim com As Long, seting As String, i As LongOn Error GoTo N Is4000 = ReadInIFiles(ADAM4000, IS4000, True, iniPaths + System.ini) If Is4000 Then com = Val(ReadInIFiles(ADAM4000, COM, 1, iniPaths + System.ini) seting = ReadInIFiles(ADAM4000, SET, 9600,n,8,1, iniPaths + System.ini) Is4000 = Read_Write4K.ini(com, seting, App.Path) End IfExit FunctionN: MsgBox 初始化串口采集设备失败-iniADAM4K!请检查计算机COM口或是通讯连接电缆! Is4000 = False Err.ClearEnd Function采集 变频器数据在TimerOther定时器中添加Private Sub TimerOther_Timer() If IsTran And isRead Then If strTRANCommand = Then If order Mod 4 = 1 Then For i = 0 To StoveNumber - 1 If Stove(i).runstate = 1 Then RW_Tran.R_Speed i + 1, k If k -1 Then Stove(i).Speed = k Else Stove(i).Speed = Stove(i).LTZSset End If Else Stove(i).Speed = 0 End If Next ElseIf order Mod 4 = 2 Then str = For i = 0 To StoveNumber - 1 str = str & UBound(MotherBoard) Then ID = 0 End If Select Case Mid(MotherBoard(ID).Name, 1, 8) Case ADAM5510 MSComm5510.Output = #0 & Hex(MotherBoard(ID).Port_Dip) & S & Chr(13) Case ADAM4015 If Is4000 Then Read_Write4K.readValue15 MotherBoard(ID).Port_Dip, TempPt() For i = 0 To 5 j = MotherBoard(ID).Slot(0).Channel(i).Index If j 999 Then Signal(j).Value = TempPt(i) If TempPt(i) 1000 Then Signal(j).CalValue = TempPt(i) End If Next Case Else GoTo N1 End SelectElse MSComm5510.Output = strPIDCommand & Chr(13) 采集机发送PID指令 strPIDCommand = End IfIf strPIDCommand Then strPIDCommand = N1:If Second(Now) SendTime Then If OnComm And (ConnectState Or RemoteConnectState) Then SendTime = Second(Now) j = Int(UBound(Signal) / 15) For i = 0 To j - 1 str = & i For k = 0 To 14 str = str & / & Signal(i * 15 + k).CalValue Next BroadMsg str Sleep (10) Next If UBound(Signal) - j * 15 0 Then str = & j For k = 0 To UBound(Signal) - j * 15 str = str & / & Signal(j * 15 + k).CalValue Next BroadMsg str End If OnComm = False End IfEnd IfshpUpdata.Back

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论