ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:2.29MB ,
资源ID:28627550      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28627550.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西门子S7200模拟量编程doc.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西门子S7200模拟量编程doc.docx

1、西门子S7200模拟量编程doc西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。下面以EM235为例讲解模拟量扩展模块接线图,如图1。图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X和X;对于电流信号,将RX和X短接后接入电流输入信号的“”端;未连接传感器的通道要将X和X短接。对于某一模块,只能将输入端同时设置为一

2、种量程和格式,即相同的输入量程和分辨率。(后面将详细介绍)EM235的常用技术参数:模拟量输入特性模拟量输入点数4输入范围电压(单极性)010V 05V 01V 0500mV 0100mV 050mV 电压(双极性)10V 5V 2.5V 1V 500mV 250mV 100mV 50mV 25mV电流020mA数据字格式双极性 全量程范围-32000+32000单极性 全量程范围032000分辨率12位A/D转换器模拟量输出特性模拟量输出点数1信号范围电压输出 10V电流输出020mA数据字格式电压-32000+32000电流032000分辨率电流电压12位电流11位下表说明如何用DIP开关

3、设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。EM235开关 单/双极性选择增益选择衰减选择SW1SW2SW3SW4SW5SW6ON单极性OFF 双极性OFF OFF X1OFF ONX10 ONOFF X100ONON无效ONOFF OFF 0.8OFF ONOFF 0.4OFF OFF ON0.2由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。根据上表6个DIP开关的功能进行排列组

4、合,所有的输入设置如下表:单极性满量程输入分辨率SW1 SW2SW3 SW4 SW5 SW6 ONOFFOFFONOFFON0到50mV 12.5V OFFONOFFONOFFON0到100mV 25V ONOFFOFFOFFONON0到500mV125uA OFFONOFFOFFONON0到1V 250VONOFFOFFOFFOFFON0到5V1.25mV ONOFFOFFOFFOFFON0到20mA 5AOFFONOFFOFFOFFON0到10V 2.5mV 双极性满量程输入分辨率SW1 SW2SW3SW4SW5SW6ONOFF OFF ONOFF OFF 25mV 12.5V OFF O

5、NOFF ONOFF OFF 50mV 25VOFF OFF ONONOFF OFF 100mV 50V ONOFF OFF OFF ONOFF 250mV 125VOFF ONOFF OFF ONOFF 500 250VOFF OFF ONOFF ONOFF 1V 500V ONOFF OFF OFF OFF OFF 2.5V 1.25mV OFF ONOFF OFF OFF OFF 5V 2.5mV OFF OFF ONOFF OFF OFF 10V 5mV 6个DIP开关决定了所有的输入设置。也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。输入校准模拟量输入模块使用

6、前应进行输入校准。其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。其步骤如下:A、 切断模块电源,选择需要的输入范围。B、 接通CPU和模块电源,使模块稳定15分钟。C、 用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。D、 读取适当的输入通道在CPU中的测量值。E、 调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。F、 将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。G、 调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。H、 必要时,重复偏置和增益校准过程。EM235输入数

7、据字格式下图给出了12位数据值在CPU的模拟量输入字中的位置图2可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。最高有效位是符号位,0表示正值。在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。EM235输出数据字格式图3给出了12位数据值在CPU的模拟量输出字中的位置:图3数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。模拟量扩展模块的寻址每个模拟量扩展模块,按扩展模块的先后顺序进行

8、排序,其中,模拟量根据输入、输出不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。例如:AIW0,AIW2,AIW4、AQW0,AQW2。每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。图4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。图4模拟量值和A/D转换值的转换假设模拟量的标准电信号是A0Am(如:420mA),A/D转换后数值为D0D

9、m(如:640032000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系Af(D)可以表示为数学方程:A(DD0)(AmA0)(DmD0)A0。根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系Df(A)可以表示为数学方程:D(AA0)(DmD0)(AmA0)D0。具体举一个实例,以S7-200和420mA为例,经A/D转换后,我们得到的数值是640032000,即A04,Am20,D06400,Dm32000,代入公式,得出:A(D6400)(204)(320006400)4假设该模拟量与AIW0对应,则当AIW0的值为12800时

10、,相应的模拟电信号是6400162560048mA。又如,某温度传感器,1060与420mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:T=70(AIW06400)2560010可以用T 直接显示温度值。模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)464

11、00。由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:VW0的值(AIW0的值6400)(5000100)/(320006400)100(单位:KPa)编程实例您可以组建一个小的实例系统演示模拟量编程。本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带420mA变送输出的温度显示仪表,该仪表的量程设置为0100度,即0度时输出4mA,100度时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下:温度显示值(AIW0-6400)/256编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表

12、显示值是否一致。MODBUS RTU通讯协议在S7-200中的应用1引言 工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。Modbus协议是应用于电子控制器上的一种通讯约规。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为主流的工业标准之一。他为符合Modbus协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。 2ModbusRTU协议在S7-200中的应用原理 2.1ModbusRTU协议与S7-200相互关系简介 S7-200CPU

