七、水位等模拟量测控.ppt
七、水位等模拟量测控,一、问题提出,在前面的学习中,我们主要学习的是开关量的控制,如电机的启停等。但是在现实的控制过程中,有很多量不是开关量,而是模拟量,如温度信号、压力信号等。本节课程就是以水位测量为基础讲解如何进行模拟量测量、数据处理等知识。,二、任务描述,水位传感器的测量范围是20m,输出的信号为电流信号,输出电流的范围为4-20ma;PLC把0-20m的水位信号转换成0-10V的电压信号输出。采用人机交互界面显示实际的水位值;,三、水位传感器,水位传感器有很多类型,如超声波水位传感器、浮子式水位传感器、压力式水位传感器等。其中以压力式水位传感器应用再为广泛。,水位传感器接线图,四、基本知识-A/D和D/A模块,要实现温度、压力等数据采集,实现模拟量的控制,必须要有A/D和D/A模块。A/D模块把模拟量如电压、电流转换成数字量,而D/A则正好现反,把数字量转换成模拟量,如电流、电压信号。使用的A/D和D/A模块为EM235模块,EM235有四路A/D通道和一路D/A通道。,EM235基本参数,EM235输入和输出数据格式,A/D转换后数据格式,A/D转换后数据格式,EM235输入和输出数据处理,从EM235中得到的数据比较进行处理,才能反映实际的数据值对于单极性输入的数据,向右移动3位,双极性移动3位。对于输出为电压时,要把实际的数据向左移动4位,电流数据则向左移动3位。,EM235输入量程、放大倍数选择,EM235输入有不同的量程,必须通过拨码开关进行选择。,拨码开关位置,EM235输入量程、放大倍数选择,开关表和量程关系表,EM235输入、输出接线,RA、A+、A-为A/D输入的第一路RA、A+、A-为A/D输入的第二路RA、A+、A-为A/D输入的第三路RA、A+、A-为A/D输入的第四路Mo、Vo、Io为输出,Mo为地,Vo为电压输出端子,Io为电流输出端子,两者不能同时用。,输入和输出接线,五、基本知识-A/D和D/A地址,A/D和D/A的数据是以字为单位进行读取和存放的,模拟输入用AI表示,输出用AQ表示,地址如下图所示。,0,1,2,3,4,5,,,,AIW0,,AIW2,,AIW4,0,1,2,3,4,5,,,AIW0,,AIW2,,AIW4,,,第一路A/D,第二路A/D,第三路A/D,,,,第一路D/A,第二路D/A,第三路D/A,五、基本知识-A/D和D/A地址分配,S200PLC给A/D和D/A模块分配地址时,以两路为单位进行分配地址,如果模块路数不够,多分配的地址不能分配给其他模块使用。模块地址分配的顺序是从最靠近CPU模块开始分配,离CPU越远,分配的地址就越大,示例如下,S200CPU,EM235,EM235,,,连接电缆,,,A/D地址AIW0AIW2AIW4AIW6D/A地址AQW0AQW2(没用),,A/D地址AIW8AIW10AIW12AIW14D/A地址AQW4AQW6(没用),,六、基本知识-变量存储器,在S200的PLC中,变量存储器主要是用于存放数据的,能够存放数字或字符。在前面的学习中,我们知道I表示输入存储器,Q表示输出存储器。同样也用一个字母V表示变量存储器,以和其他的存储器区别。,变量存储器存储方法,PLC中把所有的变量存储器以字节为单位,从0开始进行编号,每个字节的编号都是唯一的,称为地址。在读写数据时只要给出地址,就可以唯一确定字节位置。在读写数据时,除了给出地址外,还给出读写的字节数一个字节用B表示;连续两个字节称为字,用W表示;而连续四个字节称为双字,用D表示。,变量存储器地址,综上所叙,我们给出表示变量存储器地址的方法首字节地址的理解对于B,只有一个字节,所以地址就是字节地址;但是对于W和D,其包含有两个或四个字节,但是我们知道无论是两个或四个字节,它们是连续,所有只有确定了在开始的哪个字节地址,整个单元地址也就唯一确定了。,V(B、W、D)首字节地址,变量存储器地址举例,0,1,2,3,4,5,6,7,8,9,10,11,,100,101,102,103,VB0,,VB1,,,VB8,,VW0,,VW2,,VW4,,VW100,,VD0,VB2,,VB3,,,VD100,,VW102,VD8中包含是哪两个字哪四个字节,,,,,,,,,,,,七、基本知识-常量,常量是指值不能改变的量,如10、30等。整型常量如10、-10、20等,直接书写。整型常量可以用二进制或十六进制表示。用二进制表示时,前面加“2#”符号,十六进制则加“16#”符号。如2#0001111116#ABCD浮点型常量带有小数部分的常量称为浮点型常量,如10.29、-50.00等。要保存一个浮点型常量在PLC中要占用四个字节。,八、基本知识-传送指令,传送指令把常量或数据从送到另外一个单元中。使用传送指令时必须根据需要选择字节B、字W、双字DW还是实型数R传送指令,不能用错。其作用就是在EN为ON时把IN的数据送到OUT中,OUT不能是常量。,实型数,双字,字节,字,浮点数占用4个字节,必须用VD才能保存。,九、基本知识-算术运算,算术运算包括加、减、乘、除等运算。使用这些指令时必须根据需要选择字节B、字I、双字DI还是实型数R运算指令,不能用错。其作用是在IN为ON时把IN1和IN2进行运算,结果赋值给OUT。ADD_类型表示加,类型有R实型数、I整型数、DI双字整型数;SUB_类型表示减,类型有R实型数、I整型数、DI双字整型数;,浮点数占用4个字节,必须用VD才能保存。,九、基本运算-算术运算,DIVIN1(双字)IN2(字)=(双字)OUT16位余数在高字中而16位商低字中。DIV_IIN1(字)IN2(字)=(字)OUTDIV_DIIN1(双字)IN2(双字)=(双字)OUTDIV_RIN1(实型数)IN2(实型数)=(实型数)OUT运算只在EN为ON时进行;,浮点数占用4个字节,必须用VD才能保存。,九、基本运算-算术运算,MULIN1(字)IN2(字)=OUT(双字)MUL_IIN1(字)IN2(字)=OUT(字)MUL_DIIN1(双字)IN2(双字)=OUT(双字)MUL_RIN1(实型数)IN2(实型数)=(实型数)OUT,十、转换指令,转换指令是指实型数与整型数、整型数和整型数之间转换的指令。B_IIN(字节)转换成OUT(字)I_BIN(字)转换成OUT(字节)I_DIIN(字)转换成OUT(双字)DI_IIN(双字)转换成OUT(字)DI_RIN(双字)转换成OUT(实型数)ROUNDIN(实型数)以四舍五入的方式转换成OUT(双字)TRUNCIN(实型数)以去掉小数的方式转换成OUT(双字)所有指令只在EN为ON时执行;,十一、移位指令,移位分为左移和右移两种;使用是必须区分是字节B、字W、双字DW;移位后空出来的位用0填充,移出来的位丢掉;,把输入IN移动N位后输出到OUT中,如果OUT和IN不同,则不改变IN的值。,十二、循环指令,分左循环和右循环;使用是必须区分是字节B、字W、双字DW;循环过程如图所示,请注意和移位指令的区别;,把输入IN循环移动N位后输出到OUT中,如果OUT和IN不同,则不改变IN的值。,十三、水位计算程序设计,任务说明VW0中是由AD采集到的水位数据,编程求水位实际的水位值;求出的水位值应该是浮点数,计算过程也应该用浮点数进行计算;算出的水位值放在VD4中。水位计算公式,十四、水位计算程序任务分析,要完成水位计算,必须确定以下值确定EM235的输入量程;确定EM235A/D转换的位数;确定EM235在传感器上限和下限时A/D转换后的值;确定水位传感器的量程;任何把A/D转换后的数据转换成实际的数据。根据提示,确定每个值,编写水位计算程序。,十五、人机交互数据显示,在第八章中,我们学习了人机交互界面的设计,此次再接再厉,学习如何显示数字数据和写入数据。,显示PLC中的数据,,把数据写到PLC中,,数值显示属性窗口,以浮点数显示VD4中的数据,,,控制显示数据的范围,显示数据位数控制,,,,,外形控制,,数值显示属性窗口,读取值可以时字、双字。变量单元的数据类型可以时浮点数、有符号的二进制数、无符号的二进制数、BCD码等。浮点数必须是双字。通过控制小数位数,可以进行放大缩小数据;,把数据缩小10倍进行显示,,,数值输入属性窗口,外形控制,,,以字的形式把数据写到VW0中,类型为二进制数。,显示VW0数据,,,,,,安全控制,,十六、设计水位显示界面,模拟A/D转换值时直接把数据写到VW0中,可以输入不同的数据,以验证自己的水位算法是否正确。A/D转换值时VW0中的值;水位值则显示实际的水位值。,十七、D/A输出程序设计要求,VD4中以浮点数形式存放了水位值。D/A输出为0-10V电压信号,0对于水位最小值,而10V电压信号对应水位满量程。计算公式,十八、D/A输出程序设计任务分析,要完成此任务,必须确定以下值确定EM235的D/A输出量程;确定EM235D/A转换的位数;确定EM235在传感器上限和下限时D/A数字值;确定水位传感器的量程;如何输出数据根据提示,确定每个值,编写输出程序。,十九、水位测量装置,根据十四、十五、十六三个项目,完成在二中提出的任务要求。,二十、拓展训练,在前面的基础上,我们提出了新的要求当水位低于最低水位或高于最大水位时要报警;水位限制值要能够通过人机交互界面进行设置;增加软件滤波功能,为平均滤波和一阶滤波,提高数据显示的准确性和抗干扰的能力;可以更改水位传感器的量程值,以适应不同的传感器。,二十一、基本知识-比较指令,S200中的比较指令包括等于大于等于不等于大于小于在比较时必须根据比较的数,选择好响应的指令B字节比较R浮点型数据比较I字比较D双字比较比较时使用指令上面的数去和下面的数进行比较;比较如果结果是成立的,则比较后面的指令可以继续执行,否则后面的指令不能执行。,二十二、基本知识-比较指令,示例,如果VW100等于2000则比较成立,后面的指令可以继续执行。,如果VD4大于等于VD8则比较成立,后面的指令可以继续执行。,二十三、滤波算法,滤波算法最常见的有平均滤波算法、一阶滤波算法等,此处只要求掌握这两种方法。平均滤波算法测量N次,得到N个数据,在把N个数据相加求平均值,这种算法称为平均滤波算法。一阶滤波算法原理如下要求A是一个0~1之间的数,A值越大,本次采集的值作用就越明显,反之则表现迟钝。一般可取0.20.6之间的值。,二十四、PLC程序设计和界面设计,根据刚才讲解的知识,完善水位测量装置程序和界面设计。提示水位上限值和下限值存放在一个变量存储器中,每次用此值进行比较。同时,人机交互界面上也可以修改此值,为了操作直观,应该采用实际的水位值进行比较。上下限报警应该采用不同的输出,点亮不同的指示灯。同时在人机交互界面上也能反映此报警状态。,