通过上述程序可知:这是通过模块的输入模拟量V,分别按对应的转换公式求出模块的数字量SHx(0~4000)和求出输出的物理量(比如压力P : 0~1.0 PM)的值。相解如下:
上图为模拟输入信号V(0~10V)与模块的对应数字量SHx(设为:0~4000)的关系曲线(SHx / V 曲线),及模块的数字量SHx与实测物理量值P(如压力:0~1.0 PM)的关系曲线(SHx / P曲线)。
1、 SHx ÷ V=K1(4000÷10=400) 即为每V电压对应的数字量,如V=3V,则: SHx=V * K1=3×400=1200,这就是程序的第一条指令:MUL D204 K2000 D208 其D204为模拟输入量V,而 K2000 为每V电压对应的数字量(K1),D208为乘积,即为转换的数字量SHx。由于V、SHx、K1皆为整数,故此时的运算选用整数运算。
2、SHx ÷ P=K2(4000÷1.0=4000) 即:K2为每1个PM压力对应的数字量,如SHx=3200,则:P=3200 ÷4000=0.8 PM,由于数字量最大值=4000,故压力值为0~1.0之间, 故此时的除法运算选用浮数(实数)运算。即程序的第二条指令语句:DDIV D208 D200 D208 (模块的数字量SHx除以没1PM压力对应的数字量(K2),其商即为实测压力值P。最后一句是将商(即实测压力值P)传送给D100。