欢迎来到天天文库
浏览记录
ID:28593707
大小:1.11 MB
页数:10页
时间:2018-12-11
《软件编程和模拟量处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.软件编程和模拟量处理 各个开关量控制、定时、计数、连锁等常规控制用顺序控制方式编在主程序中,这里不赘述。下面重点描述模拟量的处理问题。 作为一个主要控制条件,稀释罐液位,是通过液位传感器送出4-20mA模拟信号进到控制系统中,CPU通过模拟量扩展模块EM232读取该值,并分析、处理该值,在几个指定的液位高度时,输出信号去控制相应设备或发出报警信号。和该模拟量有关的几个基本数据: · 对于EM231和CPU212的规定,输入0-20mA对应数据为0-32000, 每1mA增量,数据为1600。 ·
2、稀释罐液位0-1000mm对应着液位传感器输出4-20mA。液位增量62.5mm,输出为1mA。 · 考虑到液位的波动情况,设定最大波动在5mm(即增128个数),上升时取上限值,下降时取下限值。 编好软件后,输入到PLC中,接上仿真开关、信号发生器等,开始调试程序。在调试中发现,模拟量的输入值变化太大,观察AIW0,随着信号源从4-20mA变化,应该从0-32000变化,观察时看到,AIW0的后三位数字都在跳动,这种情况无法参与控制。经分析和试验,从硬件和软件两方面着手解决。 1、硬件接线 从S7-
3、200的安装手册中可以看出,模拟量模块A/D转换间无隔离,这样模块本身抗干扰能力弱。但没有该模块的详细电路,考虑从信号输入端着手,如果输入以参考端接到适当位置,可以减小干扰。最后作了3种接法实验: (1)A_端独立。 (2)A_接到M,而M又接地。 (3)A_接到M,而M不接地。 实验比较以上3种情况后,发现第3种情况结果最好,如图2所示。第1种情况,A独立,因EM231是单端输入,所以A如果悬空,信号没有基准,可能干扰大;第2种情况,A接M而又同时接地,但在这种水处理现场一般不设为仪表专做的地线
4、,因而接地后,各种强电杂波信号都可以通过地线串进来,使干扰增强;第3种情况,A接M又不接地,形成了浮地输入,这种接地常被称为模拟地或小信号地,在一定情况下可以抑制某些干扰,实验证明使用这种处理方法有一定效果。从编程器读取AIW0值,基本上是后两位数字在跳。由于EM231的数据位是12位,而AIW0取值范围是0-32000,是16位,因此,在12位的8421码中,最后一位的一次跳变就是8,这样,后两位在跳变也属正常。 图2 EM231接线的改变 2、软件编程 针对上述情况,从软件入手,进一步调整了
5、模拟量输入的稳定状况。方法是从AIW0取输入值,求多次采样的平均值 依据计算出的平均值输出,去控制给粉机的运行。即:由于S7-200的指令处理较快,模数转换时间也短,在几十us,且模拟量读数灵敏度较高,而在本控制系统中,对转换时间要求不高,所以可以采用多次采样的平均值方法,来处理输入值。例如10次采样值如下: 16848、16832、16808、16840、16864、16856、16872、16880、16824、16848,这些值最大为16800,最小为16808,差为72,如果10次采样为128次,求
6、平均值后放到VW20中,这样VW20的每次读取时间还在ms级,完全满足实际要求。(实际观察结果为AIW0的变化:164616-14672;VW20的变化:14647-14651)。经过上述软件的处理后,当AIW0中的值在后两位跳变时,经处理后的模拟量VW20中的值只是个位在跳变,且是一个一个跳变,通过调试证明,采集数据又提高了一个数量级。 五、结束语 在实际使用中发现,这种机型的模拟量模块的抗干扰性能还不尽人意,但最近,西门子公司又推出了S7-22X系列的小型机,据说模拟量的隔离性能好于S7-21X系列
7、,待下次选用时在作了解。但软件的这种处理模拟量输入的方法完全可以采用。 1、将模拟量通道AIW0的数据通过I_DI指令转换为DINT数据类型,并存放入AC0中 2、将AC0中的数据使用DI_R转换为浮点数,目的是为了提升计算精度,因为西门子不允许整型数据直接转换为浮点数,因此必须通过1,2步骤转换。 -..3、将AC0-6400,因为4-20mA的采集在西门子200系列中是通过坐标移动进行的,也就是因为对于0-20mA来说,西门子S7-200的采集数据在0-32000,也就是说每mA对应的数值为320
8、00/20=1600,那么4-20mA就是6400-32000,因此要将输入值-6400来完成坐标的移动。 4、然后除以(DIV_R)25600来得到输入值占用整个输入范围的百分比,32000-6400=25600,25600就是4-20mA对应的输入范围。 5、然后通过乘以(MUL_R)100,就得到了0-100的数据。 通过上述程序,将输入的模拟量信号对应的6400-32000之间的数据转换为0-100之间
此文档下载收益归作者所有