西门子S7-400H之间通讯数据丢失解决办法,现场有两对S7-400H系统,一对417-5H,另一对为416-5H,两对S7-400H之间建立了Local ID为1的 S7容错连接并进行S7双边通信,之前两对S7-400H之间的通讯一直是正常的,现在通讯中断,现场在线监视网络组态发现S7容错连接丢失。
2019-09-15
两对S7-400H之间通讯需要建立S7容错连接,S7容错连接可以增强互联系统之间的容错程度,当一条网路链路损坏时,系统可以自动切换到另外一条网络链路,这样可以保证S7-400之间的通讯更加可靠。两对S7-400H之间可以通过CPU上集成的网口或者增加CP443-1的方式建立S7容错连接进行通讯,下图是以增加CP443-1的方式来实现两对S7-400H之间的通讯。
2019-09-15
S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。 S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在 下一个SFB/FB调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面 要相互匹配。 通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果 正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。 通过使用SFB/FB 15 "PUT",可以将数据写入到远程CPU。 S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。 S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。 远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在编号、长度和数据类 型方面相互匹配。 如果没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DONE来指示,其数值为1。只有在最后一个作业完成之后,才能再次激活写作业。远程 CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出 表示。 打开SIMATIC 315 PN-1的OB1,在OB1中依次调用FB14,FB15如图12、图13所示:
2019-08-24
西门子S7-300/400与S7-200SMART之间的以太网S7通信-硬件及网络组态本文以采用1个315-2PN/DP,1个S7-200 SMART PLC为例,介绍它们之间的S7通信。 在STEP7中创建一个新项目,项目名称为S7-300-SMART。插入1个S7-300站,在硬件组态中插入CPU 315-2 PN/DP。如图4所示。
2019-07-31
西门子S7-300/400与S7-200SMART之间的以太网S7通信-通信介绍,S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。 经过测试发现S7-300/400通过集成的PN口或CP343-1/CP443-1与S7-200 SMART PLC 之间的S7通信也是可以成功的, 但是需要S7-300/400侧编程调用PUT/GET指令。
2019-08-24
西门子S7-200做主站S7-300 CP341做从站的Modbus RTU通讯-通讯测试,Modbus RTU格式通信协议是以主从的方式进行数据传输的,在传输的过程中主站是主动方,即主站发送数据请求报文到从站,从站返回响应报文。Modbus 系统间的数据交换是通过功能码来控制的,以下对现场常用的功能码进行分类测试,关于功能码的详细信息请参考手册。FC01、FC05、FC15对应的数据区为位输出,数据的传递以位为单位,可以读写操作,用户地址区为0xxxx,Modbus地址在信息传递中从0开始。如上图,左边为信息传递地址(地址区不能冲突),右边对应的是S7-300的数据区。例如左边信息传递地址从0 ~ 7对应用户地址区为00001 ~ 00008,对应S7-300的M10.0 ~ M10.7,并且以此为例说明FC01功能码的通讯。 S7-200主站程序调用
2019-08-24
西门子S7-200做主站S7-300 CP341做从站的Modbus RTU通讯-CP431编程,CP341 做Modbus 从站的硬件组态,当配置好Modbus通信的参数后,保存前需要向CP341下载Modbus Slave的驱动,一旦下载完成后无需再次下载。需要注意的是,在下载驱动时(可以在无Dongle情况下下载),需要将CPU停机,然后下载,操作过程如下所示。
2019-08-24
S7-200 CPU上的通信口在电气上是标准的RS-485半双工串行通信口,此串行字符通信的格式:1个起始位;7/8位数据位;1位奇/偶/无校验;1停止位。通信波特率可以设置为1200、2400、4800、9600、19200、38400、57600或112500,符合这些格式的串行通讯设备可以和S7-200进行自由口通讯,Modbus RTU指令库就是使用自由口编程实现的。
2019-08-24
西门子S7-200做主站S7-300 CP341做从站的Modbus RTU通讯-接线,在现场应用中,很多仪表和设备仅支持Modbus RTU的通讯协议,第三方仪表可以做Modbus主站或从站,西门子的通讯模块CP341 / CP441-2 通过Dongle(硬件狗)可以扩展该协议,S7-200 集成的口可以支持自由口通讯,通过指令库也可以方便的实现Modbus RTU通讯。本文以S7-200作为Modbus 主站,CP341作为Modbus 从站,实现Modbus RTU通讯,阐述两者在通讯方面的设置和注意事项。
2019-08-24
在cpu运行的情况下分别监控两个站OB1的状态。首先在两个站的FB65中,将“REQ”置1,使连接建立。然后将SIMATIC 315PN-1 MB100-MB109赋值B#16#12,同时在SIMATIC 315PN-2站中将FB64的EN_R置1,接着在SIMATIC 315PN-1的FB63中,将M0.2设置上升沿信号,此时SIMATIC 315PN-2站的MB200-MB209接收到来自SIMATIC 315PN-1站的数据B#16#12,
2019-08-24
要通过 S7-PN CPU 的 集成PROFINET 接口实现开放的 TCP 通信,不能在硬件组态中完成,必须在一个数据块中指定每个连接的参数。使用“Open Communication Wizard”工具可以简单明了地指定连接参数,该工具可将一个包含所有参数的 UDT 导出到您的 STEP 项目中。使用该 UDT 可建立含有连接描述的数据块。随后,需使用通信功能块 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND" 和 FB64 "TRCV"完成程序的编写。
2019-08-24
西门子S7-400多CPU之间通讯,所有在一个公用外设总线(P)和通讯(K)总线上操作的CPU运行状态(CPU运行系统性能)都将自动同步。• 一个复杂的大任务可以拆开到最多4个CPU上来计算。• 通过简单插入CPU实现性能的按比例升级是可能的。• 增加系统资源(内存,标准区,计数器...)。 但输入/输出点数不会增加。• 可以把时间临界和非时间临界过程区域分离开来 (即:一个快速闭环控制器的快速制)。• 多CPU可以共用一个CP模板和外部通讯。I/O 模板只能指定一个CPU。 其中一个停止,其它CPU也将停止。
2019-08-24