M系列模块软件安装及使用






























典型应用
本篇文章将介绍一种多模块操作方式。我们会把M-2002电压采集模块和M-2101热电偶采集模块通过SDS-1011转换器一起连接到电脑上使用。
图 1 实验设备
一、模块和传感器介绍
进行试验前,需要首先介绍一下M-2002模块。它是M2000系列模拟量输入远程IO模块中的一种,可以用来测量电流大小。
图 2 M2002
实验中与M-2002模块相连的传感器是压力变送器。它输出的是4-20mA的标准电流信号。
图 3 压力变送器
这种传感器已经内置了集成电路,可以将毫伏信号转换成标准电压、电流或频率信号。
M-2101模块是专门用来采集热电偶的I/O模块。
图 4 M2101
对于它的介绍我们会放在采集热电偶数据时详细介绍。
二、设备间的连接
接下来我们开始连线,首先把M-2002模块与SDS-1011转换器组合在一起,然后将两个模块的电源线(Vs+)和地线(GND)连接。接着把M-2002模块的485-A、B接口,与转换器的485-A、B接口相连。
将电源线正极接入变送器1接口,将变送器的2接口与模块的AI0+接口连接,将电源负极与模块的AI0-接口连接。根据压力变送器的使用说明,我们需要为它提供12~24V的直流电源。最后用USB线缆将它们和电脑连通。
图 5 M2002与压力变送器连接
三、多模块接入时的软件操作
打开软件,点击Device List搜索设备。
图 6 点击Device List
然后点击Search搜索COM端口设备。
图 7 点击Search搜索设备
因为实验中要用到两张M系列的数据采集模块,所以我们要单独修改每个模块的ID号。
进入Basic Config页面。
图 8 点击Basic Config按钮
通过Slave ID控件将模块的ID号修改为2。在这个页面中,大家也可以修改模块的波特率(Baud)、校验(Parity)以及看门狗等内容。
图 9 Basic Config页面定义
而在本次的实验中使用默设置认就好,点击Set保存修改。这时软件会提醒我们重新刷新设备,点击“确定”,点击“Exit”退出界面后重复刚才搜索设备的操作即可。
图 10 保存设置
然后将M-2101模块与M-2002模块组合并通过SDS转换器连接到电脑上。它的连线方法很简单,只需要将M-2101模块的485接口和电源同M-2002模块一起连接到SDS转换器上就可以了。
图 11 M-2101模块连线
回到软件界面,再次点击“Device List”控件。完成搜索设备操作后,就可以看到两张采集模块的信息了。
图 12 两个模块信息
因为有两张采集卡,如果想要修改其中一张模块的某些设置时,则可以在“Module selection”控件中选中这张模块。
图 13 通过Module selection控件选择模块
然后点击“Basic Config”、“Function Config”这两个控件,在弹出的界面中修改就可以了。
图 14 “Basic Config”与“Function Config”
“Function Config”页面的内容比较简单,在之后的文章中会有说明,这里就不展开了。最后点击“Data logger”采集数据,在弹出的页面中把两张采集卡所使用的采集通道加入任务列表。点击“Acquisition”,进入采集页面。
图 15 添加采集任务
点击“RUN”开启数据采集。
图 16 开始采集
因为传感器工作需要电源,所以在启动采集前,要先打开电源开关。当温度传感器被放置在热水中时,便能够看到M-2101采集的温度迅速上升。给压力变送器一个压力,也能看到数据的相应变化。
图 17 实验数据
停止采集后,我们介绍一种单次采集的采集模式,需要使用Cyckles和Period(s)这两个控件。其中Cycles控件决定软件采集次数,Period(s)控件决定软件每次采集间隔几秒。
图 18 单次采集
我们可以来实验一下,将Cycles设置为10,将Period(s)设置为1,点击RUN,启动采集。就可以看到软件在运行10秒后自动停止采集。
图 19 实验
回顾上述实验,其中一个不足之处,那就是在压力测试中没有将采集到的电流值转变为传感器应该输出的压力值。解决方法可以是直接在软件中进行单位变换。不过,我们要先求出这两个变量之间的关系,已知变送器的量程为0~6kPa,输出电流为0~20mA,设量程为y,输出电流为x。根据已知量
解得:k=375,b=-1500
所以两变量得关系为y=375x-1500。y的单位是Pa;x的单位是mA。将k和b的值填入软件中。
图 20 单位变换
再次进行实验时,就可以看到软件显示的是当前传感器测试到的压力值。
四、修改模块ID的必要性
不知道大家有没有注意到,当我们将两张采集模块连接到转换器上使用时,是先连接一个采集模块,更改其ID号后才连接另外一个模块的。
图 21 多模块连接
如果我们将两张采集卡同时接入转换器中,会发生什么情况呢?我们来演示一下。
首先需要把两个模块都恢复出厂设置(恢复出厂设置的方法可在模块手册中查阅),然后将连接好的设备同时接入采集卡中。打开软件,搜索设备后我们发现,软件只能识别到其中一个设备。
图 22 只能识别一个设备
出现这种情况的原因是,软件通过每个模块的ID号来区分它们。而在模块出厂时,其默认ID都是1,所以软件就不能同时识别它们。当我们需要使用多块卡同时工作时,首先要为每个模块分配ID号,并在软件中单独依次修改。
以上就是关于多卡操作的实验内容。
文章将介绍如何使用PLC访问并控制M系列采集卡。
一、试验设备的连接
准备的实验设备有:S7-200 SMART型PLC、M-1001和M-2101模块、SDS-1001转换器、K型热电偶以及一个直流电源。
图 1 实验设备
我们首先说明各设备是如何连接的,将直流电源连接到PLC的24V电源接口,正极接L+,负极接M。因为RS485端口是集成在PLC的九针超小D型连接器上的,所以我们制作了一个连接器方便设备接线。具体的针脚分配,大家可以在STEP 7 SMART软件的在线帮助文档中的连接器引脚分配章节中看到。连接器的红线接M2101模块的485-A信号,黑线接485-B信号。因为用以太网电缆连接PLC和电脑,所以需要调整电脑的IP地址,它的具体操作我们之后说明,现在只要将电缆插入网口即可。此次实验我们依然使用SDS-1001为采集模块供电,将它们的+Vs、GND端连接就可以了。最后将K型热电偶接入M2101模块中的DI 1端口。为模块通电,这样设备接线就完成了。
图 2 接线参考图
二、使用Smart软件与模块建立连接
S7-200 SMART型PLC所用的编程软件是Smart软件,这个软件是免费使用的,大家可以到西门子的官网下载。
图 3 SMART软件下载
打开软件,在文件选项中打开范例M2101,此时设备正处于未连接的状态,双击主要窗口中的通信选项,在出现的的对话框中点击查找CPU,就能看到PLC的IP地址。我们可以点击旁边的闪烁指示灯,验证是否找到了CPU。如果PLC的指示灯交替闪烁,就说明我们查找CPU已经成功。
图 4 连接PLC
下一步的操作是设置电脑的IP地址。进入网络和Internet设置界面,进入网络和共享中心。
图 5 网络和共享中心
选项点击以太网。
图 6 以太网
选择属性。
图 7 以太网状态
在弹出的窗口中找到Internet协议版本4(TCP/IPv4)项目,点击属性。
图 8 以太网属性
选择使用下面的IP地址,输入相应的IP地址:192.168.2.111,子网掩码输入225.225.225.0,默认网关是:192.168.2.1。点击确定。
图 9 IPv4属性
回到软件页面,如果成功的话,软件会显示已连接。
图 10 已连接
三、PLC范例程序说明以及实验
我们以程序2101为例,解释一下它的内容。在程序段1中的SM是PLC中的特殊标志继电器,SM0.0表示始终接通,与其连接的参数EN在输入接通(TURE)时,每次扫描均会执行该指令;
图 11 Always_On命令
SM0.5表示提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0,与它连接的参数First我们之后说明。
图 12 Clock_1s 命令
特殊寄存器(SM)的其它地址位,大家可以到在线帮助文档中查看。指令MBUS_CTRL,可以在主要窗口的库文件中的Modbus RTU Master(v2.0)中找到,右键选择帮助就可以看到它的说明文档。需要声明的是:在程序中,我们将PLC当作主站,M模块(如:M-2101)则作为从站使用。阅读说明内容我们知道MBUS_CTRL是程序在执行MBUS_MSG指令前必须调用的指令。
图 13 MBUS_CTRL命令
参数“模式”(Mode)用于选择通信协议,我们输入的是SM0.0,触点为常闭状态,所以输入值是1,意思是启用Modbus协议。参数“波特率”(Baud)的设置值要和从站设备的波特率一致才可以得到正确信息,所以输入值为M模块的默认波特率:9600。参数“奇偶校验”(Parity)的设置应与从站设备的奇偶校验相同,从站默认为偶校验,以数值2表示。参数“Port”是设置物理通信端口,实验中使用的是PLC中集成的RS-485接口,所以需要输入0值。参数“超时”(Timeout)为等待从站做出响应的毫秒数,范例中设置的是典型值1000ms。
图 14 MBUS_CTRL命令
所以指令Mbus_CTRL的作用是初始化主站,使得主从站设备的参数一致,两者可以进行正常的通信。
下面我们来介绍指令MBUS_MSG,它的作用是启动对Modbus从站的请求并处理响应。参数“First”是当主站有新请求发送时,First通过边沿检测元素(例如是上升沿),将导致程序发送一次,所以我们为此参数设置的是SM0.5。参数“从站”(Slave)是Modbus从站设备的地址,M系列模块的默认地址为1。参数“RW”是设置读取或写入信息,0表示读取,1表示写入。参数“地址”(Addr)是起始Modbus地址,范例中写入的数值就是我们在用户手册中给出的寄存器地址:30101。参数“计数”(Count)用于分配要在该请求中读取或写入的数据元素数,也就是根据地址参数的输入值向后延伸的个数。
图 15 MBUS_MSG命令
打开范例M2100的用户手册,找到M2101远程IO模块Modbus映射表就可以看到地址、通道、属性等内容。
图 16 M2101寄存器列表
如我们现在打开的这个范例程序,它是要操作从热电偶输入寄存器30101到30108这8个寄存器,所以对Count的输入值为8。参数“DataPtr”是间接地址指针,指向CPU中与读/写请求相关的数据的V存储器,指针必须是VB类型。这里的V、VB、VW是V存储器中不同类型数据的表达方式:V表示位数据,VB表示字节数据,VW表示字数据,一个字由两个字节构成,一个字节则有8位。在范例程序中,我们使用VB数据类型存储从模块读到的值,然后用VW数据类型表示出来。进行这样的数据操作是因为,当PLC发出读取请求时,采集模块返回的值是16位的整型数据,需要用两个VB类型的数据表示,而一个VW数据类型就表示两个字节,刚好可以表示模块返回的数据。我们可以在状态图表中验证一下。调出图表窗口,下载程序,运行CPU,开启图表的监视状态,因为我们只为模块连接了一个温度传感器,所以在状态图表中只有第2行显示出实际温度值,当我们提高环境温度,第2行的当前值也会随之改变。其它没有接入温度传感器的端口,其寄存器的返回值是-2731。
图 17 传感器温度测试
接着验证我们刚才提到的V存储器的数据类型,在状态图表中输入VB1000,按回车键,就可以按顺序添加地址。将它们的格式更改为十六进制,VB1000为F5,VB1001为55,而VW1000是它俩的集合F555。所以说两个VB数据类型,构成一个VW数据类型。
图 18 数据类型
更换M1001采集模块。
接下来我们打开范例M1001DI,它可以读取模块上的DI(离散量输入)的状态。连接设备后,打开状态图表的实时数值监控,当前值为1。当我们将DI 0接地,就会看到当前值变为0,其它的DI端口也是一样。这里的地址是位格式的,因为我们只需要一位的数据就可以表示端口当前所处的状态(闭合或是断开)。
图 19 DI端口
打开范例M1001DO,此范例可以控制DO(继电器)的状态。建立通信后,下载程序到CPU,运行CPU,打开监控按钮,可以看到此时的继电器都处于关闭状态。在新值中输入1,点击图表中的写入按钮,就会看到当前值的改变而且M模块的继电器也会动作到开启状态。
图 20 DO端口
这两个范例程序的寄存器地址大家可以在用户手册M1000的M1001远程IO模块Modbus映射表中找到。
以上就是模块与PLC连接的相关内容。文档中使用的范例及用户手册均可以在官网下载。
一、电流信号测量思路
本篇文章我们要介绍一些测量电流信号的方法。大家应该知道,多数采集卡都可以直接采集电压信号。但4~20mA的电流信号也很常见,那么这些电流信号要如何进行采集分析呢?基本思路是将电流信号转变为电压信号,然后再使用采集卡进行相应的处理。
文章将说明两种转换方案,供大家参考。
二、抽样电阻方案
第一种方案是使用取样电阻将电流转换为电压。这一方案主要利用了欧姆定律,即:U=I*R。
在公式中我们已知电阻大小为:R。当电流I流过电阻时,就会产生电压U。
而电阻是一种线性元件,这样电压的变化就可以反应电流的变化了。再使用采集卡采集电压信号,就完成了对电流信号的采集。关于欧姆定律具体的表述是:在同一电路中,通过某段导体的电流跟这段导体两端的电压成正比,跟这段导体的电阻成反比。
该定律是由德国物理学家乔治•西蒙•欧姆提出。
取样电阻方案在实际工作中应该如何使用呢?
我们以4-20mA的电流信号为例,它是广泛用于传感器/变送器领域的一种通用的标准信号。
如果选择取样电阻方案,那么取样电阻的阻值一般为250欧。
使用欧姆定律计算一下便知道4-20mA的电流信号就被转换为1-5V的电压信号。所以在这样的方案中,电阻是很重要的一个元器件。在选择电阻时既要考虑到电阻的准确性,也要考虑到电阻的温度漂移值。电阻温漂是指:温度每变化1度所对应的电阻值的变化量,通常用PPM(百万分之一)/℃为单位。倘若不方便外接电阻,Smacq也提供M2000系列的远程AI模块,该模块内置有120Ω的取样电阻。不过此模块只适合与采样率较低的情况。
再者,我们还要说明一下传感器、电阻、采集卡之间到底是如何连接的?
4-20mA的传感器/变送器可分为二线制,三线制和四线制。它们的连接方式如下图:
我们简单说明四线制的连接方式:将直流电源的正负极与传感器的正负极相连,将传感器的正负输出端(out+/-)连接到取样电阻的两端,将传感器的任意AI通道与取样电阻的out+端连接,将采集卡的AI Sense端与取样电阻的out-端连接。
特别要提到一点,当传感器是二线制时,应当注意电阻的连接问题,防止电源电流直接进入采集卡将采集卡烧坏。在使用二线制接线方式时,可以先测量一下电阻两端的电压是否符合采集卡量程,然后再使用采集卡采集传感器信号。
当然,在电流采集场景中还有许多非标准的电流信号需要采集。我们可以粗略地将其分为小电流采集和大电流采集。
由欧姆定律可知,当电流较小时,电阻R就要大一些。这样产生的电压才能适配采集卡的量程。如果采集环境要求采样电阻阻值不能太高时,我们就要选用一些素质较好的,能够测量小电压的采集设备进行采集。
也可以使用放大器放大电压信号,比如SRD-1004程控放大器,它的放大倍数可设置为10倍,100倍,1000倍。
当电流较大时,电阻R就要小一些。这种情况下一般会使用分流器,将电流信号转变为电压信号。
分流器其实就是一个能通过极大电流的阻值很小的电阻,以50A的分流器为例,它可以通过的最大电流是50A,满量程输出电压是75mV。由此可知它相当于一个0.0015欧的电阻。因为分流器输出的电压很小,我们还需要使用放大器放大它的信号。
三、电流变送器方案
当电阻不方便串入被测回路中时,我们就需要用到第二种方案:使用电流传感器将电流信号转变为电压信号。根据工作原理的不同,电流传感器有多种分类。
这里我们主要介绍一种霍尔电流传感器。
霍尔电流传感器基于霍尔效应,利用霍尔磁平衡原理实现对各种类型的电流的测量。
霍尔效应是由美国物理学家霍尔在1879年发现的。
它的具体表述是:当电流垂直于外磁场B通过半导体时,载流子发生偏转。垂直于电流和磁场的方向会产生一附加电场,从而在半导体的两端产生电势差,这个电势差也被称为霍尔电势差。
在使用霍尔电流传感器时,在输入端通入控制电流,当有一磁场B穿过该器件感磁面,则在输出端出现霍尔电势。霍尔电势的大小与控制电流和磁通密度的乘积成正比,通过测量霍尔电势的大小就可以间接测量载流导体电流的大小。这种电流传感器经过了电-磁-电的绝缘隔离转换,比较安全。但它是一种有源器件,需要外部供电,使用上不如取样电阻方便。
在一些特殊应用中,电流的频率会很高,而一般的电流传感器的带宽只有20k左右,无法满足高频率响应的要求,这个时候就可以选择电流探头。
霍尔效应是由美国物理学家霍尔在1879年发现的。
它的频率响应比较高,可以达到几十兆的带宽,但是电流探头的使用成本也要高很多。在后续的实验中,我们分别使用电阻和电流传感器,完成对电流信号的采集。
四、第一组实验
首先使用电阻将电流信号转化为电压信号。需要的实验设备有:电阻、USB-3123数据采集卡、直流电源。
实验中以直流电源模拟传感器发出的标准电流信号,电阻使用的是高精度低温漂的阻值为250Ω的电阻。下面开始连线,首先将电源的正负极连接到电阻两端,电源设置成电流4mA,电压24V。启动电源,用万用表测量电阻两端的电压大小,这一步是为了确认电阻与电源之间正常连接,防止烧毁采集卡。
关闭电源后将电阻的正极与采集卡的AI 0相连,将电阻的负极与采集卡的AI Sense端相连,然后将AI Sense端与AGND相连,最后将采集卡与电脑连接。
打开采集卡软件,调整软件设置。
选择单端模式,
勾选AI 0通道,其他设置均不变。
设置坐标为不自动调整y标尺,
并将标尺设置为-10~10。点击启动。
可以看到数据此时位于零坐标点,
将电源电流调整至4mA,采集卡采集到的数据为1V。
电源电流调整为20mA,采集到的数据则为5V,采集结果与之前计算的情况一致。
这样我们就用电阻将,电流信号转换为电压信号了。
接着我们要完成的实验是,使用数据采集卡检测220V、50Hz的交流电信号,做这个实验的目的是要和开关电源相连的交流电信号做对比,观察这两个交流电信号的波形有何异同。实验用到的设备有,功率为50W、阻值为1kΩ的水泥电阻,额定电流为2A的电流传感器,USB-3123数据采集卡,输出电压为±15V的开关电源。
各设备间的连线是这样的,将水泥电阻与电源直接串联,电流通过电阻从电流传感器的NI+端流入,NI-端流出,电流传感器副边的+15V与-15V端口分别于开关电源的V1端和V2端相连,公共地(0V)端与电源开关的COM端连接,输出端(M)与采集卡的Ai 0端相连。将Ai Sense端与开关电源的COM端连接,并且将采集卡的Ai Sense与AGND短接,最后将采集卡与电脑连接。
然后打开采集卡软件,连接采集卡后设置相关参数。选择单端模式,勾选Ai0通道,修改采样率为10000Sa/s,其它参数不变。
将纵坐标设置为-5~5,并取消自动调整纵坐标,调整横坐标为0~100。为开关电源供电,点击启动。
可以看到数据在0坐标上,为水泥电阻通入交流电后,数据在±0.8之间波动。放大画布可以看到一个明显的正弦波形。
可以看到数据此时位于零坐标点,
五、第二组实验
接下来我们看看电流传感器是怎样使用的,需要用到的实验设备有:两个直流电源、两个电流传感器、一个水泥电阻和一张数据采集卡。
首先说明一下各个器件的参数及功能,左边的开关电源输出±15V的电压,它的主要作用是为电流传感器提供电源;右边的开关电源输出±24V的电压,它的主要作用是作为测试电流,我们可以看到这个设备的输入与输出,分别与两个电流传感器串联;下方电流传感器的额定电流是2A,它测量的是±24V开关电源设备的输入,也就是220V、50Hz的交流电;上方传感器的额定电流是5A,它测量的是通过水泥电阻的电流;水泥电阻的参数是:额定功率50W(瓦),阻值12Ω;采集卡使用的依然是USB-3123数据采集卡。
接着我们说明一下各设备间的连线,电流传感器的副边有4个端口分别是:电源正(+15V)、电源负(-15V)、输出端(M)、公共地(0V)。我们将电源正端(+15V)与电源V1端连接,将电源负端(-15V)与电源V2端连接,将输出端(M)与采集卡的模拟输入端口(AI)连接,将公共地(0V)与电源的COM端连接。
需要注意的是,实验中使用了两个电流传感器。我们将与交流电连接的电流传感器的输出端与采集卡的AI 0端口连接,将与直流24V连接的电流传感器的输出端,与采集卡的AI 7端口连接,两传感器副边其他端口的连线都相同。另外,在将电流传感器串入电路中时,要使用传感器的原边,也就是标有NI+、NI-的一边。串联时,电流从NI+端流入,NI-端流出。
实验中的水泥电阻作为负载使用,直接与开关电源串联。我们可以计算一下这一电路中的电流值,电源输出电压24V,电阻12Ω,所以电路中电流的大小为2A。传感器的额定电流5A,输出电压为5V,所以采集卡采集到的电压应为2V,我们可以看看最后的采集结果是否相同。
采集卡的连接方式是:将其AI Sense端与供电电源的COM端相连,并将AI Sense端与AGND端短接,以上就是各实验设备的连线方式。
下面打开软件连接采集卡并设置相关参数:选择单端模式;勾选AI 0和AI 7通道;
采样率设置为10000,其他设置不做修改;将软件横坐标设置为0~1000,纵坐标设置为-5~5并取消自动调整坐标。点击启动,开关电源没有接通时,电流传感器没有检测到电流,采集卡采集值为0。
启动电源,我们会看到软件中有波形输出,
放大波形,可以看到交流电在±3V左右上下波动,直流电则稳定在2V,与预估值一致。
通过与之前实验中交流电信号的对比,我们能清楚的看到两个电信号波形间的差别。
以上内容就是Smacq提供的电流信号转电压信号的方案。
近些年电动汽车有了长足的发展,消费者购置纯电动汽车的意向也越来越强。相比于传统汽车的三大件,纯电动汽车的新三大件变为:动力电池、电控系统与电机系统。