PLC原理及应用11-12_第1页
PLC原理及应用11-12_第2页
PLC原理及应用11-12_第3页
PLC原理及应用11-12_第4页
PLC原理及应用11-12_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章 S7-200 PLC的通信及网络 随着工厂自动化的迅速发展,相当多的企业已经在大量地使用可编程设备,如PLC、工业控制计算机、变频器、机器人、柔性制造系统等。近年来,伴随着工业通信网络技术的成熟和完善,将不同厂家生产的数字设备连在一个网络上,相互之间进行数据通信,由企业集中管理,已经是很多企业必须考虑的问题。 PLC通信与网络技术的内容十分丰富,包括PLC之间、PLC与上位计算机之间以及PLC与其他智能设备之间的通信。PLC与计算机可以直接或通过通信处理单元、通信转接器相连构成网络,以实现信息的交换,并可以构成“集中管理、分散控制”的分布式控制系统,满足工厂自动化系统发展的需要,各PL

2、C或远程I/O模块按功能各自放置在生产现场进行分散控制,然后用网络连接起来,构成集中管理的分布式网络系统。 计算机、PLC等数字设备之间交换的信息是由“0”和“1”表示的数字信号,通常把具有一定编码、格式和位长的数字信号称为数字信息。数字通信就是将数字信息通过适当的传输线路,从一台机器传输到另一台机器,这些机器就是计算机、PLC或是具有数字通信功能的其它数字设备。数字通信系统的任务是把地理位置不同的数字设备连接起来,高效率地完成数据传输、信息交换和通信处理三项任务。数字通信系统一般由传输设备、传输控制设备和传输协议及通信软件等组成。7.1 通信基础知识 7.1.1 基本概念和术语 2异步通信和

3、同步通信 3信息传送方式 1并行通信与串行通信 4传输速率单工、半双工和全双工 波特率 7.1.2 异步串行通信接口标准1RS-232C通信接口 2RS-422通信接口 3RS-485通信接口 RS-485、RS-422、RS-232C主要技术参数规范RS-232CRS-422RS-485最大传输距离15m1200m(速率100 kbit/s)1200(速率100 kbit/s)最大传输速度20kbit/s10Mbit/s(距离12m)10Mbit/s(距离12m)驱动器最小输出/V521.5驱动器最大输出/V15106接收器敏感度/V30.20.2最大驱动器数量1132单位负载最大接收器数量

4、11032单位负载传输方式单端差分差分7.3西门子SIMATIC NET S7-200系列PLC可方便地实现相互之间通信以及与其它智能设备进行通信。 7.4 S7-200的网络通信 S7-200可支持多种通信协议,如点到点接口(PPI)、多点接口(MPI)和PROFIBUS-DP协议。这些协议的结构是基于7层开放系统互连参考模型(OSI),通过一个令牌环网来实现。它们都是基于字符的异步通信协议,其信息格式带有起始位、8位数据、偶校验和1个停止位,共11位。每一帧由起始和结束字符、源和目的站地址、数据长度和数据完整性校验几部分组成。只要波特率相同3个协议可在同一网络中运行而不会相互干扰。7.4.

5、1 S7-200的通信协议 PPI(Point-to-Point Interface)是一个主/从协议,其特点是网络中主站向从站发出请求,从站只能对主站发出的请求作出响应,自己不能发出请求。主站也可以对网络中其他主站的请求作出响应。主站可以是S7-300/400CPU、SIMATIC编程器或TD200文本显示器,网络中的S7-200 CPU默认为从站。1.PPI协议 PPI协议支持一个网络中的127个地址(0126),最多可以有32个主站。运行STEP 7-Micro/WIN的计算机的默认地址为0,人机界面的默认地址为1,PLC的默认地址为2,如图所示。 MPI(MultiPoint Inte

6、rface)是通过在计算机或编程器中插入的集成通信接口下(如CP6511),组成小型的通信网络。最多可以接32个节点,典型数据长度为64个字节,最大距离为100m。 2.MPI协议 自由端口(Freeport)协议是指通过编写用户程序来控制CPU通信端口的操作模式,可以用自定义的通信协议连接多种智能设备(计算机、打印机、条码阅读器、单片机、PLC等),如图所示。通过使用发送指令(XMT)和接收指令(RCV),设置接收中断、发送中断、字符中断方式,自由端口通信可以控制S7-200 CPU通信口的操作模式。3.自由端口协议 USS协议(Universal Serial Interface Prot

7、ocol,通用串行接口协议)是西门子公司所有传动产品的通用通信协议,是基于串行总线进行数据通信的。该协议是主-从结构的协议,规定了在USS总线上可以有一个主站和最多31个从站;总线上的每个从站都有一个站地址(在从站参数中设定),主站依靠它识别每个从站;每个从站也只对主站发来的报文做出响应并回送报文,从站之间不能直接进行数据通信,如图所示。 USS是德文Universelles-Serielles-Schnittstellen-Protokoll的缩写。4.USS协议 Modbus协议是由美国可编程控制器制造商莫迪康公司(Modicon Inc.)开发的,是工业分布式控制系统中各设备间的通信协议

