两台S7-300 PLC间的DP通讯编程实例(图文版)
1.首先,新建一个STEP 7项目,分别插入2个S7-300站。第一个采用CPU315-2 PN/DP作为主站(master);第二个采用CPU317-2 PN/DP作为从站(slave)。并且将317-2的MPI/DP端口配置成DP通讯接口,实现和315-2DP主站的通讯。
2.对从站进行组态:
a)将CPU317-2PN/DP的第一个端口MPI/DP组态为PROFIBUS类型。新建一个PROFIBUS网络,设定网络地址,默认地址为2。
b)在操作模式页面中,将其设置为DP SLAVE模式,并且选择“Test,commissioning,routing”,是将此端口设置为可以通过PG/PC在这个端口上对CPU进行监控,以便于我们在通讯链路上进行程序监控。DP地址用默认值即可。
c)然后选择Configuration页面,创建数据交换映射区。本例中我们创建了1个读主站的映射区(IW100-IW106)和1个写主站的映射区(QW100-QW106),图中的红色框选区域为本站映射区组态完成后的效果,通讯伙伴Partner的部分是空的,只有在主站(即从站的通讯伙伴)的映射区组态完毕并编译后,才会出现完整的通讯配置。
注意:一条映射区最大可以设置16个字或者32个字节的数据长度。
3.组态主站。
a)插入CPU,无需创建新的PROFIBUS网络,选择从站建立的PROFIBUS(1)网络即可,然后组态好其它硬件。并确认CPU的DP口处于主站模式。
b)从窗口右侧的硬件列表中的已组态的站点中选择CPU31X,拖放到主站的PROFIBUS总线上, 这时会弹出链接窗口,选择已组态的从站,点击Couple按钮,点击OK完成。
c)进入Configuration页面,可以看到前面在从站中设定的映射区域,逐条进行编辑(Edit…),确认主-从站之间的数据对应关系。主站的输入对应从站的输出,主站的输出对应从站的输入,数据类型及长度要一致。
4.至此,硬件的组态完成,将各个站的组态信息下载到各自的CPU中。通过NetPro可以看到整个网络的结构图。
5.编写程序。
硬件组态完成并编译下载之后,需要编写通讯相关的程序,才能实现PLC之间的数据交换。通讯组态的映射区域的地址(例如本例中为IW100-IW106,QW100-106),虽然并不是实际的硬件地址,但是占用了I/O模块的组态地址,因此要避免与I/O模板的地址发生重叠。因此,最好在硬件的I/O模块全部组态完毕之后再组态映射区。
映射区的数据交换由系统功能块SFC14(DPRD_DAT)和SFC15(DPWR_DAT)来实现。SFC14(读数据)和SFC15(写数据)要成对使用,一端发送,另一端接收,缺一不可。
6.首先,我们在程序中插入数据区DB1,前面我们只建立了4个字(4 Word)的映射区,于是我们建立如下内容的DB1,为了查看的方便,DB1的前半部分作为接收数据的存储区,后半部分用作发送数据的存储区。在317和315中我们插入同样的DB1,然后分别在OB1中编写通讯程序。
7.主站(315)及从站(317)中的通讯程序如下图所示。
a)形参LADDR:填写通讯伙伴的DP地址(16进制格式),本例中主站的地址为3,从站为2。注意:硬件组态时的DP站地址编号是用10进制表示的,因此要正确的进行数制转换后,在此处填写16进制格式的地址。
b)形参RECORD:填写数据存储区域地址,数据类型为ANY,格式必须如下:
P#DB1.DBX0.0 BYTE 8-----从DB1.DBX0.0开始的8个字节
P#M0.0 BYTE 8-----------从M0.0开始的8个字节
通讯程序完成之后,在各站中插入OB82、OB86、OB122等组织块,以避免因通讯伙伴掉电而导致的本站停机的情况。完成之后,分别下载整个项目并启动CPU,开启变量监控功能。
手动改写设定数据,从监控的结果可以看到,两个站的发送与接收均为正常。将一个站的CPU切换到STOP状态,可以看到,另一个站的CPU硬件SF指示灯报警,但PLC正常运行不停机。待该站恢复之后,报警自动消失。
猜你喜欢
西门子S7-300PLC硬件基础教学视频
西门子S7-300软件安装及使用教学视频
五种西门子PLC程序加密方法,最后一种很难破!
S7-1200/1500教学光盘及手册分享
PLC编程基础:位、字节、字、双字
五种西门子PLC程序加密方法,最后一种很难破!
PLC开关量输入信号的接线方法
更多精彩
PLC与西门子变频器DP通讯方法
PLC与西门子变频器DP通讯
文中通过举例讲述了PROFIBUS-DP现场总线在生产现场的具体应用,详细介绍了西门子PLC与变频设备通过PROFIBUS-DP通讯的硬件组态、软件编程以及变频器的相关参数设置。
在工业厂矿的生产应用中,尤其是钢铁冶金行业,利用PLC通过PROFIBUS-DP现场总线对变频装置进行控制,实现电机的启动、停车和调速最为常见。下面通过一个具体的实例来讲述西门子变频器与S7-300/400的PROFIBUS-DP通讯的全过程。
一、硬件组态变频器
在STEP7软件中创建一个项目,再硬件组态该项目,并建一个PROFIBUS-DP网络,变频器在PROIBUSDP->SIMOVERT文件夹里进行组态,并设定好通讯的地址范围。如下图所示:
二、建立通讯DB块
一般地,读写数据都做在一个DB块中,且最好与硬件组态设定的I,O地址范围大小划分相同大小的区域,便于建立对应关系和管理。如下图所示,读变频器的数据的12个字节在DB0~DB11中,写给变频器的12个字节数据放在DB12~DB23中。接下来还可以存放诸如通讯的错误代码和与变频器有关的其它计算数据。
三、写通讯程序
通讯程序可以直接调用STEP7编程软件的系统功能SFC14(DPRD_DAT),SFC15(DPWR_DAT)来实现。例程段如下:
CALLSFC14//
变频器->PLC
LADDR:=W#16#230//
通讯地址:为硬件组态的起始地址,即IAddess中的560
RET_VAL:=DB15.DBW24//
错误代码:查帮助可得具体含义
RECORD:=P#DB15.DBX0.0BYTE12//
传送起始地址及长度
CALLSFC15//
PLC->变频器
LADDR:=W#16#230//
通讯地址:为硬件组态的起始地址,即QAddess中的560
RECORD:=P#DB15.DBX12.0BYTE12//
传送起始地址及长度
RET_VAL:=DB15.DBW26//
错误代码:查帮助可得具体含义
四、变频器参数设置
变频器的简单参数设置如下表
对于写变频器的数据是与变频器的k3001~k3016(参见变频器使用大全功能图120)建立对应关系,读变频器的数据则是与变频器的参数P734建立对应关系。如下图所示:
即DB15.DBW12~DB15.DBW22对应P734的W01~W06。B15.DBW0~DB15.DBW11对应k3001~k3012。PLC读取变频器的数据可以通过设置参数P734的值来实现,PLC写给变频器的数据存放在变频器数据k3001~k3012中,在变频器的参数设置里可以进行调用,从而建立了彼此的对应关系。
这样,变频器与PLC的连接已经基本建立,就可以编写程序通过PLC来控制变频器的启、停、速度给定等各项功能,满足工艺给定要求。同时也可以读取变频器数据通过上位机进行显示,达到在线监视和诊断的目的。
相关问答
PLC中有MPI接口,和DP接口,这是什么意思啊?-ZOL问答
首先,MPI和DP是西门子PLC中的两个通信口。属于不同的两种协议。MPI是西门子专为300400系列PLC设计的通信协议,协议不开放。PLC和编程软件使用该种协议通信。...
dcs怎么实现对plc的dp通讯?
plc通信必须设置成为dp从站的工作方式,才能接入macsv系统。如果plc的cpu只能以dp主站的方式工作,则需要配备专门的通讯接口卡才能接入macsv系统。完成上述工...
不同项目下,1200plc怎样与profibusdp通信?
1200PLC需要通过PROFIBUSDP通信模块与PROFIBUSDP总线进行通信。在进行连接之前,需要根据相应的规范进行参数设置,如节点地址、通信速率等。然后,通过编程实...
plc的编码器编程方式?
1.以下是plc编码器编程的方式。2.在使用编码器进行位置检测时,需要对编码器进行初始化和配置,并将其与PLC进行连接。具体的编程方法可以参考西门子PLC编程...
西门子300plc从站DP模块怎样接线?
西门子300PLC从站DP模块接线方法如下:1.将从站DP模块的电源连接到PLC电源端子上。通常情况下,需要将PLC电源端子的正极连接到DP模块的电源正极,负极连接到DP...
dp接口)与西门子S7-300PLC如何连接?
首先要知道对方编码器用的是什么报文,然后才能用控制字编程。S7-300这边的设置主要是看有没有编码器的GSD文件,没有得安装,有就将其组态,设置DP地址(和编码...
6ra70与plcdp通讯可以传几个字?
6ra70与plcdp通讯可以传输的字数是有限的。原因是6ra70与plcdp之间的通讯协议和传输速率会影响传输的字数。通常情况下,6ra70与plcdp之间的通讯采用的是Modbus...
欧姆龙PLC与wincc通讯怎样实现用DP通讯?
西门子PLC和欧姆龙PLC两者的通讯协议不一致,需要加MODBUS通讯模块或PROFIBUS-DP通讯模块。西门子有一个模块可以把ProfiBUS-DP转成DeviceNET协议的模块,可以...
博图1200plc怎样与profibusdp通信?
1.安装博图软件:首先需要安装博图软件,包括TIAPortalV15.1或更高版本的软件。2.配置PLC:在博图软件中,打开PLC的硬件配置,添加PROFIBUS-DP通信模块,并...
西门子plcPROFIBUS-DP通讯电压是多少?
dp通讯采用的是rs485通讯,rs485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。dp通讯采用的是rs485通讯,rs485采用差分信号负逻辑,+2V~+6V...