S7-200与S7-300之间的以太网通讯详解
- 格式:pdf
- 大小:836.99 KB
- 文档页数:15
S7-200与S7-300之间的通讯Communication between S7-200 and S7-300摘要 文档介绍s7-200plc和s7-300plc通信,分别介绍的是mpi,profibus和以太网。
关键词 MPI ,PROFIBUS 以太网Key Words MPI,PROFIBUS, ethernetA&D Service & Support Page 2-20目录S7-200与S7-300之间的通讯 (1)1.S7-200和S7-300进行MPI通信 (4)2.S7-200和S7-300进行PROFIBUS通信 (8)3.S7-200和S7-300进行以太网通信 (13)A&D Service & Support Page 3-201.S7-200和S7-300进行MPI通信S7200与S7300之间采用MPI通讯方式时, S7200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7300中需要在OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),实现S7300 与S7200之间的通讯,调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写P#DB1.××× BYTE n 对应的就是S7200 V 存储区当中VB××到VB(××+n)的数据区。
首先根据S7300的硬件配置,在STEP7当中组态S7300站并且下载,注意S7200和S7300出厂默认的MPI地址都是2,所以必须先修改其中一个PLC的站地址,例子程序当中将S7300 MPI地址设定为2,S7200地址设定3,另外要分别将S7300和S7200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三种波特率,例子程序当中选用了19.2K的速率。
S7300可以和多个S7200 smart进行以太网通信:300做客户机,S7-200 SMART做服务器。
STEP7中建立S7连接, 连接伙伴为“未指定”。
在连接属性对话框中设置通信伙伴的IP地址,在地址详细信息对话框中设置本地的TSAP为10.02,伙伴的TSAP为03.01。
300调用FB 14(GET)/FB 15(PUT),来读写S7-200 SMART的数据区。
S7-200 SMART不需要编写通信程序。
问答:1.REQ端是要一个什么样的信号?比如一个常开点M150.0可以么?2.本地站点已经使用过的点,比如,我的M100.0已经定义了,那么在ADDR_1中怎么确认伙伴站点的M100.0而不是本地站点的M100.0?前面要加什么前缀么?我现在一打M100.0就出现本地我定义过的那个3.SFB14,15要放在哪里运行呢?是OB1里面还是OB35呢?问题补充:1.REQ的上升沿信号,需要0,1变换么?还是只触发一次就可以了?2.在OB35中是不是就可以不用做REQ上升沿的编程了呢?答:1.REQ-上升沿时激活数据传输,可以使用M150.02.至于M100.0在本地被定义过是因为ADDR_n与RD_n参数地址有重叠,或是与通信的地址区有重叠。
请检查。
3.放到OB1中那么REQ触发的信号上升沿需要编程。
假设在OB1中调用,每200ms 调用一次,那么先在CPU属性中-周期/时钟存储器的选项卡中查看“时钟存储器”一项,并将时钟存储器打勾,另将存储字节(B)设为150,则M150.1周期为200ms(ON 100ms,OFF 100ms).在OB1中加两条语句,使M140.1和M100.1相位相反,它们分别作系统功能块GET和PUT的REQ(通信请求)信号,它们的上升沿互差100ms,编写程序如下:NETWORK 1AN M150.1= M140.1NETWORK 2CALL SFB14,DB14REQ :=M150.1.............(由用户根据需要自己定义参数,省略)NETWORK 3CALL SFB15,DB15REQ: =M140.1(由用户根据需要自己定义参数,省略)SFB14 / SFB15是系统函数模块,因此包含在CPU的固件中。
S7 200和S7 300之间的以太网通讯案例一、S7 200 客户端的配置第一步:新建一个项目打开以太网向导打开Step7-Micro/WIN,在项目管理器中找到“工具”菜单,单击其下的“以太网向导”。
如图3-1所示。
之后打开的以太网向导对话框如图3-2所示,通过该向导,可以配置CP243-1通信处理器模块,以便将S7-200 PLC连接到工业以太网上。
第二步:读取CP243-1模块位置号在图3-3中,可以指定CP243-1在机架上相对于PLC的位置:直接与PLC通过扩展总线连接的模块处于0号位置,紧随其后的依次为1号、2号等。
对于本例,由于CP243-1连接在EM277的后面,所以其模块号为1;如果不知道CP243-1确切的模块号,可以连接上通信电缆(PPI Cable),选择好下载路径,单击图3-3中的“读取模块”按钮来读取CP243-1的准确位置。
图3-1 打开以太网向导图3-2 以太网向导简介图3-3 指定机架上CP243-1所处的位置第三步:配置CP243-1参数点击图3-3中的“下一步”,为CP243-1指定IP地址。
如果网络内有BOOTP服务器,则不需要在此指定IP地址,由系统自动分配。
这里设置其中一台S7 200的IP地址为“192.168.10.50”, 设置另外一台S7 200的IP地址为“192.168.10.51”。
其内容如图3-4所示。
单击“下一步”按钮,指定模块参数的命令字节和通过CP243-1建立的连接数,如图3-5所示。
CPU222具有8入/6出14个IO点,因此附加在PLC上的输出字节地址占用了QB0,由此计算出CP243-1的模块命令字节为QB1。
指定该配置要建立的连接数为1。
第四步:配置连接在图3-6中的TSAP由两个字节组成,第一字节定义连接数,本地的TSAP的范围可填写16#02、16#10~16#FE;远程服务器的TSAP范围为16#02、16#03、16#10~16#FE;第二个字节定义了机架号和CP槽号(或模块位置)。
Entry ID:17369594Date:10/16/2003QUESTION:How do I configure an S7 connection for data communication between an S7-200 and an S7-300 via Ethernet?ANSWER:The configuration of an S7 connection between an S7-200 and an S7-300 via Ethernet has to be done on the one hand in STEP 7 Micro/WIN with the Ethernet Wizard for the S7- 200 and on the other in NetPro for the S7-300. For the Ethernet communication between the two stations you need communication processors and CPUs that support S7 communication. In this entry we have explained all the settings required for the S7-200 and the S7-300 using a sample configuration with CPU 226, CP243-1, CPU 315-2DP and CP343-1.Configuration of the CP243-1 using the Ethernet Wizard of STEP 7 Micro/WIN1. Open STEP 7 Micro/WIN and then start the Ethernet Wizard via "Tools > Ethernet Wizard...".Fig. 1: Starting the Ethernet Wizard2. In the first step of the Wizard is a description of the Ethernet Wizard. Click on "Next" to startthe configuration process.Fig. 2: Description of the Ethernet Wizard3. In the window that is displayed you are informed that your STEP 7 Micro/WIN project must becompiled and be in Symbolic Addressing mode. Acknowledge the message with "Yes".Fig. 3: Compiling the project and enabling the Symbolic Addressing mode4. If you are connected with the CP243-1 in your S7-200 station, you can determine the moduleposition of the CP243-1 automatically via the "Read Modules" button. You can also enter the module position manually. Click on "Next".Fig. 4: Determining the module position5. Define a unique IP address for the CP243-1 and specify the associated subnetwork mask.Acknowledge the settings with "Next".Fig. 5: Defining the IP address and subnetwork mask for the CP243-16. In our example we need an S7 connection for communication to the S7-300. So, for "Numberof connections to configure for this module" you enter "1". Click on "Next".Fig. 6: Number of S7 connections7. The dialog for configuring the S7 connection opens. The S7 connection can be configured asa client or server connection. In our example we have used a client connection for the datatransfer, i.e. the S7 connection is set up actively by the CP243-1.•Enter the TSAP for connection identification between the two stations. The first part of the TSAP (xx.) is taken from 10 + connection number, and the second part (.xx) of the TSAP is taken from the rack number and the slot of the CP343-1.In our example the TSAP is 10.07, i.e. the connection number = 0, the rack number = 0 and the slot of the CP= 7.•Enter the IP address of the CP343-1.•Specify a symbolic name for the connection.Click on the "Data Transfers" button to define a new data transfer for this connection.Fig. 7: Connection configuration8. In order to read data from the S7-300 you select "Read data from the remote serverconnection". Enter the number of data bytes to be read from the server and specify where this data is located in the S7-300. Define a storage area in the S7-200 for the data read. Assign a symbolic name for the data transfer. Acknowledge the settings with "OK".Fig. 8: Configuring the data transfer9. Since the configuration of the CP243-1 module may no longer be changed, you select thesetting with CRC protection. You can specify the Keep Alive Interval with the default time.Click on "Next".Fig. 9: CRC protection and Keep Alive Interval10. Select a free address area for storing the configuration.Fig. 10: Selecting a storage area for the configuration11. Close the Ethernet Wizard with "Finish". The Ethernet Wizard generates the projectcomponents required.Fig. 11: Closing the Ethernet Wizard12. In the main program ("MAIN (OB1)") you add the call of the ETH0_CTRL (communicationsetup) and the call of the ETH0_XFR (read data packages). The parameters "Chan_ID" and "Data" of the ETH0_XFR block can be selected with a right-click.Fig. 12: Adding the program code in the main program13. Save the configuration and load it in the S7 200.Configuring an unspecified S7 connection in NetPro1. Open your STEP 7 project with the configured SIMATIC S7-300 station and switch to NetProvia "Options > Configure Network".Fig. 13: Starting NetPro2. Mark the CPU in the SIMATIC S7-300 station and create a connection via "Insert > NewConnection...".Fig. 14: Inserting a new connection3. Select an unspecified S7 connection as connection type.Fig. 15: Creating an unspecified S7 connection4. The Properties Dialog for the S7 connection opens. Remove the check mark for "Establish anactive connection", because the connection is set up by the S7-200. For the partner address you enter the IP address of the S7-200. Then click on "Address Details...".Fig. 16: Properties of the S7 connection5. The partner TSAP settings must match the local settings in Fig. 7. However, the local TSAP iscalculated differently than for the S7-200. Local TSAP = 10 + Connection Number . RackNumber + Slot of the CPU. The correct TSAP in this mask is therefore 10.02.Fig. 17: Specification of the address details6. Save and compile the configuration. Then download the complete S7-300 station from NetPro.7. Switch to the block folder. Create DB11 with a sufficient data length, because this contains thedata for the communication (Fig. 8). Download this also into the controller.8. Configuration is now completed.You can now monitor the Receive data area (here: VB1000) online via the status table in STEP 7 Micro/WIN and check whether a data transfer is being made.。
S7-200 SMART 与 S7-300 集成 PN 口之间 TCP 通信— S7-200 SMART 作为服务器TCP 协议通信TCP 通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。
S7-200 SMART 与 S7-300 通过 TCP 通信,在 S7-300 调用 T-block 指令 ( TCON, TDISCON, TSEND, TRCV ) ,在 S7-200 SMART 调用 Open User Communication 库指令( TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV) 。
双方的发送和接收指令必须成对出现。
客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从站。
注意:S7-200 SMART 在 CPU 硬件固件及编程软件版本均升级到 V2.2 之后才开始支持开放式通信。
编程软件版本低于V2.2,无 Open User Communication 库指令;硬件固件低于 V2.2,硬件不支持开放式通信协议。
S7-200 SMART TCP 连接资源:8个主动连接资源,8个被动连接资源S7-200 SMART TCP 通信数据量:1024 字节硬件和软件需求及所完成的通信任务硬件:① S7-300 CPU (IP 地址 192.168.0.101 ;子网掩码 255.255.255.0)② S7-200 SMART CPU (固件版本V2.2) ( IP 地址 192.168.0.20 ;子网掩码 255.255.255.0)③ PC (带以太网卡)④ TP 以太网电缆软件:① STEP7 V13 SP1 Upd 9② STEP 7 Micro/WIN SMART (软件版本 V2.2 )所完成的通信任务:① S7-300 发送 10 个字节数据:( S7-300 侧) DB5.DBB0~DB5.DBB9 --> ( S7- 200 SMART 侧) VB2000~VB2009② S7-300 接收 10 个字节数据:( S7-300 侧) DB5.DBB10~DB5.DBB19 <-- ( S7-200 SMART 侧)VB0~VB9S7-300 侧硬件组态和编程( 客户机侧组态编程 )1. 使用 TIA V13 SP1 Upd 9 软件 Portal 视图中,创建新项目2. 添加硬件并命名PLC进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的 S7-300 CPU 添加到机架上,命名为 PLC_2 如图1 所示。
S7-200与S7-300之间的通讯显示订货号1.S7-200和S7-300进行MPI通信S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC 与S7-300 PLC之间的通讯。
调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。
例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为P#DB1.DBX50.0 BYTE 10.首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三种波特率,例子程序当中选用了19.2K的速率。
S7-200 PLC修改MPI地址可以参考下图:图1 S7-200 设置MPI地址S7-300 PLC修改MPI地址可以参考下图:图2 S7-300 设置MPI地址例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:图3 程序编写分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:图4 S7-200监控结果图5 S7-300监控结果通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:图6 CP5611诊断结果(站地址0为进行编程的计算机)图7 使用STEP7 MicroWin32诊断结果2.S7-200和S7-300进行PROFIBUS通信S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。
工业以太网通信工业以太网概述现场总线对于面向设备的自动化工业系统起到了极大的促进作用,但是由于现场总线工业网络存在一定的缺陷,导致其的发展受到极大的限制。
其缺陷包括有通信速率低,成本高,支持应用低,又由于现场总线通信协议多种多样,使得不同总线之间的互联互通比较繁琐,必须要通过一些通信协议转换器进行协议的转换,特别是有多个现场总线协议共存于一个系统中时,相互之间的协议转换更加繁琐。
以太网自从发明出来之后,由于以太网具有极强的兼容性、可扩展性、开放性,得到了飞速的发展,深入到了社会生活的各个层面,同样,以太网也进入了工业应用领域。
但是普通的以太网存在极大的缺陷导致其不能应用于工业领域:1.工业控制领域对于数据的实时性要求非常高,对于数据的延时一般都是必须要控制在几十个ms之内。
由于以太网采用的是载波侦听多路复用冲突检测(CSMA/CD机制),当以太网上发生冲突的时候,就会重发数据,很明显,一旦冲突发生,就必须牺牲时间为代价来解决冲突的问题,实时性就不能得到保证。
但是在工业领域,实时性不能得到保证的话,就有可能导致设备的停止运作,甚至造成安全事故。
2.由于以太网采用的是载波侦听多路复用冲突检测(CSMA/CD机制),使得以太网存在冲突,特别是在以太网网络负荷比较重的情况下,冲突出现的几率更大。
而一旦大量的冲突发生,导致数据不断的重发,使得工业网络之间的通信的不确定性大大增加,从而降低了系统控制性能。
3.以太网在最初设计时,没有考虑到工业现场的复杂电磁环境,在恶劣的外部环境中,必然导致以太网的可靠性的降低。
但是在生产环境中,工业网络必须有良好的可靠性,可维护性及可恢复性。
针对以太网存在的以上缺陷,采用了多种解决机制改善以太网的性能以使的其可以适用于工业网络,以形成工业以太网。
1.工业以太网交换技术。
为改善以太网在网络负荷较重的时候出现的拥塞问题,采用工业以太网交换机减少由于载波侦听多路复用冲突检测(CSMA/CD机制)而产生的冲突问题和错误传输,从而提高系统的稳定性。
1.生产线实训系统联网(主控单元)(1)目的通过组建PROFIBUS-DP网络,实现生产线实训系统的自动运行。
(2)设备1)安装有WINDOWS操作系统的PC机一台(具有STEP 7 MICROWIN、SIMATIC Manager 软件)。
2)THMSRX-5A型模块式柔性自动环形生产线实训系统3)CP5611网卡(配套电缆线)一套。
4)生产线实训系统之间的DP通信连线一套。
(3)内容根据生产线实训系统的控制要求,组建PROFIBUS-DP网络,通过S7-300主机采集并处理各单元的相应信息,完成各个单元间的联动控制。
(4)步骤首先设定各单元的EM277模块地址,用一字螺丝刀调节模块上的编址开关,出厂设定为3、4、5、6、7、8、9、10、11、12。
将DP联线首端出线的网络联接器接到300主机的DP口上,其它网络联接器依次接到生产线实训系统各个单元的EM277模块DP口上,将联线末端网络联接器上的终端电阻开关打到“OFF”位置,其它网络联接器上的终端电阻开关全部打到“ON”位置。
运行SIMATIC Manager软件,创建一个项目,创建一个新项目有二种方式:直接创建和使用向导创建。
两者的区别在于:直接创建将产生一个空项目,用户按需要添加项目框架中的各项内容,新建项目向导则向用户提供一系列选项,根据用户的选择,自动生成整个项目的框架。
1)在文件菜单下单击新建,或者单击工具栏按钮,可以直接创建一个新项目。
在弹出的对话框中输入项目名称,单击“OK”完成。
直接创建的项目中只包含一个MPI子网对象,用户需要通过插入菜单向项目中手动添加其他对象(如图所示)。
先插入一个300站点,进行硬件组态,当完成硬件组态后,再在相应CPU的S7 Program 目录下编辑用户程序。
2)硬件组态程序双击硬件图标,就会进入硬件组态界面,如下图所示。
3)配置主机架主机架配置原则在STEP 7中组态S7-300主机架(0号机架),必须遵循以下规范:1号槽只能放置电源模块,在STEP 7中S7-300电源模块也可以不必组态。