1.模拟量模块DIP设置
应用模拟量模块时,需要根据输入信号的规格设置右下角的DIP开关(组态开关)。DIP开关只对输入信号有效,并且对所有的输入通道都是相同的。也就是说DIP开关的设置应用于整个模块,一个模块只能设置为一种测量范围。DIP开关的设置只有在重新上电后才能生效。DIP开关在模块上的位置与样式,如图6-17所示。
图中所示DIP开关共6个,从左往右为SW1~SW6;向上拨为ON,向下拨为OFF;对于EM 231来说只有前面的SW1、SW2和SW3起作用,后面的3个不起作用。而EM235这6个DIP开关都有用。表6-3列出了S7-200 PLC模拟量输入扩展模块EM 231的DIP开关设置。EM 231 RTD与EM 231 TC的DIP开关设置与EM 231的DIP设置方法相同,具体设置请查看相关资料。

图6-17 DIP开关
表6-3 EM231DIP开关设置

由上表可以看出,在S7-200模拟量模块的输入信号中没有4~20mA电流型输入信号的DIP选择开关,若用到4~20mA模拟量输入信号时,DIP开关设置与0~20mA的设置一样,但对应的4mA的变换必须通过程序实现。
在S7-200中,单极性模拟量输入/输出信号的数值范围是0~32000;双极性模拟量信号的数值范围是-32000~+32000。如果信号为0~20mA电流信号,则对应PLC中的数值就是0~32000;如果信号为4~20mA,按比例关系则对应PLC中的数值范围就是6400~32000。同样道理,如果信号为±10V,则对应PLC的数值范围就是-32000~+32000。
双极性就是信号在变化的过程中要经过“零”,单极性不过“零”。由于模拟量转换为数字量,是有符号整数,所以双极性信号对应的数值会有负数。对于单极性与双极性可以理解为当变频器控制电动机时,可以实现电动机的正转或者反转,如果指定一个方向的旋转,如正转,即为单极性;如果既有正转又有反转则为双极性。
2.模拟量数据格式与寻址
模拟量输入/输出数据是有符号整数,占用一个字的长度(两个字节),所以地址必须从偶数字节开始。格式如下:
输入:AIW[起始字节地址],如:AIW6。
输出:AQW[起始字节地址],如:AQW0。
每个模拟量输入模块,按模块的先后顺序和输入通道数目,以固定的递增顺序向后排地址。例如:AIW0、AIW2、AIW4、AIW6、AIW8等。
对于EM231 RTD(热电阻)两通道输入模块,不再占用空的通道,后面的模拟量输入点是紧接着排地址的。
每个有模拟量输出的模块占两个输出通道。即使第一个模块只有一个输出AQW0,第二个模块的输出地址也应从AQW4开始寻址(AQW2被第一个模块占用),依此类推。
温度模拟量输入模块(EM 231 TC、EM 231 RTD)也按照上述规律寻址,但是所读取的数据是温度测量值的10倍(摄氏或华氏温度)。如:520相当于52.0度。
3.模拟量的A/D转换
模拟量值和A/D转换值的转换,在应用中十分广泛,也是PLC学习中的重中之重。S7-200 PLC中,0~20mA模拟量所对应的数字量输出为0~32000;4~20mA对应的数字量输出为6400~32000,6400的得来为32000/20×4=6400。至于为什么是32000,可以这么理解,根据模拟量的数据格式知道,一个模拟量占用一个字的长度共16位,最高位为符号位,其余15位为数据位,215=32768,为了计算方便,取整为32000。
假设模拟量的标准电信号是A0~Am(如:4~20mA),A-D转换后数值为D0~Dm(如:6400~32000),设模拟量的标准电信号是A,A-D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:
A=(D-D0)×(Am-A0)/(Dm-D0)+A0
根据该方程式,可以方便地根据D值(D值为PLC采集上来的数值)计算出A值。将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:
D=(A-A0)×(Dm-D0)/(Am-A0)+D0
具体举例,模拟量信号4~20mA经A-D转换后,得到的数值是6400~32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式得:
A=(D-6400)×(20-4)/(32000-6400)+4
假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号:
6400×16/25600+4=8mA
又如,某温度传感器,-6~60℃与4~20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
T=[60-(-10)]×(AIW0-6400)/25600+(-10)可以用T直接显示温度值。
模拟量值和A-D转换值的转换比较难以理解。下面通过一个实例讲解来说明模拟量在程序中是如何转换的。(https://www.xing528.com)
例6-1有两个传感器均为四线制仪表,一个量程为0~1.0MPa,0~20mA输出;另一个量程为0.2~1.0MPa,4~20mA输出。控制系统采用CPU 226 CN带一4通道模拟量输入扩展模块EM 231,现要求编写此两个模拟量的采集程序。
(1)主要硬件配置
①编程软件V4.0 STEP 7-Micro/WIN SP9。
②一台CPU 226 CN+一块4通道EM 231。
③PC/PPI电缆+计算机。
④两台传感器。
⑤相关工具。
(2)步骤
1)硬件连接,其接线如图6-18所示,不用通道短接。

图6-18 接线图
2)分析。首先,两个传感器的量程为0~1.0MPa,0.2~1.0MPa,均不过“零”,故为单极性;其次,一个是0~20mA输出,应对应PLC的数值范围为0~32000,一个是4~20mA的输出,对应PLC的数值范围为6400~32000;再次,均为电流信号,所以EM 231的DIP开关SW1、SW2、SW3应设置为ON、OFF、OFF,并且设置完成后断电重新上电。
3)编写程序。对于模拟量输入信号的采集的编程,有两种方法可以实现。第一种,编程者自己编写模拟量输入采集程序;第二种,可以调用S7-200 PLC编程软件所提供的名称为“Scale”的库文件。“Scale”的库文件是西门子公司专为S7-200 PLC模拟量输入采集所编写的子程序。使用前,必须先添加此库文件;添加完成后,可以直接在程序中调用。此库文件可以在西门子官方网站上下载,添加完成后,在编程软件的“库”下面,可以找到名称为“Scaling”的库文件,如图6-19所示。

图6-19 模拟量库文件
子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。表6-4列出了Scale_I_to_R个引脚的详细说明。
表6-4 Scale_I_to_R引脚定义

图6-20所示为4~20mA模拟量输入转换为内部百分比值,其中的VW100可以为模拟量输入通道地址(如AIW0);图6-21为将内部百分比值转换为4~20mA模拟量输出,直接输出模拟量输出地址AQW0。

图6-20 4~20mA模拟量输入转换为内部百分比值

图6-21 将内部百分比值转换为4~20mA模拟量输出
4)自己编写模拟量程序,如图6-22所示。
5)调用库文件模拟量程序,如图6-23所示。

图6-22 自己编写模拟量程序

图6-23 调用库文件模拟量程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
