PLC电气工程师,如何用S7-400编程来控制多个CPU之间的通讯
目录
1、测试环境
2、S7-400 多 CPU 环境注意事项
3、硬件组态
4、软件编程
1、测试环境
硬件:CPU416-3 和 CPU412-2
软件:Windows XP professional SP2 STEP7 V5.3 SP3进行 BSEND,BREV 和 USEND ,UREV 通讯。
2、S7-400 多 CPU 环境注意事项
3、硬件组态
分别设定 CPU 不同的 MPI 地址,可以通过底板 K 总线从一个 CPU 对多个 CPU 编程
创建一个 S7 连接
接口为 PLC internal,从底板 K 总线通讯。
创建 2 个连接,因为要测试 2 种通讯方式,存盘编译无错误退出。
BSEBD,BRCV(SFB12,SFB13)和 USEND,URCV(SFB8,SFB9).BSEND 可以传输 64K,带效验速度慢。
USEND 可以传输 440 字节,不效验速度快。
分别下载 CPU 的 block 下 System data
4、软件编程
从标准系统库拷贝标准系统块,粘贴到自己的项目中
在菜单 PLC-Monitor/Modify Variables 下进行测试
可以使用强制变量和监视功能
以上,欢迎分享及收藏哦!
两台PLC通信控制如何操作?不知道的可以学一下
现在国家提倡物联网技术,设备之间要求互联互通互操作,这是今后发展的趋势。今天给各位小伙伴们介绍一下可编程控制器之间的通信联网,要求有多台PLC连接起来使用或者由一台计算机与多台PLC组成分布式控制系统。这里我们用FX2N系列中两台PLC之间的通信控制来说明PLC组网的设计。
控制步骤如下:首先用两台FX2N型号的PLC通过RS485通信模块连接成一个N:N型网络结构。然后按下主机的按钮SB01后,与从机连接的指示灯HL11点亮;松开SB01,HL11熄灭;按下从机的按钮SB11后,与主机连接的指示灯HL01点亮;松开SB11,HL01熄灭',我们把主机中数据寄存器D100(K10)作为从机计数器C1的计数初值。主机的按钮SB02为从机C1的复位按钮,从机按钮SB12为C1的计数信号输入,当按钮SB12输入10次时,C1的输出触点控制主机上的HL02点亮。当主机检测到没有同从机建立好通信时,HL03指示灯亮;从机没有检测到与主机建立好通信时,HL3指示灯亮。
我们知道,现今的PLC都具有强大的网络通信功能,不仅能组建成各种类型的开放式大型工厂自动化网络(CC链接、AS-i网络、PROFIBUS_DP、DeviceNET),这些网络前面已经简单介绍过。还能实现在现场控制的小型数据链接网络(N:N链接、并行链接、计算机链接、I/O链接)。下面我们采用N:N链接的形式实现上述功能要求。N:N链接采用RS485通信方式,PLC内置了专用的通信协议,只要进行相应的硬件接线和PLC的通信设置就可以实现两台PLC之间的通信。
PLC通信网络
设计步骤
步骤一:电路设计
由于是PLC间的通信,其输出控制方式是指示灯,并没有复杂的控制电路。我们把主电路和控制电路绘制在一起。通信的硬件我们采用了FX2N-485-BD模块,直接安装到PLC的基本单元上,PLC与PLC之间用2芯的屏蔽双绞线进行连接。
两台PLC间的通信控制原理图
步骤二:I/O点与地址的分配
主机PLC的I/O地址的分配
X0--------------------------------------------------------------------------------按钮SB01
X1---------------------------------------------------------------------计数器复位按钮SB02
Y0---------------------------------------------------------------------------------HL01
Y1---------------------------------------------------------------------------------HL02
Y7---------------------------------------------------------------------------------HL03
从机PLC的I/O地址的分配
X0---------------------------------------------------------------------------------按钮SB01
X1----------------------------------------------------------------------计数器复位按钮SB02
Y0------------------------------------------------------------------------------------- HL11
Y1------------------------------------------------------------------------------------- HL12
Y7------------------------------------------------------------------------------------- HL13
设备材料表
系统控制我们选用FX2N-16MR-001(其中输入点8点,输出点8点,继电器输出)
PLC---------------------------可编程控制器--------------------------FX2N-16MR-001
QF-----------------------------空气断路器---------------------------DZ47-D25/3P
FU------------------------------熔断器-------------------------------RT18-32/6A
COMM-------------------------通信模块-----------------------------FX2N485-DB
SB--------------------------------按钮--------------------------------LA39-11
HL--------------------------------指示灯----------------------------AD16-22C
步骤三:使用模块:FX2N-485-BD通信模块
FX2N-485-BD通信模块适用于现场控股知道小型数据链接网络(N:N链接、并行链接、计算机链接、I/O链接)应用。该模块使用PLC内部电源,在PLC内部有相应的安装位置和接口。有5个外部接线端子和两个指示灯,其功能是:RDA、RDB RS485通信接收端接线端子,SDA ,SDB RS485通信发送端接线端子,
SG接地端子。SD LED信号发送指示灯,信号发送时高速闪烁;RD LED信号接收指示灯,信号接收时高速闪烁。
三菱通信模块
步骤四:程序设计
在程序中必须对PLC进行相关的参数的设置,主机的参数设置有5个,分别为站点号D8176、从站总数D8177、刷新范围D8178、重试次数D8179以及通信超时D8180.从站的设置参数为D8176.PLC之间的数据交换是通过专用区域的位软元件(512个位)和字软元件(64个字)来实现的。每个站分配有64个内部继电器元件和8个数据寄存器字元件。每个站只能将要传输的数据写入各自规定的区域内,可以读取其他站的数据和位。
(1)主机程序设计
主站分配的64个内部继电器位元件是M1000 至M1063,8个数据寄存器是D0-D7。将按钮SB01,SB02的状态送M1000和M1063,将D100中的数据送D2中,#1从站就能通过通信专用区域取得这些信息,同时主站从#1从站的M1064和M1127就能取得SB11和计数器C1辅助触点的状态,分别送Y0、Y1输出。主站控制程序如下图。
主站控制程序段一
主站控制程序段二
(2)1#从站控制程序设计
1#从站分配的64个内部继电器位元件是M1064至M1127,8个数据寄存器D10至D17,把按钮SB11、计数器C1的状态送M1064和M1127,#0主站就能通过通信专用区域取得这些信息。#1从站通过M1000到M1063取得SB01和计数器C1复位控制状态分别送Y0,C1。从站控制程序如下。
从站控制程序段一
步骤四、运行调试: 按下按钮SB01,观察#1从机的Y0情况,按下按钮SB11,观察主机的Y0情况、按下按钮SB02,观察主机的Y2情况,按下按钮SB12十次,观察主机的Y2情况。如果上电后主机与从机上的Y7指示灯亮,说明了什么呢?如何解决?
欢迎大家转载讨论!
相关问答
PLC控制2个伺服电机?
PLC(可编程逻辑控制器)可通过连接伺服驱动器来控制2个伺服电机。在PLC程序中,可以设定伺服电机的运动方式、速度、位置和加速度等参数,通过向伺服驱动器发送...
一个plc可以写进几个程序?
一个PLC编程时,主程序只能有一个,但子程序的多少仅仅受内存大小限制,数量上是不受限制的,所以在内存足够的情况下,可以说有无限个。不过,子程序编程时,参...
用PLC控制两个单动气缸先后运动,怎么控制?
Y1控制气缸1,单向气缸的话,只能断开Y1,气缸缩回;Y2控制气缸2,可以用Y1与Y2实现互锁,Y1闭合,气缸2断,Y2闭合,气缸1断;如果要等气缸就位后再动,只...Y1控...
plc怎么让某段程序运行2次?
1.PLC可以让某段程序运行2次。2.在PLC编程中,可以使用一个计数器来实现让某段程序运行2次的功能。当计数器的值等于2时,就可以让该程序运行2次。3.PLC编程...
有没有办法让不同品牌的PLC有用同一个编程软件?
汇川,三菱,科威以及国内一大堆山寨三菱的都使用三菱的编程软件。类似的还有西门子,欧姆龙。ABB,倍福,施耐德,和利时。。。甚至于步科,他们使用了同样的软...
plc一个输入可以同时接两个按钮吗?
在PLC(可编程逻辑控制器)中,一个输入通常不能直接同时接两个按钮。PLC的输入是用于检测外部信号的,每个输入通道(或位)通常只能连接一个信号源。这样可以确...
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...
PLC如何实现批量控制?
首先在做程序前要规划好I/O已及内部中继,数据寄存器这是做批量控制的前题。第二要全用PLC的数据处理指令,逻辑门指令,还有FOR循环指令,这两类是做批量处理常...
两台台达plc通讯案例?
台达101例的资料里有说明。其实台达PLC有其特色的通讯指令PLCEASYLINK,通讯不用写程序,简单方便。关于这些方面请参照台达手册。台达101例的资料里有说明。...
两个1200plc用profinet怎么编程?
编程步骤如下:首先,添加PROFINETIO设备到PLC中。然后使用PLC编程软件将PLC与PROFINETIO设备连接。接下来,使用PROFINETIO配置工具将所需的输入/输出映射到...