S7-300的数值转换功能_第1页
S7-300的数值转换功能_第2页
S7-300的数值转换功能_第3页
S7-300的数值转换功能_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

创建数值转换功能在编写功能之前,首先看一下该功能编写完成后的格式。如图3.2.23所示,FC201即为数值转换功能。它有五个输入:IN、IN_MIN、IN_MAX、OUT_MIN、OUT_MAX和一个输出:OUT。其中:IN:需要进行转换的原始输入变量IN_MIN:原始变量的下限值IN_MAX:原始变量的上限值OUT_MIN:转换成的目标变量的下限值OUT_MAX:转换成的目标变量的上限值OUT:输出目标变量这段程序的意义是:将AI0CSM334的PIW256输入通道0)转换成0~100的数,存储到”MYDATA,.AI0(DB3.DBD0)中。再将AI1转换成0~100的数,存储至到”MYDATA'.AI1中。EB1.IBD72manipulatedvalueFDCT.LMN-0m000000e+000 -lu.000000e+002 EB1.IBD72manipulatedvalueFDCT.LMN-0m000000e+000 -lu.000000e+002 -530027648-FC202"MYUNSCALE”EN ENOIN OUTIN_MININ_EaXOUT_MINPQR25fi输出通道a-r,AOO™AO1r'MYDATAr\A01 -0»000000e+000 -l»000000e+002 -530027648-EC202■,"MYUNSCALE™EN ENOIN OTHINJ1ININ_MAXOUT_MINOUTMAXPQR25g输出通道1-1MA01w在Network1上会出现输入框,在其中输入SUB_I,意思是整数的减法运算,回车。如图3.2.32所示。pcsaiFC2M"KYSCALE""yvacAiE"EH EH9EJf EUCiiraa-DsiK绮入通道口aio 缅入通iSiah"JilO11-IN"KYDAIA"1.A "All10-IffOUT-10■DDT1-Il53DD-5300-IW_KIN日一ME日一IW_v?lXo.oaoQCiae+O.O£lCl£lClCle+aaa -□1TT_MINaoa 一i.oaoQCiae+l.QQQQQQei^图3.2.32减法运算点击红色的”???”,输入变量值。输入第一个字母,系统会自动辅助用户输入其余字符。如图3.2.33图3.2.33输入临时变量按照上述方法,输入Network1全部程序:MOVE:将输入变量(左侧)的数值赋给输出变量(右侧)DI_R:双精度整数转换为实数SUB_R:实数减法运算如图3.2.34所示。为了使读者看得更清楚,这里将该行程序分成两行书写。以下多行程序同理。在实际编程中,这段代码只有一行。图3.2.34Network1程序的含义是:TEMPINT=IN_MAX-IN_MINTEMPINT是整数值,我们想将它转换为实数值。由于INT格式无法直接转换为Real格式。因此首先将TEMPINT转换为双精度整数TEMPDINT,再转换为实数SCALEIN。最后SCALEOUT=OUT_MAX-OUT_MIN它们都是实数,可以直接相减。然后输入Network2,如图3.2.35所示。其含义是:赋值:TEMPINT=IN

如果:TEMPINT<IN_MIN则:TEMPINT=IN_MINMOVEEN ENOIN OUTCMP<=lINIIN2MOVEEN ENOIN OUT#IN--#TEMPINI#TEMPINI--#TEMFINI图3.2.35Network2输入Network3,如图3.2.36所示。其含义是:如果:TEMPINT>IN_MIN则:TEMPINT=IN_MAX这里没有赋值TEMPINT=IN,是因为Network2巳经做了这一步,因此不必重复。图3.2.36Network3这两段代码防止了输入值溢出,即如果IN>IN_MAX或者IN<IN_MIN,则使用IN_MAX或者IN_MIN来代替实际巳经溢出的IN值。最关键的最后一行代码Network4,如图3.2.37所示。

DIV_REN ENOINIOUTIN2MLfL_REN ENOINIOUTIN2ITEMFREfiL-#SCALEIN-#TEMFREflL-#OUT_MIN-TTEYFREAL #TEMFREAL-#SC:ALEOITT--tTEKFRESLADD_REN ENOINIOUTIN2图3.2.37Network4让我们来分析这段代码。首先巳经知道,IN的值在Network2和3中巳经赋值给了TEMPINT。本行代码开始的TEMPINT即为输入值IN。转换公式为:OUT=—IN—IN-MIN——x(OUTMAX-OUTMIN)+OUTMININMAX-INMINDI_R的作用是将双精度整数值转换为实数值,以便进行MUL_R乘法运算和DIV_R除法运算。CMP>R是比较指令,SCALEIN作为分母,这里程序要求SCALEIN>0。全部编辑完毕后点击保存。同样的方法,读者可以自行创建输出的数值转换功能。它们之间的区别在于:模拟量输入是把Word格式的5530〜27648的数据输入成为0~100的Real值。而输出则相反,要将0~100的Real值输出成为Word格式的5530〜27648的数据。这里给出程序内容,供读者参考。如图3.2.39-3.2.43所示。图

温馨提示

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

评论

0/150

提交评论