文档库 最新最全的文档下载
当前位置:文档库 › S7-200网络通信及实例

S7-200网络通信及实例

S7-200网络通信及实例
S7-200网络通信及实例

S7-200网络通信及实例

行业者2009-09-19 16:19:26 阅读427 评论1 字号:大中小

1.

........比较详细的介绍,请参阅《S7-200可编程控制器系统手册》第7章:通过网络进行通信。

........下面仅简单说明一下部分通信协议:

PPI(Point to point interface)协议:

........该协议是西门子内部协议,不公开。点对点接口,是一个主/从协议。主站向从站发送申请,从站进行响应,从站器件不发信息,不初始化信息,只是等待主站的要求并对要求作出响应。但当主站发出申请或查询时,从站对其响应。主站可以是其他CPU主机(如S7-300等)、编程器或TD200文本显示器。网络中的所有S7-200都默认为从站。S7-200系列中一些CPU如果在程序中允许PPI主站模式,则在RUN模式下可以作为主站,此时可以利用相关的通信指令来读写其他主机,同时它还可以作为从站来

响应其他主站的申请或查询。

........主站靠一个PPI协议管理的共享连接来与从站通讯。PPI并不限制与任意一个从站通讯的主站数量,但是在一个网络中,主站的个数不能超过32。如果在用户程序中使能PPI主站模式,S7--200 CPU 在运行模式下可以作主站。在使能PPI主站模式之后,可以使用网络读写指令来读写另外一个S7--200。

当S7--200作PPI主站时,它仍然可以作为从站响应其它主站的请求。

........PPI高级允许网络设备建立一个设备与设备之间的逻辑连接。对于PPI高级,每个设备的连接个数是有限制的。所有的S7--200 CPU都支持PPI和PPI高级协议,而EM277模块仅仅支持PPI高

级协议。

........PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信口(Port0、Port1)支持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网络读写通信:1.使用NetR/NetW指令,编程实现;2.使用Micro/WIN中的Instruction Wizard(指令向导)中的NETR/NETW向导。

........使用PPI通讯方式(这是S7-200的专用通讯方式)使用1对RS-485中继器可以最远达到1200M。支持的波特率有9.6 19.2 187.5三种。这种方式是最容易实现的通讯,只要编程设置主站通讯端口的工作模式,然后就可以用网络读写指令(NetR/NetW)读写从站数据。

2.

MPI (Multipoint interface)协议:

........该协议是西门子内部协议,不公开。MPI (Multipoint interface)是SIMATIC S7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量PLC之间近距离通信。通过PROFIBUS 电缆和接头,将控制器S7-300或S7-400的CPU自带的MPI编程口及S7-200CPU自带的PPI通信口相互连接,以及与上位机网卡的编程口(MPI/DP口)通过PROFIBUS或MPI电缆连接即可实现。网络中当然

也可以不包括PC机而只包括PLC。

........MPI允许主--主通讯和主--从通讯。每个S7-200CPU通信口的连接数为4个。与一个S7--200 CPU通讯,STEP 7--Micro/WIN建立主--从连接。MPI协议不能与作为主站的S7--200 CPU通讯。网络设备通过任意两个设备之间的连接通讯(由MPI协议管理)。设备之间通讯连接的个数受S7--200 CPU或者EM277模块所支持的连接个数的限制。

........对于MPI协议,S7--300和S7--400 PLC可以用XGET和XPUT指令来读写S7--200的数据。要得到更多关于这些指令的信息,参见S7--300或者S7--400的编程手册。

........MPI的通信速率为19.2K~12Mbit/s ,但直接连接S7-200CPU通信口的MPI网,其最高速率通常为187.5Kbit/s (受S7-200CPU最高通信速率的限制)。

........在MPI网络上最多可以有32个站,一个网段的最长通信距离为50米(通信波特率为187.5Kbit/s 时),更长的通信距离可以通过RS-485中继器扩展——使用中继器则可达到1000M,最多使用10个中

继器达到9100M。速率从19.2~12M。

........MPI协议不能与一个作为PPI主站的S7-200CPU通信,即S7-300或S7-400与S7-200通信时必须保证这个S7-200 CPU不能再作PPI主站,Micro/WIN也不能通过MPI协议访问作为PPI主站的S7-200CPU。S7-200CPU只能做MPI从站,即S7-200CPU之间不能通过MPI网络互相通信,只能通过

PPI方式互相通信。

........STEP 7-Micro/WIN可以与S7-200CPU建立MPI主-从连接。硬件使用CP5611卡加上PROFIBUS或MPI电缆,S7-200 CPU通信口上要使用带编程口的网络连接器。S7-200CPU的通信口最

低通信速率可设为19.2K,最高187.5K。

........注:CP5613不能通过MPI方式与S7-200 CPU通信口进行编程通信。

........S7-300和S7-400 CPU可以作为MPI主站用XGET(SFC67)和XPUT(SFC68)指令读取S7-200数据,通信数据包最大为64个字节。S7200 CPU中不需要编写任何与通信有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可。

........如果需要在主站中(如S7-300)如何配置S7200 CPU MPI从站的详细文档,可访问客户支持部网站上的“网上课堂”网页,在“网络(NET)”目录中下载《S7-200与S7-300之间的通信》。

3.

PROFIBUS协议:

........该协议是标准协议,公开。PROFIBUS是Process Field Bus的简称。PROFIBUS由相互兼容的三个部分组成,即PROFIBUS-FMS(Fieldbus Message Specification,现场总线信息规范)、PROFIBUS-DP (Decentralized Periphery,分布式I/O系统)、PROFIBUS-PA(Process Automation,过程自动化)。

........PROFIBUS-FMS:用于车间级通用的控制及通讯任务,是一个令牌环结构、实时多主网络。........PROFIBUS DP:是一种高速且优化的通讯方案,主要用于实现现场级控制系统与分布式I/O及其他

现场级设备之间的通讯。

........PROFIBUS-PA:专为过程自动化而设计,符合本征安全规范,适用于在防爆区的应用。

........PROFIBUS提供了三种数据传输类型:1.用于DP和FMS的RS485传输。2.用于PA的IEC1158

-2传输。3.光纤。

........PROFIBUS协议通常用于实现与分布式I/O(远程I/O)的高速通讯。可以使用不同厂家的PROFIBUS 设备。这些设备包括简单的输入或输出模块、电机控制器和PLC。PROFIBUS网络通常有一个主站和若干个I/O从站。主站器件通过配置可以知道I/O从站的类型和站号。主站初始化网络使网络上的从站器件与配置相匹配。主站不断地读写从站的数据。当一个DP主站成功配置了一个DP从站之后,它就拥有了这个从站器件。如果在网上有第二个主站器件,那么它对第一个主站的从站的访问将会受到限制。

........S7-200 CPU可以通过EM277 PROFIBUS-DP 从站模块连入PROFIBUS-DP网,主站可以通过EM277对S7-200 CPU进行读/写数据。作为S7-200的扩展模块,EM277像其它I/O扩展模块一样,通过出厂时就带有的I/O总线与CPU相连。因M277只能作为从站,所以两个EM277之间不能通信。但可以由一台PC机作为主站,访问几个连网的EM277。通过EM277模块进行的PROFIBUS-DP通信,是最可靠的通信方式。建议在与S7-300/400或其他系统通信时,尽量使用此种通信方式。

........EM277是智能模块,其通信速率为自适应。在S7-200 CPU中不用做任何关于PROFIBUS-DP的配置和编程工作,只需对数据进行处理。PROFIBUS-DP的所有配置工作由主站完成,在主站中需配置从站地址及I/O配置。在主站中完成的与EM277通信的I/O配置共有三种数据一致性类型,即字节、字、缓冲区。所谓数据的一致性,就是在PROFIBUS-DP传输数据时,数据的各个部分不会割裂开来传输,是保证同时更新的。即字节一致性保证字节作为整个单元传送。字一致性保证组成字的两个字节总是一起传送。缓冲区一致性保证数据的整个缓冲区作为一个独立单元一起传送。如果数据值是双字或浮点数以及当一组

值都与一种计算或项目有关时,也需要采用缓冲区一致性。

........EM277作为一个特殊的PROFIBUS-DP从站模块,其相关参数(包括上述的数据一致性)是以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)等。

........根据其物理位置的不同(模块连接到CPU的顺序),每个智能模块在S7-200 CPU中都有对应的特殊存储单元(SM)。EM277在工作时的状态信息就保存在这些特殊单元中,用户程序可以通过它们监视