8、,现已被众多的硬件厂商所支持并广泛应用。通过Modbus协议可以组成现场控制网络,实现PC机与PLC及其它现场设备,或者PLC与其它设备之间的互连。西门子S7-200系列PLC具有网络控制功能,而且能实现Modbus通信。 5.Modbus协议 Modbus协议规定了ASCII码和RTU(远程终端设备)两种传输模式。ASCII码模式规定了报文中的每8Bit字节都转换为两个ASCII码字符传送,数据校验方式采用LRC(逻辑冗余校验);而RTU模式则规定在报文中的每8Bit字节含有两个4Bit的16进制字符,数据校验采用CRC(循环冗余校验)。所以在相同的波特率下,RTU模式比ASCII码模式传送

9、更多的数据。 RTU模式规定每个字节的位包含:1个起始位,8个数据位,1个奇偶校验位(无校验则无),1个停止位(有校验时)或2个停止位(无校验时)。而在S7-200 PLC中规定所有设置均使用一个停止位。起始空闲设备地址功能代码数据CRC校验结束空闲3.5字符8Bit8Bitn8Bit16Bit3.5字符7.5 S7-200网络应用7.5.1网络指令及应用1网络指令网络通信指令有两条:网络读(NETR)和网络写(NETW),如图所示。 EN TBL PORT ENO NETR EN TBL PORT ENO NETW 网络读(Network Read)指令:允许输入端EN有效时初始化通信操作,

10、通过指定端口(PORT)从远程设备上读取数据并存储在数据表(TBL)中。 网络写(Network Write)指令:允许输入端EN有效时初始化通信操作,通过指定端口(PORT)向远程设备发送数据表(TBL)中的数据。 1)控制寄存器将特殊标志寄存器SMB30和SMB130的低2位设置为210或162,其他位为0,则可将S7-200设置为PPI主站模式。2)传送数据表(l)数据表(TBL)格式S7-200执行网络读写指令时,PPI主站与从站之间的数据以数据表的格式传送。传送数据表的参数定义如表所示。2控制寄存器和传送数据表(2)状态字节传送数据表中的第一个字节为状态字节。D位:操作完成位。0:未

11、完成;l:已完成。A位:有效位,操作已被排队。 0:无效;1:有效。E位:错误标志位。0:无错误;l:有错误。E1、E2、E3、E4位:错误码。如果执行读写指令后E位为1,则由这4位返回一个错误码。这4位组成的错误编码及含义如表所示。字节偏移量名称描述0状态字节DAE0E1E2E3E41远程站地址被访问网络的PLC从站地址2指向远程站数据区的指针存放被访问数据区(I、Q、M和V数据区)的首地址3456数据长度远程站上被访问数据区的长度7数据字节0对NETR指令,执行后,从远程站读到的数据存放到这个区域对NETW指令,执行后,要发送到远程站的数据存放在这个区域822数据字节1数据字节15错误编码

12、及含义E1 E2 E3 E4错误码说明00000无错误00011超时错误:远程站点无响应00102接收错误:奇偶校验错,祯或校验和出错00113离线错误:相同的站地址或无效的硬件引起冲突01004队列溢出错误:超过8条NETR和NETW指令被激活01015违反通信协议:没有在SMB30中允许PPI协议而执行NETR/NETW指令01106非法参数:NETR/NETW指令中包含非法或无效值01117没有资源:远程站点忙(正在进行上载或下载操作)10008第7层错误:违反应用协议10019信息错误:错误的数据地址或不正确的数据长度10101111AF未用 图给出一简单网络,其中计算机为主站(站0)

