《s7_200通讯设置资料整理说课材料.doc》由会员分享,可在线阅读,更多相关《s7_200通讯设置资料整理说课材料.doc(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。s7_200通讯设置资料整理-浅谈S7-200PLC的通讯问题1引言公司从德国进口铝液除气的设备,该设备配备了S7-200PLC系统。最近因为工艺要求,要对机器的动作步骤进行修改,这样需要先上载CPU中的PLC程序,更改完毕后再下载回去。但在我们上载程序的过程中却遇到了许多的麻烦,每次点击“上载”工具条后,就出现图1的消息框。我们核对了几遍站址:PLC端是2,PC端是0,设置是不会有错的。图1消息框又试着更改了几次波特率,但还是行不通。难道PC/PPI通讯电缆有问题?经过试验,它与其它S7-200设备通
2、讯是不存在任何问题的。我们这台除气设备配置的CPU是CPU226,它有两个通讯口,其中端口0空闲,端口1连结着Proface的触摸屏面板,对这两个端口都尝试了一下,结果都令人失望。接着咨询了一下设备生产厂家,他们的答复是程序在STEP7-Micro/WIN32V3.2.1下做的,建议我们找这一下这一版本软件。我们查看了下我们当前的版本是V3.2.4,依他们的建议,我们又重新安装了一遍软件,先不升级到SP4,这样版本号是V3.2.0,但在此环境下通讯仍然不行。从常识来看,西门子的软件应该是向下兼容的,再说版本号的要求不应该是如此苛刻的,这真有点一筹莫展了!电话咨询西门子公司的专家,根据他们的建议
3、,我们又作了多种尝试,结果还是无功而返,最后登录它的服务网站,查询有关S7-200的各种书籍,终于把问题解决。回过头来再重新思考这个问题,觉得它非常有代表性,有必要整理出来,与业界各位同仁共享。2有关S7-200通讯方面的介绍S7-200是一类小型PLC系统,它支持的通讯协议很多,具体说来有:PPI、MPI、PROFIBUS-DP、S7协议、AS-I、USS、MODBUS、自由口通讯等,其中PPI、MPI、自由口是CPU上的通讯口所支持的,其它通讯协议需要有专门的CP模块或EM模块的支持。型号不同的S7-200CPU具有一到两个RS-485通讯口,例如:CPU221、CPU222、CPU224
4、有一个通讯口;CPU224XP、CPU226有两个通讯口。CPU上的通讯口各自独立,每个通讯口都有自己的网络地址、通讯速率等参数设置。通讯口的参数在编程软件Micro/WIN的“系统块”中查看、设置,新的设置在系统块下载到CPU中后起作用。S7-200不仅支持点到点的通讯方式,还支持网络通讯,连接到S7-200编程口的设备都可以认为是连接到了S7-200通讯网络上。网络中通讯设备根据担任的角色不同,可分为:l通讯从站:从站不能主动发起通讯数据交换,只能响应主站的访问,提供或接受数据。从站不能访问其他从站。在多数情况下,S7-200在通讯网络中作为从站,响应主站设备的数据请求。l通讯主站:可以主
5、动发起数据通讯,读写其他站点的数据。S7-200CPU在读写其它S7-200CPU数据时(使用PPI协议)就作为主站(PPI主站也能接受其他主站的数据访问);S7-200通过附加扩展的通讯模块也可以充当主站。安装有编程软件Micro/WIN的计算机一定是通讯主站;所有的HMI(人机操作界面)也是通讯主站。例如:在我们的例子中,其配置就是一个MPI的网络:Proface的触摸屏面板是通讯主站,S7-200是通讯从站。编程软件Step7-Micro/WIN的各个版本与Windows操作系统的各个版本之间,有一定的兼容关系。如果安装的Micro/WIN版本和操作系统不兼容,会发生各种问题,如比较常见
6、的通讯不正常的现象。我们可以访问siemensA&D公司的技术支持网站:www4.ad.siemens.de,从检索窗口中键入STEP7-Micro/WIN,Setup,Install或Compatibility等关键字,获取相关软件之间兼容性方面的信息。影响通讯因素的还有PC/PPI编程电缆。目前西门子提供两种电缆,其一是新型智能多主站电缆,另外一种是早期生产的PC/PPI电缆。两者最大的区别是新型电缆支持多主站通讯,最高波特率可达到187.5KHz,而旧电缆不支持多主站通讯,不需要握手协议,只能用到9.6K和19.2K两种波特率。另外,新型电缆有三个绿灯用于指示电缆的运行:传送指示(Tx)
7、;RS-232接收指示(Rx);24VDC电源(PWR)。另外,S7-200系统提供了强大的密码保护功能,以保护程序开发者的知识产权,防止未经授权的操作等。如果把密码设置成了Level3,那程序的上载和下载就需要输入密码来授权才能操作。3如何解决我们的通讯问题我们此前的多次尝试,已经排除了几种可能因素:其一,不可能加密,因为传输中并未提示输入密码;其二,软件兼容性,我们的配置是Win2000SP4+STEP7-Micro/WINV3.2.4;其三,通讯硬件没问题,CPU端有两个端口,而且Port1还连结着正常工作的触摸屏;计算机的串口通过实际检验也是正常工作的;新旧两种电缆都试验过,用新型电缆
8、时,观察它的指示灯,发现三个都是保持常亮状态的。据此,我们推测问题可能还是出在多主站通讯上。依次,我们把智能多主站电缆的DIP开关5设置为“1”而其它设置为“0”,这样就设置成了多主站通讯。在Micro/WIN主界面的左侧浏览条中用鼠标单击Communications(通讯)图标,把“NetworkParameters”中的“Supportsmultiplemasters”选项框选中,参见图2。图2通讯对话框经过这样改动,果然成功把程序上载到计算机中。然后查看它的系统模块属性,设备厂家果然把两个通讯口的通讯速率都锁定在了187.5kHz,Proface触摸屏是MPI网络的唯一主站,如此看来这正
9、是问题的症结所在:过去使用的通讯电缆是旧电缆,通讯速率最高到19.2kHz,更换了智能多主站电缆后,也没有根据实际情况选中“支持多主站”。4解决S7-200通讯问题的思路4.1通讯出错分析一般说来,在设备正常的条件下,发生Micro/WIN不能与CPU通讯的原因主要有:(1)Micro/WIN中设置的对方通讯口地址与CPU的实际口地址不同,通常设置“2”;(2)Micro/WIN中设置的本地(编程电脑)地址与CPU通讯口的地址相同了(应当将Micro/WIN的本地地址设置为“0”)(3)Micro/WIN使用的通讯波特率与CPU端口的实际通讯速率设置不同(4)有些程序会将CPU上的通讯口设置为
10、自由口模式,此时不能进行编程通讯。编程通讯是在PPI模式下进行。4.2通讯出错排查遇到通讯问题,我们要有耐心,逐项排查各种影响因素,直到通讯成功,可以参考如下的步骤:(1)检查Step7-Micro/WIN与Windows操作系统是否完全兼容;(2)检查是否使用西门子的原装编程电缆,并区分新旧两种电缆;(3)检查电脑上的COM通讯口设置,记住把接收和发送缓冲区都设置为最小值,并保持选中“FIFO”选择框;(4)检查编程电缆的DIP开关设置,是否与Micro/WIN的通讯速率设置相同;对于普通编程电缆,搜索速率最高为19.2,因此如果CPU通讯口速率被设置为187.5K,则不能被找到。(5)检查
11、CPU右下角的传感器直流电源输出电压(测量L+/M),电压应当高于22V(6)使用wipeout.exe程序,恢复CPU的出厂设置。缺省情况下CPU通讯口地址为2,通讯速率9.6K。这个程序可在STEP7-Micro/WIN的安装光盘中找到。5结束语S7-200的通讯问题还是蛮复杂的,影响的因素也很多。对一个具体的问题,很难说有一种包治百病的良方,我们应该根据实际情况,区别对待。我们对它了解得越多,就越容易把握住它脾性,克服它!让它更好地为我们的工作。S7-200通信及实例工控网.dingqw1234网友在下面的帖子中希望得到多台S7-200之间通过网络读写(NETR和NETW)的通信的解决方
12、法和实例。本人应dingqw1234网友的要求,特发此帖。在这个帖子里聊一下S7-200的通信,并特别对多台S7-200之间通过网络读写(NETR和NETW)的通信实现进行举例说明。.dingqw1234网友的帖子:我想用两台CPU226CN通讯,一台的输入点全传到另一台里怎么做?.下面先简单了解一下S7-200支持的通信协议:.比较详细的介绍,请参阅S7-200可编程控制器系统手册第7章:通过网络进行通信。.下面仅简单说明一下部分通信协议:PPI(Pointtopointinterface)协议:.该协议是西门子内部协议,不公开。点对点接口,是一个主/从协议。主站向从站发送申请,从站进行响应
13、,从站器件不发信息,不初始化信息,只是等待主站的要求并对要求作出响应。但当主站发出申请或查询时,从站对其响应。主站可以是其他CPU主机(如S7-300等)、编程器或TD200文本显示器。网络中的所有S7-200都默认为从站。S7-200系列中一些CPU如果在程序中允许PPI主站模式,则在RUN模式下可以作为主站,此时可以利用相关的通信指令来读写其他主机,同时它还可以作为从站来响应其他主站的申请或查询。.主站靠一个PPI协议管理的共享连接来与从站通讯。PPI并不限制与任意一个从站通讯的主站数量,但是在一个网络中,主站的个数不能超过32。如果在用户程序中使能PPI主站模式,S7200CPU在运行模
14、式下可以作主站。在使能PPI主站模式之后,可以使用网络读写指令来读写另外一个S7200。当S7200作PPI主站时,它仍然可以作为从站响应其它主站的请求。.PPI高级允许网络设备建立一个设备与设备之间的逻辑连接。对于PPI高级,每个设备的连接个数是有限制的。所有的S7200CPU都支持PPI和PPI高级协议,而EM277模块仅仅支持PPI高级协议。.PPI协议是专门为S7-200开发的通信协议。S7-200CPU的通信口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。S7-200CPU的PPI网络
15、通信是建立在RS-485网络的硬件基础上,因此其连接属性和需要的网络硬件设备是与其他RS-485网络一致的。S7-200CPU之间的PPI网络通信只需要两条简单的指令,它们是网络读(NetR)和网络写(NetW)指令。在网络读写通信中,只有主站需要调用NetR/NetW指令,从站只需编程处理数据缓冲区(取用或准备数据)。PPI网络上的所有站点都应当有各自不同的网络地址。否则通信不会正常进行。.可以用两种方法编程实现PPI网络读写通信:1.使用NetR/NetW指令,编程实现;2.使用Micro/WIN中的InstructionWizard(指令向导)中的NETR/NETW向导。.使用PPI通讯
16、方式(这是S7-200的专用通讯方式)使用1对RS485中继器可以最远达到1200M。支持的波特率有9.619.2187.5三种。这种方式是最容易实现的通讯,只要编程设置主站通讯端口的工作模式,然后就可以用网络读写指令(NetR/NetW)读写从站数据。MPI(Multipointinterface)协议:.该协议是西门子内部协议,不公开。MPI(Multipointinterface)是SIMATICS7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量PLC之间近距离通信。通过PROFIBUS电缆和接头,将控制器S7-300或S7-400的CPU自带的MPI编程口及S
17、7-200CPU自带的PPI通信口相互连接,以及与上位机网卡的编程口(MPI/DP口)通过PROFIBUS或MPI电缆连接即可实现。网络中当然也可以不包括PC机而只包括PLC。.MPI允许主主通讯和主从通讯。每个S7-200CPU通信口的连接数为4个。与一个S7200CPU通讯,STEP7Micro/WIN建立主从连接。MPI协议不能与作为主站的S7200CPU通讯。网络设备通过任意两个设备之间的连接通讯(由MPI协议管理)。设备之间通讯连接的个数受S7200CPU或者EM277模块所支持的连接个数的限制。.对于MPI协议,S7300和S7400PLC可以用XGET和XPUT指令来读写S720
18、0的数据。要得到更多关于这些指令的信息,参见S7300或者S7400的编程手册。.MPI的通信速率为19.2K12Mbit/s,但直接连接S7-200CPU通信口的MPI网,其最高速率通常为187.5Kbit/s(受S7-200CPU最高通信速率的限制)。.在MPI网络上最多可以有32个站,一个网段的最长通信距离为50米(通信波特率为187.5Kbit/s时),更长的通信距离可以通过RS-485中继器扩展使用中继器则可达到1000M,最多使用10个中继器达到9100M。速率从19.212M。.MPI协议不能与一个作为PPI主站的S7-200CPU通信,即S7-300或S7-400与S7-200
19、通信时必须保证这个S7-200CPU不能再作PPI主站,Micro/WIN也不能通过MPI协议访问作为PPI主站的S7-200CPU。S7-200CPU只能做MPI从站,即S7-200CPU之间不能通过MPI网络互相通信,只能通过PPI方式互相通信。.STEP7-Micro/WIN可以与S7-200CPU建立MPI主从连接。硬件使用CP5611卡加上PROFIBUS或MPI电缆,S7-200CPU通信口上要使用带编程口的网络连接器。S7-200CPU的通信口最低通信速率可设为19.2K,最高187.5K。.注:CP5613不能通过MPI方式与S7-200CPU通信口进行编程通信。.S7-300
20、和S7-400CPU可以作为MPI主站用XGET(SFC67)和XPUT(SFC68)指令读取S7-200数据,通信数据包最大为64个字节。S7200CPU中不需要编写任何与通信有关的程序,只需要将要交换的数据整理到一个连续的V存储区当中即可。.如果需要在主站中(如S7-300)如何配置S7200CPUMPI从站的详细文档,可访问客户支持部网站上的“网上课堂”网页,在“网络(NET)”目录中下载S7-200与S7-300之间的通信。PROFIBUS协议:.该协议是标准协议,公开。PROFIBUS是ProcessFieldBus的简称。PROFIBUS由相互兼容的三个部分组成,即PROFIBUS
21、-FMS(FieldbusMessageSpecification,现场总线信息规范)、PROFIBUS-DP(DecentralizedPeriphery,分布式I/O系统)、PROFIBUS-PA(ProcessAutomation,过程自动化)。.PROFIBUS-FMS:用于车间级通用的控制及通讯任务,是一个令牌环结构、实时多主网络。.PROFIBUSDP:是一种高速且优化的通讯方案,主要用于实现现场级控制系统与分布式I/O及其他现场级设备之间的通讯。.PROFIBUS-PA:专为过程自动化而设计,符合本征安全规范,适用于在防爆区的应用。.PROFIBUS提供了三种数据传输类型:1用于
22、DP和FMS的RS485传输。2用于PA的IEC11582传输。3光纤。.PROFIBUS协议通常用于实现与分布式I/O(远程I/O)的高速通讯。可以使用不同厂家的PROFIBUS设备。这些设备包括简单的输入或输出模块、电机控制器和PLC。PROFIBUS网络通常有一个主站和若干个I/O从站。主站器件通过配置可以知道I/O从站的类型和站号。主站初始化网络使网络上的从站器件与配置相匹配。主站不断地读写从站的数据。当一个DP主站成功配置了一个DP从站之后,它就拥有了这个从站器件。如果在网上有第二个主站器件,那么它对第一个主站的从站的访问将会受到限制。.S7-200CPU可以通过EM277PROFI
23、BUS-DP从站模块连入PROFIBUS-DP网,主站可以通过EM277对S7-200CPU进行读/写数据。作为S7-200的扩展模块,EM277像其它I/O扩展模块一样,通过出厂时就带有的I/O总线与CPU相连。因M277只能作为从站,所以两个EM277之间不能通信。但可以由一台PC机作为主站,访问几个连网的EM277。通过EM277模块进行的PROFIBUS-DP通信,是最可靠的通信方式。建议在与S7-300/400或其他系统通信时,尽量使用此种通信方式。.EM277是智能模块,其通信速率为自适应。在S7-200CPU中不用做任何关于PROFIBUS-DP的配置和编程工作,只需对数据进行处
24、理。PROFIBUS-DP的所有配置工作由主站完成,在主站中需配置从站地址及I/O配置。在主站中完成的与EM277通信的I/O配置共有三种数据一致性类型,即字节、字、缓冲区。所谓数据的一致性,就是在PROFIBUS-DP传输数据时,数据的各个部分不会割裂开来传输,是保证同时更新的。即字节一致性保证字节作为整个单元传送。字一致性保证组成字的两个字节总是一起传送。缓冲区一致性保证数据的整个缓冲区作为一个独立单元一起传送。如果数据值是双字或浮点数以及当一组值都与一种计算或项目有关时,也需要采用缓冲区一致性。.EM277作为一个特殊的PROFIBUS-DP从站模块,其相关参数(包括上述的数据一致性)是
25、以GSD(或GSE)文件的形式保存的。在主站中配置EM277,需要安装相关的GSD文件。EM277的GSD文件可以在西门子的中文下载网站,或者ProDIS网站条目113652下载,文件名是EM277.ZIP。如果需要在主站(如S7-300)中如何配置EM277的详细文档,可访问客户支持部网站上的“网上课堂”网页,在“网络(NET)”目录中下载S7-200与S7-300之间的通信。.EM277模块同时支持PROFIBUS-DP和MPI两种协议。EM277模块经常发挥路由功能,使CPU支持这两种协议。EM277实际上是通信端口的扩展,这种扩展可以用于连接操作面板(HMI)等。.根据其物理位置的不同
26、(模块连接到CPU的顺序),每个智能模块在S7-200CPU中都有对应的特殊存储单元(SM)。EM277在工作时的状态信息就保存在这些特殊单元中,用户程序可以通过它们监视通信的状态等等。详情请参考S7-200系统手册。S7协议(以太网TCP/IP协议):.该协议是西门子内部协议,不公开。通过以太网扩展模块(CP2431)或互联网扩展模块(CP2431IT),S7200将能支持TCP/IP以太网通讯。表7-4列出了这些模块所支持的波特率和连接数。以太网模块(CP2431)和互联网模块(CP2431IT)的连接数:.若需更多信息,可参考SIMATICNETCP2431工业以太网通讯处理器手册或SI
27、MATICNETCP2431IT工业以太网及信息技术通讯处理器手册。ASInterface(ActuratorSensorInterface,简称ASI):.该协议是标准协议,公开。.在控制的最底层,传感器、接触器、电机启动器、指示灯和按钮等要传送二进制的大量信息,必须首先在它们之间建立通讯。ASI是一个传感器、执行器接口的技术,用于自动化控制层的最底层,用简单经济的方式将二进制的数字化执行器和传感器连接起来,既可以直接连接到控制箱中,单独或与PLC,IPC一起独立就地运行;或与上层现场总线相连,作为现场总线的一个分支,应用于网络系统,从而满足工业控制的各种要求。.AS-i(Actuator-
28、Sensor-Interface)是执行器-传感器-接口的英文缩写,它是一种用在控制器(主站)和传感器/执行器(从站)之间双向交换信息的总线网络,它属于现场总线(Fieldbus)下面底层的监控网络系统。.一个AS-i总线系统通过它主站中的网关可以和多种现场总线(如FF、Profibus、CANbus)相连接。AS-i主站可以作为上层现场总线的一个节点服务器,在它的下面又可以挂接一批AS-i从站。AS-i总线主要运用于具有开关量特征的传感器和执行器系统,传感器可以是各种原理的位置接近开关以及温度、压力、流量、液位开关等。.执行器可以是各种开关阀门,电/气转换器以及声、光报警器,也可以是继电器、
29、接触器、按钮等低压开关电器。当然AS-i总线也可以连接模拟量设备,只是模拟信号的传输要占据多个传输周期。必须注意的是在连接主站和从站的两芯电缆上除传输信号外,同时还提供工作电源。AS-i总线技术特点1、AS-i总线系统完整.AS-i总线是在分析了传统的I/O并行和树型结构的优缺点以及开关量技术特点后发展起来的,它省去了各种I/O卡、分配器的控制柜,节约了大量的连接电缆。因采用了两芯扁平电缆和特殊的穿刺安装技术,能很方便地将传感器/执行器连接到AS-i网络上。2、应用十分简便.AS-i总线是一个主从系统,主站和所有的从站可双向交换信息,当主站与上层现场总线进行通信时,主站担当了AS-i和上层网络
30、信息交换的出入口,因AS-i主要传输的是开关量,所以它的数据结构比较简单,用户仅需关心数据格式、传输率和参数配置等。3、传输速率快捷.在AS-i总线系统中,主站和从站之间采用了串行双向数字通信方式。因为报文较短,如若在有一个主站和31个从站的系统中,ASI的通信周期大约为5ms,也就是说主站在5ms内就可以对31个从站轮流访问一遍。4、功能可靠.在AS-i总线不同的应用情况下,功能可靠包含下列内容,首先是通信数据的可靠性方面,AS-i总线在许多方面采取了抗干扰措施。在接收数据时,必须进行错误检验,此方法十分有效,出错误后信息可以重发。另外如系统部件出现故障时主站会很快检测到故障信息,并自动与发
31、生故障的从站切断通信联系,通知操作人员故障地址,以便及时进行维修。主站还具备网络运行监视功能,在任何时刻用户都能得到系统中所有从站当前运行状态的完整资料。5、节省资金.AS-i总线系统与传统的I/O并行方式树形结构相比,可节省大量的连接导线和安装费用。若用户因生产流程变化需要扩展系统、改变控制动作,或在运行中出现故障,则AS-i总线系统具有的快速安装、故障诊断、自动测试、预防性维护、程序参数变化等功能可以大大缩短系统重新配置和排除故障的时间,提高了效率,节省了资金。6、系统开放.AS-i总线系统在研制开发的初期就确定它必须是一个开放系统,AS-i不同的部件在规范和行规中均有详细的定义和技术要求
32、,任何AS-i部件都必须遵守这些规范,其中如包括两芯电缆,机电一体化接口EMS,功能模块与I/O标准接口等。所有厂商的产品均通过AS-i协会指定机构的标准测试和程序认证,以保证AS-i产品的兼容性和互操作性。.AS-i总线系统的开发是由11个公司联合赞助和规划的,它得到德国科技工业部的支持,诸多科研机构和AS-i协会也加入到这个队伍中来,由此形成了一个世界性的组织AS-i国际协会,这个组织对任何公司和企业都是开放的。USS协议:.USS协议(UniversalSerialInterfaceProtocol通用串行接口协议)是SIEMENS公司所有传动产品的通用串行通讯协议,公开。它是一种基于串
33、行总线进行数据通讯的协议。比较详细的介绍,请参阅S7-200可编程控制器系统手册第11章:使用USS协议库去控制一个Micr驱动。Modbus协议:.该协议是标准协议,公开。ModBus协议是Modicon公司于1978年发明的一种用于电子控制器进行控制和通讯的通讯协议。通过此协议,控制器相互之间,控制器经由网络(例如以太网)和其它设备之间可以进行通信。它的开放性,可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商生产的控制设备可以简单可靠地连成工业网络,进行系统的集中监控,从而使它成为最流行的协议之一。.ModBus协议包括ASCII,RTU,PLUS,TCP等,并没有规定物理层。此
34、协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的ModBus是使用RS-232C兼容串行接口,RS-232C规定了连接器针脚,接线,信号电平,波特率,奇偶校验等信息,ModBus的ASCII,RTU协议则在此基础上规定了消息,数据的结构,命令和应答的方式。ModBus控制器的数据通信采用Master/Slave方式(主/从),即Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。.ModBus可以应用在支持ModBus协议的PLC和PLC之间
35、,PLC和个人计算机之间,计算机和计算机之间,远程PLC和计算机之间以及远程计算机之间(通过Modem连接),可见ModBus的应用是相当广泛的。由于ModBus是一个事实上的工业标准,许多厂家的PLC,HMI,组态软件都支持ModBus,而且ModBus是一个开放标准,其协议内容可以免费获得,一些小型厂商甚至个人都可根据协议标准开发出支持ModBus的产品或软件,从而使其产品联入到ModBus的数据网络中。因此,ModBus有着广泛的应用基础。在实际应用中,可以使用RS232,RS485/422,Modem加电话线,甚至TCP/IP来联网。所以,ModBus的传输介质种类较多,可以根据传输距
36、离来选择。自由口通信协议:.S7-200的自由口通讯方式,使用户可以通过PLC指令自己定义通讯协议,从而与任何公开通讯协议的RS-422或RS-232C接口设备进行通讯,使通讯范围大为增加,控制系统配制更加灵活。使用自由口模式控制串行通讯口.通过编程,您可以选择自由口模式来控制S7200的串行通讯口。当选择了自由口模式,用户程序通过使用接收中断、发送中断、发送指令和接收指令来控制通讯口的操作。当处于自由口模式时,通讯协议完全由梯形图程序控制。SMB30(对于端口0)和SMB130(对于端口1,如果您的S7200有两个端口的话)被用于选择波特率和校验类型。.当S7200处于STOP模式时,自由口
37、模式被禁止,重新建立正常的通讯(例如:编程设备的访问)。在最简单的情况下,可以只用发送指令(XMT)向打印机或者显示器发送信息。其它例子包括与条码阅读器、称重计和焊机的连接。在每种情况下,您都必须编写程序,来支持在自由口模式下与S7200通讯的设备所使用的协议。.只有当S7200处于RUN模式时,才能进行自由口通讯。要使能自由口模式,应该在SMB30(端口0)或者SMB130(端口1)的协议选择区中设置01。处于自由口通讯模式时,不能与编程设备通讯。.自由口通信更详细的描述,请参阅S7-200可编程控制器系统手册。.由上可知,S7-200通信最经济的方式就是采用PPI协议和自由口通信协议。对于
38、S7-200之间进行通信,PPI协议又更适合它比自由口通信的编程更简单!下面就对这个PPI通信进行说明以2台S7-200通信为例,做一个实例。设备配置:1台S7-200CPU226CN的PLC(中国制造)、1台S7-200CPU224XP的PLC(德国原产)。硬件连接:原则上需要配备1条紫色的Profibus电缆、2个黑色的Profibus-DP接头。如果需要在PLC通信时对所有在线的PLC进行监控/编程操作而不占用另外的通信口(也就是说,假如所有PLC用端口PROT1进行PPI通信,而现在要对所有PLC依次编程/监控,但又不想占用这些PLC的端口PROT0端口PROT0可能已作它用),那么必
39、须在其中1台PLC采用带编程口的Profibus-DP接头。所以说,带编程口的Profibus-DP接头在整个网络中只需要一个就可以了。这样,也就可以在某一台PLC处对在网的其它PLC进行编程/监控。引脚分配:.S7200CPU上的通讯端口是符合欧洲标准EN50170中PROFIBUS标准的RS485兼容9针D型连接器。下表列出了为通讯端口提供物理连接的连接器,并描述了通讯端口的针脚分配。下面是S7-200的通信接口D型9孔母头的引脚定义。网络电缆的偏压电阻和终端电阻.为了能够把多个设备很容易地连接到网络中,西门子公司提供两种网络连接器:一种标准网络连接器(引脚分配如表7-7所示)和一种带编程
40、接口的连接器,后者允许您在不影响现有网络连接的情况下,再连接一个编程站或者一个HMI设备到网络中。带编程接口的连接器将S7200的所有信号(包括电源引脚)传到编程接口。这种连接器对于那些从S7200取电源的设备(例如TD200)尤为有用。两种连接器都有两组螺钉连接端子,可以用来连接输入连接电缆和输出连接电缆。两种连接器也都有网络偏置和终端匹配的选择开关。典型的网络连接器偏置和终端如图所示:PROFIBUS电缆的接法.PROFIBUS电缆,紫色,只有两根线在里面,一根红的一根绿的,然后外面有屏蔽层,接线的时候,要把屏蔽层接好,不能和里面的电线接触到,要分清楚进去的和出去的线分别是哪个,假如是一串
41、的,就是一根总线下去,中间不断地接入分站,这个是很常用的方法,在总线的两头的两个接头,线都要接在进去的那个孔里,不能是出的那个孔,然后这两个两头的接头,要把它们的开关置为ON状态,这时候就只有进去的那个接线是通的,而出去的那个接线是断的,其余中间的接头,都置为OFF,它们的进出两个接线都是通的(我觉得德国人真的是和我们的思维不同,我觉得应该是OFF表示关闭吧,他偏设置ON为关闭,搞不懂)。这就是线的接法,接好了线以后呢,还要用万用表量一量,看这个线是不是通的。假如你这根线上只有一个接头,你量它的收发两个针上面的电阻值,假如是220欧姆,那么就是对的,假如你这根线已经做好了,连了一串的接口,你就
42、要从一端开始逐个检查了。第一个单独接线的接口,是ON状态,然后你把邻近的第一个接口的开关也置为ON,那么这个接口以后的部分就断了(出口的线已经被关掉了啊)现在测最边上,就是单线接的那个接口,之后的东西一直都是测这个接口,测它的收发两个针,和刚才一样,假如电阻是110欧姆(被并联了),那么这段线路就是通的,然后把中间刚才那个改动为ON的接口改回到OFF,然后是下一个接口改为ON,。就这么测下去,哪个的电阻不是110欧姆了,就是那一段的线路出问题了。Profibus-DP电缆:用于Siemens公司支持的Profibus-DP总线系统。能够对应12Mbps的高速传送,充分发挥PROFIBUS-DP
43、的功能。铝箔PET带和高密度编织的双层屏蔽使抗干扰性能出色,通信的传送质量稳定。护套使用了柔软性和耐油、耐热性能良好的无铅聚氯乙烯混合物。护套的颜色以紫色(RAL001)为标准色。S7200自由口通信指南自由口通信S7-200CPU的通信口可以设置为自由口模式。选择自由口模式后,用户程序就可以完全控制通信端口的操作,通信协议也完全受用户程序控制。S7-200CPU上的通信口在电气上是标准的RS-485半双工串行通信口。此串行字符通信的格式可以包括: 一个起始位 7或8位字符(数据字节) 一个奇/偶校验位,或者没有校验位 一个停止位自由口通信速波特率可以设置为1200、2400、4800、960
44、0、19200、38400、57600或112500。凡是符合这些格式的串行通信设备,理论上都可以和S7-200CPU通信。自由口模式可以灵活应用。Micro/WIN的两个指令库(USS和ModbusRTU)就是使用自由口模式编程实现的。在进行自由口通信程序调试时,可以使用PC/PPI电缆(设置到自由口通信模式)连接PC和CPU,在PC上运行串口调试软件(或者Windows的HyperTerminal超级终端)调试自由口程序。USB/PPI电缆和CP卡不支持自由口调试。自由口通信要点应用自由口通信首先要把通信口定义为自由口模式,同时设置相应的通信波特率和上述通信格式。用户程序通过特殊存储器SM
45、B30(对端口0)、SMB130(对端口1)控制通信口的工作模式。CPU通信口工作在自由口模式时,通信口就不支持其他通信协议(比如PPI),此通信口不能再与编程软件Micro/WIN通信。CPU停止时,自由口不能工作,Micro/WIN就可以与CPU通信。通信口的工作模式,是可以在运行过程中由用户程序重复定义的。如果调试时需要在自由口模式与PPI模式之间切换,可以使用SM0.7的状态决定通信口的模式;而SM0.7的状态反映的是CPU运行状态开关的位置(在RUN时SM0.7=1,在STOP时SM0.7=0)自由口通信的核心指令是发送(XMT)和接收(RCV)指令。在自由口通信常用的中断有“接收指
46、令结束中断”、“发送指令结束中断”,以及通信端口缓冲区接收中断。与网络读写指令(NetR/NetW)类似,用户程序不能直接控制通信芯片而必须通过操作系统。用户程序使用通信数据缓冲区和特殊存储器与操作系统交换相关的信息。XMT和RCV指令的数据缓冲区类似,起始字节为需要发送的或接收的字符个数,随后是数据字节本身。如果接收的消息中包括了起始或结束字符,则它们也算数据字节。调用XMT和RCV指令时只需要指定通信口和数据缓冲区的起始字节地址。XMT和RCV指令与NetW/NetR指令不同的是,它们与网络上通信对象的“地址”无关,而仅对本地的通信端口操作。如果网络上有多个设备,消息中必然包含地址信息;这些包含地址信息的消息才是XMT和RCV指令的处理对象。由于S7-200的通信端口是半双工RS-485芯片,XMT指令和RCV指令不能同时有效。XMT和RCV指令XMT(发送)指令的使用比较简单。RCV(接收)指令所需要的控制稍多一些。RCV指令的基本工作过程为:1. 在逻辑条件满足时,启动(一次)RCV指令,进入接收等待状态2. 监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态3. 如果满足了设置的消息结束条件,则结束消息,然后退出接收状态