通信的状态等等。详情请参考《S7-200系统手册》。

4.

AS Interface(Acturator Sensor Interface,简称AS I):

........该协议是标准协议,公开。

........在控制的最底层, 传感器、接触器、电机启动器、指示灯和按钮等要传送二进制的大量信息, 必须首先在它们之间建立通讯。AS I 是一个传感器、执行器接口的技术, 用于自动化控制层的最底层, 用简单经济的方式将二进制的数字化执行器和传感器连接起来, 既可以直接连接到控制箱中, 单独或与PLC , IPC 一起独立就地运行; 或与上层现场总线相连, 作为现场总线的一个分支, 应用于网络系统, 从而满足工业控

制的各种要求。

........AS-i(Actuator-Sensor-Interface)是执行器-传感器-接口的英文缩写,它是一种用在控制器(主站)和传感器/执行器(从站)之间双向交换信息的总线网络,它属于现场总线(Fieldbus)下面底层的监控网

络系统。

........一个AS-i总线系统通过它主站中的网关可以和多种现场总线(如FF、Profibus、CANbus)相连接。AS-i主站可以作为上层现场总线的一个节点服务器,在它的下面又可以挂接一批AS-i从站。AS-i总线主要运用于具有开关量特征的传感器和执行器系统,传感器可以是各种原理的位置接近开关以及温度、压力、

流量、液位开关等。

........执行器可以是各种开关阀门,电/气转换器以及声、光报警器,也可以是继电器、接触器、按钮等低压开关电器。当然AS-i总线也可以连接模拟量设备,只是模拟信号的传输要占据多个传输周期。必须注意的是在连接主站和从站的两芯电缆上除传输信号外,同时还提供工作电源。

AS-i总线技术特点

1、AS-i总线系统完整

........AS-i总线是在分析了传统的I/O并行和树型结构的优缺点以及开关量技术特点后发展起来的,它省去了各种I/O卡、分配器的控制柜,节约了大量的连接电缆。因采用了两芯扁平电缆和特殊的穿刺安装技术,

能很方便地将传感器/执行器连接到AS-i网络上。

2、应用十分简便

........AS-i总线是一个主从系统,主站和所有的从站可双向交换信息,当主站与上层现场总线进行通信时,主站担当了AS-i和上层网络信息交换的出入口,因AS-i主要传输的是开关量,所以它的数据结构比较简

单,用户仅需关心数据格式、传输率和参数配置等。

3、传输速率快捷

........在AS-i总线系统中,主站和从站之间采用了串行双向数字通信方式。因为报文较短,如若在有一个主站和31个从站的系统中,ASI的通信周期大约为5ms,也就是说主站在5ms内就可以对31个从站轮流访

问一遍。

4、功能可靠

........在AS-i总线不同的应用情况下,功能可靠包含下列内容,首先是通信数据的可靠性方面,AS-i总线在许多方面采取了抗干扰措施。在接收数据时,必须进行错误检验,此方法十分有效,出错误后信息可以重发。另外如系统部件出现故障时主站会很快检测到故障信息,并自动与发生故障的从站切断通信联系,通知操作人员故障地址,以便及时进行维修。主站还具备网络运行监视功能,在任何时刻用户都能得到系

统中所有从站当前运行状态的完整资料。

5、节省资金

........AS-i总线系统与传统的I/O并行方式树形结构相比,可节省大量的连接导线和安装费用。若用户因生产流程变化需要扩展系统、改变控制动作,或在运行中出现故障,则AS-i总线系统具有的快速安装、故障诊断、自动测试、预防性维护、程序参数变化等功能可以大大缩短系统重新配置和排除故障的时间,提高

了效率,节省了资金。

6、系统开放

........AS-i总线系统在研制开发的初期就确定它必须是一个开放系统,AS-i不同的部件在规范和行规中均有详细的定义和技术要求,任何AS-i部件都必须遵守这些规范,其中如包括两芯电缆,机电一体化接口EMS,功能模块与I/O标准接口等。所有厂商的产品均通过AS-i协会指定机构的标准测试和程序认证,以保证AS-i

产品的兼容性和互操作性。

........AS-i总线系统的开发是由11个公司联合赞助和规划的,它得到德国科技工业部的支持,诸多科研机构和AS-i协会也加入到这个队伍中来,由此形成了一个世界性的组织——AS-i国际协会,这个组织对任何

公司和企业都是开放的。

5.

USS协议:

https://www.wendangku.net/doc/9011587346.html,S 协议(Universal Serial Interface Protocol通用串行接口协议)是SIEMENS 公司所有传动产品的通用串行通讯协议,公开。它是一种基于串行总线进行数据通讯的协议。比较详细的介绍,请参阅《S7-200可编程控制器系统手册》第11章:使用USS协议库去控制一个Micr.master驱动。

6.

Modbus协议:

........该协议是标准协议,公开。ModBus协议是Modicon公司于1978年发明的一种用于电子控制器进行控制和通讯的通讯协议。通过此协议,控制器相互之间,控制器经由网络(例如以太网)和其它设备之间可以进行通信。它的开放性,可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商生产的控制设备可以简单可靠地连成工业网络,进行系统的集中监控,从而使它成为最流行的协议之一。

........ModBus协议包括ASCII,RTU,PLUS,TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的ModBus是使用RS-232C兼容串行接口,RS-232C规定了连接器针脚,接线,信号电平,波特率,奇偶校验等信息,ModBus的ASCII,RTU协议则在此基础上规定了消息,数据的结构,命令和应答的方式。ModBus控制器的数据通信采用Master/Slave方式(主/从),即Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

........ModBus可以应用在支持ModBus协议的PLC和PLC之间,PLC和个人计算机之间,计算机和计算机之间,远程PLC和计算机之间以及远程计算机之间(通过Modem连接),可见ModBus的应用是相当广泛的。由于ModBus是一个事实上的工业标准,许多厂家的PLC,HMI,组态软件都支持ModBus,而且ModBus是一个开放标准,其协议内容可以免费获得,一些小型厂商甚至个人都可根据协议标准开发出支持ModBus的产品或软件,从而使其产品联入到ModBus的数据网络中。因此,ModBus有着广泛的应用基础。在实际应用中,可以使用RS232,RS485/422,Modem加电话线,甚至TCP/IP来联网。所以,ModBus的传输介质种类较多,可以根据传输距离来选择。

7.

自由口通信协议:

........S7-200的自由口通讯方式,使用户可以通过PLC指令自己定义通讯协议,从而与任何公开通讯协议的RS-422或RS-232C接口设备进行通讯,使通讯范围大为增加,控制系统配制更加灵活。

使用自由口模式控制串行通讯口

........通过编程,您可以选择自由口模式来控制S7--200的串行通讯口。当选择了自由口模式,用户程序通过使用接收中断、发送中断、发送指令和接收指令来控制通讯口的操作。当处于自由口模式时,通讯协议完全由梯形图程序控制。SMB30(对于端口0)和SMB130(对于端口1,如果您的S7--200

有两个端口的话)被用于选择波特率和校验类型。

........当S7--200处于STOP模式时,自由口模式被禁止,重新建立正常的通讯(例如:编程设备的访问)。在最简单的情况下,可以只用发送指令(XMT)向打印机或者显示器发送信息。其它例子包括

与条码阅读器、称重计和焊机的连接。在每种情况下,您都必须编写程序,来支持在自由口模式下与S7

--200通讯的设备所使用的协议。

........只有当S7--200处于RUN模式时,才能进行自由口通讯。要使能自由口模式,应该在SMB30(端口0)或者SMB130(端口1)的协议选择区中设置01。处于自由口通讯模式时,不能与编程设备通

讯。

........自由口通信更详细的描述,请参阅《S7-200可编程控制器系统手册》。

8.

........由上可知,S7-200通信最经济的方式就是采用PPI协议和自由口通信协议。对于S7-200之间进行通信,PPI协议又更适合——它比自由口通信的编程更简单!下面就对这个PPI通信进行说明——以

2台S7-200通信为例,做一个实例。

设备配置:1台S7-200 CPU 226CN的PLC(中国制造)、1台S7-200 CPU 224XP的PLC(德国

原产)。

