用模拟量模块控制一个电磁比例阀,0-5V控制,需要在设定的时间内线性的从零到最高值,但是这个时间是个变量值,可以随时调整。
注意一定是线性递增的控制方式,在设定时间内线性递增。试编写控制程序。
PLC类型任意选择,回答的最好最完全的,原创最多,阐述最详细,程序越准确者获一等奖!
工控PLC擂台每周一期,本期待87期结束一周后结贴。奖项设置:一等奖1名:30~50MP,二等奖3名:10MP,三等奖10名:100积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
我也来看下热闹
S7-温度PID控制程序,多段曲线控制。求解
设想学习的目的以达到提高自身的水平,温度PID控制程序,多段曲线控制。求解
我现在用的就是用温控表做的.我设想用PLC来达到这样的目的。
我碰到主要的问题是:温度输入模以量通道,多个设定值的处理,如何去解决
如:第一路温度输入通道,第一次目标执行处理的设定温度是250《或是N>>度。第一次执行设定升温时间为3《或是N>>小时。需要有PID控制,控制输出的0-10V;或是4―20MA;
达到目的后恒温N小时。
当执行完第一次的设定程序后,如何的编写和执行第二次的程序呢?
第二次目标执行处理的设定温度是400《或是N>>度。第二次执行设定升温时间为1《或是N>>小时。需要有PID控制,控制输出的0-10V;或是4―20MA;
达到目的后恒温N小时。这个设定值的处理,如何去解决?
主程序:
LD M0.0
EU
MOVB 100, SMB35
ATCH INT_0:INT0, 11
ENI
LD SM0.0
INCW MW2
AW= MW2, 30
S Q0.1, 1
MOVW 0, MW2
以上程序解释为?你认为可以吗?这只是思路
设想学习的目的.达到提高自身的水平,我是对它作为一个实习与学习的挑战性课题。
我的目的是想用PLC达到岛电温控表一样的功能...可以任意设定控制升温时间.恒温时间.随意的设定温度;曲线温度自动控制。
如:本来30分钟就可以升到500度的.现在我要让它10个小时才能升到500度,达到温度后,执行恒温。恒温结束后才能执行下一程序段。
如果当我设为10分钟,现有的硬件条件是不可能在10分钟内达得到300度的.就要全功率升温(可控硅调功控制器100%打开),直至达到所设定温度(500度)后.才执行恒温5小时。
硬件:
西门子S7-200-CPU226
231-7PD22-OXA8 A14XTC(4路温度模块输入,只使用其中一路)
232-OHB22-OXA8 (2路模以量输出模块)
触摸屏:威纶通MT6070IH(屏是用来记录实时温度曲线的.显示实时温度(PV),并可修改,设定升温,恒温时间; 设定温度值(SV);并保存历史所有时间、温度曲线数据)
可控硅调功控制器:两个(可以接受线性的0—10V; 4—20MA的信号。)
2组200KW发热丝。用KP可控硅控制。
如果只是一段温度值.从28度升到300度.如设定为10个小时.它就要按10小时的时间升温结束.(可以任意的设定时间来升温.) ;达到后保温N小时.这个没有难度.
现要求如下:
1状态记录:有温度掉电记录状态, 以PV值为参考值自动选择该执行那段程序。
2需要有多段温度曲线设定值。可以随生产要求而改变:时间,温度设定值。
3要有断线检测(断热电偶)。作出报警。
4本来30分钟就可以升到500度的.现在我要让它10个小时才能升到500度,达到温度后,执行恒温。恒温结束后才能执行下一程序段。
如果当我设为10分钟,现有的硬件条件是不可能在10分钟内达得到300度的.就要全功率升温(可控硅调功控制器100%打开),直至达到所设定温度(500度)后.才执行恒温5小时。再执行下一段温度曲线程序
5具备手自动控制,手动控制时按开关量(按钮操作)给定输出百分比。
温度工艺曲线要求如下:
说明:
从28度开始升温;我想把它控制在4小时内达到300度。达到300度后恒温5个小时。。
5个小时后,从300度开始升温。。控制在3小时内达到420度。。到了420度恒温5小时。。。如此执行下一段程序至结束。
第一段:
28度--3.5小时升温时间=目标温度为300度====达到300度后恒温3小时.
第二段:
300---2小时升温到====420====达到420度恒温3小时.
第三段:
420---1小时升温到====500====达到500度恒温1小时
第三段:
500---1小时升温到====600====达到600度恒温10小时
第N段:
N度---N小时升温到=====N度======达到N度恒温N小时
第N+1段:
600---2小时降温到====达到500度
2小时后根据所降温度与时间(即实时情况)。。以曲线记录下来。。并保存到触摸屏中。
直至降到80度时自动结束记录。然后是由启动信号执行下一个循环工作。
程序是从第一到N;;;如果断电后..又要是以现在的测量值作起始值段
时间,温度值,恒温时间.都要任意的修改;我现在用的就是用温控表做的.我设想用PLC来达到这样的目的。
设想学习的目的..达到提高自身的水平,我是对它作一个实习与学习挑战课题。
欢迎你讨论。。
再反过来,不知道用通断的话。又该 如何的做到呢?当然这是后话。。。
我选用AB的ControlLogix系 PLC,用的编程环境是Logix5000:
一、硬件选型及组态:组态如下图
第一槽是CPU,第二槽是以太网通讯模块,第三槽是以太网IO适配器模块;IO适配器模块后面接入1734-OE2V 两通道模拟量输出模块,其中1734-OE2V的模拟量输出模块的硬件配置如下:
0-10V对应0-20000的数字量工程值,这里的数字量工程值是个int类型的值,可以认为定义,不是物理工程值,如果是电磁比例阀,20000对应其100%全开,由于这里的电磁比例阀是0-5V,因此后续程序编程数字值只取到10000.
二、软件编程
首先介绍这里用到的几条指令:
1、TON:导通延时定时器指令,它是一个执行时刷新的定时器,但定时到,DN为置1,其各位时序图如下:
这里我的预置值设为10,也即是定时10ms,这个位是个立即数,不可以用标签,我设置为10ms是为了对电磁阀10ms进行一次数据写入,根据程序关系,可以将此值设大或设小一点,但受定时器条件影响,最小不能小于1ms
2、MOV指令,MUL指令和ADD指令,这个指令很简单,MOV就是数据移动指令,MUL是乘法指令,ADD就是加法指令;
3、EQU是相等比较指令;
4、CPT指令,这条指令是计算指令,它具有符合运算的功能,直接进行表达式编写,方便快捷。
好了,指令介绍完了,下面介绍程序编写:
标签定义:S:FS:第一次上电是执行并置位
M_Set:电磁比例阀的上升累积增量
Time_Set:记录已经执行的时间数,每单位为10ms
PSOL:电磁比例阀的模拟量输出
Timer:定时器标签,存储定时器的一些状态
Time_Set:设定上升时间,单位为S
ramp:电磁比例阀的上升速率
这条梯级是上电初始化,是中间变量及电磁比列初始化;
Ramp是单位时间的工程值增量,Time_Set就是时间设定值,这里单位是S,M_Time是执行10ms的次数,这里采用的ramp是(Δ工程量)/(ΔT),这样可以保证时间可以随意调整
假设我设定Set_Time为10S,则实际执行如下图: