三菱PLC与西门子plc的模拟量编程详解
时间:2023-03-21来源:佚名
三菱和西门子的plc都有自己的独特的优点的,先讲讲三菱2AD模块吧,2AD模块是提供一个12位分辨率的模块,最大的数字量是4096.这个4096跟12位分辨率是怎么样的一个关系2进制的12个1就是4096,当然这个最大的数字量4096是可以2AD模块上面的增益电位器调节的 。 我就拿一个PT100的200度的温度传感器为例子,这个传感器0度对应的模拟量电流是4mA.200度对应的模拟量电流是20mA,第一步就开始校准2AD的增益和偏置,所谓的增益和偏置实际上就是模拟量电流4mA和20mA所对应的数字量,我们拿一个电流发生器产生出一个20mA的电流,然后接到2AD的模拟量电流输入端。PLC上电以后找到模拟量对应的数据寄存器看里面的当前值是多少,可能里面的数据是一个未知的数据这是因为2AD在出厂的 时候是没有调节到一个标准的,我们就调节增益电位器使数字量为4000,为什么要调到4000呢因为温度传感器的量程为200度他们刚好是一个20倍的关系。接下来就是偏置了,调节电流发生器输出4mA的电流,就看数据寄存器里面的数字量是多少。如果数据寄存器的数字量为0那我们就不用调节了。增益和偏置调节好以后就接上传感器实际检测,PLC里面的程序要用到除法指令,因为要把数据寄存器里面的数据除以20就是实际温度,当然这是不够的因为在很多自动化控制的场合要很精确的温度,所以就要用到浮点数变换指令和浮点数除法指令,三菱的浮点数可以保留小数位后3位即0.000度。 需要特别注意的是以上的是可以完成模拟量功能了,但我们看到的温度变化是很快的,这是因为PLC每个扫描周期就执行一次模拟量采集和模拟量运算这个时间是很快的一般就20ms就执行一次,所以里面的数字变化是非常快,在这种情况下我们就要求平均值,具体的方法就是用累加指令在把累加的数据在除以累加的次数就可以。一般累加次数在5到10次之间。 西门子的模拟量跟三菱的是不一样的他的分辨率比三菱要高,西门子EM231是提供一个16位分辨率的模块最大数字量是32000也就是一个字的容量。西门子的模拟量在 使用方法上面也和三菱不一样,因为西门子没有增益和偏置调节电位器,所有对应的数字量是经过公式计算出来的。虽然如此但西门子的程序模块化,在程序设计上面要简化得多直接在AIW数据寄存器里面就可以得到原始数据。 我就一个200度的传感器简单说说,这个传感器输出的模拟电流是4到20mA,西门子的数字量是0到32000,如果按照三菱的算法则就会出错,因为4mA不是对应数字量0而是6400,因为他们是1600倍的关系,4mA乘以1600=6400,所以我们得求出数字量6400和32000和温度200的一个系数,具体公式是这样的(32000-6400)除以200=128. 这个128就是他们的系数,如果温度传感器是400度就除以400。 最后我们把AIW数据寄存器里面的数据除以128就是当前温度了,需值得注意的是西门子的模拟量最好在中断程序里面。 |