13、,在RUN方式下,CPU226(站2)在应用程序中允许PPI主站模式,可以利用NETR和NETW指令来不断读写另一CPU226(站3)中的数据。3NETR和NETW指令应用举例操作要求:站2:主站,通过通信端口(Port0Port1)不断读取站3的VB300中的计数值,当计数值达到6时,通过通信端口对其清0。站3:从站,对I0.0的通断不断计数,并存放在VB300中。接受缓冲区发送缓冲区VB200网络指令执行状态VB210网络指令执行状态VB2013,站3地址VB2113,站3地址VB202&VB300,站3被访问数据区首地址VB212&VB300,站3被访问数据区首地址VB2

14、061,数据长度VB2161,数据长度VB207计数值VB2170,将计数值清零主站2接收和发送缓冲区设置Network1LDSM0.1/初始化操作初始化操作MOVB2,SMB130/ PPI主站模式主站模式FILL+0,VW200,10/清空接收和发送缓冲区清空接收和发送缓冲区Network2 LDNSM0.1/除第一次扫描外除第一次扫描外ANV200.6/若网络读未被激活若网络读未被激活ANV200.5/且无错误且无错误MOVB3,VB201/送远程站的站地址送远程站的站地址MOVD&VB300,VD202/送远程站被访问数据区首地址送远程站被访问数据区首地址MOVB1,VB206

15、/送要读取的数据的字节数送要读取的数据的字节数NETRVB200,1/执行网络读指令执行网络读指令MOVBVB207,QB0/本机将从远程站读取的数据送给本机将从远程站读取的数据送给QB0 Network3LDB=VB207,6/如计数到达如计数到达6MOVB3,VB211/则送远程站的站地址则送远程站的站地址MOVD&VB300,VD212/送远程站被访问数据区首地址送远程站被访问数据区首地址MOVB1,VB216/送要发送的数据的字节数送要发送的数据的字节数MOVB0,VB217/将将0写入发送缓冲区写入发送缓冲区NETWVB210,1/执行网络写操作执行网络写操作/主站2Netw

16、ork1LDSM0.1/远程站初始化操作MOVB0,VB300/将VB300清零Network2LDI0.0/ I0.0每通断一次,VB300增1EUINCBVB300MOVBVB300,QB0/远程站/从站3 自由口模式允许应用程序控制S7-200串行通信口使用自定义通信协议与多种类型的智能设备通信,即在自由口模式下S7-200处于RUN方式时,用户可以用自由口发送/接收指令或发送接收中断指令结合自定义通信协议编写程序控制通信端口操作。 S7-200处于STOP方式时,自由口模式被禁止,通信口自动切换到正常的PPI协议操作,只有当S7-200处于RUN方式时,才能使用自由口模式。在实际使用时

17、,可以用反映S7-200上的工作方式开关当前所处位置的特殊存储器位SM0.7来控制自由口模式的进入:当方式开关处于RUN位置时,SM0.7=1,可选择自由口模式;当方式开关处于TERM位置时,SM0.7=0,应选择PC/PPI协议模式,以便用编程设备监视或控制S7-200的操作。7.5.2 自由口指令及应用自由口通信指令包括:自由口发送(XMT)指令和自由口接收(RCV)指令,如图所示。 EN EN TBL PORT TBL PORT ENO ENO XMT RCV 发送(XMT)指令:允许输入端EN有效时,指令初始化通信操作,通过指定端口(PORT)将数据缓冲区(TBL)发送到远程设备。数据

18、缓冲区的第一个字节定义发送的字节数,它本身并不发送出去。 1自由口指令 接收(RCV)指令:允许输人端EN有效时,指令初始化通信操作,通过指定端口(PORT)从远程设备上读取数据存储于数据缓冲区(TBL)。数据缓冲区的第一个字节定义接收的字符数。接收缓冲区和发送缓冲区数据格式如下,其中,“起始字符”与“结束字符”是可选项。 字符数起始字符数据区结束字符2相关寄存器及标志1)控制寄存器 用特殊标志寄存器中的SMB30和SMB130的各个位分别配置通信口0和通信口1,为自由通信口选择通信参数,包括波特率、奇偶校验位、数据位和通信协议的选择。 SMB30控制和设置通信端口0,如果S7-200有通信端

