西门子模块6ES7322-1BP00-0AA0型号规格
置位与复位指令SET、RST
SET:置位指令,是动作保持
RST:复位指令,使操作保持复位
SET、RST指令的说明
图1 SET、RST指令的使用说明
(a) 梯形图 (b)语句表 (c)波形
RST指令用于计数器的使用说明
图2 RST指令用于计数器的使用说明
RST指令使用说明:
1)RST指令既可用于计数器复位,使其当前值恢复至设定值,也可用于复位移位寄存器,清除当前内容。
2)在任何情况下,RST指令优先。当RST输入有效时,不接受计数器和移位寄存器的输入信号。
3)因复位回路的程序与计数器的计数回路的程序是相互独立的,因此程序的执行顺序可任意安排,而且可分开编程
西门子6SL3100-0BE25-5AB0
软件要求:必须在STEP75.1版本以上进行配置;
如果您采用S7-400CPU或S7-400CP作为DP主站,那么您可以直接在IM153的属性窗口的"OperatingParameters"标签页里配置热插拔功能。如下图所示:
关于ET200M站
关于ET200M站"Modulechangeduringoperation"(运行中更换模块)功能实现的说明:
STEP1:在STEP7的硬件组态窗口的PROFIBUSDP目录中选择相应IM153模块,可以看出该模块支持“moduleexchangeinopration"(热插拔);
STEP2:将IM153模块拖到PROFIBUS总线上;
STEP3:选择I/O模块,插入到ET200M站的各个槽位中;
STEP4:双击ET200M站,打开属性窗口,选中“Replacemodulesduringoperation“(热插拔)选项;
STEP5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
STEP6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83,OB85,OB122被调用。
如果你采用S7-300CPU或CP342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUSDP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上,如下图:
从上图可以看出,当你从右侧的PROFIBUSDP树型目录中将IM153-2模块拖到PROFIBUS总线上后,双击点开IM153的属性,“Repalcemodulesduringoperation"(热插拔功能)选项为灰色,所以在这种方式下,无法实现热插拔的全部功能,只能实现第1、2两条,不能实现第3、4条功能。
添加IM153-2模块到PROFIBUS总线上,设置热插拔选项
设置IM153-1模块的热插拔功能选项
除了以上的硬件配置之外,还要向S7-300的CPU中下载OB82、OB86、OB121、OB122等组织块,才能保证当您在ET200M站上进行模块热插拔时,S7-300的CPU保持运行,而ET200M站上其他模块的工作不受影响。同时,当您进行ET200M站上模块的拔出或插入,系统都会调用OB82、OB86,您可以获取OB86和OB82中的参数返回值,得知什么时间是哪一个主站下的哪一个从站上的模块被插拔,您可以根据系统控制逻辑的需要,在组织块OB82,OB86中编写用户程序,调整I、O的数值,确保进行模块热插拔时,生产机构处于安全运行状态。
您可以在S7-300的用户程序中循环调用SFC13(DP总线诊断功能块),不断获取DP网络的诊断信息,当ET200M从站上进行模块的热插拔时,可以从SFC13的返回数据(在DB块中)获取插拔模块的信息,在用户程序中对返回的诊断信息进行判断、评估后,进行相应的逻辑控制和I/O处理,使生产机构处于安全运行状态;
如果您在ET200M站中使用了参数化的模块(如FM354,CP340等非输入输出的模块),在DP主站通电初始化过程中会对这些模板进行参数化和配置。当您带电拔掉可参数化的模块,再插入后,模块原有的参数就会丢失。除非重新启动DP主站,在主站进行初始化过程中,对这些模块在进行一次参数化和配置,否则这类模块在被拔掉,再插入后,只能够以它的默认参数运行
西门子之间的plc通信比较多,方式也很多。 目前西门子300/400系列的PLC的通讯方式开始大量使用工业以太网通讯,MP277/377、xP177B系列触摸屏也集成了以太网接口,这带来一个好处,所有的接口都统一,在网络通讯时采用都以太网接口,所有的设备组成一个局域网,包括上位监控计算机、编程设备、PLC、触摸屏都能很方便地互相访问,需要扩展多一个设备也很方便,只需要加一个交换机就能扩展出多个接口。因为有这些好处,所以采用以太网通讯越来越流行,下面说一说以太网通讯的其中一个应用,PLC与PLC之间通过以太网互连。 一、S7-300/400之间互连 1、采用PLC与PLC通过以太网访问,需要增加以太网模块,如CP343-1,CP443-1的模块,或者采用带有PN接口的PLC,如CPU315-2DP/PN的PLC。 2、采用两块CP343-1互连,先在同一个项目里做好两套PLC的硬件组态,分配好IP地址,打开NetPro,选择其中一个PLC,双击连接列表上的空白行,添加一个 S7 conection。选择连接的另一个PLC,记住连接的ID号。通讯双方的其中一个站为Client端,激活“Establish an active connection”的选项(默认是激活的)。这样NetPro的配置就完成了,编译、下载完成 3、打开其中两套PLC的OB1,调用FB12(BSEND)块发送数据,FB13(BRCV)块接收数据,1#PLC的发送对应2#PLC的接收,1#PLC的接收对应2#PLC的发送。 4、调用FB12的时候几个参数的含意,a、REQ,发送开始,上升沿触发发送工作;b、ID,连接ID号,这个ID号是在NetPro组态时生成的ID号;c、R_ID,连接号,相同连接号的FB块互相对应发送接收数据,这个是由用户编程时定义的,例如1#PLC的FB12的R_ID是DW#16#2,则2#PLC的FB13的R_ID也是DW#16#2,这样才能保证正常接收发送;d、DONE,发送完成,如果REQ端是一个不停的脉冲,正常情况下DONE端也应该也是一个不停的脉冲反馈;e、SD_1,发送的开始地址,以P# x.x byte xxx来表示,f、LEN,发送数据的长度。 5、采用FB12、FB13来进行发送/接收是比较麻烦的,一方面需要两端的以太网模块都支持双边发送,如Cp343-1-Lean就不支持了,另一方面,两边都要写程序,对于增加的系统不太方便,所以这时可以在NetPro里把One-way(单边通讯,激活后FB12、FB13不能使用)激活,采用FB14(GET)取数据、FB15(PUT)发送数据来做,FB14的参数定义和FB12差不多,只是少了R_ID和LEN,这样更方便一些,而且还有一个好处,不需要对原有的系统进行什么更改,只需要把单边的PLC组态和程序下载就可以了 6、需要注意的另一个问题是FB和SFB的区别,在400上采用SFB,在S7-300上采用FB,在S7-300集成的PN口上,采用SFB,这个问题曾经折磨过我一两天才解决。 二、WinLC与PLC互连 WinLC是在PC机上的软件PLC,可以把一台PC机当成PLC使用。这样对于不能采用模拟器连接的软件是比较方便的,如采用Intouch、Ifix这些SCADA软件做为上位机软件时,测试是个麻烦的问题,需要与实际机器连接起来才能测试,但如果有WinLC,可以把程序拷到WinLC上运行,上位机软件与WinLC联机测试,省去不少工夫,所以WinLC对于不方便进行现场测试的环境,是个不错的替代方案。WinLC既然是一套软件PLC,就能够实现PLC的功能,那么与PLC通讯也是可以实现的, 下面说一说WinLC与S7-300互连 1、新建一个项目,建立一个S7-300的站点,硬件组态;建立一个PC站点,在PC站点上增加一个WinLC和一个IE General,IE General的IP地址与PC机的IP地址一致,其实IE General指的就是PC机的以太网卡。 2、打开NetPro,在WinLC上新建一个S7 conection,指向S7-300,编译、存盘 3、在PCStation上增加WinLC和IE General,需要注意槽号要与硬件配置时候一样 3、打开WinLC的OB块,调用SFB14、SFB15来读写S7-300的数据 4、启动WinLC软件,下载程序,这样就可以实现软件PLC与PLC互连了 三、两种方式的结合 如果有多台PLC需要与PC机上的SCADA软件通过opc进行通讯,但是又发现SCADA软件读取的速度太慢,不能满足刷新要求,或者数据要做些预处理才能显示,SCADA软件上运行太多的脚本又影响速度,那么通过软PLC把多台PLC的数据先读过来进行预处理,SCADA软件只与一台PLC进行通讯,这样SCADA软件上的工作量会少一些。这个时候把上面说的两种方式结合一下,就能够实现这样的功能了。 1、通讯连接参照上面的方法设置 2、在WinLC的PC站点上添加一个OPC服务器,在NetPro里面打开OPC的连接列表,添加一个S7 conection,指向WinLC,编译、下载 3、通过OPC客户端可以直接访问OPC服务器的内容,常用的SCADA软件如Intouch、Citect、IFix这些软件都支持OPC,设置访问连接就可以在软件上直接读写了,如果更简单的界面,可以自己用VB编写一个OPC客户端,读写数据都在VB程序上实现,不使用SCADA软件,可以省掉不少钱了。
|