硬件连接:原则上需要配备1条紫色的Profibus电缆、2个黑色的Profibus-DP接头。如果需要在PLC通信时对所有在线的PLC进行监控/编程操作而不占用另外的通信口(也就是说,假如所有PLC用端口PROT1进行PPI通信,而现在要对所有PLC依次编程/监控,但又不想占用这些PLC的端口PROT0——端口PROT0可能已作它用),那么必须在其中1台PLC采用带编程口的Profibus-DP接头。所以说,带编程口的Profibus-DP接头在整个网络中只需要一个就可以了。这样,也就可以在某一台PLC处对在网的

其它PLC进行编程/监控。

引脚分配:

........S7--200 CPU上的通讯端口是符合欧洲标准EN 50170中PROFIBUS标准的RS--485兼容9针D型连接器。下表列出了为通讯端口提供物理连接的连接器,并描述了通讯端口的针脚分配。下面是S7-200的通信接口——D型9孔母头的引脚定义。

网络电缆的偏压电阻和终端电阻

........为了能够把多个设备很容易地连接到网络中,西门子公司提供两种网络连接器:一种标准网络连接器(引脚分配如表7-7所示)和一种带编程接口的连接器,后者允许您在不影响现有网络连接的情况下,再连接一个编程站或者一个HMI设备到网络中。带编程接口的连接器将S7--200的所有信号(包括电源引脚)传到编程接口。这种连接器对于那些从S7--200取电源的设备(例如TD200)尤为有用。两种连接器都有两组螺钉连接端子,可以用来连接输入连接电缆和输出连接电缆。两种连接器也都有网络偏置和终端匹配的选择开关。典型的网络连接器偏置和终端如图所示:

........处于中间节点的从站在不工作时可以断电。

PROFIBUS电缆的接法

........PROFIBUS电缆,紫色,只有两根线在里面,一根红的一根绿的,然后外面有屏蔽层,接线的时候,要把屏蔽层接好,不能和里面的电线接触到,要分清楚进去的和出去的线分别是哪个,假如是一串的,就是一根总线下去,中间不断地接入分站,这个是很常用的方法,在总线的两头的两个接头,线都要接在进去的那个孔里,不能是出的那个孔,然后这两个两头的接头,要把它们的开关置为ON状态,这时候就只有进去的那个接线是通的,而出去的那个接线是断的,其余中间的接头,都置为OFF,它们的进出两个接线都是通的(我觉得德国人真的是和我们的思维不同,我觉得应该是OFF表示关闭吧,他偏设置ON为关闭,搞不懂)。这就是线的接法,接好了线以后呢,还要用万用表量一量,看这个线是不是通的。假如你这根线上只有一个接头,你量它的收发两个针上面的电阻值,假如是220欧姆,那么就是对的,假

如你这根线已经做好了,连了一串的接口,你就要从一端开始逐个检查了。第一个单独接线的接口,是ON 状态,然后你把邻近的第一个接口的开关也置为ON,那么这个接口以后的部分就断了(出口的线已经被关掉了啊~)现在测最边上,就是单线接的那个接口,之后的东西一直都是测这个接口,测它的收发两个针,和刚才一样,假如电阻是110欧姆(被并联了),那么这段线路就是通的,然后把中间刚才那个改动为ON的接口改回到OFF,然后是下一个接口改为ON,。。。。。。就这么测下去,哪个的电阻不是110

欧姆了,就是那一段的线路出问题了。

........PROFIBUS网络电缆(西门子产品号:6XV1 830-0EH10),波特率为100Kbps以下时也可使用普通双绞线(截面积不小0.22平方毫米)。原则上绿色接RS485信号负(对应Profibus接头的A1)、红色接RS485信号正(对应Profibus接头的B1)。当然,统一反着接也可以——绿色接RS485信号正(对应Profibus接头的B1)、红色接RS485信号负(对应Profibus接头的A1)。不要交叉就行。

Profibus-DP现场总线电缆电缆:用于Siemens公司支持的Profibus-DP总线系统。

●能够对应12Mbps的高速传送,充分发挥PROFIBUS-DP的功能。

●铝箔PET带和高密度编织的双层屏蔽使抗干扰性能出色,通信的传送质量稳定。

●护套使用了柔软性和耐油、耐热性能良好的无铅聚氯乙烯混合物。

●护套的颜色以紫色(RAL001)为标准色。

........德国LAPP UNITRONICO BUS L2/FIP:实心裸铜丝导体,2芯绞合成对,芯线颜色为红+绿。铝箔屏蔽后加裸铜丝编织,PVC外护套,阻燃,符合VDE 0472第804部份,B类试验(IEC 332.1),紫色

(RAL4001)。

........传输速率决定允许的总线电缆最大长度如下:

PROFIBUS-DP 1.5MBit/s=最长200m

(SIMATIC网) 12.0MBit/s=最长100m

工厂通讯处理层 1.0MBit/s=最长200m

2.5MBit/s=最长200m

........上述参数适用于PROFIBUS-DP及PROFIBUS—FMS总线电缆。

........国产普通屏蔽电缆也可以替代PROFIBUS电缆,没有问题,实践证明是可以用的。这样说吧,使用是没有问题的,但是是要有些请提条件的,比如西门子给出的多大速率下对应多大的通讯距离,西门子DP电缆没有问题,但是国产屏蔽电缆就有可能不能用到这么长的通讯距离。要选用质量好的国产屏蔽

电缆。

........为了保证信号的稳定要在DP网络的两端接电阻,3和8脚接220电阻,3和VP引脚接390电阻,8脚和DGND脚接390电阻。如果有RS485连接器,就不用自己加终端电阻,RS485连接器中已经自带终

端电阻了。

.......国产屏蔽电缆抗干扰的能力应该要若一些,如果是电磁环境很差的地方,例如有交交变频系统等,建议使用profibus-dp电缆。比较重要的系统中,对通讯安全非常严格的话,建议还是使用西门子的

profibus-dp电缆。

........上面是官方提到的硬件连接方式,在实际中,我们可能因为使用情况不同(临时使用、实验使用、同一个电控柜内使用等),手边没有现成的Profibus电缆和Profibus-DP接头。那么,在这种情况下

就需要自己制作了。下面就简单说一下制作方法:

1、不带编程口的通信线制作:

........有多少个PLC就买多少个D型9针公头,然后买需要长度的Profibus电缆(实在没有,买屏蔽双绞线也可以,不过抗干扰性没那么好哟;近距离的话,随便用什么线连接都可以,哪怕是2根单股导线,也没问题)。通过电缆,把这些D型9针公头的3脚依次连接在一起,把这些D型9针公头的8脚也依次连接在一起。接线的时候注意点,不要接错了——笔者就因为疏忽大意接错线,导致查了几个小时的故障才发现接线错了(首先怀疑线错了,用万用表打,没发现问题,晕哟,可能是遇见鬼了;最后把线

全拆了,重新焊接即恢复正常)。

........如果通信存在问题,那么建议把这些D型9针公头的5脚也接在一起,强制低电位相等。如果有屏蔽线的话,就接上屏蔽线。屏蔽层接到每台设备的外壳并最后接大地。

........至于终端电阻和偏置电阻,距离短的话,就可以不接了。不过,虽然不接,也得了解其原理——终端电阻和偏置电阻如17楼图示。因为PROFIBUS的连接电缆通常采用TYPE A标准,其中的电缆阻抗值最大为165欧,390/220/390的等效电阻是170,是为了实现阻抗匹配。当没有通讯进行时,终端电阻可以保证信号线间的电压差。通常加载在终端的电压为5V,390/220/390使得两信号线点的电压值分别为

1.95和3.05V,是理想的静态电压(差分)。

........官方的PROFIBUS接头有进线和出线2个口,采用官方的PROFIBUS接头接线时需要注意:

“首站”和“末站”都接进线。

........其实“首站”和“末站”接出也能通信的,但是为了保证通讯的稳定,“首站”和“末站”都要把终端电阻置为ON,这时如果还把“首站”和“末站”接出线,那么“首站”和“末站”都被终端掉了。所以西门子规定:“首

站”和“末站”都接进线。

2、带编程口的通信线制作:

........先制作不带编程口的通信线,然后再找一个D型9孔母头,与其中一台PLC的D型9针公头一对一连接:1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8,9-9。PLC编程电缆(多主站电缆)连接那个D 型9孔母头。这样,电脑就可以监控那台PLC了。同时,因为同时也连接到了网内所有PLC,所以也可

以监控网内所有PLC。

