S7200PLC网络通信实验指导书.docx
- 文档编号:27305160
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:82
- 大小:2.72MB
S7200PLC网络通信实验指导书.docx
《S7200PLC网络通信实验指导书.docx》由会员分享,可在线阅读,更多相关《S7200PLC网络通信实验指导书.docx(82页珍藏版)》请在冰豆网上搜索。
S7200PLC网络通信实验指导书
前言
可编程控制器(ProgrammableLogicController,简称PLC)以其体积小、功能强、可靠性高以及安装使用方便的特点,已经在我国的工业控制中占据了重要地位。
随着PLC技术的迅速发展,它的应用将更加广泛。
为了适应社会发展的需要,全国各大、中专院校都将PLC纳入教学计划,作为电子、电气以及工业自动化类专业的一门必修课。
为了配合这一教学要求,我司特开发了PLC系列可编程控制器教学实验系统。
它是根据这一课程的教学大纲,综合多所院校老师的教学意见,并结合工业控制中的实际情况开发而成。
自产品推出以来,得到了广大任课老师和专家的一致好评。
它利用开关、按钮、数码拨盘、各类传感器等作为PLC的控制信号,以LED发光管、LED数码管、直流减速电机、继电器、蜂鸣器以及各类工业控制模型作为执行机构模仿工业过程中的实际状态,实验效果既生动又形象。
全套装置设计合理,功能强大,操作简单方便,对学生理解和掌握可编程控制器的控制原理和操作方法,加快学习PLC的编程方法,都具有极大的帮助,是PLC教学中的理想工具。
西门子S7-200系列小型PLC可应用于各种自动化系统,紧凑的结构、低廉的成本以及功能强大的指令集使得S7-200PLC成为各种小型控制任务理想的解决方案,在国内外得到了广泛的应用。
内部集成的PPI接口为S7-200PLC提供了强大的通讯功能。
PPI接口物理特性为RS485,可实现PPI、MPI、PTROFIBUS-DP等多种通讯方式。
通过选用EM241、CP243-1等扩展模块还可以实现电话网通信、以太网通信等多种通信方式。
本书作为S7-200PLC实验装置实验指导书通信分册,主要涉及了S7-200PLC的PPI通信、MPI通信、PROFIBUS-DP通信、以太网通信、MODEM电话网通信等多种通信实验。
希望本书能够为广大S7-200PLC学习者在S7-200PLC通信知识的学习道路上提供一定的帮助。
由于时间仓促,书中难免存在不少缺点和错误,敬请各位老师、专家批评,指正。
第一章S7-200PLC通信知识简介
一、S7-200PLC支持的通信协议
西门子S7-200系列PLC可以满足多种通讯和网络需求,它不仅支持简单的网络,而且支持比较复杂的网络。
同时,通过STEP7-Micro/WIN还可以使建立和配置网络显得非常简便和快捷。
通过下图可以清楚地反映出S7-200系列PLC的通讯能力。
一些通信标准只支持一对一的通信方式,另一些支持网络通信,S7-200支持多种网络通信方式。
网络通信协议要比一对一的通信更为复杂。
网络通信对网络中的设备也有一定的要求,通信设备能否完全符合网络通信协议的要求会影响、制约实现整个网络通信的完整功能。
S7-200系统支持的通信协议如下表所示:
协议类型
端口位置
接口类型
传输介质
通信速率
备注
PPI
EM241模块
RJ11
模拟电话
33.6Kbits/s
数据传输速率
CPU口0/1
DB-9针
RS-485
9.6K,19.2K,187.5K
主、从站
MPI
19.2K,187.5K
仅从站
EM277
DB-9针
RS-485
19.2K...187.5K...12M
速率自适应
从站
PROFIBUS-DP
9.6K,19.2K...187.5K...12M
S7协议
CP243-1/
CP243-1IT
RJ45
以太网
10Mbits/s,100Mbits/s
自适应
AS-Interface
CP243-2
接线端子
AS-i网络
5/10ms循环周期
主站
USS
CPU口0
DB-9针
RS-485
1200bits/s...9.6K...115.2K
主站
自由口库指令
MODBUSRTU
主站/从站
自由口库指令
EM241
RJ11
模拟电话
33.6Kbits/s
数据传输速率
自由口
CPU口0/1
DB-9针
RS-485
1200...9.6K...115.2K
二、通信主站和从站
通信协议规定了通信设备在网络中的角色,可分为:
通信从站:
从站不能主动发起通信数据交换,只能响应主站的访问,提供或接受数据。
从站不能访问其他从站。
在多数情况下,S7-200在通信网络中作为从站,响应主站设备的数据请求。
通信主站:
可以主动发起数据通信,读写其他站点的数据。
S7-200CPU在读写其他S7-200CPU数据时(使用PPI协议)就作为主站(PPI主站也能接受其他主站的数据访问);S7-200通过附加扩展的通信模块也可以充当主站。
安装编程软件Micro/WIN的计算机一定是通信主站;所有的HMI(人机操作界面)也是通信主站;与S7-200通信的S7-300/400往往也作为主站。
单主站网络:
只有一个主站,其他通信设备都处于从站通信模式的网络就是单主站网络。
单主站网络的例子有:
Ø一个S7-200CPU和Micro/WIN(编程计算机)的通信。
Ø一个S7-200CPU和一个HMI(如TD200)的通信。
Ø多个CPU联网(但它们都处于PPI从站模式时),与Micro/WIN的通信。
Ø多个CPU联网,网络上只有一个HMI(如TP170B等)。
Ø一个CPU使用USS协议与一个或多个西门子驱动装置通信。
Ø一个MODBUSRTU主站与从站的通信。
多主站网络:
一个通信网络中,如果有多个通信主站存在,就称为多主站网络。
属于多主站网络的情况有:
Ø一个S7-200CPU连接一个HMI,同时需要Micro/WIN的编程通信。
ØS7-200CPU联网,有CPU做PPI主站访问其他CPU的数据,同时需要Micro/WIN编程、监视。
ØCPU联网,有两个以上的CPU做PPI通信主站。
Ø一个S7-200CPU连接多个HMI。
Ø联网的多个CPU,连接多个HMI。
Ø上述情况的组合
单主站和多主站网络的状态并不总是绝对不变的。
例如一个仅包括一个CPU和一个TD200的单主站网络,如果要与Micro/WIN进行编程通信,它就变成了多主站网络。
并不是所有的设备都支持多主站网络通信!
在多主站网络中,主站要轮流控制网络上的通信,这就要求它们有交换令牌的能力。
不是所有的设备都有这个能力。
S7-200CPU使用自由口通信模式时,既可以做主站,又可以做从站。
如S7-200用USS协议控制西门子驱动装置时是主站;使用ModbusRTU从站指令库时它就是从站。
这说明所谓主、从是由通信协议决定的,用户在编制通信协议时自己定义各通信设备在通信活动中的角色。
三、服务器和客户端
服务器(Server)与客户端(Client)的关系有些像从站与主站的关系。
服务器总是等待客户端发起数据访问。
这个概念常常在以太网通信中使用。
一个通信对象是服务器还是客户端取决于它们在通信活动中的具体作用。
例如,CP243-1以太网模块既可以配置为服务器等待客户端来访问,也可以配置为客户端访问其他服务器。
CP243-1作为服务器时,运行在计算机上的PCAccess软件作为客户端通过CP243-1访问CPU的数据;而PCAccess软件本身是OPCServer,OPCClient软件(如支持OPC的HMI软件)可以访问它。
CP243-1/CP243-1IT与S7-300/400的以太网模块一样,既可以做服务器,也可以做客户端;S7-200的OPCServer——PCAccess与CP243-1连接时是客户端,同时对上位的监控软件是服务器。
四、PPI,MPI和PROFIBUS
PPI,MPI和PROFIBUS都是基于OSI(开放系统互联)的七层网络结构模型,符合欧洲标准EN50170所定义的PROFIBUS标准,基于令牌的的网络通信协议。
这些协议是非同步的(串行的)基于字符的通信协议,字符格式包括一个起始位、8个数据位、一个偶校验位和一个停止位。
其通信帧包括特定的起始和结束字符、源和目的站的地址、帧长度和数据校验和。
在波特率一致、各站地址不同的情况下,PPI,MPI和PROFIBUS可以同时在一个网络上运行,并且互不干扰。
这就是说如果一个网络上有S7-300、S7-200,S7-300之间可以通过MPI或PROFIBUS通信,而在同时在同一个网络上的TP170micro触摸屏可以与一个S7-200CPU通信。
五、编程通信和数据通信
编程通信:
使用编程软件STEP7-Micro/WIN,通过各种网络,最终对S7-200的CPU进行各种编程操作,如上传、下载程序,监视数据变量,进行诊断等.
数据通信:
S7-200CPU之间,或与其他通信对象之间,进行数据读写、交换。
数据可以是二进制位的状态,数值数据,或者字符串等。
一些通信方式既支持编程通信,又支持数据通信;但能进行数据通信的,不一定支持编程通信方式。
六、编程通信要点
要进行S7-200的编程通信,必须注意使通信双方(即安装了Micro/WIN的PC机和S7-200的CPU或通信模块上的通信口)的通信速率、通信协议符合、兼容。
否则不会顺利连通。
在具体工作中,参与编程通信的设备未必一定符合上述要求。
例如,它们的通信速率就可能不一致。
注意以下几个通信速率,它们必须一致:
1、S7-200CPU通信口的速率:
一个新出厂的CPU,它的所有的通信口的速率都是9.6K波特。
CPU通信口的速率只能在S7-200项目文件中的“系统块”中设置,新的通信速率在系统块下载到CPU中后才起作用。
2、通信电缆的通信速率:
如果使用智能多主站电缆配合Micro/WINV3.2SP4以上版,只需将RS232/PPI电缆的DIP开关5设置为“1”而其他设置为“0”;而USB/PPI电缆不需要设置。
老版本的电缆需要按照电缆上的标记设置DIP开关。
3、由Micro/WIN决定的PC机通信口(RS232口)的通信速率:
这个速率实际上是去配合编程电缆使用的,在Micro/WIN软件中打开SetPG/PCInterface,设置PC用于同编程电缆通信的速率。
USB口使用USB/PPI电缆,不需指定速率。
七、CP卡通信
可用于S7-200编程的CP卡包括CP5611(用于PCI总线的PC机),CP5511/CP5512(用于笔记本电脑)。
使用CP卡进行编程通信,应使用MPI电缆,或者PROFIBUS电缆连接CPU上的编程口,或者带编程口的网络连接器上的扩展编程口,或者EM277模块上的通信口。
ØCP5613不能连接S7-200CPU通信口编程。
ØCP5511/CP5512/CP5611不能在WindowsXPHome版下使用。
Ø所有的CP卡不支持S7-200的自由口编程调试。
ØCP卡与S7-200通信时,不能选择“CP卡(auto)”
ØMPI的最低通信速率为19.2K。
第二章PPI网络通信实验
PPI网络通信知识简介
PPI协议是一种主-从协议,是专门为S7-200开发的通信协议。
主站期间发送要求到从站器件,从站器件响应。
从站器件不发信息,只是等待主站的要求并对要求作出响应。
主站靠一个PPI协议管理的共享连接来与从站通讯,PPI并不限制与任意一个从站通讯的主站数量,但是在一个网络中,主站的个数不能超过32个。
S7-200CPU的通信口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。
Micro/WIN与CPU进行编程通信也可以通过PPI协议。
S7-200CPU的PPI网络通信是建立在RS-485网络的硬件基础上,因此其连接属性和需要的网络硬件设备是与其他RS-485网络一致的。
可通过普通的两芯屏蔽双绞电缆进行联网。
如果在用户程序中使能PPI主站模式,S7-200CPU在运行模式下可以作主站。
在使能PPI主站模式之后,可以使用网络读写指令来读写另外一个S7-200。
当S7-200作PPI主站时,它仍然可以作为从站响应其它主站的请求。
S7-200CPU之间的PPI网络通信只需要两条简单的指令,它们是网络读(NetR)和网络写(NetW)指令。
在网络读写通信中,只有主站需要调用NetR/NetW指令,从站只需编程处理数据缓冲区(取用或准备数据)。
PPI网络上的所有站点都应当有各自不同的网络地址。
否则通信不会正常进行。
PPI通讯网络是一个令牌传递网,在不加中继器的情况下,最多可以由31个S7-200系列PLC,TD200,OP/TP面板或上位机(插MPI卡)为站点,构成PPI网络。
NetR/NetW指令要点:
每条网络读写指令最多能够读或者写16个字节的数据;每个CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。
只有通信主站能够使用网络读写指令。
缺省情况下,S7-200CPU的通信口设置为从站模式。
因此在编程时,需要把通信口设置为通信主站模式。
由于串行通信的特点,通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。
所有的通信活动都需要PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令只是告诉操作系统有需要处理的通信任务。
因此,网络读写指令采取通信数据缓冲区的方式,在操作系统的通信管理功能与PLC的用户程序之间交换信息。
网络读写指令(NetR/NetW)的数据缓冲区类似。
数据缓冲区除了状态字节和地址、数据长度之外,剩余的部分就是纯数据字节。
能够传送到通信对象,或者从对象接收的仅仅是数据字节,不包括数据个数等信息。
远程站(通信对象)的数据缓冲区则是纯数据区域。
网络读写指令可以传递V存储区、M存储区、I/Q区的数据。
这取决于设定数据地址时,使用间接寻址方式将地址信息写入到缓冲区中的相应位置,地址信息中包括了存储区和数据的类型。
网络读写指令向导简介
只有在PPI通信中做主站的CPU才需要用NETR/NETW向导编程。
在Micro/WIN中的命令菜单中选择Tools>InstructionWizard,然后在指令向导窗口中选择NETR/NETW指令:
图1.选择NETR/NETW指令向导
在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择“Yes”,确认编译。
如果已有的程序中存在错误,或者有尚未编完的指令,编译不能通过。
如果你的项目中已经存在一个NETR/NETW的配置,你必须选择是编辑已经存在的NETR/NETW的配置还是创建一个新的。
第一步定义用户所需网络操作的数目:
图2.选择网络读写指令条数
向导允许用户最多配置24个网络操作,程序会自动调配这些通信操作。
第二步定义通信口和子程序名。
图3.选择通信端口,指定子程序名称
a.选择应用哪个通信口进行PPI通信:
port0或port1
注意:
一旦定义选择了通信口,则向导中所有网络操作都将通过该口通信,即通过向导定义的网络操作,只能一直使用一个口与其它CPU进行通信。
b.向导为子程序定义了一个缺省名,你也可以修改这个缺省名。
第三步定义网络操作
图4.设定网络读写操作细节
每一个网络操作,你都要定义以下信息:
a.定义该网络操作是一个NETR还是一个NETW。
b.定义应该从远程PLC读取多少个数据字节(NETR)或者应该写到远程PLC多少个数据字节(NETW),每条网络读写指令最多可以发送或接收16个字节的数据。
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.操作此按钮可以删除当前定义的操作。
g.操作此按钮可以进入下一步网络操作的定义。
第四步分配V存储区地址
图5.分配数据区地址
配置的每一个网络操作需要12字节的V区地址空间,上例中配置了两个网络操作,因此占用了24个字节的V区地址空间。
向导自动为用户提供了建议地址,用户也可以自己定义V区地址空间的起始地址。
注意:
要保证用户程序中已经占用的地址、及网络操作中读写区所占用的地址以及此处向导所占用的V区地址空间不能重复使用,否则将导致程序不能正常工作。
第五步生成子程序及符号表
下图显示了NETR/NETW向导生成的子程序、符号表,一旦点击完成按钮,上述显示的内容将在你的项目中生成。
图6.生成子程序和符号表
第六步配置完NETR/NETW向导,需要在程序中调用向导生成的NETR/NETW参数化子程序
图7.网络读写子程序
调用子程序:
图8.调用子程序后生成下面的程序
a.必须用SM0.0来使能NETR/NETW,以保证它的正常运行。
b.超时:
0=不延时;1-36767=以秒为单位的超时延时时间。
如果通信有问题的时间超出此延时时间,则报错误。
c.周期参数,此参数在每次所有网络操作完成时切换其开关量状态
d.此处是错误参数,0=无错误;1=错误
NetR/NetW指令向导生成的子程序管理所有的网络读写通信。
用户不必再编其他程序进行诸如设置通信口的操作。
实验一两台S7-200PLC之间的PPI网络通信实验
一、实验目的
1、了解S7-200PLC“1对1”的PPI通信方式。
2、熟悉两台S7-200PLC进行PPI通信的接线方法。
3、掌握网络读写指令的使用方法。
二、实验内容
1、通过STEP7Micro/WIN编程软件分别对作PPI通信主站的S7-200PLC进行编程配置。
2、将两台S7-200PLC通过网络连接器和双绞线进行连接。
3、用2号站S7-200PLC的IB0控制3号站S7-200PLC的QB0。
4、用3号站S7-200PLC的IB0控制2号站S7-200PLC的QB0。
三、实验设备
1、一台安装有STEP7Micro/WIN(V3.2SP1以上版)编程软件的计算机。
2、一根PC/PPI编程电缆(或者一块CP5611通信卡以及一根MPI电缆)。
3、两台S7-200PLC。
4、两个网络连接器。
5、一根双绞线。
四、实验注意事项
1、进行通信实验之前,请检查S7-200CPU的接线,确保CPU之间的通讯电缆以及电源连接良好。
2、如果CPU是CN系列,则编程软件必须选用V4.0SP3以上版本,且必须在STEP7Micro/WIN编程软件中将语言设置为中文。
设置方法为选择命令菜单中选择“工具”-->“选项”-->“一般”-->“语言”-->“中文”。
3、如果没有网络连接器,做实验时可以用普通的9针D型连接器来代替它。
五、实验步骤
1、执行STEP7Micro/WIN编程软件菜单命令“工具”-“指令向导”,选择其中的“NETR/NETW”(网络读/写),设置通信的参数。
满足通信要求:
用2号站的IW0控制3号站的QW0,用3号站的IW0控制2号站的QW0。
2、向导中的设置完成后,在编程软件指令树最下面的“调用子程序”文件夹中将会出现子程序NET_EXE。
在主程序OB1中调用NET_EXE,用该子程序执行用户在NETR/NETW向导中设置的网络读写功能。
3、用PC/PPI电缆单独连接第一台S7-200PLC,在系统块中将PLC地址设为2,将程序块和系统块下载到2号站的CPU模块中。
4、用PC/PPI电缆单独连接第二台S7-200PLC,在系统块中将PLC地址设为3,将程序块和系统块下载到3号站的CPU模块中。
5、将两台S7-200PLC用网络连接器和双绞线相连,两个连接器的A端子和A端子连在一起,B端子和B端子连在一起。
6、将两台PLC上的工作模式开关置于RUN位置,用小开关改变两台PLC的输入点的状态,观察是否可以用本站的I0.0~I0.7分别控制对方的Q0.0~Q0.7。
六、思考题
如何将计算机和两台S7-200PLC连接在一起,而不用PC/PPI电缆单独对子站进行编程连接?
答案:
可以通过RS485接口和PC/PPI电缆,将两台PLC和计算机连接在一起。
其中一台PLC的连接器需带有编程口,PC/PPI电缆与编程口相连。
在STEP7Micro/WIN编程软件中双击“通信”对话框中的“通信刷新”图标,编程软件将会显示出网络中站号为2和3的两个站。
双击某一个站的图标,编程软件与该子站建立起连接,可以对它进行下载、上载和监视等操作。
实验二多台S7-200PLC之间的PPI网络通信实验
一、实验目的
1、了解S7-200PLC“1对N”和“N对N”的PPI通信方式。
2、熟悉多台S7-200PLC进行PPI通信的接线方法。
3、进一步掌握网络读写指令的使用方法。
二、实验内容
1、通过STEP7Micro/WIN编程软件分别对作PPI通信主站的S7-200PLC进行编程配置。
2、将多台S7-200PLC通过网络连接器和双绞线进行连接。
3、用1台S7-200PLC的IB0同时控制8台S7-200PLC的QB0。
三、实验设备
1、一台安装有STEP7Micro/WIN(V3.2SP1以上版)编程软件的计算机。
2、一根PC/PPI编程电缆(或者一块CP5611通信卡以及一根MPI电缆)。
3、多台S7-200PLC。
4、多个网络连接器。
5、多根双绞线。
四、实验注意事项
1、进行通信实验之前,请检查S7-200CPU的接线,确保CPU之间的通讯电缆以及电源连接良好。
2、如果CPU是CN系列,则编程软件必须选用V4.0SP3以上版本,且必须在STEP7Micro/WIN编程软件中将语言设置为中文。
设置方法为选择命令菜单中选择“工具”-->“选项”-->“一般”-->“语言”-->“中文”。
3、如果没有网络连接器,做实验时可以用普通的9针D型连接器来代替它。
五、实验步骤
1、执行STEP7Micro/WIN编程软件菜单命令“工具”-“指令向导”,选择其中的“NETR/NETW”(网络读/写),设置通信的参数。
满足通信要求:
用1台S7-200PLC的IB0同时控制8台S7-200PLC的QB0。
2、向导中的设置完成后,在编程软件指令树最下面的“调用子程序”文件夹中将会出现子程序NET_EXE。
在主程序OB1中调用NET_EXE,用该子程序执行用户在NETR/NETW向导中设置的网络读写功能。
3、用PC/PPI电缆单独连接各台S7-200PLC,在系统块中将PLC地址设为不同值,将程序块和系统块下载到相应的S7-200CPU模块中。
4、将多台S7-200PLC用网络连接器和双绞线相连,两个连接器的A端子和A端子连在一起,B端子和B端子连在一起。
5、将两台PLC上的工作模式开关置于RUN位置,用小开关改变主站PLC的输入点的状态,观察是否可以用主站的I0.0~I0.7分别控制从站的Q0.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7200PLC 网络 通信 实验 指导书