Dim Motor_Direction_adress As Integer ' 电机转动方向控制地址 Dim Motor_speedadress As Integer ' 数模口地址 Public Mainmotor_Speed As Integer ' 主电机转速 Public Mainmotor_Direction As String ' 主电机转向 Dim FeedMotor_Speed As Integer ' 喂料电机转速 Dim FeedMotor_Direction As String ' 喂料电机转向 Dim CutMotor_Speed As Integer ' 切粒电机转速 Dim CutMotor_Direction As String ' 切粒电机转向 Dim PumpMOtor_Speed As Integer ' 泵电机转速 Dim PumpMotor_Direction As String ' 泵电机转向 Dim Get_Tem(0 To 15) As Integer ' 定义设定温度 3.系统启动
Private Sub mnurun_Click()
Timer2.Enabled = True '计时开始并循环启动 End Sub
4.报警参数采集及控制模块
(1)电流报警 主电流为例
current_total_updata = &H120& '定义主电流采集地址
current_data = &H120 '虚拟电流
Call GetPortval(current_total_updata, current_data, 1) '调用子程序并查询主电流 show_current_total_updata.Text = current_total_updata '输出主电流 Dim alarm_data As Integer Dim alarm_updata As Integer
Dim alarm_wide As Integer
alarm_data = current_total_updata '输出助电流报警
alarm_updata = Set_Alarm.current_total_updata.Text '读取报警上限 alarm_wide = Set_Alarm.current_total_wide.Text '读取报警宽度
Dim alarm As Boolean
If show_current_total_alarm.Text = \总电流过高\判断当前报警状态 alarm = True '报
ElseIf show_current_total_alarm.Text = \总电流正常\ alarm = False '不报 End If
Call single_alarm(alarm, alarm_data, alarm_updata, alarm_wide) '调用报警程序 If alarm = True Then '若该报警
show_current_total_alarm.Text = \总电流过高\ Picture_current_total_updata.BackColor = &HFF& sound = True ElseIf alarm = False Then
show_current_total_alarm.Text = \总电流正常\
Picture_current_total_updata.BackColor = &HFF00& End If (2)电流报警子程序
16
Sub single_alarm(ByRef alarm As Boolean, ByVal alarm_data As Integer, ByVal alarm_updata As Integer, ByVal alarm_wide As Integer)
If alarm = True Then '现状是否报价
If alarm_data > alarm_updata - alarm_wide Then '没有复下限 alarm = True
ElseIf alarm_data < alarm_updata - alarm_wide Then '复下限 alarm = False End If
ElseIf alarm = False Then '没要报警
If alarm_data > alarm_updata Then '跃上限 alarm = True
ElseIf alarm_data <= alarm_updata Then '没有 alarm = False End If End If End Sub
(3).电流报警流程
报警开始判断是否在报警否是是否复上限是是否跃上限否不报警否结束是报警(4).容压容温报警与显示
'容压报警为例
presuredata_address = &H125& '容压报警地址 preasure_data = &H125& '虚拟压力
Dim high As Boolean
Call GetPortval(preasuredata_adress, preasure_data, 1) '采集压力 show_preasure.Text = preasure_data '显示压力 alarm_data = preasure_data '报警值输入
alarm_updata = Set_Alarm.preasure_updata.Text '读取报警上限
alarm_updata_wide = Set_Alarm.preasure_updata_wide.Text '读取上限宽度 alarm_downdata = Set_Alarm.preasure_downdata.Text '读取报警下限 alarm_downdata_wide = Set_Alarm.preasure_downdata_wide '读取下限宽度 If preasure_alarm.Text = \容压过高\判断当前报警状态如果容压过高
17
alarm = True '正在报警
high = True '高了
ElseIf preasure_alarm.Text = \容压过低\如果容压低了 alarm = True '正在报警 high = False '低了
ElseIf preasure_alarm.Text = \容压正常\如果没报警 alarm = False '没有报警 high = False '可以 End If
Call double_alarm(alarm,
high,
alarm_data,
alarm_updata,
alarm_updata_wide,
alarm_downdata, alarm_downdata_wide) '调用报警子程序 If alarm = False Then '如果不报警
Picture_preasure.BackColor = &HFF00& '变绿 preasure_alarm.Text = \容压正常\显示容压正常 ElseIf alarm = True Then '如果报警
Picture_preasure.BackColor = &HFF& '变红 If high = False Then '如果低了
preasure_alarm.Text = \容压过低\显示容压过低 ElseIf high = True Then '如果高了
preasure_alarm.Text = \容压过高\显示容压过高 End If End If
(5)容压/容温报警子程序
If alarm = False Then '目前没有报警
If alarm_data > alarm_updata Then '跃上限 alarm = True '报警 high = True '高了
ElseIf alarm_data < alarm_downdata - alarm_downdata_wide Then '跃下限 alarm = True '报警 high = False '低了 Else '其他
alarm = False '不报 End If
ElseIf alarm = True Then '目前报警 If high = True Then
If alarm_data > alarm_updata - alarm_updata_wide Then '没有复上限 alarm = True '报警
high = True '高了
ElseIf alarm_data <= alarm_updata - alarm_updata_wide Then '复上限 alarm = False '不报 high = False '好了 End If
ElseIf high = False Then '目前报并且低了
If alarm_data < alarm_downdata Then '没有复下限
18
alarm = True ''报警
high = False '低了
ElseIf alarm_data > alarm_downdata Then '复下限 alarm = False '不报 high = False '好了 End If End If
(6)容温/容压报警流程
开始是判断是否复上/下限判断是否在报警否判断是否越上/下限是否报警提示框变红是高是低低了高了显示融温/融压过高否是不报警显示融压/融温过低结束
(7)报警子程序
'报警子程序
Sub Go(alarm As Boolean)
Call setportval(&H177, &H177, 1) End Sub
5.温度及电流采集(A/D采集) (1)所需运行的程序 '温度采集为例
For i = 0 To 15 '循环16次
address = &H110& + i '需要查询的地址0110h-011fh
Tem_data = &H110& + i '测定的温度,这句用于检测,与硬件连接时需删除 Call GetPortval(address, Tem_data, 1) '调用子程序,并查询各段温度数据
Tem_Get1(i).Text = Tem_data '完成温度采集
如果需要采集电流则将地址变量改为电流采集芯片CD4051的地址0120H~0127H
(2)采集流程
A/D采集传输(用于采集工作状态下的各种信息如:温度、电流等)以温度为例
开始热电偶将采集到的热信号转换成电流CD4067确定16个热电偶是哪一路在采集由ISA的A0-A4口控制LF198进行采样保持AD574进行AD转换下一个判断是否转换完(转换结束R/C为高电平可读)是ISA读取数据并输送给计算机否否16路是否都采完是结束
电流采集与温度采集不同的是电流采集的采样路径选择通道是由CD4051控制
19
6.温度控制 如果温度过低,那么我们需要加热,我们可以用PID精确控制温度的上升 (1)'PID控制子程序
Sub pid_ctrl(ByVal kp As Integer, ByVal KI As Integer, ByVal KD As Integer, ByVal Pmax As Integer, E1 As Integer, c As Integer) If pi0 <> 0 Then '判断pi0是否存在 pi0 = pi0 '存在不变 Else
pi0 = 0 '不存在置零 End If
Dim p As Integer
PPI = kp * E1 '计算ppi
PII = KI * E1 + pi0 '计算pii PDI = KD * (E1 - e0) '计算pdi p = PPI + PII + PDI '计算p 'c = p / Pmax '计算c
e0 = E1 '传递e1到e0留待下次用 pi0 = pi '传递pi到pi0留待下次用 End Sub
(2)温度PID控制: For i = 0 To 15 '循环16次 'PID参数控制 Dim kp As Integer Dim KI As Integer Dim KD As Integer Dim Pmax As Integer Dim c As Integer
Dim e As Integer
kp = FormPID_Set.kp(i).Text '读取kp KI = FormPID_Set.KI(i).Text '读取ki
KD = FormPID_Set.KD(i).Text '读取kd
e = FormTemset.Tem_set1(i).Text - Tem_Get1(i).Text '计算e Call pid_ctrl(kp, KI, KD, Pmax, e, c) '调用子程序,计算c n = 1000000 * (1 - c) / 15 '计算占空比 Dim j As Integer
If j <> 0 Then '防止j为空字符 j = j' Else j = 0
End If
Dim cw As Integer '定义8253控制字每个8253控制三个电热丝所以需要三个控制字 If j = 0 Then
cw = &H30 '第一个是30h'
20
双螺杆挤压机使用说明
江南大学
机械工程学院
指导教师:
目录
目录
一、设计任务 ................................................................................................................ 4 二、双螺杆挤压机的组成及应用 ................................................................................. 5
1.主机 ......................................................................................................................................................................5 2.辅机 ......................................................................................................................................................................5 3.控制系统 .................................................................................................................................................................5
三、硬件设计 .............................................................................................................. 6
1. ISA 芯片 .................................................................................................................................................................6 2. 或非门电路............................................................................................................................................................6 3.CD4067芯片 ............................................................................................................................................................6 4. AD转换器AD574 ..................................................................................................................................................6 5.数模转换器..............................................................................................................................................................7 6.交流型固态继电器 ...................................................................................................................................................7 7.开关量输出..............................................................................................................................................................8 8.译码器.....................................................................................................................................................................8 9.模拟量的采集 ..........................................................................................................................................................9 10.电机的控制............................................................................................................................................................9 11. 温控设计 ...........................................................................................................................................................10 12.报警设计 .............................................................................................................................................................11
四、软件界面设计 ..................................................................................................... 12
1. 主界面 .................................................................................................................................................................12 2. 温度参数设置 ......................................................................................................................................................12 3.P I D参数设置........................................................................................................................................................13 4. 报警参数设置 ......................................................................................................................................................14 5. 电机操作控制 ......................................................................................................................................................14 6风机开启温度设定 .................................................................................................................................................14
五、软件设计 ............................................................................................................ 15
1. 程序流程图..........................................................................................................................................................15 2.软件中用到变量 ....................................................................................................................................................15 3. 系统启动 .............................................................................................................................................................16 4. 报警参数采集及控制模块 ....................................................................................................................................16
(1)电流报警..................................................................................................................................................16 (2)电流报警子程序 .......................................................................................................................................16 (3)电流报警流程 ..........................................................................................................................................17 (4)融压融温报警与显示................................................................................................................................17 (5)融压/融温报警子程序 ..............................................................................................................................18 (6)容温/容压报警流程 ..................................................................................................................................19 (7)报警子程序 ...............................................................................................................................................19 5. 温度及电流采集(A/D采集) ..............................................................................................................................19
(1)所需运行的程序 .......................................................................................................................................19 (2)采集流程..................................................................................................................................................19
6. 温度控制 .............................................................................................................................................................20
(1)PID控制子程序 ........................................................................................................................................20 (2)温度PID控制...........................................................................................................................................20 (3)PID控制流程图 ........................................................................................................................................21 (4)降温风机控制 ..........................................................................................................................................21
7. 显示 ....................................................................................................................................................................22 8. 权限设置 .............................................................................................................................................................22 9.电机转速调节设计 ..............................................................................................................................................22
(1)转速、转向设置系统................................................................................................................................22 (2)传递控制结构:电机转速转向控制 ..........................................................................................................22 (3)传递控制流程(D/A转换控制转速) .......................................................................................................23
10. 数据组输入程序.................................................................................................................................................24
六、总结 ................................................................................................................... 25 七、参考资料 ............................................................................................................ 25
3
双螺杆挤压机设计说明
一、设计任务
1.设计硬件原理图一张。此硬件可以插入PC机的ISA插槽,用于实PC机和塑料挤压机的连接,其中包含有计算机测控系统的前向通道和后向通道部分。(图纸要上交)
2.用Visual Basic开发软件,完成测控软件设计,包括界面设计、模数、数模、开关量控制、PID控制、总体控制模块设计。
3.完成技术报告一份。包括塑料挤压机介绍、硬件原理和设计说明,软件各模块流程图、主要软件(温度采样、压力采样、电机调速等)源程序和设计功能注释,注明参考文献。
双螺杆挤压机的生产是内腔式的,即物料反应过程完全在设备内部进行。其结构形式为:有两根等长的旋转轴并排在两个相互连通的,截面成葫芦状的通腔内。两根轴上在相同的位置分别装有同型号的作业块。螺旋套由于安装的位置不同,根据需要螺旋升角、螺距也不同,旋向也有差别。螺旋套的间距是由进料口到出料口逐渐减小的,这样是可以给物料施加压力,促使物料前进而且可以使物料充分混合并且加快物料的融化速度。它是借助螺杆转动时的机械力学作用、机械能量的粘滞耗散以及筒壁外的湿热调质过程使物料发生物理、化学、生化变化的一种高效体积机械设备。
4
二、双螺杆挤压机的组成及应用
1.主机
挤压系统:主要由料筒和螺杆组成。塑料通过挤压系统而塑化成均匀的熔体,并在这一过程中所建立的压力下,被螺杆连续地定压定量定温地挤出机头。在“∞”字形机筒内,装有两根互相啮合的螺杆,双螺杆挤出机的每根可以是整体,也可以加工成几段组装,其形状可以是平行式,也可以是锥形,两螺杆的旋转方向分为同向和异向两种。双螺杆挤出机的特点:
a、由摩擦产生的热量较少;
b、物料受到的剪切力比较均匀; c、输出能力较大,挤出量比较稳定; d、机筒可以自动清洗。
传动系统:它的作用是给螺杆提供所需的扭矩和转速。
加热冷却系统:其功用是通过对料筒(或螺杆)进行加热和冷却,保证成型过程在工艺要求的温度范围内完成。
2.辅机
机头(口模、芯架等):它是制品成型的主要部件,熔融塑料通过它获得一定的几何截面和尺寸。
定型装置:它的作用是将从机头中挤出的塑料既定形状稳定下来,并对其进行精整,从而得到更为精确的截面形状、尺寸和光亮的表面。通常采用冷却和加压的方法达到这一目的。
3.控制系统(检测和控制)
挤出机的控制系统:它由各种电器、仪表和执行机构组成。根据自动化水平的高低,可控制挤出机的主机、辅机的拖动电机、驱动油泵、油(汽)缸和其它各种执行机构按所需的功率、速度和轨迹运行,以及检测、控制主辅机的温度、压力、流量,最终实现对整个挤出机组的自动控制和对产品质量的控制。
双螺杆挤压机及挤压技术在食品、饲料、油脂、淀粉、造纸等行业有着广泛的应用。
三、硬件设计
对于出料温度,是通过按放在机筒外的热电偶来检测加热段温度的,对热电偶的采样值进行比对,从而决定对加热丝和冷却风机的开关;对于出料量,是由预先对转动电机的转速控制来决定的,在本次的课程设计中,只考虑对电机电流的监控,来判断电机工作情况是否正常,是属于操作指导控制系统;此外还有对负责润滑油供给的泵电机和切粒电机的监控,也同样是属于操作指导控制系统。还有报警装置,对电机电流和机头融压、融温报警。 由以上分析可知,在这个控制系统的硬件里必要的芯片要有:
1.ISA 芯片
用于连接计算机和工作芯片的接口
2.或非门电路
3.CD4067芯片
用于表达地址使控制信号和转换来的数字信号传递给ISA并传递给pc机
多路开关,用来选择对哪一路模拟量的采集完成多到一的转换。对16路热电偶、1
路机头融压、1路机头融温和5路电流(总电流、主电机电流、喂料电机电流、泵电机电流和切粒电机电流)的采样,选用CD4067B和CD4051两片多路开关,共23路采样通道。其中CD4067B负责对机筒16路热电偶的模拟量采集,CD4051负责对其他模拟量的采集。
4.AD转换器AD574
将模拟量转换为数字量。由于热电偶发出的模拟量较小所以选用12位的高精度A/D转换芯片AD574A。采用单极性输入。R/C是控制转换器的启动和数据读出;12/8是数据格式选择端,与A0配合,使数据分两次 送出,只作为数字量输出的格式选择,对转换不起作用。A0为字节选择端,可以选择转换时间长度,和选择字节读出。选择单极性输入,量程
为0~10V。
5.数模转换器
数模转换器,完成数字量到模拟量的转换,和A/D转换器一样,模拟量都是电流,完成对外部设备的控制。选用AD667,12位D/A转换器,两极数据锁存,具有建立时间短和精度高的特点。双缓冲形式,避免了产生虚假的模拟量输出值。12位D/A转换器的特点是把数据分批送出。CS是片选端。A0~A3是用来选通三片寄存器,和输入口的,1110B是选通第一级低四位寄存器,1101B是选通第一级中四位寄存器,1011B是选通第一级高四位积存器。
0111B是从第一级向第二级置数,0积存器透明。 可编程定时器8253,发送脉冲,控制电热丝的通断。采用0方式工作需要对它进行初始化。D0~D7是数据线;8253的三个输出口的工作方式均为0工作方式,工作接口00为OUT0口,01为OUT16.交流型固态继电器
口,10
为
OUT2
口,11
为不使用计数器。
有隔离保护的作用,可以作为开关使用。
7
7.开关量输出
用作CPU与外部设备的接口。选用8212有8位锁存器,三态缓冲等,还有中断信号。DS1、DS2为片选,当两者都有效时,输出三态缓冲器打开,中断请求触发器置位。MD模式控制信号,控制不同工作方式。STB是选通信号,只用于输入,在此,STB任意。
8.译码器
CPU对芯片进行片选时使用,有固定译码器和线译码器两种。线译码器选用74L138,固定译码器选用各种门电路的组合。A、B、C是选择Y0~Y7输出低电平,作为片选时使用的译码器,74L138是最常用的一种。G2B、G2A、G1是使能端。
8
9.模拟量的采集
热电偶把温度变为电压输出,由多路开关把电压采集经过锁存器,再由A/D转换器变为数字量由CPU读入,和给定量进行比较,用来控制加热和冷却设备机头融温和机筒温度的采集一样,机头没有加热和冷却装置,所以融温是用来控制报警设备的。机头的融压是由压力传感器测出转变成电压,经过放大,由多路开关输入,再由A/D转换器转换,读入,控制报警装置。各个电机的电流可以用来判断电机的工作情况,对于电机来说,如果电机负载过大(例如:卡死、转速过高等情况)电机电流就会增加,在电机的外接电路中串联一个阻值较小的电阻,通过对该电阻两端电压的测量就可以得出电机的电流值。当电机的电流值大于
它的安全电流时,控制系统就会启动报警。
10.电机的控制
9
电机的控制是通过对电机输入电流的频率控制来控制电机的转速,电极电流频率的控制是由变频器完成的。变频器的L1、L2接工业电源(380V交流电)L3接电机功率,电流输入到变频器后被它转换为直流电,再经过变频改变为需要的频率的交流电,U、V、W相当于工业三相电,与电机相连,由于系统中需要控制转速的电机有主电机、喂料电机、切粒电机这三个电机,所以在这里只有这三个电机由变频器控制,STF、STR是控制电机转向的,单另
用一片8212控制。变频器内有锁存器,所以没有设单独的锁存器。
11. 温控设计
这是对外控制装置,包括机筒加热、冷却,报警设备和泵电机的控制。机筒的加热是靠电热丝,电热丝的控制是用8253完成的,8253是独立的16位记数器,它给加热丝发出的是脉冲信号,加热丝的控制,加热丝加热时间的控制是由对机筒温度的测量后,与设定值比对,根据PID算法算出占空比,再来控制8253的
脉冲的占空比,从而控制电加热丝的加热和停止时间。
10
12.报警设计
风机和报警灯的控制是由8212完成的,8212控制风机的电流通断,用或门控制蜂鸣器电流
的通断,只要有报警灯亮,蜂鸣器就会响
11
四、软件界面设计
1.主界面
2温度参数设置
3.P I D参数设置
4报警参数设置
13
5电机操作控制
6风机开启温度设定
14
五、软件设计 1. 程序流程图:
2.软件中用到变量:
Dim current_total_updata As Integer '定义主电流
Dim current_mainmotor_updata As Integer ' 定义主电机电流上限 Dim current_feedmotor_updata As Integer ' 定义喂料电机电流上限 Dim current_cutmotor_updata As Integer ' 定义切粒电机电流上限 Dim current_pumpmotor_updata As Integer ' 定义泵电机电流上限 Dim preasure_updata As Integer ' 定义容压上限 Dim preasure_downdata As Integer ' 定义容压下限 Dim TEm_Updata As Integer ' 定义容温上限 Dim Tem_downdata As Integer ' 定义容温下限 Dim DataH8 As Integer ' 定义高八位存放位置 Dim DataL4 As Integer ' 定义低四位存放位置 Dim data As Integer ' 定义总数据存放位置
Dim Tem_address(0 To 15) As Integer ' 定义存放采样值地址 Dim Tem_set_num(0 To 15) As Integer ' 定义设定温度 Dim Alarm_adress As Integer ' 定义报警地址 Dim KPI As Integer ' 定义pid参数KPI Dim KII As Integer ' 定pid参数kii
Dim KDI As Integer ' 定义pid参数KDI Dim PPI As Integer ' 定义pid 参数PPI Dim PII As Integer ' 定义pid参数PII Dim PDI As Integer ' 定义pid参数PDI
Dim EI As Integer ' 定义pid参数EI
Dim Wind_Adress(1 To 2) As Integer ' 定义风机地址
15
ElseIf j = 1 Then
cw = &H70 '第二个是70h ElseIf j = 2 Then
cw = &HB0 '第三个是b0h End If
cw_address = &H180 + i
Call setportval(cw_address, cw, 1) '传递8253控制字 Call setportval(cw_address, Nl, 1) '传递占空比低八位
Call setportval(cw_address, nh, 1) '传递占空比高八位,开始加热 j = j + 1'控制字改变,用于下次控制
If j = 2 then '判断是否一个8253的电热丝都控制结束,如果结束
J = 0 '下一组
End if
Next i
(3) PID控制流程图
开始时间中断读取A/D转化来的温度Tem_get和设定温度Tem_Set由此计算出偏差E=Tem_Set-Tem_Get读取PID设定的参数KP、KI、KD、Pmax参数计算PP(k)=KP*EK、PI(k)=KI*EK+PI(k-1)PD(k)=Kd[E(k)-E(k-1)]、Pk=PP(k)+PI(k)+PD(k)C=Pi/Pmax计算占空比N=1000000*c*1/15用传递程序经过D/A转换把占空比传递给8253控制加热结束、等待下一个中断
(4) 降温风机控制
机器不是永远可靠地,有时温度会上升的过高。那么我们建立一个风机系统,并设
定一个风机开启温度,在达到这个温度时风机开始工作
For i = 0 To 15 '循环16次
If -e > TemMax.TemMax(i).Text Then ' 判断温度是否需要开启风机 If i < 8 Then '如果是前八个段
wind_port_adress = &H170 '确定第一个8212的地址 data = win_port_adress + i '8212需要控制的接口地址 ElseIf i > 7 Then '如果是后8各段
wind_port_adress = &H171 '第二个8212地址
data = wind_port_adress + i - 7 '第二个8212需要控制的接口 End If '
Call setportval(wind_port_adress, data, 1) '开启工作 End If Next i
21
7.显示
Private Sub Timer1_Timer()
Time.Text = \现在时间是:\显示时间
show_mainmotor_speed.Text = formmainmotor.Vmainmotorspeed.Value '主电机转速 show_mainmotor_direction.Text = formmainmotor.Direction.Text '主电机转向 Show_Cutmotor_Speed.Text = formCutMotor.VSpeed.Value '切粒电机转速 Show_Cutmotor_direction.Text = formCutMotor.Direction.Text '切粒电机转向 Show_FeedMotor_Direction.Text = FormFeedMotor.Direction.Text '喂料电机转型 Show_FeedMotor_Speed.Text = FormFeedMotor.SetSpeed.Text '喂料电机转速 Show_Pumpmotor_Speed.Text = Formpumpmotor.SetSpeed.Text '泵电机转速 Show_Pumpmotor_Direction.Text = Formpumpmotor.Direction.Text '泵电机转向 Dim i As Integer
For i = 0 To 15 '16个变量
Tem_set1(i).Text = FormTemset.Tem_set1(i).Text '写十六个温度设定窗口的数据 Next i End Sub 8权限设置
温度参数由操作人员设置,PID参数由经验丰富的老工人设计,一般的操作人员不可以所以设计密码1和0防止操作人员误操作,他还可以设计温度参数所以温度参数不需密码。Pid参数值的Pmax应有用户的生产工程师调试设计所有参数他可以设置所以参数,所以需要身份权限最高可以设计设置密码0表格表达如下 温度无密码 PID密码0和1 PIDmax密码0 密码程序如下:
工程师知道密码0 OK OK OK 老工人知道密码1 OK OK NO 操作者 OK NO NO Private Sub mnualarm_Click() Dim alarmkey As String Dim show As String
show = \你好:\请输入密码\ alarmkey = InputBox(show, \输入密码\ If alarmkey = \
Set_Alarm.show '显示报警参数设置窗口 Else
MsgBox \对不起,您没有设置权限!\警告\ End If
End Sub
9电机转速调节设计 (1)转速、转向设置系统、 泵电机为例
Private Sub Command1_Click()
If Option1.Value = True Then Direction.Text = Option1.Caption '正传 If Option2.Value = True Then Direction.Text = Option2.Caption '反转
22
formmain.show Me.Hide End Sub
Private Sub SetSpeed_Change()
If SetSpeed.Text = \如果文本框为空
MsgBox \转速不能为空!\提示\ SetSpeed.Text = 0 '文本框置零
End If
If SetSpeed.Text > 1750 Or SetSpeed.Text < 0 Then '判断输入的值是否在0-1750之间 MsgBox \输入的数字必须在0-1750之间\提示\提示 SetSpeed.Text = 0 '文本框置零
End If
VSpeed.Value = SetSpeed.Text '如果文本改变就改变滚动条的数值 End Sub
Private Sub VSpeed_Change()
SetSpeed.Text = VSpeed.Value '如果滚动条改变就改变滚动条 End Sub
Private Sub setspeed_KeyPress(KeyAscii As Integer) '让文本框只能输入数字
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 And KeyAscii <> 8 Then '判断是否是数字或退格,如果不是
MsgBox \只能输入数字!\提示\提示 KeyAscii = 0 '清除输入的字符 End If End Sub
(2)传递控制结构:电机转速转向控制 主电机为例
'主电机
speed = FormMainMotor.SetSpeed.Text '读取转速 Motor_speed_port = &H140 '转速地址
If show_mainmotor_direction.Text = \正转\判断正反转 Direction = &H1 '正转控制
ElseIf show_mainmotor_direction.Text = \反转\ Direction = &H0 '反转控制
End If '
motor_direction_port = &H144 '转向控制地址
Call setportval(motor_direction_port, Direction, 1) '控制转向 Call setportval(motorspeedport, speed, 1) '控制转速
(3)传递控制流程(D/A转换控制转速)
以电机转速控制为例,如果需要改变风机工作状态、加热丝工作状态均需要这种D/A转换过程,我们只需要改变地址变量、控制字变量、控制变量。先调用setportval传递控制字控制其工作的端口如,再传递控制变量,改变工作状态,完成D/A转换
23
终断开始软件读取已经设定好的转速、转向参数软件程序调用Setportval,将电机的转向控制字通过ISA、与非门传递给多路开关8212软件程序调用SETportval,将电机转速控制变量通过ISA、与非门传递给AD7226AD7226通过A0、A1选择,将控制字传递给变频器,由变频器调节频率改变电机转速等待下一中断重新调节转速
10、数据组输入程序
Private Sub Pmax_Change(Index As Integer) For Index = 0 To 15 '16文本框个循环 s = Pmax(Index).Text '读取框内数据 n = Len(s) '数据长度读取
For i = 1 To n '第一个到最后一个诸葛循环 d = Mid(s, i, 1) '第i个
A = Asc(d) '转化为asc码
If (A < 48 Or A > 57) And A <> 46 And A <> 8 Then '判断第i个字节是否为数字 MsgBox \只能输入数字!\提示\如不是就提示 Pmax(Index).Text = 11111‘'不是则初始化 End If '
Next i '下一个字节
If Pmax(Index).Text = \判断是否为空
MsgBox \参数不能为空\提示\提示不能 Pmax(Index).Text = 11111 '初始化文本框 End If '
Next Index '下一个文本框 End Sub
24
六、总结
这次的课程设计受益匪浅,计算机控制系统的课程设计是第一次做,由于以前机电方面的课程学的不够扎实,没有形成很好的理论基础,过程中遇到很多困难,但是在困难中学到了更多东西,学会了系统思考,对我来说这是非常有益的事情。
课程设计的过程包括了解双螺杆塑料挤压造粒机的工作原理、计算机控制系统的工作原理、了解各种硬件和数据线、地址线和控制线的连接方法、设计硬件图、用VB语言编写程序。课程设计是实践所学理论的最好方法,效果比上课的方式更好,更短时间内学到了更多,学到了真正有用的设计方法。
此次设计中,我尤其需要感谢我的指导教师李挺,他在我遇到困难时给了我很大的帮助,可以说没有他我的这个课程设计将无法达到我所想要的效果。
七、参考资料
[1] 《双螺杆挤压机的特性及应用》张永林..粮食与饲料工业.1994.6 [2] 《微型计算机技术》孙德文主编.高等教育出版社.2001.1 [3] 《电工学(下册)》 秦曾煌主编.高等教育出版社. 1999.9
[4] 《微型计算机控制技术》潘新民 王燕芳 编著 电子工业出版社 2007.8