西门子S7-200模拟量编程_第1页
西门子S7-200模拟量编程_第2页
西门子S7-200模拟量编程_第3页
西门子S7-200模拟量编程_第4页
西门子S7-200模拟量编程_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西门子S7-200模拟量编程本文以EM23期例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置1路模拟量EM23砒最常用的模拟量扩展模块,它实现了 4路模拟量输入和 输出功能。下面以EM235为例讲解模拟量扩展模块接线图,如图1。EM 235模拟组合4输入.1辅出 (6ES7 235-0KD22-0XA0 )PS PS L+ MI RA A+ A- RB B+ B- RC C+ G- RD D+ D- I250欧姆(内* )Im L* JI MO vo偏阳I 七&q

2、uot;24 VDC =电源图1负极直接接“ + ” 端;图1演示了模拟量扩展模块的接线方法, 对丁电压信号,按正、 入X+和X;对丁电流信号,将RX和X+短接后接入电流输入信号白未连接传感器的通道要将 X+和X-短接对丁某一模块,只能将输入端同时设置为一种量程和格式, 即相同的输入量 程和分辨率。(后面将详细介绍)EM235勺常用技术参数:模拟量输入特性模拟量输入点数4输入范围电压(单极性)010V 05V 01V0 500mV S 100mV 卜 50mV电压(双极性)土 10V 土 5V 土 2.5V 土1V 土 500mV 土 250mV 土 100mV 土 50mV 土 25mV电流

3、020mA数据字格式双极性全量程范围-32000+32000单极性 至量程范围032000分辨率12位A/D转换器模拟量输出特性模拟量输出点数1信号范围电压输出土 10V电流输出020mA数据字格式电压-32000 +32000电流032000分辨率电流电压12位电流11位下表说明如何用DIP开关设置EM235T展模块,开关1到6可选择输入模拟 量的单/双极性、增益和衰减。EM235FF 关单/双极性选择增益选择衰减选择SW1SW2SW3SW4SW5SW6ON单极性OFF双极性OFFOFFX1OFFONX10ONOFFX100ONON无效ONOFFOFF0.8OFFONOFF0.4OFFOFF

4、ON0.2由上表可知,DIP开关SW啾定模拟量输入的单双极性,当 SW汕ON时, 模拟量输入为单极性输入,SW饱OFF寸,模拟量输入为双极性输入。SW利SW硬定输入模拟量的增益选择,而 SW1 SW2 SW软同决定了模拟 量的衰减选择。根据上表6个DIP开关的功能进行排列组合,所有的输入设置如下表:单极性两里程车刖入分辨率SW1SW2SW3SW4SW5SW6ONOFFOFFONOFFON0 至U 50mV12.5 VOFFONOFFONOFFON0 到 100mV25 p VONOFFOFFOFFONON0 到 500mV125uAOFFONOFFOFFONON0到1V250 p VONOFF

5、OFFOFFOFFON0到5V1.25mVONOFFOFFOFFOFFON0 至U 20mA5p AOFFONOFFOFFOFFON0 到 10V2.5mV双极性两里程车刖入分辨率SW1SW2SW3SW4SW5SW6ONOFFOFF -ONOFF -OFF土 25mV12.5 p VOFFONOFFONOFFOFF土 50mV25 p VOFFOFFONONOFFOFF土 100mV50卜VONOFFOFFOFFONOFF土 250mV125 卜 VOFFONOFFOFFONOFF土 500250 p VOFFOFFONOFFONOFF土 1V500 TONOFFOFFOFFOFFOFF土 2

