控制实验版本二等幅程序_第1页
控制实验版本二等幅程序_第2页
控制实验版本二等幅程序_第3页
控制实验版本二等幅程序_第4页
全文预览已结束

下载本文档

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

文档简介

1、Dim DATA!, tep!, c!, pretep!, newsp! Dim RetVal As Long, IPAddress As String Dim wID%, wModuleName%Dim q0!, q1!, q2!, e1!, e2!, e3!, e4!, u1!, u0!, sp!, b!, f%, kp!, td!, ti!, oupt!, st%, a%, d!, z!, v! Dim wGain(0 To 9) AsegerDim wHex(0 To 15) Aseger, fValue(0 To 15) As DoubleDim byData(0 To 127) A

2、s Byte, wData(0 To 63) AsegerPrivate Subd2_Click()Timer1.Enabled = False Timer2.Enabled = False IPAddress = byData(1) = 0到加热电路开关的数组RetVal = ADAMTCP_Write6K入到模块的函数,断开加热电路 Label4.Caption = 待检测 Label6.Caption = 待检测 Label8.Caption = 待检测End Sub定义写入PAddress, 6050, 1, 1, 1, byData(1)主机开关变量Private Subd1_Cli

3、ck()sp = Val(Text1.Text) Timer1.Enabled = True Timer3.erval = 1000Timer1.erval = 5000输入设定值5 秒一次检测Line (1200, 6240 - sp * 23.6)-(14640, 6240 - sp * 23.6), RGB(0, 255, 0)划出绿色设定值线End Sub根据坐标位置Private Subd3_Click()Timer1.Enabled = False Timer2.Enabled = False IPAddress = byData(1) = 0RetVal = ADAMTCP_Wr

4、ite6K Label4.Caption = 待检测 Label6.Caption = 待检测 Label8.Caption = 待检测 EndEnd SubPAddress, 6050, 1, 1, 1, byData(1)Private Subd4_Click()sp = Val(Text1.Text)Line (1200, 6240 - sp * 23.6)-(14640, 6240 - sp * 23.6), RGB(0, 255, 0)根据坐标位置划出绿色设定值线End SubPrivate Sub Form_Load() u0 = 0u1 = 1e1 = 0e2 = 0e3 = 0

5、td = 0kp = 30ti = 10000000q0 = kp * (1 + td / 5 + 5 / ti) q1 = -kp * (1 + 2 * td / 5) q2 = kp * td / 5RetVal = ADAMTCP_Open()库IPAddress = RetVal = ADAMTCP_Connect(IPAddress, 502, 2000, 2000, 2000) If RetVal ThenBeepMsgBox Cant connect + IPAddress ADAMTCP_CloseUnload Me End If wGain(4) = 9wModuleName

6、 = 6017打开模块函数主机和模块连接RetVal = ADAMTCP_Read6KAI(IPAddress, fValue(0)DATA = fValue(4)tep = (DATA - 4) * 105.5 / 16流计算实际温度b = tep End SubwModuleName,1,wGain(0), wHex(0),设定输入通道根据电热偶输出电Private Sub Form_Unload(Cancel As ADAMTCP_Disconnect ADAMTCP_CloseUnload Me End SubPrivate Sub Timer1_Timer() IPAddress =

7、 wGain(4) = 9wModuleName = 6017eger)控制过程RetVal = ADAMTCP_Read6KAI(IPAddress,wModuleName,1,wGain(0), wHex(0),fValue(0)DATA = fValue(4)tep = (DATA - 4) * 105.5 / 16Label4.Caption = tep显示实际温度Line (a / 180 * 1344 + 1200, -b * 23.6 + 6240)-(st / 180 * 1344 + 1200, -tep * 23.6 + 6240),RGB(205, 16, 26)用红线根

8、据坐标位置划出实际温度线 b = tepu0 = u1e1 = e2 e2 = e3e3 = (sp - tep) / 71实际与设定差值v = (q0 * e3 + q1 * e2 + q2 * e1) * 5u1 = v + u0If u1 4.9 Then u1 = 4.9End If控制最高加热时间,不超过检测周期Line (a / 180 * 1344 + 1200, -d * 23.6 * 3 + 6240)-(st / 180 * 1344 + 1200, -u1 * 23.6 * 3 +6240), RGB(0, 0, 255)用蓝色线根据加热时间和坐标位置划出控制曲线 d =

9、 u1Call appedatfile1Label8.Caption = u1 a = stTimer2.erval =byData(1) = 1显示加热时间(u1) * 1000)将加热时间赋值给计时器 2RetVal = ADAMTCP_Write6K Timer2.Enabled = TrueEnd SubPrivate Sub Timer2_Timer() byData(1) = 0RetVal = ADAMTCP_Write6K Timer2.Enabled = FalseEnd SubPrivate Sub Timer3_Timer() sp = Val(Text1.Text)st = st + 1 Label6.Caption = stEnd SubSub appedatfile1()PAddress, 6050, 1, 1, 1, byData(1)接通加热电路时间到断开加热电路PAddr

温馨提示

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

评论

0/150

提交评论