用如下方法也许可以解决您的问题:
“纯水平液面饱和水汽压表”中,从0.0℃、0.1℃到100℃共1000个温度点所对应的饱和水汽压值,我想这些数值应该是带小数点的实数。您首先可以用实数传送指令把这些饱和水汽压值按顺序存入从VD100起始至VD4100止的双字存储器中(这比较繁琐,但只要传送的数值准确,就不会出错,也不会丢失)。饱和水汽压值按顺序存好后,要解决的就是寻址采集数据问题,这也是问题的关键所在。您所能利用的就是温度模块输入的检测温度值,就以RTDEM231热电阻模块为例,当温度在0.0-100度之间变化时,PLC 模入值在0-1000之间跟随,恰好温度变化0.1度,模入值变化1。我们就把这在0-1000变化的温度模入值作为寻找相对应的饱和水汽压值的地址数。但这个数是实实在在数据并不是地址,在这就要使用间接寻址的方法才能实现寻址。具体如下:利用“&”符号把存储饱和水汽压值数据的存储区首址VD100送入VD84中(MOVD &VB100, VD84)暂存,这时VD84中存的已是址。饱和水汽压值是实数,其每个数据存储单元为4个字节,因此,把检测到的温度值乘以4,再将其结果与VD84中的地址相加得到的和存入VD84,其中就是这个温度所对应的饱和水汽压值数据存储单元的地址。有了地址,在利用“*”符号把饱和水汽压值读出并存入其它存储单元(MOVR *VD84, VD70),VD70中存的就是所要的饱和水汽压值。这样,就可以按检测的温度立即采集到对应的饱和水汽压值了,由此来做干湿球温湿度计程序,及您要做的工作。您可以用此方法在PLC 上编程上机试验。
东方探索
创建一个DB 块,例如DB1,定义DB1.DBW0对应0.0℃的水汽压值、DB1.DBW1对应0.1℃的水汽压值。。。以此类推,在DB1的初始值里输入相应的水汽压值,在程序里根据温度模块测量的不同温度点调用DB1里相应的DBW 的值即可实现;数据块的数据程序不赋值,数据是不会丢失也不会更改,要实现保护功能只需在输入完数据后在该数据块的属性里将写保护打上勾即可。