13、上的通讯口Port0可以支持ModbusRTU协议,成为ModbusRTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 如果想在S7-200CPU与其他支持ModbusRTU的设备使用ModbusRTU协议通讯,需要由有S7-200CPU做Modbus主站。S7-200CPU做主站必须由用户自己用自由口模式,按相关协议编程。 在S7-200控制系统应用中,ModbusRTU从站指令库只支持CPU上的通讯0口(Port0)。要实现ModbusRTU通讯,需要Step7-Micro/WIN32V3.2以上版本的编程软件,而且须安装Step7-Mi

14、cro/WIN32V3.2InstructionLibrary(指令库)。ModbusRTU功能是通过指令库中预先编好的程序功能块实现的。 2.2ModbusRTU协议在S7-200中应用的基本过程 (1)首先检查S7-200控制系统中所用Micro/WIN的软件版本,应当是Step7-Micro/WINV3.2以上版本。 (2)检查Micro/WIN的指令树中是否存在ModbusRTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32V3.2InstructionLibrary(指令库)软件包,如图1所示。 图1指令树中

15、的库指令 (3)编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用研究MBUS_SLAVE,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到。 示例参见图2: 图2调用MODBUS通讯指令库 图2中参数意义如下: 模式选择:启动/停止MODBUS,1=启动;0=停止; 从站地址:MODBUS从站地址,取值1247; 波特率:可选1200,2400,4800,9600,19200,38400,57600; 奇偶校验:0=无校验;1=奇校验;2=偶校验; 延时:附加字符间延时,缺省值为0; 最大I/Q位:参与通讯的最大I/O点数,S7-200的I/O映像

16、区为128/128,缺省值为128; 最大AI字数:参与通讯的最大AI通道数,可为16或32; 最大保持寄存器区:参与通讯的V存储区字(VW); 保持寄存器区起始地址:以&VBx指定(间接寻址方式); 初始化完成标志:成功初始化后置1; 错误代码:0=无错误。 (4)注意的问题 调用Step7-Mciro/WIN32V3.2InstructionLibrary(指令库)需要分配库指令数据区(LibraryMemory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。 由子程序参数HoldStart和MaxHold指定的

17、保持寄存器区,是在S7-200CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通讯。注意Modbus中的保持寄存器区按“字”寻址,即MaxHold规定的是VW而不是VB的个数。3ModbusRTU协议测试 包含ModbusRTU从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus测试软件可以检验S7-200的ModbusRTU通讯是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。 (以ModScan32测试软件为例作以检测说明) 3.1测试软件 测试软件Mod

18、Scan32如图3所示。 图3ModbusRTU测试软件:ModScan32 图3中,ModScan32测试软件的画面中相关参数意义如下: Address:ModBus中存储区的起始地址; DeviceId:PLCModBus的端口地址; Length:参与通讯的V存储区字的长度。 3.2参数设置 对ModScan32测试软件的通讯参数进行相关设置,要与S7-200的ModbusRTU指令库MBUS_INIT中所设定的参数相统一,这样即可进行通讯检测。ModScan32通讯参数设置如图4所示。4ModScan32通讯参数设置 4MODBUSRTU地址与S7-200的地址对应关系 MODBUS地

19、址总是以00001、30004之类的形式出现。S7-200内部的数据存储区与MODBUS的0、1、3、4共4类地址的对应关系如附表所示: 附表MODBUS地址对应表 说明:其中T为S7-200中的缓冲区起始地址,即HoldStart。 如果已知S7-200中的V存储区地址,推算MODBUS地址的公式如下: MODBUS地址=40000+(T/2+1) 其中T为偶数。 5结束语 ModbusRTU作为一种工业控制器的网络通讯协议,其在如今众多的控制器之间进行联网、监控、相互通讯等方面发挥着重大作用,本文以典型的S7-200控制系统为例,详述了如何应用ModbusRTU通讯协议以及检测方法,使得控

20、制器之间的通讯变得更加简易和清晰。 如何用S7-200实现Modbus通信?说明:用下面的例程你可以在 S7-200 CPU 之间建立一个简单的 Modbus 主从通讯。这个例子是关于 Modbus 功能码 6 的(写从站保持寄存器), 也可以作为其他所支持的功能码的基本参数设置步骤:1, 2, 3, 4, 5, 15 和16 。 要求:要使用 Modbus 协议必须先获得并在 STEP 7 Micro/Win 中安装指令库。Modbus 主站协议只被 STEP 7 Micro/Win V4.0 SP5 及其以上版本支持。 1. 硬件设置 2. 参数匹配 3. 指令库的存储地址 4. 保持寄存

21、器变量传输1. 硬件设置例程中的 Modbus 通讯是在两个 S7-200 CPU 的 0 号通讯口间进行的(最好每个 CPU 都有两个通讯口)。在主站侧也可以用相应库文件 MBUS_CTRL_P1 和 MBUS_MSG_P1通过1号通讯口通信。通讯口 1 用 Micro/WIN 与 PG 或 PC 建立连接,两个 CPU 的通讯口 0 通过 Profibus 缆进行连接(电缆的针脚 连接为3,3,8,8 - 见图 01)。 另外,需要确定逻辑地M相连 。 2. 参数匹配对于 MODBUS 通讯,主站侧需要程序库 MBUS_CTRL 和 MBUS_MSG,从站侧需要程序库 MBUS_INIT

22、and MBUS_SLAVE。在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。必须要保证主站与从站的“Baud”和 “Parity” 的参数设置要一致,并且程序块 MBUS_MSG 中的 Slave 地址要与程序块 MBUS_INIT 中的 Addr 所设置的一致 (见图. 02)。在 Micro/WIN“系统块”中设置的通讯口 0 的波特率与 MODBUS 协议无关 (Mode = 1)。 下面的表格列出了程序块各个参数选项及其含义。主站MBUS_CTRLMBUS_MSG2) 最大的地址取决于所用 CPU的 类型及其最大值。3)参看 STEP 7 Micr

