您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > S7-300_PLC模拟量输入输出量程转换教程
S7-300/400PLC模拟量输入/输出的量程转换SLCA&DCSMarch,2005模拟量输入/输出量程转换SLCA&DCSPage2of81模拟量输入/输出量程转换的概念.......................................................................................32S7-300/400PLC模拟量输入/输出模板..............................................................................32.1需要使用的模板..........................................................................................................32.2涉及的信号类型..........................................................................................................33STEP7中模拟量输入/输出的编程.....................................................................................33.1FC105/FC106在哪里.................................................................................................33.2FC105/FC106功能描述.............................................................................................53.2.1FC105功能描述....................................................................................................53.2.2FC106功能描述....................................................................................................53.3FC105/FC106参数定义.............................................................................................63.3.1FC105的参数定义...............................................................................................63.3.2FC106的参数定义................................................................................................63.4例子程序.....................................................................................................................73.4.1FC105例子程序....................................................................................................73.4.2FC106例子程序....................................................................................................8模拟量输入/输出量程转换SLCA&DCSPage3of81模拟量输入/输出量程转换的概念实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。传感器将输出标准电压、电流、温度、或电阻信号供PLC采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。在PLC程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。这样就需要在程序中调用功能块完成量程转换。如一个压力调节回路中,压力变送器输出4-20mADC信号到SM331模拟量输入模板,SM331模板将该信号转换成0-27648的整形数,然后在程序中要调用FC105将该值转换成0-10.0(MPa)的工程量(实数),经PID运算后得到的结果仍为实数,要用FC106转换为对应阀门开度0-100%的整形数0-27648后,经SM332模拟量输出模板输出4-20mADC信号到调节阀的执行机构。本文主要讨论S7-300/400PLC编程中模拟量的量程转换。2S7-300/400PLC模拟量输入/输出模板2.1需要使用的模板使用西门子S7-300/400PLC进行模拟量输入/输出需要使用的模板:S7-300系列PLC:SM331系列模拟量输入模板;SM332系列模拟量输出模板;SM334/335系列模拟量输入/输出模板。S7-400系列PLC:SM431系列模拟量输入模板;SM432模拟量输出模板。目前常用的模板规格型号参见模板手册,请链接到如下网址下载模板手册:S7-300::涉及的信号类型电压,电流,温度,电阻。3STEP7中模拟量输入/输出的编程3.1FC105/FC106在哪里在编程界面下,在Programelements中的Libraries下的StandardLibrary下的TI-S7ConvertingBlocks中就可以找到,见下图:模拟量输入/输出量程转换SLCA&DCSPage4of8模拟量输入/输出量程转换SLCA&DCSPage5of8注意:请不要使用S5-S7ConvertingBlocks下的FC105,FC106,该路径下的功能是用于S5输入输出模板的,在S7输入输出模板上无法使用。3.2FC105/FC106功能描述在编程界面下选中该功能块,按一下计算机键盘上的F1功能键,即可打开关于该功能块的在线帮助,包括该功能块的功能,管脚参数定义、例子程序等。建议用户使用STEP7在线帮助,可以提供全面的编程帮助。3.2.1FC105功能描述SCALE(FC105)功能将一个整形数INTEGER(IN)转换成上限、下限之间的实际的工程值(LO_LIMandHI_LIM),结果写到OUT。公式如下:OUT=[((FLOAT(IN)–K1)/(K2–K1))*(HI_LIM–LO_LIM)]+LO_LIM常数K1和K2的值取决于输入值(IN)是双极性BIPOLAR还是单极性UNIPOLAR。¾双极性BIPOLAR:即输入的整形数为–27648到27648,此时K1=–27648.0,K2=+27648.0¾单极性UNIPOLAR:即输入的整形数为0到27648,此时K1=0.0,K2=+27648.0如果输入的整形数大于K2,输出(OUT)限位到HI_LIM,并返回错误代码。如果输入的整形数小于K1,输出限位到LO_LIM,并返回错误代码。反向定标的实现是通过定义LO_LIMHI_LIM来实现的。反向定标后的输出值随着输入值的增大而减小。3.2.2FC106功能描述UNSCALE(FC106)功能将一个实数REAL(IN)转换成上限、下限之间的实际的工程值(LO_LIMandHI_LIM),数据类型为整形数。结果写到OUT。公式如下:OUT=[((IN–LO_LIM)/(HI_LIM–LO_LIM))*(K2–K1)]+K1常数K1和K2的值取决于输入值(IN)是双极性BIPOLAR还是单极性UNIPOLAR。模拟量输入/输出量程转换SLCA&DCSPage6of8¾双极性BIPOLAR:即输出的整形数为–27648到27648,此时K1=–27648.0,K2=+27648.0¾单极性UNIPOLAR:即输出的整形数为0到27648,此时K1=0.0,K2=+27648.0如果输入值在下限LO_LIM和上限HI_LIM的范围以外,输出(OUT)限位到与其相近的上限或下限值(视其单极性UNIPOLAR或双极性BIPOLAR而定),并返回错误代码。3.3FC105/FC106参数定义3.3.1FC105的参数定义参数类型数据类型存储区描述EN输入BOOLI,Q,M,D,L使能输入,高电平有效ENO输出BOOLI,Q,M,D,L使能输出,如正确执行完毕,则为1IN输入INTI,Q,M,D,L,P,Constant要转换为工程量的输入值HI_LIM输入REALI,Q,M,D,L,P,Constant工程量上限LO_LIM输入REALI,Q,M,D,L,P,Constant工程量下限BIPOLAR输入BOOLI,Q,M,D,L1表示输入为双极性,0表示输入为单极性OUT输出REALI,Q,M,D,L,P量程转换结果RET_VAL输出WORDI,Q,M,D,L,P返回值W#16#0000代表指令执行正确。如返回值不是W#16#0000,则需在错误信息中查该值的含义错误信息:如输入的整形数大于K2,则输出(OUT)限位到HI_LIM,并返回错误值。如输入的整形数小于K1,输出限位到LO_LIM,并返回错误值。ENO端的信号状态置为0且返回值RET_VAL为W#16#0008。3.3.2FC106的参数定义参数声明数据类型存储区描述EN输入BOOLI,Q,M,D,L使能输入,高电平有效ENO输出BOOLI,Q,M,D,L使能输出,如正确执行完毕,则为1IN输入REALI,Q,M,D,L,P,Constant要转换成整形数的输入值HI_LIM输入REALI,Q,M,D,L,P,Constant工程量上限模拟量输入/输出量程转换SLCA&DCSPage7of8LO_LIM输入REALI,Q,M,D,L,P,Constant工程量下限BIPOLAR输入BOOLI,Q,M,D,L1表示输入为双极性,0表示输入为单极性OUT输出INTI,Q,M,D,L,P量程转换结果RET_VAL输出WORDI,Q,M,D,L,P返回值W#16#0000代表指令执行正确。如返回值不是W#16#0000,则需在错误代码表中查该值的含义错误信息:如果输入值在下限LO_LIM和上限HI_LIM的范围以外,输出(OUT)限位到与其相近的上限或下限值(视其单极性UNIPOLAR或双极性BIPOLAR而定),并返回错误代码。ENO端的信号状态置为0且返回值RET_VAL为W#16#0008。3.4例子程序3.4.1FC105例子程序如输入I0.0为1,SCALE功能被执行。下面的例子中,整形数22将被转换成0.0到100.0的实数并写到OUT。输入是双极性BIPOLAR,用I2.0来设置。执行前:IN----------------------MW10=22HI_LIM---------------MD20=100.0LO_LIM--------------MD30=0.0OUT--
本文标题:S7-300_PLC模拟量输入输出量程转换教程
链接地址:https://www.777doc.com/doc-6159915 .html