版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.西门子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开关设置EM235扩展模块,开关1
3、到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 ONOFF ONOFF OFF
5、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输入数据字格式下图给出了12位数据值
7、在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转换后数值为D0Dm(如:640032000),
9、设模拟量的标准电信号是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时,相应的模拟电信号是64001
10、62560048mA。又如,某温度传感器,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)46400。由此得出,AIW0的数值
11、转换为实际压力值(单位为KPa)的计算公式为:VW0的值(AIW0的值6400)(5000100)/(320006400)100(单位:KPa)编程实例您可以组建一个小的实例系统演示模拟量编程。本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带420mA变送输出的温度显示仪表,该仪表的量程设置为0100度,即0度时输出4mA,100度时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下:温度显示值(AIW0-6400)/256编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致。MODBUS
12、RTU通讯协议在S7-200中的应用1引言 工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。Modbus协议是应用于电子控制器上的一种通讯约规。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为主流的工业标准之一。他为符合Modbus协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。 2ModbusRTU协议在S7-200中的应用原理 2.1ModbusRTU协议与S7-200相互关系简介 S7-200CPU上的通讯口Port0可以支持M
13、odbusRTU协议,成为ModbusRTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 如果想在S7-200CPU与其他支持ModbusRTU的设备使用ModbusRTU协议通讯,需要由有S7-200CPU做Modbus主站。S7-200CPU做主站必须由用户自己用自由口模式,按相关协议编程。 在S7-200控制系统应用中,ModbusRTU从站指令库只支持CPU上的通讯0口(Port0)。要实现ModbusRTU通讯,需要Step7-Micro/WIN32V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32V3.2In
14、structionLibrary(指令库)。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指令树中的库指令 (3)编程时使用SM
15、0.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映像区为128/128,缺省值为1
16、28; 最大AI字数:参与通讯的最大AI通道数,可为16或32; 最大保持寄存器区:参与通讯的V存储区字(VW); 保持寄存器区起始地址:以&VBx指定(间接寻址方式); 初始化完成标志:成功初始化后置1; 错误代码:0=无错误。 (4)注意的问题 调用Step7-Mciro/WIN32V3.2InstructionLibrary(指令库)需要分配库指令数据区(LibraryMemory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。 由子程序参数HoldStart和MaxHold指定的保持寄存器区,是在S7-200
17、CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通讯。注意Modbus中的保持寄存器区按“字”寻址,即MaxHold规定的是VW而不是VB的个数。3ModbusRTU协议测试 包含ModbusRTU从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus测试软件可以检验S7-200的ModbusRTU通讯是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。 (以ModScan32测试软件为例作以检测说明) 3.1测试软件 测试软件ModScan32如图3所示。 图3
18、ModbusRTU测试软件:ModScan32 图3中,ModScan32测试软件的画面中相关参数意义如下: Address:ModBus中存储区的起始地址; DeviceId:PLCModBus的端口地址; Length:参与通讯的V存储区字的长度。 3.2参数设置 对ModScan32测试软件的通讯参数进行相关设置,要与S7-200的ModbusRTU指令库MBUS_INIT中所设定的参数相统一,这样即可进行通讯检测。ModScan32通讯参数设置如图4所示。4ModScan32通讯参数设置 4MODBUSRTU地址与S7-200的地址对应关系 MODBUS地址总是以00001、30004
19、之类的形式出现。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. 保持寄存器变量传输1. 硬件设置例程
21、中的 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 and MBUS_SLAVE
22、。在 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 Micro/WIN 帮助:“MODB
23、US从站协议的错误代码”。 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 函数库要求 STEP 7
26、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”(包括库),然后安装“STEP 7 Micr
27、o/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的通信口(Port0、Port1)
28、支持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网络读写通信: 使用Ne
29、tR/NetW指令,编程实现 使用Micro/WIN中的Instruction Wizard(指令向导)中的NETR/NETW向导 NetR/NetW指令要点有关网络读写(NetR/NetW)指令的详细情况必须参考S7-200系统手册。每条网络读写指令最多能够读或者写16个字节的数据;每个CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。只有通信主站能够使用网络读写指令。缺省情况下,S7-200 CPU的通信口设置为从站模式。因此在编程时,需要把通信口设置为通信主站模式。在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主
30、站既可以读写从站的数据,也可以读写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。一个主站CPU可以读写网络中任何其他CPU的数据。由于串行通信的特点,通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。所有的通信活动都需要PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令只是告诉操作系统有需要处理的通信任务。因此,网络读写指令采取通信数据缓冲区的方式,在操作系统的通信管理功能与PLC的用户程序之间交换信息。网络读写指令(NetR/NetW)的数据缓冲区类似。数据缓冲区除了状态字节和地址、数据长度之外,剩余的部分就是纯数据字节。能
31、够传送到通信对象,或者从对象接收的仅仅是数据字节,不包括数据个数等信息。远程站(通信对象)的数据缓冲区则是纯数据区域。网络读写指令可以传递V存储区、M存储区、I/Q区的数据。这取决于设定数据地址时,使用间接寻址方式将地址信息写入到缓冲区中的相应位置,地址信息中包括了存储区和数据的类型。网络读写编程大致有如下几个步骤:1. 规划本地和远程通信站的数据缓冲区 2. 写控制字SMB30(或SMB130)将通信口设置为PPI主站 3. 装入远程站(通信对象)地址 4. 装入远程站相应的数据缓冲区(无论是要读入的或者是写出的)地址 5. 装入数据字节数 6. 执行网络读写(NetR/NetW)指令 各C
32、PU的通信口地址在各自项目的System Block(系统块)中设置,下载之后起作用。调用NetR/NetW指令多数网络读写的不正常现象,除了硬件设备和软件设置的问题外,与在用户程序中调用网络读写指令的方式有关。包括看起来通信正常,但经过一段时间(可能是几天)后也会出现故障的现象。使用用NetR/NetW时,应当注意: 避免简单地定时激活NetR/NetW:由于串行通信的特点(如上所述),无法得知何时真正结束。如果定时进行网络读写通信,必须判断此次通信是否正常结束 同时有效的NetR/NetW指令不能超过8个,否则通信请求队列会超出操作系统的管理能力 使用SM0.0调用网络读写指令,虽然能长期
33、工作,但不能超过8个指令,而且会出现监控时指令块变为红色的现象,最好还是加上必要的读写状态判断条件。 最简单可靠的方法,是使用Micro/WIN中的NetR/NetW Wizard(网络读写指令向导)。使用NetR/NetW向导可以编辑最多24条网络读写指令,其核心是使用顺序控制指令,这样在任一时刻只有一条NetR/NetW指令有效。如果要求超出24条网络读写指令,可以自己按照此方法编程。清除网络读写指令数据缓冲区中的(故障)状态字节可以恢复“死掉”的通信。但还是建议用户采用比较正规的编程方法。NETR/NETW Wizard - 网络读写指令向导只有在PPI通信中做主站的CPU才需要用NET
34、R/NETW向导编程。在Micro/WIN中的命令菜单中选择Tools Instruction Wizard,然后在指令向导窗口中选择NETR/ NETW指令:图1. 选择NETR/NETW指令向导在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择“Yes” ,确认编译。如果已有的程序中存在错误,或者有尚未编完的指令,编译不能通过。如果你的项目中已经存在一个NETR/ NETW的配置,你必须选择是编辑已经存在的NETR/ NETW的配置还是创建一个新的。第一步 定义用户所需网络操作的数目图2. 选择网络读写指令条数向导允许用户最多配置24个网络操作,程序会自动调配这些通信操作。第二步
35、定义通信口和子程序名。图3. 选择通信端口,指定子程序名称a. 选择应用哪个通信口进行PPI通信:port0或port1注意:一旦定义选择了通信口,则向导中所有网络操作都将通过该口通信,即通过向导定义的网络操作,只能一直使用一个口与其它CPU进行通信。b. 向导为子程序定义了一个缺省名,你也可以修改这个缺省名。 第三步 定义网络操作图4. 设定网络读写操作细节每一个网络操作,你都要定义以下信息:a. 定义该网络操作是一个NETR 还是一个 NETW。 b. 定义应该从远程PLC读取多少个数据字节(NETR)或者应该写到远程PLC多少个数据字节(NETW)每条网络读写指令最多可以发送或接收 16
36、 个字节的数据c. 定义想要通信的远程PLC地址。 d. 如果定义的是NETR(网络读)操作:定义读取的数据应该存在本地PLC的哪个地址区,有效的操作数为VB,IB,QB, MB,LB如果定义的是NETW(网络写)操作:定义要写入远程PLC的本地PLC数据地址区,有效的操作数为VB,IB,QB, MB, LB。 e. 如果定义的是NETR(网络读)操作:定义应该从远程PLC的哪个地址区读取数据,有效的操作数为VB,IB,QB, MB, LB如果定义的是NETW(网络写)操作:定义在远程PLC中应该写入哪个地址区,有效的操作数为VB,IB,QB, MB, LB f. 操作此按钮可以删除当前定义的
37、操作 g. 操作此按钮可以进入下一步网络操作的定义 第四步 分配V存储区地址图5. 分配数据区地址配置的每一个网络操作需要12字节的V 区地址空间,上例中配置了两个网络操作,因此占用了24个字节的V 区地址空间。向导自动为用户提供了建议地址,用户也可以自己定义V 区地址空间的起始地址。注意:要保证用户程序中已经占用的地址、及网络操作中读写区所占用的地址以及此处向导所占用的V 区地址空间不能重复使用,否则将导致程序不能正常工作。第五步 生成子程序及符号表图6. 生成子程序和符号表上图显示了NETR/ NETW向导生成的子程序、符号表,一旦点击完成按钮,上述显示的内容将在你的项目中生成。第六步 配
38、置完NETR/ NETW向导,需要在程序中调用向导生成的NETR/ NETW参数化子程序图7. 网络读写子程序调用子程序:图8. 调用子程序后生成下面的程序a. 必须用SM0.0来使能NETR/ NETW,以保证它的正常运行 b. 超时:0=不延时;1-36767=以秒为单位的超时延时时间。如果通信有问题的时间超出此延时时间,则报错误 c. 周期参数,此参数在每次所有网络操作完成时切换其开关量状态 d. 此处是错误参数,0=无错误;1=错误 NetR/NetW指令向导生成的子程序管理所有的网络读写通信。用户不必再编其他程序进行诸如设置通信口的操作西门子S7-200和MM440通讯USS协议详细
39、说明 #1 传统的PLC与变频器之间的接口大多采用的是依靠PLC的数字量输出来控制变频器的启停,依靠PLC的模拟输出来控制变频器的速度给定,这样做存在以下问题:1、需要控制系统在设计时采用很多硬件,价格昂贵2、现场的布线多容易引起躁声和干扰3、PLC 和变频器之间传输的信息受硬件的限制,交换的信息量很少。4、在变频器的启停控制中由于继电器接触器等硬件的动作时间有延时,影响控制精度。5、通常变频器的故障状态由一个接点输出,PLC能得到变频器的故障状态,但不能准确的判断当故障发生时,变频器是何种故障。 如果PLC通过与变频器进行通讯来进行信息交换,可以有效地解决上述问题,通讯方式使用的硬件少,传送
40、的信息量大,速度快,等特点可以有效地解决上述问题,另外,通过网络,可以连续地对多台变频器进行监视和控制,实现多台变频器之间的联动控制和同步控制,通过网络还可以实时的调整变频器的参数。 目前各个厂家的变频器都相继的开发出了支持连网的功能,比如,很多变频器都有了支持现场总线(如:DEVICENET、PROFIBUS、AS_I)等的接口协议,可以很方便的与PLC进行数据通信。现在主要介绍西门子S7-200和MicroMaster变频器之间的通讯协议USS,使用USS通讯协议,用户可以通过程序调用的方式实现S7-200和MicroMaster变频器之间的通信,编程的工作量小,通讯网络由PLC和变频器内
41、置的RS485通讯口和双绞线组成,一台S7-200最多可以和31台变频器进行通讯,这是一种费用低、使用方便的通讯方式。一、USS通讯协议介绍 USS通讯协议的功能,所有的西门子变频器都带有一个RS485通讯口,PLC作为主站,最多允许31个变频器作为通讯连路中的从站,根据各变频器的地址或者采用广播方式,可以访问需要通讯的变频器,只有主站才能发出通讯请求报文,报文中的地址字符指定要传输数据的从站,从站只有在接到主站的请求报文后才可以向从站发送数据,从站之间不能直接进行数据交换。在使用USS协议之前,需要先安装西门子的指令库。USS协议指令在STEP7MICRO/WIN32指令树的库文件夹中,ST
42、EP7MICRO/WIN32指令库提供14个子程序、3个中断程序和8条指令来支持USS协议。调用一条指令时,将会自动地增加一个或几个子程序。USS协议使用CPU的下列资源:1)USS协议占用PLC的通讯端口0或1,使用USSINIT指令可以选择PLC的端口是使用USS协议还是PPI协议,选择USS协议后PLC的相应端口不能在做其它用途,包括与STEP7-WICRO/WIN32的通讯,只有通过执行另外一条USS指令或将PLCCPU的模式开关拨到RUN或STOP状态,才能钟新在进行PPI通讯,当PLC和与变频器通讯中断时,变频器将停止运行,所以在本例中选择CPU226 因为它有两个通讯端口,当第一
43、个口用于USS通讯时,第二个端口可以用于程序监控,USS指令要占用23003600字节的程序存储空间和400个字节的变量存储区间2)变频器的通讯与CPU的扫描时异步的,完成一次变频器的通讯通常需要几个CPU的扫描周期,通讯时间和链路上变频器的台数、波特率和扫描周期有关,本例中通讯的波特率设定为19200,变频器的台数为3台,经实际调试检测通讯时间大约为50ms.二、使用USS协议的步骤:1)安装指令库后在STEP7-Micro/win32指令树的/指令/库/USS PROTOOL文件夹中将出现8条指令,用它门来控制变频器的运行和变频器参数的读写操作,这些子程序是西门子公司开发的用户不需要关注这
44、些指令的内部结构,只需要在程序中调用即可。2)调用USSINIT初始化改变USS的通讯参数,只需要调用一次即可,在用户程序中每一个被激活的变频器只能用一条USS-DRIVE-CTRL指令,可以任意使用USS-RPM-X 或USS-WPM-X指令,但是每次只能激活其中的一条指令。3)为USS指令库分配V存储区。在用户程序中调用USS指令后,用鼠标点击指令书中的程序块图标,在探出的菜单中执行库内存命令,为USS指令库使用的397个字节的V存储区指定起始地址,4)用变频器的操作面板设置变频器的通讯参数,使之与用户程序中所用的波特率和从站地址相一致。5)连接CPU和变频器之间的通讯电缆,为了提高看干扰能力最好采用屏蔽电缆。三、USS指令说明1、初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规范公司采购外协制度
- 药品采购销售制度
- 采购部门制度大全
- 采购部门监督制度
- 采购销售部例会制度
- 采购项目全流程管理制度
- 采购食品原料制度
- 重复采购制度
- 钢厂废钢采购制度
- 食堂食材采购管理制度
- 江苏省重点高中2026届高三九校联考政治试卷(含答案)
- 2026中食(河北)产业发展有限公司招聘市场运营部专员考试参考试题及答案解析
- (一模)东北三省三校2026年高三第一次联合模拟考试物理试卷(含答案)
- 【《中国工商银行个人消费信贷风险与防范研究》14000字(论文)】
- 2026保安员资格考试培训试题及答案
- 2026湖南省卫生健康委直属事业单位招聘185人考试参考题库及答案解析
- 《城市地下道路工程设计标准》DBJ41-T218-2019
- CCAA - 质量管理体系基础考前秘卷答案及解析 - 详解版(65题)
- 降脂药物应用科普
- 2026年江苏航空职业技术学院单招职业适应性测试题库新版
- 扁平化指挥调度系统解决方案
评论
0/150
提交评论