23、o/WIN 帮助:“MODBUS从站协议的错误代码”。 MBUS_SLAVE看 STEP 7 Micro/WIN 帮助: “MODBUS从站协议的错误代码” 。 3. 库的存储地址项目完成后必须要在 Micro/WIN 中定义库的存储地址,当定义完存储区后, 要保证在任何情况下不能再被其它程序所使用 (主站侧: DataPtr + Count 从站侧:HoldStart + MaxHold)。4. 保持寄存器值的传输将程序下载到相应的 CPU 后,可以在状态表中给主站侧的 V 存储区赋值,然后从站侧监视数值的变化。当主站的 I0.0 使能后,VW2 中的内容就被发送到从站并写入从站的 VW2

24、。保持寄存器值的传输见图. 04。指针 DataPtr 代表了被读的 V 区起始地址。参数 Count 指定了被写入地址 Addr = 4xxxx (保持寄存器)字的个数。相应 V 存储区的变量将被写到保持寄存器启始地址 Addr = 40002 (RW = 1)中。保持寄存器是以字为单位传输的,它与从站的 V 区地址对应。指针 HoldStart 指定了与保持寄存器起始地址 40001 相对应的V存储区的初始地址。可以按下面公式计算从站的V区目标指针:2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2 另外,要

25、保证主站侧所要写入的数据区包含在 MaxHold 定义的数据区内:MaxHold = Addr - 40001 + Count = 40002 - 40001 + 1 = 2 关于STEP 7 Micro/WIN MOBDUS 库的更多信息可以参看 S7-200 系统手册 ( Entry ID 1109582) 和 STEP 7 Micro/WIN 帮助。 如何在 STEP 7 Micro/WIN 中找到 Modbus RTU 协议和 USS 协议操作库? 说明: 在 STEP 7 Micro/WIN 中,Modbus RTU 协议和 USS 协议操作库位于操作树的“库”文件夹中。MODBUS

26、 函数库要求 STEP 7 Micro/WIN 为 V3.2 或更高版本。 图1: 添加函数库 这些库是附加函数库,并非组态软件 STEP 7 Micro/WIN 的组成部分。 您如果需要使用 Modbus RTU 协议,必须购买“SIMATIC STEP 7 Micro/WIN ADD ON: Function Library V1.1 (USS + MODBUS) for STEP 7 Micro/WIN 32”软件。 这个可选附加函数库的订货号是 6ES7830-2BC00-0YX0。 安装顺序: 先安装“STEP 7 Micro/WIN 32 Toolbox V1.0”(包括库),然后

27、安装“STEP 7 Micro/WIN”。 注意: 这个函数库包含可以在 STEP 7 Micro/WIN V3.2 中使用的 Modbus RTU 协议库和 USS 协议库。 如果您安装了 STEP 7 Micro/WIN V4.0 SP5 或者更高版本,那么操作库中就会包含下列函数: Modbus RTU Master V1.2 对应端口 0 和端口 1 Modbus RTU Slave V1.0 对应端口 0 USS protocol V2.3 对应端口 0 和端口 1 S7-200网络读写指令(NETR/NETW)PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信

28、口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。S7-200 CPU的PPI网络通信是建立在RS-485网络的硬件基础上,因此其连接属性和需要的网络硬件设备是与其他RS-485网络一致的。S7-200 CPU之间的PPI网络通信只需要两条简单的指令,它们是网络读(NetR)和网络写(NetW)指令。在网络读写通信中,只有主站需要调用NetR/NetW指令,从站只需编程处理数据缓冲区(取用或准备数据)。PPI网络上的所有站点都应当有各自不同的网络地址。否则通信不会正常进行。可以用两种方法编程实现PPI网络读写通信: 使用NetR/NetW指令,编程实现 使用Micro/WIN中的Instruction Wizard(指令向导)中的NETR/NETW向导 NetR/NetW指令要点有关网络读写(NetR/NetW)指令的详细情况必须参考S7-200系统手册。每条网络读写指令最多能够读或者写16个字节的数据;每个CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1