论文部分内容阅读
【摘 要】profibus-dp的主要用途是进行现场层高速数据的传送,主站(PLC)可以周期性地向从站输出信息,同时又能够周期性地读取并掌握从站的信息,而且要求profibus-dp总线的循环时间一定要短于主站的所有程序循环时间。另外profibus-dp总线还要给智能化设备提供信息组态、诊断、报警等。profibus-dp的连接成本相对较低,还具有非常高的传输效率,因此成为了目前现场设备通讯的首选。
【关键词】profibus-dp;S7-300;S7-200;通讯
0.引言
PROFIBUS是开放的、国际化的、不需要依赖任何设备生产商的现场总线,它能够完成时间紧迫、高速的通信任务。这种现场总线又可以分为现场总线信息规范(简称FMS)、分散性外围设备(简称profibus-dp)、过程自动化(简称profibus-pa)三个标准。其中DP主要特点就是传输的高速性,其传输数据的速度可达到12Mbit/s,因此应用非常广泛。profibus-dp在现场级分散I/O设备之间和可编辑程序的控制器之间通信方面应用广泛。
profibus-dp总线的存取方式是主从站之间的通信和主站与主站之间的令牌传递等,因此能够支持多个主站和单主站的系统,一般情况一个总线上的从站和主站的数目不能超过126个,一般的DP 主站可以使用CP342-5进行扩展的S7-300站,或者带有集成DP口的CPU站,同时DP主站也可使用能插DP网卡的上位机等。而DP从站的设备相对较多,如S7-200、调速装置、ET200系列和第三方设备。本文针对S7-300和S7-200之间的DP通信进行讨论,讨论的主要内容为主站到从站的编程,根据16位数字的信号传输,来阐述两者之间的通信关系。
1.S7-300和S7-200之间profibus-dp相互通讯网络组态和参数设置
1.1网络配置
有集成DP口的CPU315C-2DP的S7-300是DP 的主站,而CPU224+EM277 接口模块的S7-200作为DP从站,然后构成一个主站单个从站的系统,该系统中进行编程和监控之用的PC应为CP5611。其构建的系统网络结构详见图1。
图1 单主从系统的网络结构
1.2软硬件要求
(1)硬件。DP主站:CPU315C-2DP;DP从站:CPU224;DP从站的接口模块:EM277;主站的编程接口:采用西门子MPI线;从站的编程接口:西门子MPI线。
(2)软件。从站编程软件:STEP7micro/WIN4.0,主站编程软件:STEP7.5.5。
1.3网络组态参数设置
(1)组态主站。在主站编程软件中重新建立一个S7项目,依照次序插入机架、电源、CPU315C-2DP,然后再配置profibus-dp的网络,DP地址一般会设置两个,集成的数字量输出、输入地址等,均取的是系统默认的QB124-QB125或者IB124-IB125。
(2)配置从站。将主站硬件的组态窗口打开,然后将从站设备EM227添加到 的网络窗口上,同时还要配置一个通信借口区。从站的DP地址为3,通讯接口区的输入和输出均为2字节;输入区的通讯地址为PIB0-PBI1,输出区的通讯地址为PQB0-PQB1,而与之对应的S7-200通讯接口为V存储区,所占的字节为4个,接受区为前两个字节,发送区为后两个字节。本例中我们将V区的偏移值设为100。
设置完成之后,主从通信接口的关系如表1所示:
表1 主站S7-300与从站S7-200之间的关系
2.软件的编程设置和实践
2.1主站侧通信
主站侧通讯程序的主要任务是读写PI区或者PQ区,因此对于按照字单元传送或者字节单元传送的数据,完成传送时只可以采用简单的传送指令和装载来完成,如果数据是连续性的比如有3个字节以上,那么应该调用SFC14或者SFC15等系统功能来完成。
(1)按单元传递。在OB1中编写程序,通过程序可以将影像区的数据传送到PQB0-PQB1,再中转到S7-200从站中。
(2)连续性数据传递。系统功能SFC14-SEC15是来完成连续性数据传递的,其中SFC14所读取的数据存储于输入接口区的数据包内,数据包解压之后存放于所指定的数据区内,然后由SFC15将所储存的数据进行打包,最后经由接口区进行发送。
2.2从站编程
所谓的从站编程主要是读写V内存的接口区域的数据,本文所举的例子就是存储在V内存的缓冲数据复制到S7-200的输出影像,然后再将S7-200影像区的数据再复制到V内存中。该程序中所使用的信息均是存储在SM内存区的DP信息。
SMB224 DP标准协议状态字节
上表所示的状态字节中S1=0,S0=0,则表示在接通电源之后通讯功能没有启动;S1=0,S0=0,则表示系统程序检测到配置或者参数出现错误;S1=1,S0=0,则表示整个程序的数据正在进行交换;S1=1,S0=1,则表示数据交换模式已经退出。
SMW226,表示V内存的输出偏移量;SMW228,表示输出数据的字节数;SMW229,表示输入数据的字节数。
其相应的操作程序:
[Network1]
LDB=SMB224,2//如果程序正处于数据交换模式
MOVD&VB0,VD1000//即将VB0的地址送入VD1000中,然后在建立指针
ITD SMW226,AC0//将V内存所输出的偏移量转换成双整数
+D AC0,VD1000//再添加到输出缓冲区指针,使指针指向缓冲区的第一个地址
[Network2]
LDB=SMB224,2
MOVD VD1000,VD1004//复制输出指针
BT1 SMB228,AC0//获得输出字节数
ITD AC0,AC0//转换为双整数
+D AC0,VD1004//输出字节+输出缓冲区地址=输入缓冲区地址, 本例中指向VB102
[Network3]
LDB=,SMB224,2
MOVB SMB228,VB1009//获得输出字节数 (下转第293页)
(上接第223页)MOVB SMB229,VB1009//获得输入字节数
[Network4]
LDB=,SMB224,2
BMB QVD1000,QB0,VB1008//将主站DP 输出复制到从站输出
BMB IB0,QVD1004,VB1009//将从站输入复制到主站DP输入
3.结束语
S7-300与S7-200之间的profibus-dp相互通讯是非常容易实现的,它的特点是成本非常低廉,而且传送速度迅速,非常容易将主站S7-300和从站S7-200构建成分布式的控制系统,在进行通讯编程的过程中,从主站侧和从站侧分别读写出各自的接口区,然后就可以实现二者之间的通讯。
【参考文献】
[1]黄峥,古鹏.基于S7系列PLC通讯方式与设计研究[J].机电工程技术,2010(06).
[2]谢静心,蒙建波.S7-300与S7-200之间的PROFIBUS□通讯实现及在某大型汽轮发电机冷却系统中的应用[J].自动化与仪器仪表,2008(02).
[3]田海,崔桂梅,王晓红,薛艳春.西门子PLC控制网络的配置策略与应用[J].电气传动,2010(01).
【关键词】profibus-dp;S7-300;S7-200;通讯
0.引言
PROFIBUS是开放的、国际化的、不需要依赖任何设备生产商的现场总线,它能够完成时间紧迫、高速的通信任务。这种现场总线又可以分为现场总线信息规范(简称FMS)、分散性外围设备(简称profibus-dp)、过程自动化(简称profibus-pa)三个标准。其中DP主要特点就是传输的高速性,其传输数据的速度可达到12Mbit/s,因此应用非常广泛。profibus-dp在现场级分散I/O设备之间和可编辑程序的控制器之间通信方面应用广泛。
profibus-dp总线的存取方式是主从站之间的通信和主站与主站之间的令牌传递等,因此能够支持多个主站和单主站的系统,一般情况一个总线上的从站和主站的数目不能超过126个,一般的DP 主站可以使用CP342-5进行扩展的S7-300站,或者带有集成DP口的CPU站,同时DP主站也可使用能插DP网卡的上位机等。而DP从站的设备相对较多,如S7-200、调速装置、ET200系列和第三方设备。本文针对S7-300和S7-200之间的DP通信进行讨论,讨论的主要内容为主站到从站的编程,根据16位数字的信号传输,来阐述两者之间的通信关系。
1.S7-300和S7-200之间profibus-dp相互通讯网络组态和参数设置
1.1网络配置
有集成DP口的CPU315C-2DP的S7-300是DP 的主站,而CPU224+EM277 接口模块的S7-200作为DP从站,然后构成一个主站单个从站的系统,该系统中进行编程和监控之用的PC应为CP5611。其构建的系统网络结构详见图1。
图1 单主从系统的网络结构
1.2软硬件要求
(1)硬件。DP主站:CPU315C-2DP;DP从站:CPU224;DP从站的接口模块:EM277;主站的编程接口:采用西门子MPI线;从站的编程接口:西门子MPI线。
(2)软件。从站编程软件:STEP7micro/WIN4.0,主站编程软件:STEP7.5.5。
1.3网络组态参数设置
(1)组态主站。在主站编程软件中重新建立一个S7项目,依照次序插入机架、电源、CPU315C-2DP,然后再配置profibus-dp的网络,DP地址一般会设置两个,集成的数字量输出、输入地址等,均取的是系统默认的QB124-QB125或者IB124-IB125。
(2)配置从站。将主站硬件的组态窗口打开,然后将从站设备EM227添加到 的网络窗口上,同时还要配置一个通信借口区。从站的DP地址为3,通讯接口区的输入和输出均为2字节;输入区的通讯地址为PIB0-PBI1,输出区的通讯地址为PQB0-PQB1,而与之对应的S7-200通讯接口为V存储区,所占的字节为4个,接受区为前两个字节,发送区为后两个字节。本例中我们将V区的偏移值设为100。
设置完成之后,主从通信接口的关系如表1所示:
表1 主站S7-300与从站S7-200之间的关系
2.软件的编程设置和实践
2.1主站侧通信
主站侧通讯程序的主要任务是读写PI区或者PQ区,因此对于按照字单元传送或者字节单元传送的数据,完成传送时只可以采用简单的传送指令和装载来完成,如果数据是连续性的比如有3个字节以上,那么应该调用SFC14或者SFC15等系统功能来完成。
(1)按单元传递。在OB1中编写程序,通过程序可以将影像区的数据传送到PQB0-PQB1,再中转到S7-200从站中。
(2)连续性数据传递。系统功能SFC14-SEC15是来完成连续性数据传递的,其中SFC14所读取的数据存储于输入接口区的数据包内,数据包解压之后存放于所指定的数据区内,然后由SFC15将所储存的数据进行打包,最后经由接口区进行发送。
2.2从站编程
所谓的从站编程主要是读写V内存的接口区域的数据,本文所举的例子就是存储在V内存的缓冲数据复制到S7-200的输出影像,然后再将S7-200影像区的数据再复制到V内存中。该程序中所使用的信息均是存储在SM内存区的DP信息。
SMB224 DP标准协议状态字节
上表所示的状态字节中S1=0,S0=0,则表示在接通电源之后通讯功能没有启动;S1=0,S0=0,则表示系统程序检测到配置或者参数出现错误;S1=1,S0=0,则表示整个程序的数据正在进行交换;S1=1,S0=1,则表示数据交换模式已经退出。
SMW226,表示V内存的输出偏移量;SMW228,表示输出数据的字节数;SMW229,表示输入数据的字节数。
其相应的操作程序:
[Network1]
LDB=SMB224,2//如果程序正处于数据交换模式
MOVD&VB0,VD1000//即将VB0的地址送入VD1000中,然后在建立指针
ITD SMW226,AC0//将V内存所输出的偏移量转换成双整数
+D AC0,VD1000//再添加到输出缓冲区指针,使指针指向缓冲区的第一个地址
[Network2]
LDB=SMB224,2
MOVD VD1000,VD1004//复制输出指针
BT1 SMB228,AC0//获得输出字节数
ITD AC0,AC0//转换为双整数
+D AC0,VD1004//输出字节+输出缓冲区地址=输入缓冲区地址, 本例中指向VB102
[Network3]
LDB=,SMB224,2
MOVB SMB228,VB1009//获得输出字节数 (下转第293页)
(上接第223页)MOVB SMB229,VB1009//获得输入字节数
[Network4]
LDB=,SMB224,2
BMB QVD1000,QB0,VB1008//将主站DP 输出复制到从站输出
BMB IB0,QVD1004,VB1009//将从站输入复制到主站DP输入
3.结束语
S7-300与S7-200之间的profibus-dp相互通讯是非常容易实现的,它的特点是成本非常低廉,而且传送速度迅速,非常容易将主站S7-300和从站S7-200构建成分布式的控制系统,在进行通讯编程的过程中,从主站侧和从站侧分别读写出各自的接口区,然后就可以实现二者之间的通讯。
【参考文献】
[1]黄峥,古鹏.基于S7系列PLC通讯方式与设计研究[J].机电工程技术,2010(06).
[2]谢静心,蒙建波.S7-300与S7-200之间的PROFIBUS□通讯实现及在某大型汽轮发电机冷却系统中的应用[J].自动化与仪器仪表,2008(02).
[3]田海,崔桂梅,王晓红,薛艳春.西门子PLC控制网络的配置策略与应用[J].电气传动,2010(01).