s7300plc流量累计论文_第1页
s7300plc流量累计论文_第2页
s7300plc流量累计论文_第3页
s7300plc流量累计论文_第4页
s7300plc流量累计论文_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

基于S7-300PLC的流量累积XXX(XXXX化工有限责任公司XX分厂)摘要:在工业控制中,常常利用S7-300PLC对物料进行计量操作,实现常规积算仪基本功能。累积流量就是利用S7-300PLC采集现场流量仪的瞬时流量值,通过PLC累积运算后得出累积流量值,并通过上位机显示。关键词:S7-300PLC累积流量前言在XXXXXX化工脱气二期项目中,要求对对蒸汽总管流量进行计量,通过对蒸汽的计量完成成本的计划、控制、核算和分析,以最少的投入发挥最大的作用,获得更多的盈利。科学合理地进行企业的计量活动,既能保证生产管理、质量管理、安全管理、能源管理、设备管理、环境管理和调查研究活动提供科学的定量分析,同时也是节能减排的有效手段,为提高企业的产品质量和经济效益提供计量保证,从而提高社会效益。PLC简介:可编程序控制器,英文称ProgrammableLogicController,简称PLC。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。PLC是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中的机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。STEP7简介STEP7编程软件用于西门子系列工控软件SIMATICS7、M7、C7的编程、监控和参数设置,是SIMATIC工业软件的重要组成部分。STEP7编程软件能实现对PLC硬件的组态,程序的编写,故障的查询,现场设备运行状态的监控;通过STEP7集成的程序块能有效的实现PID控制,流量累积算法,也能利用自带的软元件点代替常规的继电器控制,使控制环节简单化,有效降低了故障率。PLC流量累计原理后将该信号传送给PLC处理。如上图所示,PLC处理模拟量实质是将模拟量信号数字化,量化成时间轴相同的若干份,然后求得单位时间T内的流量值,累积流量就是将每个时间段内的累积流量累加起来,如上图中各个小长方形面积之和,在计算瞬时流量时,必须按照严格的时间间隔才能保证累积流量的准确性,因此,计算累积流量时必须用定时中断进行,S7-300PLC可用的定时中断组织模块是OB35,在S7-300站点的硬件组态中,打开CPU属性设置可以看到其它的中断组织块为灰色。OB35默认的调用时间间隔为100ms我们可以根据需要更改,定时范围是1-60000毫秒(ms)。主要功能块和组织块的讨论1:OB35:OB35组织块能以固定的时间间隔来中断用户程序,转而执行定时中断组织块中的程序,即OB35组织块定时中断时间到,PLC中断OB1组织块的当前程序,并将中断的OB1组织块的状态用堆栈保存,然后转去执行OB35中的流量累计,PID等程序,当程序执行完以后,PLC返回执行OB1中的程序,读取堆栈数据,返回到被中断时的程序。该组织块能严格的产生一个固定的时间间隔,被广泛用于流量,PID程序定时采集现场信号,并进行数据处理的有效手段,但值得注意的是,OB35组织块的时间间隔必须大于OB35中程序所执行的时间,其时间设置如下rx启动 周期/时钟存储器时刻中断 周理性中断 诊断/时钟常规0B30:0B3L:0E32-0E33:0E340B35:0B3Erx启动 周期/时钟存储器时刻中断 周理性中断 诊断/时钟常规0B30:0B3L:0E32-0E33:0E340B35:0B3E0E37-0E38■二Jr-Zl保留存储器保护中断通讯过程映像分区F--3F~3F~3jdI-jJJg姓-CPU315-2DP-(R0/S2)确定। 取消j帮助2:FC105:该功能块能接受一个整型值(INT),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值,并将结果写入OUT。其表达式为:OUT=[((FLOAT(IN)-K1)/(K2-K1))*(HI_LIM-O_LIM)]+LO_LIM常数K1和K2根据输入值是BIPOLAR等于1还是0,BIPOLAR=1时,输入整型值介于-27648与+27648之间,因此K1=,K2=+;BIPOLAR=0时,假定输入整型值介于0和27648之间。K1=0,K2=+。功能块引脚介绍:EN输入BOOL使能输入端,信号状态为1时激活该功能。ENO输出BOOL功能的执行无错误,输出端信号状态为1。IN输入INT欲转换为以工程单位表示的实型值的输入值。HI_LIM输入REAL以工程单位表示的上限值。LO_LIM输入REALHI_LIM输入REAL以工程单位表示的上限值。LO_LIM输入REAL以工程单位表示的下限值。BIPOLAR输入BOOL信号状态为1表示输入值为双极性。信号状态0表示输入值为单极性。OUT输出REAL转换的结果。OUT输出REAL转换的结果。RET_VAL输出WORD该指令的执行没有错误,将返回值W#16#0000。FC1O5ScalingValues

