第2章 基于PLC的控制应用
可编程序逻辑控制器(简称PLC)主要是为现场控制而设计的,其人机界面主要是开关、按钮、指示灯等。其良好的适应性和可扩展能力已得到越来越广泛的应用。采用PLC的控制系统或装置具有可靠性高、易于控制、系统设计灵活、能模拟现场调试、编程使用简单、性价比高、有良好的抗干扰能力等特点。但是,PLC也有不易显示各种实时图表/曲线(趋势线)和汉字、无良好的用户界面、不便于监控等缺陷。
20世纪90年代后,许多的PLC都配有计算机通信接口,通过总线将一台或多台PLC相连接。计算机作为上位机可以提供良好的人机界面,进行系统的监控和管理,进行程序编制、参数设定和修改、数据采集等,既能保证系统性能,又能使系统操作简便,便于生产过程的有效监督。而PLC作为下位机,执行可靠有效的分散控制。用一台计算机(上位机)去监控下位机(PLC),这就要求PC与PLC之间稳定、可靠的数据通信。
2.1 系统设计说明
2.1.1 设计任务
分别利用STEP 7 Micro/WIN编程软件、SWOPC-FXGP/WIN-C编程软件编写程序实现三菱FX2N-32MR PLC、西门子S7-200 PLC数据采集与控制;分别利用LabVIEW和LabWindows/CVI编写程序实现PC与PLC自动化控制。任务要求如下。
1.模拟电压输入
PLC检测变化的模拟电压(范围:0~5V);PC接收PLC发送的电压值,转换成十进制形式,以数字、曲线的方式显示。
2.模拟电压输出
在PC程序界面中输入一个数值(范围:0~10),线路中PLC模拟量输出口输出同样大小的电压值(0~10V)。
3.数字量输入
利用按钮、行程开关、继电器开关改变PLC某个输入端口的状态(打开/关闭),PC程序读取该端口的输入状态(1或0),并在程序中显示。
4.数字量输出
在PC程序界面中指定元件地址,单击置位/复位(或打开/关闭)命令按钮,置指定地址的元件端口(继电器)状态为ON或OFF,使线路中PLC指示灯亮/灭。
PLC与PC通信,在程序设计上涉及两个部分的内容:一是PLC端数据采集、控制和通信程序;二是PC通信和功能程序。
2.1.2 硬件系统
1.线路连接
1)三菱FX2NPLC数据采集与控制线路连接
三菱FX2N-32MR可以通过自身的编程口和PC通信,也可以通过通信口和PC通信。通过编程口,PC只能和一台PLC通信,实现对PLC中软元件的间接访问(每个软元件具有唯一的地址映射);通过通信口,一台PC可以和多台PLC通信,并实现对PLC中软元件的直接访问,两者使用不同的通信协议。PC通过FX2N的编程口构成的数据采集与控制系统如图2-1所示。图2-1中FX2N-4AD模块的ID号为0。
图2-1 PC与FX2NPLC组成的数据采集与控制系统
模拟电压输入:将模拟量输入模块FX2N-4AD与PLC主机相连。在模拟量输入1通道V+与VI-之间接输入电压0~10V。
模拟电压输出:将模拟量输出模块FX2N-4DA与PLC主机相连(同FX2N-4AD模拟量输入模块与主机的连接方法一样,图2-1未画出)。
开关(数字)量输入:按钮、行程开关等的常开触点接PLC开关量输入端点(X0,X1,…,X17与COM端点之间接开关)。
开关(数字)量输出:不需连线,直接使用PLC提供的输出信号指示灯。也可外接指示灯或继电器等装置来显示开关输出状态。
2)西门子S7-200 PLC数据采集与控制线路连接
西门子S7-200PLC系统为用户提供了灵活的通信功能。集成在S7-200中的点对点接口(PPI)可用普通的双绞线做波特率高达9600b/s的数据通信,用RS-485接口实现的高速用户可编程接口,可使用专用位通信协议(如ASCII)做波特率高达38.4kb/s的高速通信并可按步调整。而PC的接口为RS-232,两者之间需要进行电平转换。
利用西门子公司的PC/PPI电缆,可将S7-200 PLC与计算机连接起来组成PC/PPI网络,实现点对点通信,如图2-2所示。
模拟电压输入:将模拟量扩展模块EM235与PLC主机相连。模拟电压从CH1(A+和A-)输入。为避免共模电压,须将主机M端、扩展模块M端和所有信号负端连接,未接输入信号的通道要短接。在DIP开关设置中,将开关SW1和SW6设为ON,其他设为OFF,表示电压单极性输入,范围是0~5V。
模拟电压输出:将模拟量扩展模块EM235与PLC主机相连。模拟电压从M0和V0输出(0~10V)。不需连线,直接用万用表测量输出电压。
开关(数字)量输入:将1M,2M,3M端点连接起来;在L+端点与各个输入端点I0.0、I0.1,…,I1.3之间接开关,打开或闭合开关输入0或1信号。
开关(数字)量输出:不需连线,直接使用PLC提供的输出信号指示灯,也可外接指示灯或继电器等装置来显示开关输出状态。
图2-2 PC与S7-200PLC组成的数据采集与控制系统
2.三菱FX2N-4AD四通道A/D转换模块简介
三菱FX2N-4AD可将外部输入的4点(通道)模拟量(模拟电压或电流)转换为PLC内部处理需要的数字量。FX2N-4AD的模拟量输入可以是双极性的,转换结果为12位带符号的数字量。
1)性能规格
三菱FX2N-4AD四通道A/D转换模块的主要性能参数如表2-1所示。
表2-1 三菱FX2N-4AD主要性能表
2)模块连接
三菱FX2N-4AD模块通过扩展电缆与PLC基本单元或扩展单元相连接,通过PLC内部总线传送数字量并且需要外部提供DC24V电源输入。
外部模拟量输入以及DC24V电源与模块间的连接要求如图2-3所示。
图2-3 外部模拟量输入与FX2N-4AD模块的连接
3)输出特性
三菱FX2N-4AD模块的输出特性如图2-4所示,4通道的输出特性可以不同。
图2-4 A/D转换输出特性
模块的最大转换位数为12位,首位为符号位,对应的数字量输出范围为-2048~2047。同样,为了计算方便,通常情况下将最大模拟量输入(DC10V或20mA)所对应的数字量输出设定为2000(DC10V)或1000(20mA)。
4)编程与控制
三菱FX2N-4AD模块只需要通过PLC的TO指令(FNC79)写入转换控制指令,利用FROM指令(FNC78)读入转换结果即可。
FX2N-4AD常用的参数如下。
(1)转换结果
转换结果数据在模块缓冲存储器(BFM)中的存储地址如下:
BFM#5:通道1的转换结果数据(采样平均值)。
BFM#6:通道2的转换结果数据(采样平均值)。
BFM#7:通道3的转换结果数据(采样平均值)。
BFM#8:通道4的转换结果数据(采样平均值)。
BFM#9~#12:依次为通道1~4转换结果数据(当前采样值)。
(2)控制信号
A/D转换的控制信号在模块缓冲存储器(BFM)中的定义如下。
BFM#0:通道选择与控制字。有如下4种选择:
“0”:通道模拟量输入为-10~10V直流电压;
“1”:通道模拟量输入为+4~+20mA直流电流;
“2”:通道模拟量输入为-20~+20mA直流电流;
“3”:通道关闭。
BFM#1~#4:分别为通道1~4的采样次数设定。
BFM#15:通道采样速度设定。
“0”:15ms/通道;
“1”:6ms/通道。
BFM#20:通道控制数据初始化。
“0”:正常设定;
“1”:恢复出厂默认数据。
BFM#21:通道调整允许设定。
“01”:允许改变参数调整增益、偏移量的设定;
“10”:禁止调整增益、偏移量。
(3)模块工作状态输出
FX2N-4AD可以通过读出内部参数检查模块的工作状态。A/D工作状态信号在模块缓冲存储器(BFM)中的定义如下。
BFM#29:模块工作状态信息。以二进制位的状态表示,具体如下:
bit0:“1”为模块存在报警,报警原因由BFM#29bitl~bit3显示(BFM#29bitl~bit3任何一位为“1”,本位总是为“1”);“0”为模块正常工作。
bit1:“1”为模块偏移/增益调整错误;“0”为模块偏移/增益调整正确。
bit2:“1”为模块输入电源错误;“0”为模块电源正常。
bit3:“1”为模块硬件不良;“0”为模块硬件正常。
bit10:“1”为数字量超过允许范围;“0”为数字量输出正常。
bit11;“1”为采样次数超过允许范围;“0”为采样次数设定正常。
bit12:“1”为增益、偏移量的调整被参数禁止;“0”为增益、偏移量的调整允许。
BFM#30:模块ID号。FX2N-4AD模块的ID号为2010。
BFM#23:偏移调整。
BFM#24:增益调整。
5)注意事项
(1)三菱FX2N-4AD通过双绞线屏蔽电缆来连接。电缆应远离电源线或其他可能产生电气干扰的电线。
(2)如果输入有电压波动,或在外部接线中有电气干扰,可以在Vin和COM之间接一个平滑电容器(0.1~0.470F/25V)。
(3)如果使用电流输入,则必须连接V+和I-端子。
(4)如果存在过多的电气干扰,需将电缆屏蔽层与FG端连接,并连接到FX2N-4AD的接地端。
(5)连接FX2N-4AD的接地端与主单元的接地端。可行的话,在主单元使用3级接地。
3.三菱FX2N-4DA四通道D/A转换模块简介
FX2N-4DA的作用是将PLC内部的数字量转换为外部控制作用的模拟量(模拟电压或电流)输出,可以进行转换的通道数为4通道。
1)性能规格
FX2N-4DA模块的主要性能参数如表2-2所示
表2-2 FX2N-4DA主要性能表
2)模块连接
FX2N-4DA模块通过扩展电缆与PLC基本单元或扩展单元相连接,通过PLC内部总线传送数字量,模块需要外加DC 24V电源。
模块模拟量输出、DC 24V电源与外部的连接要求及内部接口原理如图2-5所示。
图2-5 模拟量输出与外部的连接
3)输出特性
FX2N-4DA模块的输出特性如图2-6所示。
图2-6 D/A转换输出特性
模块的最大D/A转换位为16位,但实际有效的位数为12位,且首位(第12位)为符号位,因此,对应的最大数字量仍然为2047。同样,为了计算方便,在电压输出时,通常将最大模拟量输出DC10V时所对应的数字量设定为2000;电流输出时,通常将最大模拟量输出20mA时所对应的数字量设定为1000。
4)编程与控制
FX2N-4DA模块只需要通过PLC的TO指令(FNC79)进行转换的控制,FROM指令(FNC78)进行结果数字量的读入即可。
FX2N-4DA通常使用的参数如下。
(1)转换数据输入
D/A转换的数字量值在模块缓冲存储器(BFM)中的存储地址如下:
BFM#1~#4:通道1~4的转换数据。
(2)控制信号
D/A转换的控制信号在模块缓冲存储器(BFM)中的定义如下:
BFM#0:通道选择与转换启动控制字。
设定H×××4位十六进制代码,低位为通道1,以后依次为通道2、通道3、通道4。“×”中对应的设定如下:
“0”:通道模拟量输出为-10~10V直流电压;
“1”:通道模拟量输出为+4~+20mA直流电流;
“2”:通道模拟量输出为0~+20mA直流电流。
以后依次为通道2、通道3、通道4。
BFM#5:数据保持模式控制设定。
设定H×××4位十六进制代码,低位为通道1,以后依次为通道2、通道3、通道4。“×”中对应的设定如下:
“0”:转换数据在PLC停止运行时,仍然保持不变;
“1”:转换数据复位,成为偏移设置值。
BFM#8~#9:偏移/增益设定指令。
BFM#10~#17:通道偏移/增益设定值。
BFM#20:偏移/增益初始化设定。设定“0”为正常设定,“1”为恢复出厂默认数据。
BFM#21:通道调整允许设定。设定“01”为允许改变参数调整增益、偏移量的设定,“10”为禁止调整增益、偏移量。
(3)模块工作状态输出
FX2N-4DA可以通过读出内部参数,检查模块的工作状态。D/A工作状态信号在模块缓冲存储器(BFM)中的定义如下。
BFM#29:模块工作状态信息。以二进制位的状态表示,具体如下:
bit0:“1”为模块存在报警,报警原因由BFM#29bitl~bit3显示(BFM#29bitl~bit3的任何一位为“1”,本位总是为“1”);“0”为模块正常工作。
bit1:“1”为模块偏移/增益调整错误;“0”为调整正确。
bit2:“1”为模块输入电源错误;“0”为模块电源正常。
bit3:“1”为模块硬件不良;“0”为模块硬件正常工作。
bit10:“1”为数字量超过允许范围;“0”为数字量输入正常。
bit11:“1”为采样次数超过允许范围;“0”为采样次数设定正常。
bit12:“1”为增益、偏移量的调整被参数禁止;“0”为增益、偏移量的调整允许。
BFM#30:模块ID号。FX2N-4DA模块的ID号为3020。
4.西门子S7-200系列PLC的模拟量扩展模块
在工业控制中,某些输入量(如压力、温度、流量、转速等)是模拟量,某些执行机构(如电动调节阀和变频器等)要求PIC输出模拟量信号,而PLC的CPU只能处理数字量。模拟量首先被传感器和变送器转换为标准量程的电流或电压,如4~20mA,1~5V,0~10V,PLC用A/D转换器将它们转换成数字量。带正负号的电流或电压在A/D转换后用二进制补码表示。
D/A转换器将PLC中的数字量转换为模拟量电压或电流,再去控制执行机构。模拟量I/O模块的主要任务就是实现A/D转换(模拟量输入)和D/A转换(模拟量输出)。
A/D转换器和D/A转换器的二进制位数反映了它们的分辨率,位数越多,分辨率越高。模拟量输入/输出模块的另一个重要指标是转换时间。
模拟量输入模块有多种量程,可以用模块上的DIP开关来设置。开关的设置应用于整个模块,一个模块只能设置为一种测量范围,开关设置只有在重新上电后才能生效。
EM 231模拟量输入模块有5挡量程(DC 0~10V、0~5V、0~20mA、±2.5V和±5V)。模拟量输出模块EM232的量程有±10V和0~20mA两种,对应的数字量分别为-32000~+32000和0~32000。满量程时电压输出和电流输出的分辨率分别为12位和11位。EM 235模块的输入信号有16挡量程。
模拟量输入模块的分辨率为12位,单极性全量程输入范围对应的数字量输出为0~32000。双极性全量程输入范围对应的数字量输出为-32000~+32000。电压输入时输入阻抗不小于10M1,电流输入时输入电阻为2502。A/D转换时间小于2502s,模拟量输入的阶跃响应时间为1.5ms(达到稳态值的95%时)。
模拟量转换为数字量的12位读数是左对齐的。最高有效位是符号位,0表示正值,1表示负值。在单极性格式中,最低位是3个连续的0,相当于A/D转换值被乘以8;在双极性格式中,最低位是4个连续的0,相当于A/D转换值被乘以16。
模拟量输出数据字是左对齐的,最高有效位是符号位,0表示正值。最低位是4个连续的0。在将数据字装载到DAC寄存器之前,低位的4个0被截断,不会影响输出信号值。
每个模拟量扩展模块的寻址按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出的不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始,精度为12位,模拟量值为0~32000的数值。
输入格式: AIW[起始字节地址];
输出格式: AQW[起始字节地址]。
每个模拟量输入模块,按模块的先后顺序地址是固定的,顺序向后排。例如:AIW0,AIW2,AIW4…。
每个模拟量输出模块占两个通道,即使第一个模块只有一个输出AQW0(EM235只有一个模拟量输出),第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。EM235模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接输入信号的通道要将X+和X-短接。