........注意:无论是否采用西门子原装的总线电缆和接头,如果是不带编程口,那么就只能监控到1台PLC而监控不到在网的其它PLC————例如,1台PLC采用端口PORT1与其他PLC进行通信,而编程电缆连接到了这台PLC的端口PORT0,那么在电脑上是无法监控到在网的其它PLC的。因为,电脑的编程电缆的通信线3,8脚和在网的其它PLC都不存在物理连接嘛。

采用了不带编程口的通信线,PLC插在不是联网那个通信口上监控,只能看到1台PLC:

采用了带编程口的通信线,PLC插在联网那个通信口上监控,能看到在网的所有PLC:

不过,最好只搜索设定的波特率就可以了,不要搜索所有波特率,否则可能出现问题:

要监控在网的哪台PLC,需要打开相应的PLC程序,然后搜索出所有的PLC,再把光标置于相应的PLC上,点击“确定”。然后可以下载和监控那台PLC:

如果电脑上当前PLC程序和“通信”的当前地址的PLC的程序不同,是无法监控该PLC的。如果电脑上当前PLC程序“系统块”中的地址和“通信”的当前地址不同,那么将无法下载:

下面就来针对dingqw1234网友的要求做一个实例:1台CPU 226CN 作为主站,1台CPU 224XP 作为从站,要把CPU 224XP的输入点数据全部传到CPU 226CN里面。

一、硬件连接:

........按照上面所说的方法,用到编程口的通信电缆把CPU 226CN和CPU 224XP的端口PORT1连接起来。当然,这个连接口可以随意组合,不过,根据不同的情况,可能会影响到程序的编制——如果同一台PLC的2个编程口的地址不同(要连接多个通信设备或不同的用途,就需要把2个通信口设置为不

同的地址),那么就可能会影响到程序的编制。

二、PLC地址分配:

........编程软件TEP 7 MicroWIN分配的地址固定是0;程序中PLC的默认地址为2,这个我们要修改;因为该系统中没有其它设备,例如人机界面/触摸屏,这里就把CPU 226CN的PROT0口的地址设为1,把CPU 226CN的PROT1口的地址设为2,把CPU 224XP的PROT0口的地址设为3,把CPU 224XP

的PROT1口的地址设为4。

........当然,每个PLC的2个端口可以设置为相同的地址,这样的好处是:当一个通信口坏掉时,可以插到另外一个通信口,而不用更改主站PLC的程序。

........把每个PLC的2个端口设置为不相同的地址,笔者认为这样做没有什么好处(如果你知道,请告诉笔者,多谢!),只有坏处:当一个通信口坏掉时,插到另外一个通信口,需要更改与这台PLC通信的主站PLC的程序。不过这个例子中笔者这样分配地址,是做个实验而已。

三、编程:

........针对上面的控制要求,从站CPU 224XP就不需要编程了,只需要把CPU 224XP的PROT0口的地址设为3,把CPU 224XP的PROT1口的地址设为4并下载系统块就可以了。这个步骤就不赘述了,

地址设置方法请参阅对CPU 226CN的设置。

........下面是对主站CPU 226CN进行编程和系统块地址设置的步骤。该例中,采用PPI协议进行通信(比自由口通信要简单得多),而且采用指令向导来编程(比直接设置特殊存储器SMB、调用NETR

和NETW指令要简单得多)。

........点“设置PG/PC接口”,选中“PC/PPI Cable(PPI)”,点“属性”,在“本地连接”中选择你的编程程电缆的类型——COM1、COM2或是USB;在PPI中勾选“高级PPI”——非西门子官方电缆就不要选了,即

使选了也不支持。点击“确定”——“确定”。

........把编程电缆插到每个PLC,对每个PLC设置指定的地址和设置统一的波特率——如果电缆质量不好,非原装电缆,波特率设置不要过高。先点“通信”,然后双击“双击刷新”。搜索到PLC地址后,设置好当前PLC地址。然后修改系统块中的PLC端口,按照预设的地址进行修改。最后下载系统块,把PLC相应端口设置为预设的地址。这个操作比较简单,我就不在贴图赘述了。

........把编程电缆插回到D型9孔母头。点击“通信”,取消勾选“搜索所有波特率”,然后双击“双击刷新”:

把光标移动到要监控/下载的PLC上面。如果要编226CN主站,移到地址2,如上图。

点击“工具”——“指令向导”,选择“NETR/NETW”,点击“下一步”:

选择需要配置的操作数量(这个例子为1),点击“下一步”:

选择主站的通信口(本例为端口1),点击“下一步”:

选择读还是写(本例为读),选择读几个数据(本例读2个数据,IB0-IB1;对于226CN的输入,应当读3个数据,IB0-IB2,共24个输入),选择PLC的地址(本例为4):

说明:

如果您在配置NETR,指定以下内容:

- 数据存储在本地PLC 中的位置。有效操作数:VB、IB、QB、MB、LB。- 从远程PLC 读取数据的位置。有效操作数:VB、IB、QB、MB、LB。

如果您在配置NETW,指定以下内容:

- 数据存储在本地PLC 中的位置。有效操作数:VB、IB、QB、MB、LB。- 向远程PLC 写入数据的位置。有效操作数:VB、IB、QB、MB、LB。

点击“下一步”:

S7-200PLC编程例子

