西门子电机6SL3120-2TE15-0AA4
保存和恢复数据
下载项目组件
说明
将程序块、数据块或系统块下载到 CPU 会*覆盖 CPU
中该块之前存在的任何内容。执行下载前,确定是要覆盖该块。
要将项目组件从 STEP 7-Micro/WIN SMART 下载到 CPU,请按以下步骤操作:
1. 确保网络硬件和 PLC 连接电缆运行正常 (页 31),并确保 PLC 通信运行正常
(页 607)。
2. 将 CPU 置于 STOP 模式 (页 43)。
3. 要下载所有项目组件,在“文件”(File) 或 PLC 菜单功能区的“传输”(Transfer)
区域单击“下载”(Download) 按钮,也可按快捷键组合 CTRL+D。
4. 要下载选定的项目组件,单击“下载”(Download)
按钮下的向下箭头,然后从下拉列表中选择要下载的特定项目组件(程序块、数据块
或系统块)。
5. 单击“下载”(Download) 按钮后,如果弹出“通信”(Communications)
对话框,选择要下载到的 PLC 的网络接口卡和 IP 地址。
6. 在“下载”(Download) 对话框中,设置块的下载选项,以及在 CPU 从 RUN 模式转换为
STOP 模式 和从 STOP 模式转换为 RUN 模式 时您是否希望收到提示。
初创建的、用于固件版本为 V1.x 的 S7-200 SMART CPU
的项目组件可下载到固件版本为 V2.0 或更高版本的 CPU
中。然而,初创建的、用于固件版本为 V2.0 或更高版本的 CPU
的项目组件可能无法成功下载到固件版本为 V1.x 的 CPU
中,在项目组件所用的功能不受固件版本 V1.x 支持时尤其如此。
紧凑型 CPU,可用于具有分布式结构的。集成数字量 I/O,支持与的直接连接;PROFIBUS DP 主站/从站接口支持与分布式 I/O 的连接。因此,CPU 313C-2 DP 既可以用作分布式单元进行快速预处理,也可以用作带下位现场总线的控制器。并通过一系列服务工业生产中设备的可用性、可靠性及产能
问:两台314-2DP,怎么把主站的REAL数据传到从站去?例如,主站MD100里数据我通过屏输入是1.5,把MD100通过MOVE传送到QD50,主站QD50对应从站ID50,怎么在从站里完整的读到1.5,放到从站MD80里面?
问题补充:还有一问题,我主站上带屏,从站也带屏,主站与从站配置都*一样,包括屏,目的就是控制一台电机正反转,来控制闸门上升下降,那我在从站那里可以输入预置高度1.5米,动了以后再在主站里预置1.9米,也动。当我再在从站输入预置高度时一直是主站给的数据了,请问,怎么来规避这个问题呢?就是对同一个MD120通过两个屏都能设置,而又不相互影响,再怎么输入都是后一次在屏上输入有效,不管哪个屏。
答:实现Profibus主从站之间的MS通讯
通过图解,说明2个CPU之间通过Profibus实现主从站之间的MS通讯。这个例子是结合某现场的实际情况来的,实际情况是在2套300之间进行数据通讯,由于每个CPU300都带有ET200M从站,所以317的主DP口和315的DP口都只能是主站而不能配置为从站。并且2套之间距离较远,MPI不行,于是就利用了317的MPI/DP口配置成DP口来和315通讯。用以偿还西门子的设备成本以便为共同面临的严峻的挑战提供解决方案
1.首先,在STEP7中新建一个Project,分别2个S7-300站。
这里我们的一个CPU315-2DP,作为主站;一个CUP317-2作为从站,并且使用317-2的个端口MPI/DP端口配置成DP口来实现和315-2DP的通讯。然后分别对每个站进行硬件组态:首先对从站CPU317-2进行组态:将317的个端口MPI/DP端口组态为PROFIBUS类型,并且创建一个不同于CPU自带DP口的PROFIBUS网络,设定地址。在操作页面中,将其设置为DPSLE,并且选择“,commissioning,routing”,是将此端口设置为可以通过PG/PC在这个端口上对CPU进行监控,以便于我们在通讯链路上进行程序监控。下面的地址用默认值即可。通过采用先进的和自动化技术
西门子6ES7321-1FF01-0AA0电源模块
供应西门子CP341模块,西门子6ES7321-1FF01-0AA0,西门子电源模块
然后选择Configuration页面,创建数据交换映射区。这里我们创建了2个映射区,图中的红色框选区域在创建时是灰色的,包括上面的图中的Partner部分创建时也是空的,在主站组态完毕并编译后,才会出现图中所示的状态。由于我们这里只是演示程序,所以创建的交换区域较小。组态从站之后,再组态主站。CPU时,不需要创建新的PROFIBUS网络,选择从站建立的第二条(也就是用来进行通讯的MPI/DP端口创建的那条)PROFIBUS网络即可。组态好其它硬件,确认CPU的DP口处于主站,从窗口右侧的硬件列表中的已组态的站点中选择CPU31X,拖放到主站的PROFIBUS总线上,使达到配置灵活、体积小巧
这时会弹出链接窗口,选择以组态的从站,Connect按钮,然后进入Configuration页面,可以看到前面在从站中设定的映射区域,逐条进行编辑(Edit…),确认主从站之间的对应关系。主站的输入对应从站的输出,主站的输出对应从站的输入。至此,硬件的组态完成,将各个站的组态信息下载到各自的CPU中。通过NetPro可以看到整个网络的结构图。
2.编写程序。
硬件组态完毕,下载,PLC运行之后,数据并不会自动交换。需要通序来执行。在组态中,input和output区域,也并不是实际硬件组态中的硬件地址,也就是说,input和output并不代表I/O模块的地址和数据。但是映射区域组态用到的input和output地址,同时也占用了I/O模块的组态地址,就是说,映射区的地址和I/O地址是并行的,不能重复使用。所以好在硬件的I/O模块全部组态完毕之后再组态映射区。
西门子CPU6ES7313-6CG04-0AB0映射区的数据交换是通过功能块SFC14(DPRD_DAT——ReadConsistentDataofaStandardDPSle)和SFC15(DPWR_DAT——WriteConsistentDatatoaStandardDPSle)实现的。SFC14和SFC15是成对使用的,一个发送一个接收,缺一不可。数据的通讯也是交互的,可以相互交换数据。本例中,我们通过简单的数据来验证通讯结果。
首先,我们在程序中数据区DB1,前面我们只建立了2个字(2Word)的映射区,于是我们建立如下内容的DB1,为了查看的方便,DB1的前半部分作为接收数据的存储区,后半部分用作发送数据的存储区。在317和315中我们同样的DB1,然后分别在OB1中编写通讯程序。其中,程序的LADDR地址,对应的是硬件的映射区组态时本站的LocalAddr中的地址,从站的LocalAddr我们组态的是0,对应的PartnerAddr也就是主站的地址是4。需要注意的是这里的地址是需要用16进制的格式来表示的,我们组态时是用10进制表示的。西门子及其员工向受灾群众的捐赠超过了450万元币
完成之后,我们在各站中OB82、OB86、OB122等程序块,这些是为了保证当通讯的一方掉电时,不会另一方的停机。完成之后,将所有的程序分别下载到各自的CPU中,个站切换到运行状态,通过PLC监控功能,设定数据之后,我们监控的结果如下:上面的表格内容为主站315的数据,下面的是从站317的数据。可以看到,两个站都分别将各自的DBB4—DBB7数据发送出去并被另一方成功接收后存储在各自的DBB0—DBB3中。验证中,我们将一个站的CPU切换到STOP状态,可以看到,另一个站的CPU硬件SF指示灯,但PLC正常运行不停机。待该站恢复之后,自动消失。
扩展问题:在一个站的CPU掉站之后,另一个站的接收数据区显示的仍然是后一次接收到的数据,并且,即使在这种状态下,居然仍然无法修改该数据区内容。这样就存在一个问题,当前站需要知道当前接收数据存储区的内容是否是实时的数据。如何判断。但如果生产需要时i/0板也可在可编程控制器运行时取下
大概思路:
1,用以前的,在每个数据接收周期开始前,将已接收数据清空。这样当接收周期内接收不到新的数据时,就可以察觉到。但是问题是,SFC14和SFC15没有接收是否完成、是否成功等标识位,并且,在接收不到新的数据时,原有数据不能修改。此不通。
2,通过别的检测两个站之间的通讯状态。在SIEMENS的文档中,有这样的描述:主站:主站总线中数据流的控制权。只要它拥有访问总线权(令牌),主站就可在没有外部请求的情况下发送信息。在PROFIBUS协议中,主站也被称作节点。从站:从站是简单的输入、输出设备。典型的从站为传感器,执行器以及变频器。从站也可为智能从站,入S7-300/400带集成口的CPU等。从站不会拥有总线的访问。从站只能确认收到的信息或者在主站的请求下发送信息。从站也被称作被动节点。另外,SIEMENS对SFC14/15的描述也分别是:用于读取Profibus从站的数据/用于将数据写入Profibus从站。
根据这些描述,通过CPU集成口通讯这种下,作为从站的CPU应该属于“智能从站”,但是SIEMENS的描述中,却没有说智能从站和普通的从站之间有什么区别。那么根据上面的主从站的描述,主站可以的获取到从站的数据,并可以自主的将数据写入从站;而从站必须在主站的指令下获取或者发送数据。而在本例中,这些说法似乎无法成立。
本例中,SFC14、SFC15是成对使用的,不论在主站上还是从站上,主从站之间的SFC14和SFC15必然是需要成对出现的。也就是说,任何一方没有SFC15运行的的话,另一方的SFC14都读不到数据。而任何一方没有SFC14的话,另一方的SFC15发送出来的数据也无人接收。至少从这点看来,看不出主从站有什么区别。不过,联想到以前曾经做过S7-300和MM430的Profibus通讯,该通讯中,显然MM440是作为从站出现的,所以在正确组态之后,只需要在主站(CPU)中写好SFC14/15即可,当然,MM440中我们也写不进去程序。那么在这种中,
可以说是*的遵守了SIEMENS文档中的说法。同时也说明,在“智能从站”这种下,并不遵守SIEMENS文档中对从站的描述。再次研究SFC14/15的收发状态,发现,可能是因为数据的存在是映像中,所以只要SFC15发送过一次,数据即存在于映射中,SFC14随时都从映像中读取数据,所以存在前面说的,simatics7-300plcs7-300是模块化小型plc
SFC14运行中,是无法修改接收数据存储区的数据的。脱离SFC14/15,而使用MOVE的研究:不使用SFC14/15,而是利用组态的时候产生的I/O地址来传数据。根据创建映射区时的组态信息,我们写写出了如下的程序:在主站315-2DP中:在从站317中:其中,M位的使用是程序的不同情况下使用的临时点,和本程序功能无关。由此可见,在这种下,因为组态时组态的地址是的I区和Q区,所以是可以用MOVE来实现通讯的,但是同时也存在的问题是,这种下,通讯所用的I/Q区占用了S7-300的区,而S7-300的区可使用范围是有限的,所以在的实际I/O模块较多时,通讯的数据量将会更加有限
plc上面watchdog time,看了就知道是什么意思了。看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。
看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本身的错误。加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间内怠工。同时一些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要一笔软硬件的开销