1 引言
可编程控制器(简称PLC)是以计算机技术为核心的通用自动控制装置。它将传统的继电器控制系统与计算机技术相结合,以其特有的功能强大、可靠性高、编程简单、使用方便、体积小巧等优点,在工业生产的过程控制中得到了广泛的应用。
在以PLC为控制器的工业过程控制系统中,除了大量的逻辑控制和顺序控制,还要对许多连续变化的模拟量信号进行控制,如常见的温度控制、压力控制、流量控制等等。要将这些连续变化的物理量变换成计算机能接受的数字量信号,就必须首先经过传感变送器将物理量转变成电压或电流信号,再经过PLC的A/D转换模块变成数字信号送PLC微处理器,而微处理器输出的数字信号也必须经过PLC的D/A转换模块变成电压或电流信号来作为驱动信号输出。本文介绍的OMRON-PLC模拟量I/O模块MAD01,具有二路A/D输入和二路D/A输出。下面主要说明其使用方法。
2 模拟量I/O模块MAD01的接线方式
MAD01模拟量I/O模块具有二路A/D输入和二路D/A输出,其端子表如图1所示:
模拟量输入信号通过屏蔽双绞线输入到每个通道。如果输入的是电压信号,则将信号两端接到通道的电压输入(+)和(-)端,如果输入的是电流信号,那么须将通道的电流输入(+)与电压输入(+)端短接,然后再将电流信号接到电压输入的(+)和(-)端。
模拟量输出信号一般也通过屏蔽的双绞线将信号输出。如果采用电压输出,则将双绞线接到通道电压输出的(+)、(-)端,如果采用电流输出,则将双绞线接到通道电流输出的(+)、(-)端,其中电压电流输出的(-)端是合一的。
3 输入输出对应关系
3.1 A/D转换的输入/输出关系
MAD01的A/D模拟输入信号可以是电压信号(1~5V,0~10V,-10~10V),也可以是电流信号(4~20mA),其模拟输入量与数字量之间的对应关系如图2所示:
3.2 D/A转换的输入/输出关系
MAD01的D/A输出信号也可以设置为电压信号(1~5V,0~10V,-10~10V)或电流信号(4~20mA),共4种方式,数字量与模拟输出量的对应关系如图3所示:
4 MAD01模块的参数设置
OMRON-PLC的CPU和模拟I/O模块交换数据是通过存储器的IR(内部继电器)区和DM(数据存储器)区进行的,一个MAD01模块占用IR区和DM区的哪一组地址由模块上的一个旋转开关设置。旋转开关分为16档(0~F),若控制系统中使用多个模拟I/O模块,注意开关位置不可重复,否则会出现I/O单元重叠错误。
4.1 IR区域分配及参数设置
每个模拟量I/O模块根据模块上旋转开关的位置在CPU工作区有对应的单元号(0~F)和IR字地址,一个模拟I/O模块占用10个字的工作区(IRn~IRn+9)。当单元号为0~9时,n=100+10×单元号,当单元号为A~F时,n=400+10×(单元号-10)。
正常模式的IR字和位的分配及参数设置如下:
IRn:位5,输入2的峰值保持功能,“0”表示不使用,“1”表示使用。
位4,输入1的峰值保持功能,“0”表示不使用,“1”表示使用。
位1,输出转换2使能,“0”表示停止,“1”表示开始。
位0,输出转换1使能,“0”表示停止,“1”表示开始。
IR(n+1):输出1的设定数据格式,16位二进制。
IR(n+2):输出2的设定数据格式,16位二进制。
IR(n+3),IR(n+4):未使用。
IR(n+5):模拟输入1的转换结果,16位二进制。
IR(n+6):模拟输入2的转换结果,16位二进制。
IR(n+7),IR(n+8):未使用。
IR(n+9):位15~8,两位16进制错误码,“00”表示无错误。
位5,输入2断线检测,“0”表示连接,“1”表示断线(只适用输入信号为1~5V或4~20mA时,下同)。
位4,输入1断线检测,“0”表示连接。
位1,输出2设定错误,“0”表示无。
位0,输出1设定错误,“0”表示无。
4.2 DM区域分配及参数设置
模拟量I/O模块DM区域字地址也由其单元号确定,每个I/O单元占用14个字的固定数据区域(DMm~DM(m+13)),m=1000+100×单元号。
DM区域字及位的分配及参数设置如下:
DMm:位11~10,回路2的比例变换。“00”表示不使用,“01”表示使用正梯度变换,“10”或者“11”表示使用负梯度变换。
位9~8,回路1的比例变换(数值及表示的意义同位11~10)。
位5,指定使用输入2。“0”表示不使用。
位4,指定使用输入1。“0”表示不使用。
位1,指定使用输出2。“0”表示不使用。
位0,指定使用输出1。“0”表示不使用。
DM(m+1):位11~10,输入2的信号范围设置。“00”表示-10~+10V,“01”表示0~10V,“10”或者“11”表示1~5V/4~20mA。
位9~8,输入1的信号范围设置(意义同上)。
位3~2,输出2的信号范围设置(意义同上)。
位1~0,输出1的信号范围设置(意义同上)。
DM(m+2):位7~0,输出1在转换停止时输出状态设置。“00”表示清除,“01”表示保持,“02”表示最大值。
DM(m+3):位7~0,输出2在转换停止时输出状态设置(数值及表示的意义同上)。
DM(m+4),DM(m+5):未使用。
DM(m+6):输入1的平均值处理方式设置。
0000表示不进行平均值处理;
0001表示用2个缓冲器的平均值处理;
0002表示用4个缓冲器的平均值处理;
0003表示用8个缓冲器的平均值处理;
0004表示用16个缓冲器的平均值处理。
DM(m+7):输入2的平均值处理方式设置(数值及表示的意义同上)。
DM(m+8),DM(m+9):未使用。
DM(m+10):回路1变换的比例系数A(BCD码,范围0~9999)。
DM(m+11):回路1变换的偏移量B(16位二进制数)。
DM(m+12):回路2变换的比例系数A(BCD码,范围0~9999)。
DM(m+13):回路2变换的偏移量B(16位二进制数)。
4.3 比例变换功能
MAD01模拟量I/O模块为用户提供了模拟输入/输出变换功能。该功能是在模块内部完成的。变换分为正梯度变换和负梯度变换,由DM区域DM(m)字中设置。
l 正梯度变换的模拟输入/输出关系公式为:
模拟输出=A×模拟输入+B
其中:
A:比例系数0~99.99(BCD码)
B:偏移量8000~7FFF(16位二进制)
l 负梯度变换的模拟输入/输出关系公式为:
模拟输出=F-A×模拟输入+B
其中:
F:输出最大值
A:比例系数0~99.99(BCD码)
B:偏移量8000~7FFF(16位二进制)
回路变换常数A、B在DM区域DM(m+10)到DM(m+13)中设置,其中:
DM(m+10):回路1输入常数A;
DM(m+11):回路1输入常数B;
DM(m+12):回路2输入常数A;
DM(m+10):回路2输入常数B。
5 应用举例
将0~10V模拟电压通过A/D转换输入1,转变为数字量存放在DM0001单元,再经过D/A转换输出1输出4~20mA电流信号。MAD01上的旋转开关位置是0,所以单元号是0#。
由于MAD01单元号是0#,所以先向DM1000单元写入0011,表示输入1和输出1同时工作,再向DM1001单元写入0110,表示输入1信号范围为0~10V,输出1信号范围为4~20mA。A/D及D/A转换的梯形图如图4。