生产过程中有大量连续变化的模拟量需要用plc来测量或控制。有的是非电量(如温度、压力、流量、液位、物体的成分和频率等);有的是强电电量(如发电机和电动机组的电流、电压、有功功率和无功功率、功率因数等)。变送器用于将传感器提供的电量或非电量信号转换为标准的直流电流或直流电压信号,如直流0~10 V或直流4~20 mA信号。
西门子S7-300/400的CPU用16位二进制补码定点数来表示模拟量值。A/D转换的结果是按16位二进制补码形式存储,即占用1个字(两个字节)的长度。其中,最高位(第15位)为符号位,正数的符号位为0,负数的符号位为1。
模拟量模块的模拟值位数(即转换精度)可以设置为9~15位(与模块的型号有关,不包括符号位),如果模拟量值的精度小于15位,则模拟量值左移,使其最高位(符号位)在16位字的最高位(第15位),模拟量值左移后未使用的低位则填入“0”,这种处理方法称为“左对齐”。设模拟量值的精度为12位,加上符号位,未使用的低位(第0~2位)为0,相当于实际的模拟值被乘以8。
三种转换精度的数据存储格式见表1。S位为符号位,标有“×”的位被补为0。
表1 A/D转换结果存储格式示例