西门子SIEMENSPLC总代理
可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。高有效位是符号位,0表示正值。在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。
EM235输出数据字格式
图3给出了12位数据值在CPU的模拟量输出字中的位置:
图3
数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,高有效位是符号位,0表示正值。
模拟量扩展模块的寻址
每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。例如:AIW0,AIW2,AIW4……、AQW0,AQW2……。每个模拟量扩展模块至少占两个通道,即使个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
图4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。
图4
模拟量值和A/D转换值的转换
假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:
模拟量输出:A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:
模拟量输入:D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:
A=(D-6400)×(20-4)/(32000-6400)+4
假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
T=70×(AIW0-6400)/25600-10
可以用T 直接显示温度值。
模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:
某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:
VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)
编程实例
您可以组建一个小的实例系统演示模拟量编程。本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下:
温度显示值=(AIW0-6400)/256
编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致
大型机:大型机的控制点一般大于2048点,不仅能完成较复杂的算术运
算还能进行复杂的矩阵运算。它不仅可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控。
西门子大型机有S7-400 :处理速度0.3ms / 1k字;
存贮器512k ;I/O点12672;
控制性能
可以分为机、中档机和低档机。
低档机
这类可编程序控制器,具有基本的控制功能和一般的运算能力。工作速度比较低,能带的输入和输出模块的数量比较少。
比如,德国SIEMENS公司生产的S7-200就属于这一类。
中档机
这类可编程序控制器,具有较强的控制功能和较强的运算能力。它不仅能完成一般的逻辑运算,也能完成比较复杂的三角函数、指数和PID运算。工作速度比较快,能带的输入输出模块的数量也比较多,输入和输出模块的种类也比较多。
比如,德国SIEMENS公司生产的S7-300就属于这一类。其实我帮你也只是自保而已。
西门子SIEMENSPLC总代理