plc模拟量输入输出模块如何选型?

来源:电工天下时间:2015-09-11 07:43:46 作者:老电工手机版>>

plc模拟量输入输出模块的选型

plc的模块一般分为几大类:开关量输进模块、开关量输出模块、模拟量输进模块、模拟量输出模块。

在产业控制中特别是过程控制领域中需要采集和控制的模拟量比较多,因而对plc的模拟量输进、输出模块需要的较多,而模拟量输进、输出模块比较贵,增加模拟量输进、输出模块就增加了本钱,降低了整个系统的性价比,限制了plc的应用。

本文提出了一种基于通讯的模拟量输进、输出模块的扩展方法力图解决这一题目。

一、基于通讯的模拟量输进、输出模块的扩展方法

1、plc模拟量输进模块扩展

这里以一路12位模拟量输进为例,模拟信号以0~5V标准电压的形式送进信号输进端,应用12位A/D转换芯片MAX187实现模数转换。MAX187是12位串行A/D,具有较高的转换速度,采样频率是75kHz,适用于较高精度的过程控制。考虑到实际产业现场中的高频干扰,在采样信号送MAX187之前还使用了低通滤波器滤波,如图1所示。
plc模拟量输进模块扩展

图1 低通滤波、放大器及A/D转换
MAX187具有内部参考电压,既4#管脚(REF)为 4.096V,因此,A/D转换的全量程为4.096V。而输进信号是0~5V,因此,要加一级运放把0~5V转换成0~4.096V后送进MAX187。AT89C52的P1.3和MAX187的片选端(CS)相连、AT89C52的P1.4和MAX187的串行时钟信号端(SCLK)相连、AT89C52的P1.5和MAX187的串行数据输出端(DOUT)相连。模拟量采样的值存进单片机的内存中,再由单片机的串行口传送给PLC。

A/D转换的C51程序如下:
 

#include
#include
sbit IC4_S = P1^4; /* AD输进端口设置*/
sbit IC4_D = P1^5;
sbit IC4_C = P1^3;
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。
MAX187的工作时序图

图2 MAX187的工作时序图

2、plc模拟量输出模块扩展

这里以一路12位模拟量输出为例,设计中将采用12位D/A转换芯片MAX531来实现数摸转换。(电工技术之家 www.dgjs123.com)在MAX531的输出端接运算放大器,将模拟输出调节至0~5V,输出部分的硬件电路如图3所示。这里,MAX531是12位串行D/A,具有较高的转换速度, MAX531具有内部参考电压,既10#管脚(REFOUT)为2.048V。

因此, D/A转换的全量程为2.048V。而输出信号一般要求是标准的0~5V,因此,要加一级运放把MAX531输出的0~2.048V信号转换成 0~5V信号。AT89C52的P1.0和MAX531的串行时钟信号端(SCLK)相连、AT89C52的P1.1和MAX531的串行数据输进端(DIN)相连、AT89C52的P1.2和MAX531的片选端(CS)相连。PLC把要输出的模拟量通过串行口传送给单片机,存进的内存中,再由单片机完成D/A转换进行输出。

A/D转换的C51程序如下:
D/A转换及放大器原理图

图3 D/A转换及放大器原理图
 

#include
#include
sbit IC2_S = P1^0; /*DA输出端口设置*/

sbit IC2_D = P1^1;
sbit IC2_C = P1^2;
void output(unsigned int dat)
{ unsigned char idata i = 12;
IC2_C = 0; /* CS端为低电平*/
while( i-- )
{ IC2_S = 0; /*时钟端产生时钟脉冲*/
if ( dat &0x0800 ) IC2_D =1; /*从串行数据输进端读进DA转换数据*/
else IC2_D =0;
IC2_S = 1;
dat = dat << 1;
}
IC2_C=1; /* CS端为高电平*/
}
 

MAX531的工作时序图见图4。

MAX531的工作时序图

图4 MAX531的工作时序图

二、PLC与扩展模块之间的通讯接口及通讯协议

1、通讯接口
以松下FP1系列PLC为例来阐述PLC与扩展模块之间的通讯,FP1系列PLC的通讯接口采用标准9芯RS232接口,它与扩展模块之间的接线如图5所示。

扩展模块与PLC的通讯连接

图5 扩展模块与PLC的通讯连接

1、扩展模块的RXD端与PLC的TXD端联接,使扩展模块接收到PLC发出的数据;
2、扩展模块的TXD端与PLC的RXD端联接,使扩展模块发出的数据被PLC接收到;
3、扩展模块的地与PLC的SG端互联,使两者的工作基准地电平相同。

上面采用的是RS232接口,PLC一次只能扩展一个模块。假如要扩展多个模块,可以采用RS485接口,现代的PLC一般都带有RS485接口。

2、通讯协议
松下FP1系列PLC与扩展模块之间的通讯协议为松下公司专用的MEWTOCOL-COM协议,该协议采用异步通讯方式,其波特率有1200、2400、4800、9600、19200、38400、57600、115200bps等多种可选,且报文长度可变可固定。该协议格式分为命令消息(Command Message),正常响应消息(Response Message-normal),出错响应消息(Response Message-error)三种。
扩展模块与PLC的通讯连接