6、.5V1.25mVOFFONOFFOFFOFFOFF土 5V2.5mVOFFOFFONOFFOFFOFF土 10V5mV6个DIP开关决定了所有的输入设置。也就是说开关的设置应用丁整个模块, 开关设置也只有在重新上电后才能生效。输入校准模拟量输入模块使用前应进行输入校准。其实出厂前已经进行了输入校准, 如果OFFSET日GAIN电位器已被重新调整,需要重新进行输入校准。其步骤如下:A、切断模块电源,选择需要的输入范围。B、接通CPlffl模块电源,使模块稳定15分钟。C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。读取适当的输入通道在 CPl的测量值。E、调节OFFSET(

7、偏置)电位计,直到读数为零,或所需要的数字数据值。F、 将一个满刻度值信号接到输入端子中的一个,读出送到CPU勺值。G调节GAIN(增益)电位计,直到读数为 32000或所需要的数字数据值。H、必要时,重复偏置和增益校准过程。EM235俞入数据字格式下图给出了 12位数据值在CPU的模拟量输入字中的位置0数据值2位000AIW XXMSBLSB15 143 20数据值12位0000AIW XX单极数据MSBLSB154 30.双极数据图2可见,模拟量到数字量转换器(ADC的12位读数是左对齐的。最高有效位 是符号位,0表示正值。在单极性格式中,3个连续的0使得模拟量到数字量转 换器(AD。每变

8、化1个单位,数据字则以8个单位变化。在双极性格式中,4 个连续的0使得模拟量到数字量转换器每变化 1个单位,数据字则以16为单位 变化。EM235俞出数据字格式图3给出了 12位数据值在CPU的模拟量输出字中的位置:AQW XXAQW XXMSBMSB15_数据值11位电流输出数据格式数据值12位LSB4 30I 0 I Q I 0 I 0 IQQQQLS804 3电压输出数据格式图3数字量到模拟量转换器(DAC的12位读数在其输出格式中是左端对齐的, 最高有效位是符号位,0表示正值。模拟量扩展模块的寻址每个模拟量扩展模块,按扩展模块的先后顺序进行排序, 其中,模拟量根据 输入、输出不同分别排

9、序。模拟量的数据格式为一个字长,所以地址必须从偶数 字节开始。例如:AIWQ AIW2 AIW4、AQW0AQW2。每个模拟量扩展模 块至少占两个通道,即使第一个模块只有一个输出 aqwqH二个模块模拟量输出 地址也应从AQW奸始寻址,以此类推。图4演示了 CPU22屯面依次排列一个4输入/4输出数字量模块,一个8输 入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一 个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。CPU 224O1帜孵程堤3颇4QU13 0AlWDAQWO03 QAlWSAQW412.102.113.1AIW2AOW2anAJW10A0W

10、612.202.2四AIW403.2AJW1212.302.313.3AJW63 3AJW14住.402413.4Q3.4134Q3.&02838由02.713.7Q3.74输入/ 4输出碗入晰出4模报输入 1模拟输出4模拟输入1模拟输出扩展2图4模拟量值和A/D转换值的转换假设模拟量的标准电信号是 A卜Am(如:4-20mA, A/D转换后数值为D0 Dm(如:6400-32000),设模拟量的标准电信号是 A, A/D转换后的相应数值 为D,由丁是线性关系,函数关系 A= f (D)可以表示为数学方程:A= (D D0) X (Arrv A0) / ( D叶 D。+ A0。根据该方

11、程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出 函数关系D= f (A)可以表示为数学方程:D= (A A0) X (Drrv D。/ ( Arrv A0) + DQ具体举一个实例,以S7-200和4-20m徵例,经A/D转换后,我们得到的 数值是 6400-32000,即 A0= 4, A 20, D0= 6400, Dm= 32000,代入公式,得 出:A= (D 6400) X (20 4) / ( 32000 6400) +4假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号 是 6400X 16/25600+ 4 = 8mA乂如,某温度传感器,1

12、060C与4-20m圄目对应,以T表示温度值,AIW0 为PLC模拟量采样值,则根据上式直接代入得出:T=70X (AIW(P 6400) / 25600- 10可以用T直接显示温度值。模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举 例子,就会理解。为了让您方便地理解,我们再举一个例子:某压力变送器,当压力达到满量程5MPW,压力变送器的输出电流是20mA AIW0的数值是32000。可见,每毫安对应的 A/D值为32000/20 ,测得当压力为 0.1MPa时,压力变送器的电流应为 4mA A/D值为( 32000/20) X 4 = 6400。由 此得出,AIW0的数

13、值转换为实际压力值(单位为 KPa的计算公式为:VW(勺值=(AIW0 的值6400)(5000 100)/(32000 6400) + 100 (单位:KP®编程实例您可以组建一个小的实例系统演示模拟量编程。本实例的的 CPU是CPU222仅 带一个模拟量扩展模块EM235该模块的第一个通道连接一块带 4-20mA$送输 出的温度显示仪表,该仪表的量程设置为 0100度,即0度时输出4mA 100 度时输出20mA温度显示仪表的钳电阻输入端接入一个 220欧姆可调电位器,简单编程如下:温度显示值=(AIW0-640。/256 编译并运行程序,观察程序状态, VW30即为显示的温度值

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

15、相互关系简介S7-200 CPl±的通讯 口 Port0 可以支持 Modbus RTUW、议,成为 Modbus RTU 从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电 台等慢速通讯设备传输。如果想在S7-200 CPl其他支持 Modbus RTl勺设备使用 Modbus RTUW、议通 讯,需要由有 S7-200 CPUtt Modbus主站。S7-200 CPU做主站必须由用户自 己用自由口模式,按相关协议编程。在S7-200控制系统应用中,Modbus RTU从站指令库只支持 CPU上的通讯0 口 (Port0)。要实现 Modbus RTUff

16、i讯,需要 Step7-Micro/WIN32 V3.2 以上版本 的|编程 软 件, 而 且 须 安 装Step7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功 能是通过指令库中预先编好的程序功能块实现的。2.2 Modbus RTlft、议在S7-200中应用的基本过程 首先检查S7-200控制系统中所用 Micro/WIN的软件版本,应当是 Step7-Micro/WIN V3.2 以上版本。(2) 检查Micro/WIN的指令树中是否存在 Modbus RTU从站指令库(图1),库 中应当包括MBUS_INIT和MBUS_S

17、LAVH个子程序。如果没有,须安装 Micro/WIN32 V3.2 Instruction Library(指令库)软件包,如图 1 所示。项 控数器器操 辑/数 串好较序点时数辑钟讯避动位数断换符-偏比表程浮计计逻时通位移移整中转宇库+ | USS Protocol (v2 0)- _| Modbus Protocol (v1.0) MBUSJNITG MBUS_SUWE* 口调用子例行疽序图1指令树中的库指令(3) 编程时使用SM0.1调用子程序MBUS_INna行初始化,使用SM0.CH调用研究MBUS_SLAV卧指定相应参数。关丁参数的详细说明,可在子程序的局部 变量表中找至。示例参

18、见图2:SMO 1B1 VB100- 192002+200+0 - +0- +14 &VB1000-ENNITModeDone-Ad drE rearBaudParityDelayMaxtGMa城1MaxH old-M100-MB11网籍 2 调用 MODBUS_SL£kVeSMOOMBUS_SLWE| ENDone -MIO 1E -MB12图2调用MODBUS讯指令库图2中参数意义如下:模式选择:启动/停止MODBUS1=启动;0=停止; 从站地址:MODBUS站地址,取值1247; 波特率:可选 1200, 2400, 4800, 9600, 19200, 38400,

19、 57600; 奇偶校验:0=无校验;1 =奇校验;2=偶校验; 延时:附加字符问延时,缺省值为0;最大I/Q位:参与通讯的最大I/O点数,S7-200的I/O映像区为128/128,缺 省值为128;最大AI字数:参与通讯的最大AI通道数,可为16或32;最大保持寄存器区:参与通讯的V存储区字(VW); 保持寄存器区起始地址:以&VB对旨定(间接寻址方式);初始化完成标志:成功初始化后置1; 错误代码:0=无错误。注意的问题调用 Step7-Mciro/WIN32 V3.2 Instruction Library(指令库)需要分配库指令数据区(LibraryMemory)。库指令数据

20、区是相应库的子程序和中断程序所要用到的变量存储空间。如果在编程时不分配库指令数据区,编译时会产生许多 相同的错误。由子程序参数HoldStart和MaxHold指定的保持寄存器区,是在 S7-200 CPU 的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行 时会产生错误,不能正常通讯。注意 Modbus中的保持寄存器区按“字”寻址, 即MaxHold规定的是 VW而不是VB的个数。3 Modbus RTUW、议测试包含Modbus RTUM站指令库的项目编译、下载到CPW后,在编程计算机(PG/PC) 上运行一些Modbus测试软件可以检验S7-200的Modbus RT

21、Uffi讯是否正常,这 对查找故障点很有用。测试软件通过计算机申口(RS-232)和PC/PPI电缆连接CPU(以ModScan3刎试软件为例作以检测说明)3.1 测试软件测试软件ModScan3力口图3所示。|同回| S3:回|国园E3国Device Id:口fp File ConAcction Sfitup ViewHelpMODBUS Point TypeLength:(J3; HOLDING REGISTERNumber of Polls: 93Valid Slave Responses: 0Reset Ctrs40001:40002: 40003: 40004: 40005:4000

22、&: 40007<0000000000000000> <0000000000000000> <000000D000000000> <0000000000000000 <oooooooooooooooo> <0000000000000000> <0000000000000D00>40008400094001040011400124001340014<0000000000000000><0000000000000000><0000000000000000><0000000

23、000000000><OOOOOOOOOOOGOOOO><0000000000000000><0000000000000000>For Help, press FlFoils: 93Resps: 0图 3 Modbus RTUM试软件:ModScan32图3中,ModScan3剃试软件的画面中相关参数意义如下:Address:ModBus中存储区的起始地址;Device Id:PLC ModBu4勺端口地址;Length:参与通讯的V存储区字的长度。3.2 参数设置对ModScan32W试软件的通讯参数进行相关设置,要与 S7-200的Modbus R

24、TU指令库MBUS_INIM所设定的参数相统一,这样即可进行通讯检测。ModScan32通讯参数设置如图4所示。AddreLengtl40001:40002:40003:40004:40005:40006:40007:Polls: 5129 R*spw: 0For HeLp, press Fl4 ModScan32S讯参数设置4 MODBUSRTlM址与S7-200的地址对应关系MODBUS址总是以00001、30004之类的形式出现。S7-200内部的数据存储区与MODBUS 0、1、3、4共4类地址的对应关系如附表所示:附表 MODBUS址对应表MODBUS地址S7-200数据区00001

25、-00128Q0.0 -Q15.71OOO1-1OL2810.0 -115.730001-30032AIWO -AIW6240001-4XXXXT T + 2 幸(xxxx-1)说明:其中T为S7-200中的缓冲区起始地址,即 HoldStart。如果已知S7-200中的V存储区地址,推算 MODBUS址的公式如下:MODBUS 址=40000+(T/2+1)其中T为偶数。5结束语Modbus RTU乍为一种工业控制器的网络通讯协议,其在如今众多的控制器之间 进行联网、监控、相互通讯等方面发挥着重大作用,本文以典型的 S7-200控制 系统为例,详述了如何应用Modbus RTU®讯

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

27、持寄存器变量传输1. 硬件设置例程中的Modbus通讯是在两个S7-200 CPU的0号通讯口间进行的(最好每 个CPU都有两个通讯口)。在主站侧也可以用相应库文件 "MBUS_CTRL_PT和 ”MBUS_MSG_Rfi过1号通讯口通信。通讯口 1用Micro/WIN 与PG或PC建 立连接,两个CPU的通讯口 0通过Profibus 缆进行连接(电缆的针脚 连接 为3, 3, 8, 8 -见图01 )。另外,需要确定逻辑地 M相连。MasterSlaveMicro/ PE °WINPort 0 Micro/WIN2. 参数匹配对丁 MODBUSS讯,主站侧需要程序库&q

28、uot;MBUS_CTRL"和"MBUS_MSG"从站侧需 要程序库"MBUS_INIT" and "MBUS_SLAVE"在Micro/WIN中您需要为主站和从站新建一个项目,程序与参数设置见图.02。必须要保证主站与从站的“ Baud'和“Parity ”的参数设置要一致,并且程序块"MBUS_MSG'中的"Slave" 地址要与程序块"MBUS_INIT"中的"Addr" 所 设置的一必(见图.02)。在Micro/WIN “系统块”

29、中好的通讯口 0的波特率MBUS CTRLLSM00SM01MBUS INITtITOfI 一TmeodbiBUS CTRLFNNetwork 1-JITNel work 2 MBU- M . G| "J堕切fC石Neiwork 1-MOO-MEI<3:0-D物3M*dQ32-2-MaxHoldH奶伽Mode DoneEiictSMQOIC.0plcjs* comMBUS.-EN.MSG-First/-Mlave_二?-RWEg AcJdf-C顽-="1")0:U002IVB2与 MODBUS、议无关("Mode"MBUSM0.1MBSM

30、BUS.SLAVE ENDor>e*M0.1-M62卜面的表格列出了程序块各个参数选项及其含义MBUS_CTRL参敷i意义选项|改使能Mode-协议选择0=PP1J=MODBUSBaud传输速率kbps1200.2400,4S00,9500k19200.394G0,57600,115200Parity校二成无校验,1=奇校哈上偶校哈Timeout从站的量长响应时间msDone完成”标志位Error错误代妈MBUS_MSG参敷意攵EN便能First读与请求位Slave:从站地址RW"读"或“或A读二写Addr读写队站的数据地址0 . 128=字量输出 Q0.0 . Q1

31、6.7 1001 . 10126 = 字量输入. 1157 30001 . 30092 =模拟童输人 AIW0 .AIW6240001 . 49999 =保持容存器2Count位或字的个敷 Pxxkx, 1 xxkx) / words (3oxx, 4xxxx)DataPtrV存储区起始地扯指针Done完成'标志位Error错误代闷1)2)最大的地址取决丁所用CPU的类型及其最大值。3)参看STEP 7 Micro/WIN 帮助:“MODBUS站协议的错误代码”MBUS_SLAVE参数意义迭顶:EN|倾1Done完成标志位Error错误代妈3)参教EN使能Modei®议选择0

32、=FPlj=MODeUSAddr从站地址Baud佳输速率kbps1200,2400, 4800,9600,19200. 38400, 57300,115200PariM校验。二无校抽.1二奇校验,X偶校验belay超时时间msMaxlQ可使用的数字输入输出点数2)iVtaxAl可使用的彳真拟量输入点数药MaxHoid保益寄存瓣字街最大教量F)Holdstart保持寄存器的配始地址(40001)Dane完成标志位Error错误代码看 STEP 7 Micro/WIN 帮助:MODBUS站协议的错误代码”3. 库的存储地址项目完成后必须要在 Micro/WIN中定义库的存储地址,当定义完存储区后,

33、要 保证在任何情况下不能再被其它程序所使用(主站侧:"DataPtr" + "Count"从站侧:"HoldStart" +" MaxHol d")Library Memory AMmhUsModbus Slave P(xt 0 v1.0)The instruction library fdodbus Slave Pent D (v1.0)f requires 780 bytes of global Vnwmwv- Specif an where this artounl 必 V-饰g? cn be ued by

34、the libra快 Uick 就 Address' to use proyran) cfos r&ferenca to locate an unusedNock of the requifed size.Suggest AddressVB100 tHoughV88792dOK I Abbrechen4.保持寄存器值的传输将程序下载到相应的CPU后,可以在状态表中给主站侧的 V存储区赋值,然后 从站侧监视数值的变化。当主站的I0.0 使能后,VW2中的内容就被发送到从站并写入从站的 VW2。保持寄存器值的传输见图.04。指针"DataPtr" 代表了被读的V

35、区起始地址。参数"Count"指定了被写入地址"Addr" = "4xxxx"(保持寄存器)字的个数。相应V存储区的变量将被写到保持寄存器启始地址"Addr" = "40002" ("RW"="1")中。保持寄存器是以字为单位传输的,它与从站的V区地址对应。指针"HoldStart"指定了与保持寄存器起始地址 40001相对应的V存储区的初始地址。可以按下面公式计算从站的 V区目标指针:2 * (Addr - 40001) + Hold

36、Start = 2 * (40002 - 40001) + &VB0 = &VB2另外,要保证主站侧所要写入的数据区包含在"MaxHold"定义的数据区内:MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2MasterSlaveNetwoik 1 m?IJS iN TSMD.0I F100VW0=VW2=VW4=SMOllVW0 二VW2=VW4=plcjs.Addfeii : Foimrf | Curer? Vilue |VW0j 诫123VW2HexadecimalA/idtessCutr

37、erti VfliueH夺心d(? :砌 VW2W4关于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 Micro/WIN 为V3.2 或更高版本。jJ n*1;* A* BfMjj rk«kIjQ<t i Cowdi

38、eg|l ConWdjlj CAlTKIea fkwiftgPnl Malh辿照咿MrafriMi hri.iiclJ) UdHt-W Ctfr-sbchsZjj 14* mVJfl 赦 2*T<iM*d& 5M.R # 5*F.T*Jj TillLoan?i P> >L >j. !、,. Fe 小? 2il#edbvi Hsim E 1 WU 8 M6gCTR5M0电呻.FIj Nexts Slwrf FWOM Dlo MP 曲 HHn MBL<UVEU5S.MITrh USfijCTRlrEJ$5 FPM WEUS$_PP*_DVU55 >=f

39、ArrUSW.WFMgri USS PichwPM 1 Ml 部E'US$.CTRt_FlrU55 RPM WJF1(:c1 u$5 WM.fl PIc1 USS.WPMWPItU55._WM_&jP1r"i ,卜"i -图1:添加函数库这些库是附加函数库,并非组态软件STEP 7 Micro/WIN 的组成部分。您如果需要使用 Modbus RTU协议,必须购买“ SIMATIC STEP 7 Micro/WIN ADD O N: Function Library V1.1 (USS + MODBUS) for STEP 7 Micro/WIN 32” 软

40、件。这个可选附加函数库的订货号是6ES7830-2BC00-0YX0。安装顺序:先安装 “ STEP 7 Micro/WIN 32 Toolbox V1.0 ”(包括库 ),然后安装 “ STEP 7 Mic ro/WIN” 。注意:这个函数库包含可以在STEP 7 Micro/WIN V3.2 中使用的 Modbus RTU协议库和USS协议库。如果您安装了 STEP 7 Micro/WIN V4.0 SP5或者更高版本,那么操作库中就会包含卜列函数:Modbus RTU Master V1.2对应端口 0 和端口 1Modbus RTU Slave V1.0对应端口 0USS protoc

41、ol V2.3对应端口 0 和端口 1S7-200网络读写指令(NETR/NETW )PPI协议是专门为 S7-200开发的通信协议。 S7-200 CPU的通信口 ( Port0、Portl ) 支持PPI通信协议,S7-200的一些通信模块也支持 PPI协议。Micro/WIN 与CPU进行编 程通信也通过PPI协议。S7-200 CPU的PPI网络通信是建立在 RS-485网络的硬件基础上,因此其连接属性和需 要的网络硬件设备是与其他 RS-485网络一致的。S7-200 CPU之间的PPI网络通信只需要两条简单的指令,它们是网络读( NetR)和网络 写(NetW)指令。在网络读写通信

42、中,只有主站需要调用NetR/NetW 指令,从站只需编程处理数据缓冲区(取用或准备数据)。PPI网络上的所有站点都应当有 各自不同的网络地址。否则通信不会正常进行。 可以用两种方法编程实现 PPI网络读写通信:使用NetR/NetW 指令,编程实现使用 Micro/WIN 中的 Instruction Wizard (指令向导)中的 NETR/NETW 向导NetR/NetW指令要点有关网络读写(NetR/NetW )指令的详细情况必须参考S7-200系统手册。每条网络读写指令最多能够读或者写16个字节的数据;每个 CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。只

43、有通信主站能够使用网络读写指令。缺省情况下,S7-200 CPU的通信口设置为从站模式。因此在编程时,需要把通信口设置为通信主站模式。在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主站既可以读写从站的数据,也可以读写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。一个主站CPU可以读写网络中任何其他CPU的数据。由于串行通信的特点, 通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。所有的通信活动都需要 PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令 只是告诉操作系统有需要

44、处理的通信任务。因此,网络读写指令采取通信数据缓冲区的方式,在操作系统的通信管理功能与PLC的用户程序之间交换信息。网络读写指令(NetR/NetW )的数据缓冲区类似。数据缓冲区除了状态字节和地址、数据 长度之外,剩余的部分就是纯数据字节。能够传送到通信对象, 或者从对象接收的仅仅是数据字节,不包括数据个数等信息。远程站(通信对象)的数据缓冲区则是纯数据区域。网络读写指令可以传递 V存储区、M存储区、I/Q区的数据。这取决于设定数据地址时,使 用间接寻址方式将地址信息写入到缓冲区中的相应位置,地址信息中包括了存储区和数据的类型。网络读写编程大致有如下几个步骤:1. 规划本地和远程通信站的数据

45、缓冲区2. 写控制字SMB30 (或SMB130 )将通信口设置为 PPI主站3. 装入远程站(通信对象)地址4. 装入远程站相应的数据缓冲区(无论是要读入的或者是写出的)地址5.装入数据字节数6.执行网络读写(NetR/NetW )指令各CPU的通信口地址在各自项目的System Block (系统块)中设置,下载之后起作用。调用NetR/NetW指令多数网络读写的不正常现象,除了硬件设备和软件设置的问题外, 与在用户程序中调用网络 读写指令的方式有关。包括看起来通信正常,但经过一段时间(可能是几天)后也会出现故障的现象。使用用NetR/NetW 时,应当注意: 避免简单地定时激活 NetR

46、/NetW :由于串行通信的特点(如上所述),无法得知何 时真正结束。如果定时进行网络读写通信,必须判断此次通信是否正常结束 同时有效的NetR/NetW 指令不能超过8个,否则通信请求队列会超出操作系统的管 理能力 使用SM0.0调用网络读写指令,虽然能长期工作,但不能超过8个指令,而且会出现监控时 指令块变为红色的现象,最好还是加上必要的读写状态判断条件。最简单可靠的方法,是使用 Micro/WIN中的NetR/NetW Wizard (网络读写指令向导)。 使用NetR/NetW 向导可以编辑最多 24条网络读写指令,其核心是使用顺序控制指令,这 样在任一时刻只有一条 NetR/NetW

47、 指令有效。如果要求超出24条网络读写指令,可以自己按照此方法编程。清除网络读写指令数据缓冲区中的(故障)状态字节可以恢复死掉”的通信。但还是建议用户采用比较正规的编程方法。NETR/NETW Wizard -网络读写指令向导只有在PPI通信中做主站的 CPU才需要用NETR/NETW 向导编程。在Micro/WIN 中的命令菜单中选择 Tools > Instruction Wizard ,然后在指令向导窗口中选 择 NETR/ NETW 指令:Instruction WizardThis S7-200 Instruction wizard will allow configuring

48、 complex operations quickly and ea;i(jj. The vjizrd will present a series oF options For the requested Joimula. Upon complebior. the wizard will generate the pfogram code for the selected configurationThe following iw a li就 of the instruction formulae that the wizard $uppoH金 What instruction hrmUlaw

49、ould you like to conHgure?pipNETR/NETWHSCCon(igure multiple Network Read ond Network Write operationj-To begin configuring the selected formula, click Next.NextCancel图1,选择 NETR/NETW 指令向导在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择“Yes”,确认编译。如果已有的程序中存在错误,或者有尚未编完的指令,编译不能通过。如果你的项目中已经存在一个NETR/ NETW的配置,你必须选择是编辑已经存在的NET

50、R/ NETW的配置还是创建一个新的。第一步 定义用户所需网络操作的数目S7-200 Instruction Wizard (NETR/NETW)This formula will help configure miltiiple Network Reads (NETR) and Network Writes (NETW.The wizard will allow specifying up to 24 separate network operations. The type of operation, and the parameters necessary lo configure th

51、e operatian 网ill be specified For each. The wizard will then generate code to build the data table for each operation and code to coordinate all the operations so that they de not interfere with one another.How many Network Operations would you like to cor figure?弓3fev Nerf>Cancel图2.选择网络读写指令条数向导允

52、许用户 最多配置24个网络操作,程序会自动调配这些通信操作。第二步 定义通信口和子程序名。S7-200 Instruction Wizard (NETR/NETW)For network operations to execute properly, the PLC must be set to connrinijnicate in PPI Master Mode. The wizard 的ill generate ccd& to initialize PPI Master Mode and enable network operations for the $pecifiedThro

53、ugh which PLC port will these operations commuriicatejjj 占The 痴3d will also create a subroutine that will enecute the nelwock operations that you conjure.bCancel图3.选择通信端口,指定子程序名称a. 选择应用哪个通信口进行 PPI通信:port0或portl注意:一旦定义选择了通信口,则向导中所有网络操作都将通过该口通信,即通过向导定义的网络操作,只能一直使用一个口与其它CPU进行通信。b. 向导为子程序定义了一个缺省名,你也可以修改这个缺省名。第三步定义网络操作S7-200 Instruction Wizard (NETR/NETW)Network Operation 1 oJ2tion a NETR or a NETW?a.manubytes of data should be read from the remote PLC?Local PLCWhere should the data be stored in the local PLC? d.VBOtoMB 5R emote PLC AddressWhere s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论