西门子300PLC软冗余的实现,详细步骤截图_第1页
西门子300PLC软冗余的实现,详细步骤截图_第2页
西门子300PLC软冗余的实现,详细步骤截图_第3页
西门子300PLC软冗余的实现,详细步骤截图_第4页
西门子300PLC软冗余的实现,详细步骤截图_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、主要硬件:(注意冗余要采用有源背板、有源导轨)315-2DPPLC 主 CPU6ES7 315-2AH14-0AB02SM321PLC输入模块6ES7 321-1BL00-0AA0432DISM322PLC输出模块6ES7 322-1BL00-0AA0332DOSM 331PLC模拟量输入模块6ES7 331-7KF02-0AB02AI 8CP343-1网络模块6GK7 343-1EX30-0XE02ET200M冗余包6ES7 153-2AR03-0XA0)1ET200M 冗余包(6ES7 153-2AR03-0XA0 )包括两个 IM153-2HF ( -2BA02)和一块 IM/IM 6E

2、S7 195-7HD10-0XA0 背板,PROFIBUS DP 90o 电缆岀线(6ES7 9720BA120XA0),集成 终端电阻,9针Sub-D插座, 不支持快速连接,不带编程口本控制柜采用2个315-2DP CPU通过CP343-1连接到以太网交换机实现冗余链路,用DP通讯的IM153-2冗余套件实现 ET200M的冗余通讯。硬件配置:±|-|凱 SIMATTC 300 (AJ甬SI1ATIC 300添加两个300站点:A和B ,然后对两个站分别进行硬件配置:1. 打开A站2. 从硬件目录选择机架打开A站的机架,插入电源,插入CPU315-2DP新建一条DP网络,DP地址为

3、8如下图:為規 難歎地址:制T .壬阿CS);卅哄Hfl - 折葫干岡rKUFWJ咸I静迟宣I屋性一曲赴子网PROFTRHS肚顶如.竜髙的汕时丄网 说址QQ :13厂改吏©*i H配宣文件(T ;rr| 确左 |职消I 辛炳4. 插入ET200从站,DP地址为35. 插入 CP343-1,新建 Ethernet(1)网络6ET200从站中添加I/O模块,硬件组态完成冗余的输出地址为0-11,后面设置FC100要用到。血窮点瞬邸D 此创妙虚玫肋祠匚魁啪朗®pwTiiirsr?! if 總书棕 IIIA 153-iIj kt l-artiancyJ hMit口rEff迢帀怎7寸

4、亦負7仙厉讹充34| Jl3t2i3C2'HAz-EST 321-IBLDOhOJljiDQ3'5| 町 JZiKZW5E57 321-lELDOt-QKiU日TG1 II3i2iXU73ES7 221-IBLOO-OaaD0. 11T1 11052=302172E7? 221 iSUJO-OkAO12.25yEhS"f jL2-lJLUl>-UJuaJD. .3g迟丫 J22-JlUft-0JUU47101 10321X210 5k:EH 022 1ILOO<15B. 1.1it1 AI01L2BLL:EH 231 7ET0t- 0A3016.121 A

5、lSiLSBLtsis? muixz®32.<T1314再1地就血窮点瞬邸D 此创妙虚玫肋祠匚魁啪朗®7两个站的硬件组态要一致。8添加网络连接右击A站CPU (B站也行)会出现菜单,选择"添加新连接” (in sert new conn ection ),"连 接类型”(connection type),我用以太网ISO-TCP协议实现冗余的,点确定。就出现下面这个 画面,这里边的ID: 7和LADDR十六进制100,也就是十进制256,后边设置FC100要用到。注意ID(hex)0007 A050这里是可以选择的,原来是 0001 A050,改为

6、0007 A050,这时的ID 就成了 7。因为资料上说以太网实现冗余一般 Local ID不能小于2(其他方式实现没说),所以 要改一下,两个 CPU的都要改一致,这个在后边设置 FC100参数要用到。-Local EndpoiM ami'e :ID giO;Ac tive-Bliock r Ar&ts7HFlTO&SOLOO LADDRF-SOPIBUSC PWTEUSA站配置完成以后,进行 B站的配置,注意两个站的配置要一致。软件的设置1. 打开冗余程序库,复制里面所需的数据块到程序块里,采用以太网冗余i“ijooQ "上电:It*;vp rcm 叩。?

7、VB_y£Effl_30USYEK3EHJ_*100£3-ni04計pre looSYR_DI*Srpaoas功能21»及龍需要复制 SWR_XSEND_3002. 调用FC5, FC6在库Libraries->SIMATIC_NET_CP->CP 30里边可以找到。随便一个位置调 用他们,然后删除。项目的块里就会出现这两个块了。3. 调用IEC定时器块,冗余块里的 SFB3 TP是定时器块,IEC定时器分别有 SFB3 TP SFB4 TON, SFB5 TOF等,把SFB4复制到项目里。4. 把冗余需要的数据块、定时器个数及中间变量计算好。数据块号

8、及地址必须是连续的。5. 插入背景数据块 DB200-DB240,共41个数据块,作为IEC定时器6. 插入DB20-DB25共6个数据块作为冗余数据块。7. MB20-MB74,55 个字节。8. 插入OB359. 插入OB8610. 插入 OB8211. 插入 OB10012. 插入 OB12113. 插入 OB12214. 在OB100里调用,用于初始化冗余在OB100中调用FC100“ SWR_STAR”用于初始化冗余,再在OB35中调用FB101“SWR_ZYK来实现冗余程序和数据的同步,然后再OB86中调用FC102 “SWR_DIAG进行诊断, 这个诊断调用一定要有。15. 在O

9、B100中调用FC100“SWR_START。FC100的参数设置相当复杂,而且基本上出现问 题都出在这里。参数设置:AG_KENNUNG这个参数是确定 A、B站的,如果是 A站程序,就写入“ A”,B站的程序就 写入“ B”。DB_WORK_NO这里需要填入一个 DB号,填 “ DB1”,而这个 DB1将来不需要手动生成, FC100会自动生成。这个 DB是实现冗余过程内部需要的数据块。DB_SEND_NO同上填入一个 DB号,如“DB2”,同样是FC100自动生成,不需要手动生成。 DB_RCV_NO同上填入一个 DB号,如“ DB3”,同样是FC100自动生成,不需要手动生成。 MPI_

10、ADR:这个参数是 对方站的MPI地址,只有用 MPI方式同步的时候才有意义。使用以 太网同步,还是按照实际的写上了。以免出错。LADDR CP通讯处理器组态时的硬件地址,采用DP或者以太网通讯时才用。这个地址就是前边硬件配置中插入冗余连接的时候出现的地址LADDR十六进制0100,或者是十进制256。VERB_ID这个就是我们组态硬件是,插入的冗余连接的那个ID号,被我从0001 A050改为了 0007 A050,所以ID变成了 7,这里就填7。DP_MASTER_SYS_ID这个是DP主站网络的ID号,不是DP地址号,只要在硬件组态中,双 击DP线,就可以出现这个号码,如下图,这里填 1

11、。DB_COM_NO:这个是调用FB101的时候使用的FB101的背景数据块,一般默认是DB5,等调用FE1 01的时候只能用这里填写DB5.DB_KOMMUN:这个参数是连接 ET200M的DP通讯口类型,如果是 CPU集成的DP通讯口连接ET200M就填“ 1 ”,如果是 CP通讯卡上的 DP 口连接ET200M填“ 2”。ADR_MODUS: CPU分配I/O地址的矩阵的增量, 不同CPU的地址矩阵不同。 选项是两个1 : 对于基本地址0,123,4 4:对于基本地址 0,4,8,12.我是没看懂,填了“ 1 ”。PAA_FIRST冗余ET200M的第一个输出字节地址,按前边硬件配置,“

12、 0”。PAA_LAST冗余ET200M的最后一个输出字节地址,按前边硬件配置,“11 ”。MB_NO:冗余程序需要的内存变量地址区的起始地址,按前边提到的,“20”。MB_LEN:需要的内存变量区长度,以BYTE为单位, “55”。IEC_NQ冗余的IEC定时器、IEC计数器,所使用的背景数据块的起始地址。我用5个定时器,起始地址用 DB200,这里只要填“ 200”就可以。IEC_LEN冗余的IEC定时器、IEC计数器的背景数据块的个数,填“41”。这里的41个背景数据块,会在调用IEC定时器时需要填写,按照前面建的数据块的 DB200-DB240不 能随便写。DB_NO:冗余数据块的起始

13、数据块,按前边说明,我填“20”,只填数字。这里的数据块不能小于两个字节,我插入数据块后随便在里面写INT变量,使它不小于两个字节就行了,不然会出错。DB_NO_LEN这里是填一共用了几个数据块,填“6”。SLAVE_NO冗余部分IM153的最低DP地址号,我的IM153设置为3,且只有一个,所以填 “ 3 ”。SLAVE_LE N只有一个冗余 DP从站,填“ 1 ”。SLAVE_DISTANCEIM153-2 的 PROFIBUS地址设置的标识符,如果两个PROFIBUS接口地址一样,则填“ 1 ”,如果不同(即分别为 n和n+1)则填“ 2”。DB_A_B_NO:将非冗余数据从 A站传送到

14、B站,所用的发送数据 DB。将那些需要传输的数 据都直接或者间接存到这个DB里,系统会自己传送。DB_A_B_NO_LEN上边选择的非冗余数据交换DB的数据量,就是字节数,A, B站这个参数必须一样,否则 CPU停机。没有用到写 0DB_B_A_NO:同上,这个是从 B站传到A站的DB (见过例程里边有 A->B和B->A用同一个 DB的,我也用了一个,没出问题。主要是我没有互相传送的数据,不知道有数据 的时候是什么样,估计只要两个站一样应该没问题。)DB_B_A_NO_LEN同上,没有用到写 0 RETURN_VAL调用FC100的返回值。EXT_INFO FC100内部调用其他

15、子块的返回值CALL "SWR_START"AG_KENNUNG:='A'DB_WORK_NO:=DB1DB_SEND_NO:=DB2DB_RCV_NO:=DB3MPI_ADR:=7LADDR:=256VERB_ID:=7DP_MASTER_SYS_ID:=1DB_COM_NO:=DB5DP_KOMMUN:=1ADR_MODUS:=1PAA_FIRST:=0PAA_LAST:=11MB_NO:=20MB_LEN:=55IEC_NO:=200IEC_LEN:=41DB_NO:=20DB_NO_LEN:=6SLAVE_NO:=3SLAVE_LEN:=1SLAVE

16、_DISTANCE :=1DB_A_B_NO:=DB11DB_A_B_NO_LEN:=W#16#0DB_B_A_NO:=DB12DB_B_A_NO_LEN:=W#16#0RETURN_VAL:=MW2EXT_INFO:=MW4下一步 在OB35中调用FB101 “SWR_ZYK来实现冗余程序和数据的同步。CALL "SWR_ZYK" , DB5DB_WORK_NO :=DB1CALL_POSITION:=TRUERETURN_VAL :=MW6EXT_INFO :=MW8A DB5.DBX 9.1JC OVERCALL “冗余程序”OVER: CALL "SWR_ZYK" , DB5DB_WORK_NO :=DB1CALL_POSITION:=FALSERETURN_VAL :=MW10EXT_INFO :=MW12然后再OB86中调用FC102“ SWR_DIAG进行诊断, 这个诊断调用一定要有。CALL "SWR_DIAG"DB_WORK :=1OB86_EV_CLASS:=#OB86_EV_CLASSOB

温馨提示

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

评论

0/150

提交评论