19、口1,则用SMB130来进行控制和设置。SMB30和SMB130的各位及其含义如表所示。自由端口模式的控制字节端口0端口1描述SMB30格式SMB130格式 MSB LSBSMB30.6和SMB30.7SMB130.6和SMB130.7pp:奇偶选择。00=无校验,01=偶校验,10=无校验,11=奇校验SMB30.5SMB130.5d:每个字符的数据位。0=8位/字符,1=7位/字符SMB30.2SMB30.4SMB130.2SMB130.4bbb:自由端口的波特率(bit/s)000=38400,001=19200,010=9600,011=4800100=2400,101=1200,11

20、0=115.2k,111=57.6kSMB30.0和SMB30.1SMB130.0和SMB130.1mm:协议选择00=PPI/从站模式,01=自由端口协议10=PPI/主站模式,11=保留(默认设置为PPI/从站模式) 要注意的是:当选择mm=10(PPI/主站模式),PLC将成为网络的一个主站,可以执行NETR和NETW指令。在PPI模式下不考虑27位。p p d b b b m m接收字符中断:中断事件号为8(端口0)和25(端口1)。发送信息完成中断:中断事件号为9(端口0)和26(端1)。接收信息完成中断:中断事件号为23(端口0)和24(端1)。发送结束标志位SM4.5和SM4.6

21、:分别用来标志端口0和端口1发送空闲状态,发送空闲时置1。2)特殊标志位及中断执行接收(RCV)指令时用到一系列特殊功能寄存器。对端口0用SMB86到SMB94:对端口1用SMB186到SMB194。各字节及其内容描述如表所示。3)特殊功能寄存器端口0端口1描述SMB86SMB186接收信息的状态字节MSB LSBn=1:用户通过禁止命令终止接收信息r=1:接收信息终止,输人参数错误或无起始或结束条件e=1:收到结束字符t=1:接收信息终止,超时c=1:接收信息终止,超出最大字符数p=1:接收信息终止专用核验错误SMB87SMB187接收信息的控制字节 MSB LSBen:0=禁止信息接收;1

22、=允许信息接收,每次执行RCV指令时检查允许/禁止接收信息位sc:0=忽略SMB88或SMB188;1=使用SMB88或SMB188的值检测信息的开始ec:0=忽略SMB89或SMB189;1=使用SMB89或SMB189的值检测信息的结束il:0=忽略SMW90或SMW190;1=使用SMW90或SMW190的值检测空闲状态c/m:0=定时器是字符间超时定时器;1=定时器是信息定时器tmr:0=忽略SMW92或SMW192;1=超过SMW92或SMW192中设置的时间时终止接收bk:0=忽略break(间断)条件;1=用break条件来检测信息的开始信息接收控制字节位用来定义识别信息的标准,

23、信息的起始和结束标准均需定义SMB88SMB188信息的起始字符SMB89SMB189信息的结束字符SMB90SMB91SMB190SMB191以毫秒为单位的空闲线时间间隔。空闲线时间结束后接收的第一个字符是新信息的起始字符。SMB90或SMB190为高字节,SMB91或SMB191为低字节SMB92SMB93SMB192SMB193字符间/信息间定时器超时值(用毫秒表示),如果超时终止接收信息。SMB92或SMB192为高字节,SMB93或SMB193为低字节SMB94SMB194接收的最大字符数(1255个字节),这个值应按希望的最大缓冲区来设置n re0 0 tcpenscecilc/m

24、tmrbk0用XMT指令可以方便地发送1255个字符,如果有一个中断服务程序连接到发送结束事件上,在发送完缓冲区的最后一个字符时,会产生一个发送中断(对端口0为中断事件9,对端口1为中断事件26)。可以通过检测发送完成状态位SM4.5或SM4.6的变化,判断发送是否完成。如果将字符数设置为0并执行XMT指令,可以产生一个break状态。这个break状态可以在线上持续一段特定的时间,这段特定时间是以当前波特率传输16位数据所需要的时间。发送break的操作与发送其他信息一样,完成时也会产生一个发送中断,SM4.5或SM4.6反映XMT的当前状态。3用XMT指令发送数据把CPU226的Port0