用S7-200编程的三个实例的解析之二 1、有一网友:“求助用西门子S7-200编个梯形图。在此,谢谢啦。 PLCcpu224×7 要求: 1、液位机量程0—3米,对应输出信号0—10V,通过电位机进行模拟介入PLC模块的模拟量输入专口。要求PLC正确读取液位机的输出信号转换成水池的液位。 2、水泵控制具有手动与自动两种模拟。 3、自动模拟:PLC内部根据液位至控制水泵的启动和停止,水泵在液位上升至2米时启动,降到1米时停止。 4、手动模拟:水泵通过按钮手动启动/停止。 5、上升到2.5米时,触发液位超上限报警,故障指示灯常亮。 6、对水泵的运行状态进行检测,当水泵运行信号输出后,检测水泵运行反馈信号。如水泵运行信号,输出1秒后未收到水泵运行反馈信号,则故障指示灯闪亮,同时复位水泵运行信号。 7、故障状态自保持,当故障原因消除且按下复位按钮事,故障复位。 8、ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D,输入信号5路。 I0.0:自动手动模拟装换开关SA0,当I0.0接通时为自动模拟,I0.0断开时为手动模拟状态。 I0.1:水泵手动启动按钮SB1,常开点。 I0.2:水泵停止按钮SB2,常闭点。 I0.3:故障复位按钮SB3,常开点。 I0.4:水泵运行状态反馈,正常状态下,水泵运行信号输出后接通,水泵运行信号断开后断开。 Q:输出信号四路, Q0.0:自动模拟指示灯HL0. Q0.1:水泵运行状态指示灯HL1. Q0.2:故障指示灯HL2,超液位报警时常亮,水泵反馈信号异常报警时闪亮。 Q0.3:水泵运行输出KA3。 谢谢你的大力帮助。 ” 我的回复:根据“液位机量程0—3米,对应输出信号0—10V”可得出:1米对应3.33V,2米对应6.67V,2.5米对应 8.33V,再由“ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D”可得出:1米对应数字量10667,2米对应数字量21333,2.5米对应数字量26667,按着你的要求,编写如下梯形图,供你参考。 动作原理:1、I0.0自动 / 手动,模拟开关,当改变它的状态时,其前后沿都使Q0.3=0,目的是确保进入自动模拟或手动模拟状态时,水泵都处于停止状态。 2、I0.0=0(手动模拟状态):按一下启动开关I0.1,使Q0.3=1,水泵运行,按一下启动开关I0.2,使Q0.3=0,水泵停止。 3、I0.0=1(自动模拟状态):当液面上升2米高时,模拟块输出的数字量ALWO=21333,图中2M支路的比较器动作,使Q0.3=1,水泵运行。同时T100得电开始延时,延时1秒时,如I0.4=1(即水泵运行状态反馈正常状态下),其常闭点断开,不会触发M2.0,即不报警,但如I0.4=0(即水泵运行状态反馈异常状态),其常闭点闭合,将触发M2.0,使M2.0=1,Q0.2闪动输出,即发出反馈异常报警。当液面高度低于1米时,ALWO<10667,第二个比较器动作,使Q0.3=0,水泵停。当液面高度高于2.5米时,ALWO>26667,第三个比较器动作,使Q0.3=0,水泵停。又使M2.1=1,Q0.2=1,发出故障报警。处理完故障后,按一下I0.3,其M2.0与M2.1=0,复位。 2、网友求助:“ 要求:当带锁定按钮按下,接触器能吸合一下,马上又能断开,当按钮复位后,同一个接触器能吸合一下,马上又能断开。所用器件没有限制,也可用PLC编程,(我想了很久也做不出来,请高手指点一下,谢

西门子S7-200Modbus通信与变频器通信实例

西门子S7-200通过自由口需要控制英威腾变频器的正负转停止和故障复位,运行频率控制以及分二次读取运行速度等12条变频器信息。程序略微变动适应所有Modbus RTU需要控制。 下面是程序,可以直接导入程序后写入PLC试验 ORGANIZATION_BLOCK 主程序:OB1 TITLE= BEGIN Network 1 // 主程序,初始化并查执各变频器指令 // 一.功能介绍 // 该程序专为英威腾CHF系列变频器编写。英威腾CHF系列变频器内置国际标准的MODBUS通信协议。程序运行时,变频器作为MODBUS协议从站接收来自CPU224 PLC的通信指令,实现起停、频率给定、监控等功能。 // CHF系列矢量变频器在与CPU224通信前须做好以下准备工作: // 1.确认己安装好CHF系列变频器的通讯卡,并将卡上的端口跳线置于RS485端; // 2.用一根带9针阳性插头的串口通信电缆连接在CPU224 PLC的自由通信口端,电缆另一端的第5、3、8线分别接在CHF变频器RS485通讯卡的GND、485+、485一端子上,其余线屏蔽不用; // 3.预先设置变频器以下参数: // PC.00=1 //变频器通讯地址为1 // PC.01=3 //通讯波特率9.6K // PC.02=1 //通讯数据偶校验8位数据位1位停止位 // P0.03=2 //变频器的运行指令采用通讯方式 // P3.01=7 //变频器的A频率设定采用通讯方式(注意P3.04/P3.05对P3.01通讯频率的影响) // 二.程式结构说明 // 该程序由1个主程序3个子程序及2个中断程序组成。子程序里包含了变频器的起停、复位、查询功能指令,由主程序调用。中断程序为发送及接收指令提供中断支持。 // main //主程式,初始化并查执各变频器指令 // sbr0 //CRC校验子程序

s7200与wincc通信应用

S7-200系列PLC与WINCC以太网通信CP243i的实例 一. 硬件连接: 将CP243i的两端分别与S7-200的PPI口和以太网线连接(上图使用的是交叉网线,如果中间加交换机就要用直连网线,注:我们平时用的都是直连型网线) 二. 监控计算机的软件设置: a.OPC—西门子PC_Access的设置: S7-200一般都是通过PC_Access(OPC server)软件再与WinCC相连的。因此要首先 设置PC_Access,但是在设置前一定要先运行一次西门子的MicroWin ,在它的设置PG/PC 接口中选择[ TCP/IP(Auto) 实际的网卡名],目地是将PC_Access的驱动选为TCP/IP, 之后打开PC_Access,见下图: 用鼠标右健点击[ MicroWin(TCP/IP) ],然后用鼠标左键选择[ 新PLC(N)…]

只要填写[ IP地址:192 .168 .1 .10 ](注:这是CP243i转换器的IP地址),然后直接点击[ 确认] ,进入下图: 用鼠标点击[NewPLC]→新(N) →项目(I) ,如下图所示:

新建项目的对话框: 下边做4个例子:

(1)名称:ITEM_VB10,地址:VB10,数据类型:BYTE (2)名称:ITEM_Q0_0,地址:Q0.0,数据类型:BOOL (3)名称:ITEM_I0_2,地址:Q0.2,数据类型:BOOL (4)名称:ITEM_MD20,地址:MD20,数据类型:REAL 添加完变量后,一定要存一下盘!至于文件名随便写一个或用缺省的也可 建立4个ITEM后,用鼠标安下图次序(1)(2)(3)依次点击,就进入了测试状态 如果通讯正常,质量显示为good 否则为bad b. 西门子WinCC的设置: 打开WinCC,新建一个项目[ test_s7_200]:

s7-200和12台modbus仪表的通讯实例

TITLE=程序注释 Network 1 // 网络标题 // 网络注释 LD SM0.1 R M0.0, 128 Network 2 LD M0.1 EU S M1.0, 1 Network 3 LD SM0.0 = L60.0 LD SM0.0 = L63.7 LD L60.0 CALL SBR1, L63.7, 19200, 0, +100, M0.1, VB0 Network 4 LD M1.0 = L60.0 LD M1.0 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 3, 0, 40001, +14, &VB500, M1.1, VB1 Network 5 LD M1.1 R M1.0, 1 Network 6 LD M1.1 = L60.0 LD M1.1 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 3, 1, 40014, +2, &VB200, M1.2, VB2 Network 7 LD M1.2 R M1.1, 1 Network 8 LD M1.2 = L60.0 LD M1.2 EU = L63.7

CALL SBR2, L63.7, 4, 0, 40001, +14, &VB528, M1.3, VB3 Network 9 LD M1.3 R M1.2, 1 Network 10 LD M1.3 = L60.0 LD M1.3 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 4, 1, 40014, +2, &VB204, M1.4, VB4 Network 11 LD M1.4 R M1.3, 1 Network 12 LD M1.4 = L60.0 LD M1.4 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 5, 0, 40001, +14, &VB556, M1.5, VB5 Network 13 LD M1.5 R M1.4, 1 Network 14 LD M1.5 = L60.0 LD M1.5 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 5, 1, 40014, +2, &VB208, M1.6, VB6 Network 15 LD M1.6 R M1.5, 1 Network 16 LD M1.6 = L60.0 LD M1.6 EU = L63.7

S7-200两台和三台PLC主从站PPI通信实例

PPI通信实例:实现2台S7-200的PPI通信 说明:实现2台S7-200PLC通过PORT0口互相进行PPI通信。通过此实例,了解PPI通信的应用。 实例实现:在教6-119实验室,利用第五排机架的RA_5.3和RA_5.4机架进行实例操作。 图1:S7-200CPU之间的PPI通信网络 如图1:系统将完成用甲机的I0.0-I0.7控制乙机的Q0.0-Q0.7,用乙机的I0.0-I0.7控制甲机的Q0.0-QO.7。甲机为主站,站地址为2;乙机为从站,站地址为3,编程用的计算机站地址为0。 实验体会: 1 注意在STEP7-Micro/WIN软件里波特率的设置和PPI电缆设置要一致。可选择默认的9.6kbps。

2 配置STEP7-Micro/WIN使用PPI协议时,将PPI电缆设置为多主站电缆模式,这样方便PC机对主站的操作。否则会报错,给操作上带来很多麻烦。 3 请分别用PC/PPI电缆连接各个PLC进行端口设置,并将设置好的系统块下载到CPU中。 4 SMB30是S7-200 PLC PORT0通讯口的控制字,务必搞清楚控制字各位的含义。 端口设置: 打开编程软件,选中“系统块”,打开“通讯端口”。 如下图:设置端口0站号为3,选择9.6kbps,然后下载到CPU 中,同样的方法设置另一个CPU。

利用网络连接器和网络线把甲机和乙机端口0连接,利用软件搜索如下图:

从站(站3)不编写程序附梯形图程序:

对站3进行写操作,把主站IB0发送到对方(站3)的QB0

PPI通讯实验: 网络读写编程大致有如下几个步骤: 1.规划本地和远程通信站的数据缓冲区 2.写控制字SMB30(或SMB130)将通信口设置为PPI主站 3.装入远程站(通信对象)地址 4.装入远程站相应的数据缓冲区(无论是要读入的或者是写出的)地址

主题:S7-200模拟量EM235编程实例

主题:S7-200模拟量EM235编程实例 西门子S7-200模拟量编程 本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容: 1、模拟量扩展模块接线图及模块设置 2、模拟量扩展模块的寻址 3、模拟量值和A/D转换值的转换 4、编程实例 模拟量扩展模块接线图及模块设置 EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。下面以EM235为例讲解模拟量扩展模块接线图,如图1。 图1 图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X +和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。 对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。(后面将详细介绍) EM235的常用技术参数: 模拟量输入特性 模拟量输入点数4 输入范围电压(单极性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV 电压(双极性) ±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV 电流0~20mA 数据字格式双极性全量程范围-32000~+32000 单极性全量程范围0~32000 分辨率12位A/D转换器 模拟量输出特性 模拟量输出点数1 信号范围电压输出 ±10V 电流输出0~20mA 数据字格式电压-32000~+32000 电流0~32000 分辨率电流电压12位 电流11位 下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。 EM235开关单/双极性选择增益选择衰减选择 SW1 SW2 SW3 SW4 SW5 SW6 ON 单极性 OFF 双极性 OFF OFF X1 OFF ON X10

西门子S7-200Modbus通信与变频器通信实例之欧阳学文创作

西门子S7200通过自由口需要控制英威腾变频器的正负转停止和故障复位,运行频率控制以及分二次读取运行速度等12条变频器信息。程序略微变动适应所有Modbus RTU需要控制。 欧阳学文 下面是程序,可以直接导入程序后写入PLC试验 ORGANIZATION_BLOCK 主程序:OB1 TITLE= BEGIN Network 1 // 主程序,初始化并查执各变频器指令 // 一.功能介绍

// 该程序专为英威腾CHF系列变频器编写。英威腾CHF 系列变频器内置国际标准的MODBUS通信协议。程序运行时,变频器作为MODBUS协议从站接收来自CPU224 PLC 的通信指令,实现起停、频率给定、监控等功能。 // CHF系列矢量变频器在与CPU224通信前须做好以下准备工作: // 1.确认己安装好CHF系列变频器的通讯卡,并将卡上的端口跳线置于RS485端; // 2.用一根带9针阳性插头的串口通信电缆连接在 CPU224 PLC的自由通信口端,电缆另一端的第5、3、8线分别接在CHF变频器RS485通讯卡的GND、485+、485一端子上,其余线屏蔽不用; // 3.预先设置变频器以下参数: // PC.00=1 //变频器通讯地址为1 // PC.01=3 //通讯波特率9.6K // PC.02=1 //通讯数据偶校验 8位数据位 1位停止位 // P0.03=2 //变频器的运行指令采用通讯方式 // P3.01=7 //变频器的A频率设定采用通讯方式(注意

P3.04/P3.05对P3.01通讯频率的影响) // 二.程式结构说明 // 该程序由1个主程序3个子程序及2个中断程序组成。子程序里包含了变频器的起停、复位、查询功能指令,由主程序调用。中断程序为发送及接收指令提供中断支持。 // main //主程式,初始化并查执各变频器指令 // sbr0 //CRC校验子程序// sbr1 //通讯端口初始化子程序 // sbr2 //发送变频器写入06/读取03指令,共8个字节// intO //接收完成中断程序 // int1 //发送完成中断程序 LD SM0.1 CALL SBR1 //调用初始化子程序,使能PORT0自由口模式 Network 2 // 接收完成后延时10mS M4.4接通,运行下一次发送数据LDN M4.0 AN M4.1

S7-200自由口通讯示例

PLC 和变频器 频器博客原创(https://www.wendangku.net/doc/9011587346.html,)
S7通讯的编程步骤-----自由口通讯 S7-200 通讯的编程步骤---自由口通讯
S7-200 自由口通讯是基于 RS485 通讯基础的半双工通讯, 因此, 发送和接收指令不能同时执行。 自由口通讯使用 SMB30(口 0)和 SMB130(口 1)来定义通讯口 的工作模式。SMB30/SMB130 各位的定义如下:
图 1:通讯口工作模式寄存器
使用自有口通讯,SM30.0 和 SM30.1(SM130.0 和 SM130.1=0) 必须分别为 1 和 0。 发送指令(XMT) 一、 发送指令(XMT) 使用 XMT 发送指令可以把存于缓冲区中的数据, 一次发送一个或
1

PLC 和变频器 频器博客原创(https://www.wendangku.net/doc/9011587346.html,)
多个字节的数据,最多为 255 个。发送完最后一个字符后还可以连接 到一个发送完中断(端口 0 为 9,端口 1 位 26,见下表) 。
图 2:中断事件表
2

PLC 和变频器 频器博客原创(https://www.wendangku.net/doc/9011587346.html,)
发送缓冲区的格式如下表所示:
图 3:发送缓冲区的格式 说明: T+0:发送信息的字节个数需要提前定义。 T+1~T+255:要发送的数据字节
和 XMT 有关的寄存器:SMB4 的 SM4.5 和 SM4.6。SM4.5=1 时,口 0 发送完毕;SM4.6=1 时,口 1 发送完毕。 由以上可以看出,有两种方法可以检测端口 0 或 1 的数据发送 状态:一种是利用中断,一种是利用寄存器 SMB4 的第 5 位(口 0) 和第 6 位(口 1) 。 接收指令(RCV) 二、 接收指令(RCV) 使用接收指令(RCV)可以从端口 0 或 1 接收一个或多个字节的 数据(最多 255 个) ,并存于数据缓冲区。接收完最后一个字节后可 以连接到一个接收完中断(口 0 是 23,口 1 是 24,见图 2 所示) 。 接收缓冲区的格式如下表所示:
3

西门子S7200与变频器MODBUS通讯实例详解

西门子S7200与变频器MODBUS通讯实例详解 西门子S7200PLC简介 西门子S7-200PLC在实时模式下具有速度快,具有通讯功能和较高的生产力的特点。一致的模块化设计促进了低性能定制产品的创造和可扩展性的解决方案。来自西门子的S7 - 200微型PLC可以被当作独立的微型PLC解决方案或与其他控制器相结合使用。 Modbus通讯协议简介 Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。 ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。 1 MODBUS RTU协议在S7-200中的应用原理 1.1 MODBUS RTU协议与S7-200相互关系简介 S7-200 CPU上的通讯口Port0可以支持MODBUS RTU协议,成为MODBUS RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 想在S7-200 CPU与其他支持MODBUS RTU的设备使用MODBUS RTU协议通讯,需要由有S7-200 CPU做MODBUS主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 2 从站指令的用法: S7-200控制系统应用中,MODBUS RTU从站指令库只支持CPU上的通讯0口(Port0)。要

S7-200实现Modbus通信范例(绝对精华)

说明: 使用下面的例程你可以在S7-200CPU之间设置一个简单的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. 硬件设置 例程中的Modbus通讯是在两个S7-200 CPU的0号通讯口间进行的(最好每个CPU 都有两个通讯口)。在主站侧也可以选择相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的针脚连接为2,3,7,8)。

图. 01 2. 参数匹配 对于MODBUS通讯, 主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG", 从站侧需要程序库 "MBUS_INIT" and "MBUS_SLAVE"。 在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。 必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致 (见图. 02)。 Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode" = "1")。 图. 02 下面的表格列出了程序块各个参数选项及其意义 主站

通过S7协议实现S71200与S7200通讯

通过S7协议实现S7-1200 与S7-200的通信Communication between S7-1200 and S7-200 via S7 protocol

摘要 本文介绍了通过 S7 协议实现S7-1200 与S7-200的通信。 关键词S7 协议,S7-1200,S7-200 Key Words S7 protocol,S7-1200,S7-200 IA&DT Service & Support Page 2-15

目录 1.概述 (4) 2.硬件需求 (4) 3.软件需求 (4) 4.组态 (5) 4. 1 S7-1200 配置 (5) 4. 2 S7-1200 PLC 编程 (5) 4. 3 S7-200 配置 (7) 4. 4 S7-200 PLC 编程 (11) 4. 5 检测 S7-1200 与S7-200 PLC 通信结果 (12) 5.总结 (14) IA&DT Service & Support Page 3-15

IA&DT Service & Support Page 4-15 1.概述 通过以太网可以实现S7-1200与S7-200连接通信。S7-200可以使用 模块(CP243-1或CP 243-1 IT )连接到以太网上,该模块提供S7 通信的功能,既可作为客户机,也可以作为服务器,可以同时与最多8个S7 通信伙伴进行通信;S7-1200 集成以太接口,提供S7 通信的功能,只能作为服务器,可以同时建立3 个通信连接。 下面会用一个实例来描述S7-200 如何与S7-1200建立通信连接。 图1: 实例网络拓扑图 2.硬件需求 ? S7-1214C AC/DC/RLY ? CPU 224 XP CN DC/DC/DC ? CP243-1 IT ? SCALANCE X204-2 ? PG/PC(使用编程电缆) 3.软件需求 ? S7-1200编程软件 STEP 7 Basic V10.5 ? S7-200 编程软件 STEP 7 –MicroWIN V4.0 SP6

(完整版)S7-200模拟量输入输出实例

对输入、输出模拟量的PLC编程的探讨及编程实例解析 3134人阅读| 4条评论发布于:2011-12-29 9:03:42 对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。比如有3个温度传感变送器:(1)、测温范围为0~200 ,变送器输出信号为4~20ma (2)、测温范围为0~200 ,变送器输出信号为0~5V (3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma (1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。 一、转换公式的推导 下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导: 对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号,20ma 对应数子量=32000,4 ma对应数字量=6400; 对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V对应数字量=32000,0V对应数字量=0; 这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:

上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。编程者依据正确的转换公式进行编程,就会获得满意的效果。 二、变送器与模块的连接 通常输出4~20ma电流信号的传感变送器,对外输出只有+、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。下右图粉色虚线框内为EM235 模块第一路模拟输入的框图,它有3个输入端,其A+与A-为A/D转换器的+ - 输入端,RA 与A-之间并接250Ω标准电阻。A/D转换器是正逻辑电路,它的输入是0~5V电压信号,A-为公共端,与PLC的24V电源的负极相连。 那么24V电源、传感变送器、模块的输入口三者应如何连接才是正确的?正确的连线是这样的:将左图电源负极与传感器输出的负极连线断开,将电源的负极接模块的A-端,将

威纶触摸屏与s7-200通信实例

目录 1. 范例操作概述 2. 规划说明 3. 元件列表 1. 范例操作概述 此范例将介绍如何快捷简易地建立WEINVIEW HMI与S7-200 PLC通讯。注意事项:通讯参数设置,通讯线接法。 2. 规划说明 (1) 新建简单PLC 示例程序,建立外部输入点I0.0,I0.1,辅助继电器M0.0,外部输出点Q 0.0,数据寄存器VW0,VW2。 注意: 外部输入I 的状态取决于外部的物理开关状态,Project 工程里做指示灯显示,不被直接用做开关量。可借助辅助继电器控制输出,如程序示例。

(2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19.2kbps。 (3) EB8000 软件,PLC 设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通讯端口设置一致,如PLC 地址2,波特率19.2kbps。可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187.5kbps;PLC 和HMI 的程序通讯参数都必须做对应修改。

建议:与S7-200 通讯时,建议将通讯延时、ACK 讯号延时分别设置为默认值5ms、30m s(如上图),但可根据通讯速率需求做适当修改。 (4) 通讯线制作:EB8000 软件,说明——帮助主题——PLC 连接手册,可查询通讯线接法。 注意:通讯线接法必须与选择的COM 口一致,如上述选择COM1 口,通讯线:屏(公头)1、2、5——PLC(公头)8、3、5。与SIEMENS S7-200CN PLC 通讯时,建议在D-和D+之间接上一个100Ω 1/4W终端电阻。 说明: A、SIEMENS S7-200 驱动可与SIEMENS S7-200 系列PLC 包含CPU212/CPU214/CP U215/CPU216/CPU221/CPU222/CPU224/ CPU226 等型号连接,并且支持187.5kbps 的波特率通讯。 B、SIEMENS S7-200 (Ethernet)支持如上述S7-200 PLC 型号的以太网模块通讯,具体接线方法和参数设置,请参考“说明——帮助主题——PLC 连接手册”。 C、SIEMENS S7-200 (VD any address)驱动使用VD 寄存器的地址可以不为4 的整数

S7-200编程的几个实例的编程技巧解析

用S7-200编程的几个实例的编程技巧解析 本文用S7-200 编写的几个实例都是在网上发表或在回答网友的求助编写的,程序短小,针对性强,有程序解析,特别适合初学者学习参考。 一、网友求助“西门子PLC用一个按钮控制电机启停,不容许用中继,

此时M6.0=0、M6.1=1,故使Q0.0=1,电机正传运行。随后将按钮抬起,T101 的后沿使MB5+1,此时MB5=0000_0001。 3)电机停转:按下按钮不抬起,此时MB5=0000_0001。延时1秒后T102动作,T102=1的前沿,将MB5送入MB6,之后MB5清0,此时M6.0=1、M6.1=0, 故Q0.0、Q0,1皆为0,电机停止转动。当按钮抬起时,T101的后沿触发MB0, 使MB5=1。 4)电机反转运行:点击二下按钮(I1.0),产生二个(T101=1)的正脉冲,其后沿触发MB5计数器,使其+2,再按下按钮不抬起,此时MB5=0000_0011。经 1秒延时,T102闭合,其前沿将MB5的内容送入MB6,随之将MB5清0。 此时M6.0=1、M6.1=1,故使Q0.1=1,电机反传运行。随后将按钮抬起,T101 的后沿使MB5+1,此时MB5=0000_0001。 该程序不需任何外围硬件,而且程序简短,经上机运行考验,程序正确, 动作可靠。可以实用。 三、网友求助:“s7-300里的定时器t1,怎么循环启动? 现在是,使用完一次,t1 就停止了!而我想用T1实现每隔2秒重复一个动作!请大家帮忙,谢谢!” 又提出:“其实,我就是想用定时器来实现每隔3秒,QB0循环右移一位。我现在比较菜鸟哈,希望高手们能指点详细点,最好能有梯形图!嘿嘿,感谢!!” 回复:“楼主:根据你的要求“其实,我就是想用定时器来实现每隔3秒,QB0循环右移一位。”我给你编出用S7-200和用S7-300编出的功能一样的梯形图。从图中可以看出,S7-200由于采用字节循环右移指令,所以编出程序简短易懂。S7-300由于没有字节循环右移指令,就得通过编程来达到同样的功能作用,编出的程序相对长了一些,看懂梯形图也相对难了一点。有什么问题可以提出,我可以解答。” 解析梯形图: 1、图一是用S7200编写的图形图,其编程技巧有二:(1)用通电延时定时器T101的常闭点连接T101的线圈构成振荡器,其脉冲的低电平为3秒宽度,高电平为连续二个扫描周期的间隔时间,即只出现一次,故可直接用T101的常开触点去触发QB0的循环右移,而不需选用其前沿触发,就可确保QB0只右移一次。(2)、选用字节循环右移指令,在 T101=1的这一扫描周期里将此时刻的QB0内容右移一位,同时又自动的将移出的QB0的

威纶触摸屏与s7-200通信实例

威纶触摸屏与s7-200通信实例

?目录 1. 范例操作概述 2. 规划说明 3. 元件列表 1. 范例操作概述 此范例将介绍如何快捷简易地建立WEINVI EW HMI与S7-200 PLC通讯。注意事项:

通讯参数设置,通讯线接法。 2. 规划说明 (1) 新建简单PLC 示例程序,建立外部输入点I0.0,I0.1,辅助继电器M0.0,外部输出点Q0.0,数据寄存器VW0,VW2。 注意: 外部输入I 的状态取决于外部的物理开关状态,Project 工程里做指示灯显示,不被直接用做开关量。可借助辅助继电器控制输出,如程序示例。 (2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19.2kbps。

(3) EB8000 软件,PLC 设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通讯端口设置一致,如PLC 地址2,波特率19.2kbps。可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187. 5kbps;PLC 和HMI 的程序通讯参数都必须做对应修改。

建议:与S7-200 通讯时,建议将通讯延时、ACK 讯号延时分别设置为默认值5ms、30 ms(如上图),但可根据通讯速率需求做适当修改。 (4) 通讯线制作:EB8000 软件,说明——帮助主题——PLC 连接手册,可查询通讯线接法。 注意:通讯线接法必须与选择的COM 口一致,如上述选择COM1 口,通讯线:屏(公头)1、2、5——PLC(公头)8、3、5。与SIEMENS S7-200CN PLC 通讯时,建议在D-和D+之间接上一个100Ω 1/4W终端电阻。 说明:

威纶触摸屏与s7200通信实例

?目录 1、范例操作概述 2、规划说明 3、元件列表 1、范例操作概述 此范例将介绍如何快捷简易地建立WEINVIEW HMI与S7-200 PLC通讯。注意事项:通讯参数设置,通讯线接法。 2、规划说明 (1) 新建简单PLC 示例程序,建立外部输入点I0、0,I0、1,辅助继电器M0、0,外部输出点Q 0、0,数据寄存器VW0,VW2。 注意: 外部输入I 的状态取决于外部的物理开关状态,Project 工程里做指示灯显示,不被直接用做开关量。可借助辅助继电器控制输出,如程序示例。

(2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19、2 kbps。 (3) EB8000 软件,PLC 设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通讯端口设置一致,如PLC 地址2,波特率19、2kbps。可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187、5kbps;PLC 与HMI 的程序通讯参数都必须做对应修改。

建议:与S7-200 通讯时,建议将通讯延时、ACK 讯号延时分别设置为默认值5ms、30ms(如上图),但可根据通讯速率需求做适当修改。 (4) 通讯线制作:EB8000 软件,说明——帮助主题——PLC 连接手册,可查询通讯线接法。 注意:通讯线接法必须与选择的COM 口一致,如上述选择COM1 口,通讯线:屏(公头)1、2、5——PLC(公头)8、3、5。与SIEMENS S7-200CN PLC 通讯时,建议在D-与D+之间接上一个100Ω 1/4W终端电阻。 说明: A、SIEMENS S7-200 驱动可与SIEMENS S7-200 系列PLC 包含CPU212/CPU214/CP U215/CPU216/CPU221/CPU222/CPU224/ CPU226 等型号连接,并且支持187、5kbps 的波特率通讯。 B、SIEMENS S7-200 (Ethernet)支持如上述S7-200 PLC 型号的以太网模块通讯,具体接线方法与参数设置,请参考“说明——帮助主题——PLC 连接手册”。 C、SIEMENS S7-200 (VD any address)驱动使用VD 寄存器的地址可以不为4 的整数倍,但就是地址间隔必须大于4。

S7-200网络通信及实例

S7-200网络通信及实例 行业者2009-09-19 16:19:26 阅读427 评论1 字号:大中小 1. ........比较详细的介绍,请参阅《S7-200可编程控制器系统手册》第7章:通过网络进行通信。 ........下面仅简单说明一下部分通信协议: PPI(Point to point interface)协议: ........该协议是西门子内部协议,不公开。点对点接口,是一个主/从协议。主站向从站发送申请,从站进行响应,从站器件不发信息,不初始化信息,只是等待主站的要求并对要求作出响应。但当主站发出申请或查询时,从站对其响应。主站可以是其他CPU主机(如S7-300等)、编程器或TD200文本显示器。网络中的所有S7-200都默认为从站。S7-200系列中一些CPU如果在程序中允许PPI主站模式,则在RUN模式下可以作为主站,此时可以利用相关的通信指令来读写其他主机,同时它还可以作为从站来 响应其他主站的申请或查询。 ........主站靠一个PPI协议管理的共享连接来与从站通讯。PPI并不限制与任意一个从站通讯的主站数量,但是在一个网络中,主站的个数不能超过32。如果在用户程序中使能PPI主站模式,S7--200 CPU 在运行模式下可以作主站。在使能PPI主站模式之后,可以使用网络读写指令来读写另外一个S7--200。 当S7--200作PPI主站时,它仍然可以作为从站响应其它主站的请求。 ........PPI高级允许网络设备建立一个设备与设备之间的逻辑连接。对于PPI高级,每个设备的连接个数是有限制的。所有的S7--200 CPU都支持PPI和PPI高级协议,而EM277模块仅仅支持PPI高 级协议。 ........PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信口(Port0、Port1)支持PPI 通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。

S7 200 SMART S7通信

一、S7-200 SMART CPU之间的以太网通信 S7-200 SMART CPU 固件版本V2.0 及以上版本的CPU 可实现CPU、编程设备和HMI(触摸屏)之间的多种通信: — CPU与编程设备之间的数据交换。 — CPU与HMI之间的数据交换。 — CPU与其他S7-200 SMART CPU之间的PUT/GET通信。 S7-200 SMART CPU 以太网连接资源如下: — 1个连接用于与STEP7 Micro/Win SMART软件的通信。 — 8个连接用于CPU与HMI之间的通信。 — 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET主动连接 — 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET被动连接 PUT/GET 指令格式 S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之间的以太网通信(PUT/GET 指令格式见表1)。PUT/GET 指令只需要在主动建立连接的CPU 中调用执行,被动建立连接的CPU不需要进行通信编程。PUT/GET 指令中TABLE 参数用于定义远程CPU的IP地址、本地CPU和远程CPU的数据区域以及通信长度(TABLE 参数定义见表2)。 表1 PUT和GET 指令: LAD/FBD STL 描述 PUT TABLE PUT 指令启动以太网端口上的通信操作,将数据写入远程设备。PUT 指令可向远程设备写入最多212 个字节的数据。 GET TABLE GET 指令启动以太网端口上的通信操作,从远程设备获取数据。GET 指令可从远程设备读取最多222 个字节的数据。 表2 PUT和GET 指令的TABLE参数定义: 字节 偏移 量 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 D1A2E30 错误代码4 1 2

s7200自由口通讯教程及编程实例(二)

S7-200自由口通讯教程及编程实例(二) 排行榜收藏打印发给朋友举报发布者:admin 热度19票浏览175次【共1条评论】【我要评论】时间:2009年11月11日19:03 三、PLC编程 现在,我们已经知道如何用AT指令发送短消息,剩下的工作是用PLC程序来发送这些AT指令。S7-200的通讯端口为RS-485接口,RS-485接口为半双工接口,因此,编写PLC 程序的关键是避免在通讯端口上同时发送和接收。我们下面将介绍一种标准的编程模式,按照这种模式编写自由口通讯程序可以有效的避免因同时发送和接收造成的通讯冲突,从而保证程序的正常运行。 1. 初始化 Network 1 LD SM0.1 MOVB 9, SMB30 MOVB 2#, SMB87 MOVB '>', SMB88 MOVW +5, SMW92 MOVB 255, SMB94 ATCH INT_0, 23 ATCH INT_1, 9 ENI 将上面这段程序添加到主程序中,对PLC的端口0进行初始化。这段程序以SM0.1为触发条件,每当PLC进入RUN状态时执行一次。 MOVB 9, SMB30 该指令将端口0设置为9600,8,N,1 自由口方式 MOVB 2#, SMB87 SM87.7=1 允许端口0接收字符 SM87.6=1 当检测到与SMB88中相同的字符时开始接收,并将该字符当作信息的首字符 SM87.5=0 不检测信息的结束字符 SM87.4=0 不检测端口空闲状态 SM87.3=0 定时器为内部字符定时器,意思是PLC开始接收信息后(检测到起始字符),每接收到一个字符就启动定时器,当定时器到达在SMW92中设置的时间后,即认为定时器

西门子S7-200模拟量编程实例!文图并茂~~

???6 ??? ?(0 ?? ????????? ?????? ?????? ?????$ '???? ?? ???? (0 ???????? ????? ?????????(0 ???????? ? ? ? ????????????;ˇ?;ˉ????5;?;ˇ???????āˇā??

???;ˇ?;ˉ?? ????????????????????????????????? (0 ??? ???? ???? ???? ? 9 ? ? 9 ? P ? P ? P ???f 9 f f f 9 f P f P f P f P f ??? ? P $ ??? ? ?? ??? ? ?$ '? ???? ???? ?? f 9 ?? ? P $ ? ? ? ? ????',(0 ?? ? ??????? ?????? (0 (0 ? ? ?? )) )) )) ; )) ; )) ; )) )) )) )) )) )) ???', ?????????6 ?2???????????6 ?2))???????????

?6????????6 ?6 ?6 ????? ?',???????????? ?',??????????????? ??? ???????????????????))6(7?*$,???????????? $????????? %??&3???? ? &???????????????????????? '????????&3????? (??))6(7?????????????????? )?????????????Ё????????&3??? *??*$,??????????? ????? +???????? (0 ??? ????? ????&3????????? ?? )) )) )) ? P )) )) )) ? P )) )) )) ? P $ )) )) )) ? 9 - )) )) )) )) ? )) )) )) )) ? P $ $ )) )) )) )) ? 9 )) 2)) 2 )) 2)) f )) 2 )) 2 )) 2)) f P )) 2)) 2 )) 2)) f P - )) 2)) 2)) 2 )) f P )) 2 )) 2)) 2 )) f - )) 2)) 2 )) 2 )) f 9 - )) 2)) 2)) 2)) 2)) f )) 2 )) 2)) 2)) 2)) f )) 2)) 2 )) 2)) 2)) f 9

相关文档
相关文档 最新文档