"SCALE"#Temp_input—OT_lin-0.000000e+#Temp_input—OT_lin-0.000000e+000-SALvjaysNo—#Temp_—ouput—0川IN RET_VALHI_LIN OUTLO_LINBIPOLARPLC采集现场流量计4〜20mA的标准信号,经PLC模拟量卡件采集存入PLC的输入映像区(PIW340)对应上图中#Temp_input变量,这个值被转化成介于工程量值的下限和上限(0〜1200M3/H)之间的数值。由于从PLC输入映像区读入的PIW340为整型数据,上位机需要读取工程值。只有通过FC105功能块处理后的OUT值才能够用于上位机读取,但该值不能经模拟量输出卡AO控制现场单元,必须经过FC106转换实现。3:FB和FC的区别FB--功能块,带背景数据块,FC--功能,相当于函数。FB使用的是背景数据块,FC使用的是共享数据块。FB,FC相当于子程序,可以被其他程序调用,也可以调用其他子程序。FB与DB配合使用,DB中保存着FB使用的数据,即使FB退出后也会一直保留。FC就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。在实际编程中,是使用FB还是FC,要看实际的需要决定。在重庆长寿捷圆化工脱气二期项目中,有很多个累积流量需要被用于观察和监控,唯一的区别是流量的范围等部分参数不一样,但累积流量的算法是一直的。那么只需要使用FB编程外加几个背景数据块就可以了实现了。FC功能不带背景块,在FC中可以调用FB块,可实现程序的优化。FB功能块的DB背景块如下:地址声明名称房型初始值实晾词卷注1OuOinIrputVDRIivsiatoVCL6S0输入信号22-0inHl.lijiREAL0.OOODODe+QDO0,OOOOOOe+ODOJ=h.3.IU要在6.0mResetBOTLFALSEFALSEq氏口inCyc_tiJieEELL0.OOODODe-HJDO|i:LOOOOOOei+ODOlOD的靶坏时内5口口in_oui:FLowRFaL0.OOOOOOe+ODO0.OOOOOOe+ODO蝌悟1由6L6.0in_ou.tFLav_piontEEAL0.OOODODe-HJDO0.OOOOOOe+ODO不戮部分流童720.0in_ou.lFL口w_pi…>REAL0.OOODODe4-aDO0uOOOOOO&+ODO5网.口in^ouiFL0V_10r,・ifruri.vdL粕y2S.0in_ou.1AddLastDurrLffbLIDia32.0siatALwayaNoBCOLFALSEFALSE编写FB101功能块程序孔板流量计将现场的流量信号转换成4〜20mA的标准信号,通过信号线远传至S7-300PLC的模拟量处理模块AI卡件上,在PLC内部输入映像区地址为PIW340.然后利用PLC内部模拟量处理模块FC105进行转化,并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值,将结果写入OUT。编程如下:

利用FC105将整型值#101^_皿口口土转换为〜H的工程量数值并将结果存入临时变量#尸1。W。计算公式为:ENMOVEEHOIN-OUT/Input一#Temp_一input#Flow=[((#Temp_input/Input一#Temp_一inputFC105ScalingValues"SCALE"ENENOINEET_¥MOUTLO_LIMBIPOLAR#HI11JTL-一律Flow#91百33七11口—STemp_input-i¥Temp_—ouput0.000000e+000-临时变量#尸1改为工程单位M3/h,而PLC运算属于毫秒级ms,所以我们需要计算出每毫秒的瞬时流量M3/ms。计算公式为:M3/ms=(M3/h)/*106)即#尸10亚_山$二#尸10亚/*106)DIV_RENEIIO.#Flov—INIOUT—#FloivJILS3.60OQOOe+.JOOS-#Flov—INIOUT—#FloivJILS3.60OQOOe+.JOOS-IN2用毫秒级的瞬时流量乘以定时中断的时间(OB35定时中断设置时间为100ms),得到定时中断时间内的累积流量。其公式为:#Flow_cyc=#Flow_ms*#Cyc_timeMULRENEITOINIOUT工酩#Flowms—irCyc_+iine-—dSFlow_cyc

我们将参数#Flow的内容以浮点数读取,并将其转换为长整型(32位)。结果#Flow_cyc_DI为最接近的整数("取整到最接近值")。由于对瞬时流量取整后为双整数,需将其转换为实数后才能与其他实数进行数学计算。DI_REM EKQin oirr正Flouf_cyc_DI-#FloiiF_cyc_-R将取整前的实数与取整后的实数进行相减运算,得到小数部分的值。计算公式为:#Flow_piont=#Flow_cyc-#Flow_cyc_RSUB_REliENOIfflOUTII-T2iiFLow_cyc—SFLow_icyc_R—-piout把小数部分的值#Flow_piont进行累加求和,得到小数部分累积量#Flow_piont_total.计算公式为:#Flow_piont_total=#Flow_piont+#Flow_piont_total

ADDRENENOINIADDRENENOINIOUTIN2.piont_total-#F1oyt_pioat—1#FLov_piont_-total小数点累积量#Flow_piont_total与实数1差值比较,当差值大于等于1时,输出一个开关量#piont,开关量#piont作为后两部程序执行的条件。piont_total-1.000WOe+”)0—SPiontpiont_total-1.000WOe+”)0—T1小数点累积量#Flow_piont_total与实数差值比较,当差值大于等于1时,输开关量#piont为真,执行小数点累积量#Flow_piont_totalSPiont#Flow_piont_totaj.-1.Q000Q0e+000-与实数相减计算,并将结果赋值给小数点累积量#Flow_piont_total。SPiont#Flow_piont_totaj.-1.Q000Q0e+000-I#Flow_piont_—total小数点累积量#Flow_piont_total与实数1差值比较,当差值大于等

于1时,输开关量#piont为真,执行整数部分#尸10亚丁0土@1_口1与实数相加运算,并将结果赋值给#Flow_total_DI。StPiontADD_DIEPTENO跖1□叽

totalDI—StPiontADD_DIEPTENO跖1□叽

totalDI—IPT1OUTI黜10用——totalDIL#l-工M2将整数部分瞬时值#Flow_cyc_DI与整数部分的累积值#Flow_total_DI进行相加,得到本时间的累计值。当#Reset值为真是,将上一次累加值#Addlast赋值给累积量#Flow_total_DI进行相加,得到本时间的累计值。当#Reset值为真是,将上一次累加值#Addlast赋值给累积量#Flow_total_DI;Add初始值为0.SResetMOVE"EJI.E町:邛OUTSAddLast-卜1时_-total_DI创建功能F

温馨提示

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

评论

0/150

提交评论