25、定义为自由口通信模式。在一个定时中断程序中对定时中断次数计数,并将计数值转换为ASCII字符串,再从Port0发送出去。1)XMT指令编程举例/数据块定义发送缓冲区VB100 14/发送字节数VD200 0/累加器清零VB113 16#0D/发送数据的结束字符VB114 16#0A/“回车”的16进制码/主程序Network1LDSM0.7/初始化自由口EUOSM0.1CALLSBR0Network2LDSM0.7/恢复普通PPI通信口设置EDCALLSBR1/子程序SBR0Network1LDSM0.0/定义通信口0为自由口模式,9.6k波特率,MOVB16#09,SMB30/无校验,8位数

26、据位,1位停止位MOVB250,SMB34/写入定时中断周期250msATCHINT_0,10/连接定时中断事件10到中断服务程序0ENI/允许中断/子程序SBR1Network1LDSM0.0/设置端口0为PPI从站模式MOVB16#08,SMB30/中断程序INT_0Network1LDSM0.0+D+1,VD200/VD200用作累加器,每次中断加1DTAVD200,VB101,0/将VD200内的整数转换为12个ASCII字符XMTVB100,0/从Port0发送缓冲区内容Network2LDD= VD200,255/如VD200内的数值=255,则清零MOVD0,VD200 用RCV

27、指令可方便地接收一个或多个字符,最多可达255个字符。如果有一个中断服务程序连接到接收信息完成事件上,在接收完最后一个字符时,会产生一个接收中断(对端口0为中断事件23对端口1为中断事件24)。接收信息状态寄存器SMB86或SMB186反映执行RCV指令的当前状态。当RCV指令未被激活或已被终止时,它们不为0;当接收正在进行时,它们为0。4用RCV指令接收数据 自由口协议支持用接收字符中断控制来接收数据。端口每接收一个字符会产生一个中断:端口0产生中断事件8;端口1产生中断事件25。在执行连接到接收字符中断事件上的中断程序前,接收到的字符存储在SMB2中,奇偶校验状态(如果允许奇偶校验)存在S

28、MB3.0中,用户可以通过中断访SMB2和SMB3来接收数据。端口0和端口1共用SMB2和SMB3。5用接收字符中断接收数据 S7-200 CPU从Port0接收字符串,并在信息接收中断服务程序中把接收到的第一个字节传送到CPU输出字节QB0上显示,接收到的第二个字节传送到CPU输出字节QB1上显示。 1)RCV指令编程举例/主程序Network1LDSM0.7EUOSM0.1CALL SBR0/调用自由口初始化子程序Network2LDSM0.7EDCALL SBR1/恢复普通PPI通信口设置 选择空闲线检测为信息起始标志,字符16#FF为消息结束字符,根据接收字节控制字定义,写入特殊功能寄

29、存器SMB87的控制数据应为16#B0。/子程序SBR0Network1LDSM0.0/首次扫描时,初始化自由端口MOVB16#09,SMB30 /9.6kbit/s,无校验,8位数据位,1位停止位MOVB16#B0,SMB87 /初始化RCV信息控制字节: /RCV被启用,检测到信息字符结束/将空闲行条件检测为信息开始条件。MOVB16#FF,SMB89/将信息字符结束设为FFHex。MOVW+5,SMW90/将空闲行超时设为5毫秒。MOVB8,SMB94/将最大字符数设为8。ATCHINT_0,23/将中断附加在接收完成事件上。ENI/启用用户中断RCV VB100,0/为端口0在VB10

30、0位置启用带缓冲区的接收方框/子程序SBR1Network1LDSM0.0MOVB16#08,SMB30/设置端口为普通PPI通信口/中断INT_0Network1LDSM0.0MOVBVB101,QB0MOVBVB102,QB1RCV VB100,0 第八章 其他功能指令8.1比例/积分/微分(PID)回路控制指令PID回路控制指令(PID)根据输入和表(TBL)中的配置信息,对相应的LOOP执行PID回路计算。 PID调节控制是一种传统控制方法,适用于各种过程控制系统,如温度控制、液位控制、压力控制、流量控制等经常涉及到模拟量的控制,构成闭环控制系统。而对于模拟量的采样值通常会进行PID(即比例积分微分)运算,根据运算结果对模拟量进行控制。在S7-200中,系统为用户提供了PID指令,用以实现上述对模拟量的控制作用。其中TBL是回路表的起始地址,操作数限用VB区域(BYTE型);LOOP是回路号,可以是0到7的整数(BYTE型)。 在程序中最多可以用8条PID指令。

温馨提示

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

评论

0/150

提交评论