文档介绍:PLC模拟量输入输出模块扩展
1、plc模拟量输进模块扩展
        这里以一路12位模拟量输进为例,模拟信号以0~5V标准电压的形式送进信号输进端,应用12位A/D转换芯片MAX187实现模数转换。MAX187是12位串行A/D,具有较高的转换速度,采样频率是75kHz,适用于较高精度的过程控制。考虑到实际产业现场中的高频干扰,在采样信号送MAX187之前还使用了低通滤波器滤波,如图1所示。
图1 低通滤波、放大器及A/D转换
       MAX187具有内部参考电压,既4#管脚(REF)为 ,因此,A/。而输进信号是0~5V,因此,要加一级运放把0~5V转换成0~。(CS)相连、(SCLK)相连、(DOUT)相连。模拟量采样的值存进单片机的内存中,再由单片机的串行口传送给PLC。A/D转换的C51程序如下:
#include
#include
sbit IC4_S = P1; /* AD输进端口设置*/
sbit IC4_D = P1;
sbit IC4_C = P1;
void input(void )
{ unsigned char idata i;
unsigned int idata result=0x0000;
IC4_C = 0; /* CS端为低电平*/
for(i=0;i<12;i++)
{ result = result << 1;
IC4_S = 0; /*时钟端产生时钟脉冲*/
IC4_S = 1;
if( IC4_D ) result++; /*从串行数据输出端读进A/D转换数据*/
}
IC4_C = 1; /* CS端为高电平*/
pdat[1] = result;
}
MAX187的工作时序图见图2。
图2 MAX187的工作时序图
2、PLC模拟量输出模块扩展
        这里以一路12位模拟量输出为例,设计中将采用12位D/A转换芯片MAX531来实现数摸转换。我们在MAX531的输出端接运算放大器,将模拟输出调节至0~5V,输出部分的硬件电路如图3所示。这里,MAX531是12位串行D/A,具有较高的转换速度, MAX531具有内部参考电压,既10#管脚(REFOUT),因此, D/。而输出信号一般要求是标准的0~5V,因此,要加一级运放把MAX531输出的0~ 0~5V信号。