其中:%为起始符,标记每一帧报文的开始;CR为结束符,标记每一帧报文的结束;
AD为PLC的站地址,为两位16进制数,如00则表示第一台PLC;
#、$、!标注该帧报文为何种类型。

Command code为命令代码,如例1中的“RD”,表示读数据区。Response code为响应代码一般返回接收到的命令消息中的命令代码。Error(H)和Error(L)为出错代码,是两位16进制数, 可根据其值在协议中查出错误的描述。

Text code为命令参数,如例1命令消息中“D 01105 01107”,“D”表示数据寄存器,“01105 01107”表示第1105号至1107号,而在例1响应消息中,“6300 4433 0A00”则表示DT1105至DT1107中数据分别为6300、4433、0A00。

BCC(H)和BCC(L)为前面字符串的BCC校验码的高、低位,为两位16进制数。其初值为0,然后从起始符开始与该帧报文中每一字节按位进行异或运算得到。

例1,读取DT1105至DT1107中的数据的命令消息如下:
%   01  #  RD      D01105      01107   57  CR

若DT1105至DT1107中数据分别为6300、4433和0A00,PLC返回的响应消息如下:
%   01  $  RD   6300     4433   0A00   62  CR

那么, 模拟量输进扩展模块与PLC通讯的报文可如下:
%   01  #  WD   D   01105  01105 0fff  32  CR
表示1号模拟量输进扩展模块把模拟量采样值0FFF存进PLC的第1105个数据寄存器

模拟量输出扩展模块与PLC通讯的报文可如下:
%   01  #  RD   D   01106  0110F  02       CR
表示1号模拟量输出扩展模块请求把PLC中第1106个数据寄存器保存的模拟量输出值读进。

若DT1106中数据为0fff,PLC返回的响应消息如下:
%   01  $  RD   0fff    45   CR
1号模拟量输出扩展模块就把接收到的数字量0fff转换成模拟量输出。

相关文章
  • 西门子plc cpu模块中断(lnterrupts)设定的分类

    西门子plc cpu模块中断(lnterrupts)设定的分类

    西门子plc cpu模块中断(lnterrupts)设定的分类,包括硬件中断(Hardware Interrupts)设定、延时中断(Time-Delay Interrupts)设定、PROFIBUS-DP中断(lnterrupts for DPVl)设定、异步出错中断(Asynchronous Error Interrupts)设定。

    时间:2020-04-25 13:50:53

  • 西门子s7-300增加模拟量输入模块过程的步骤

    西门子s7-300增加模拟量输入模块过程的步骤

    西门子s7-300增加模拟量输入模块过程的步骤,分为九个步骤与一个注意问题,改造工程提前办理工作票,准备用要用的工具及材料,当配置下载成功后,进入软件程序设计划面调用FC105进行量程变换。

    时间:2020-04-23 11:24:40

  • 西门子plc模拟量模块接线图的设计

    西门子plc模拟量模块接线图的设计

    有关西门子plc模拟量模块接线图的设计说明,西门子plc模拟量输入模块,通过拨码开关设置为不同的测量方法,一个模块只能设置为一个测量范围;开关设置只有在重新上电后才能生效。

    时间:2020-04-23 11:20:26

  • 西门子plc模拟量模块接线图与测量方法

    西门子plc模拟量模块接线图与测量方法

    有关西门子plc模拟量模块接线图与测量方法,通过拨码开关设置为不同的测量方法;开关的设置应用于整个模块,一个模块只能设置为一个测量范围。

    时间:2020-04-23 11:19:03

  • 西门子S7-200高速计数器的模式与输入点

    西门子S7-200高速计数器的模式与输入点

    有关西门子S7-200高速计数器的模式与输入点,若选择了HSC0的模式1,则外部高速计数输入点应接在I0.0,外部复位点应接在I0.2,感兴趣的朋友参考下。

    时间:2020-04-08 13:34:54

  • CUVC模拟量输入输出通道的标定方法图解

    CUVC模拟量输入输出通道的标定方法图解

    有关CUVC模拟量输入输出通道的标定方法,一是模拟量输入输出通道信号源类型的转换,二是模拟量输出通道的标定步骤,供大家学习参考。

    时间:2020-04-01 14:55:46

  • 西门子plc s7-300 计数器输出状态问题解答

    西门子plc s7-300 计数器输出状态问题解答

    西门子plc s7-300 计数器输出状态问题问题:在使用西门子plc进行编程时,加计数器的输出位或常开触点应在计数值到达预置值时接通,但s7-300的加计数器的计数值到达预置值时,其输出

    时间:2020-03-15 10:36:47

  • 西门子plc模块支持哪些传感器类型?

    西门子plc模块支持哪些传感器类型?

    有关西门子plc模块支持哪些传感器类型,包括西门子s7-200、西门子s7-200smart、西门子s7-1200、西门子s7-300等支持的传感器类型,感兴趣的朋友参考下。

    时间:2020-03-09 10:00:56

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有