热门搜索:
上海西邑电气技术有限公司在经营活动中精益求精,具备如下业务优势:
上海西邑长期低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面西门子变频器,西门子数控伺服,西门子总线电缆现货供应,欢迎来电咨询系列产品,折扣低,货期准时并且备有大量库存. 长期有效
西门子数控伺服系统:802C S、802D SL、810D DE、820D SL、840C CE、840D DE、840D SL、840Di SL、S120数 控 系 统、数 控 伺 服 驱 动 模 块、控制 模 块、电 源模 块、备 品 备 件 等。
本公司产品质量按西门子原厂质量标准,产品质保一年,按西门子原厂包装标准,西门子原装 正品,按厂家执行标准,需方收到货后七日内可提出异议!!!
我们卖的不是价格。卖的是诚信卖的是品质
DP01 作为一个特殊的PROFIBUS-DP从站模块,其相关参数(包括上述的数据一致性)是以GSD(或GSE)文件的形式保存的。在主站中配置DP01,需要安装相关的GSD文件。
EM DP 01 GSD文件
假设 DP 主站已定义一个 I/O 组态,其包含两个插槽且 V 存储器偏移量为 1000。将**个插槽组态为 32 字节的输入输出,*二个插槽组态为 8 字节的输入输出。S7-200 SMART CPU 的输出与输入缓冲区均为 40 字节 (32 + 8)。输出数据(来自 DP 主站)缓冲区起始于 VB1000;输入数据(送入 DP 主站)缓冲区紧随输出缓冲区并起始于 VB1040。
首先,在STEP 7项目里插入一个S7-300的站并建立PROFIBUS DP 主站网络:
STEP7的硬件组态窗口中的"Options"菜单中点击“Install GSD File..”,导入EM DP 01 GSD文件,安装DP01配置文件,如下图:
选择DP01 GSD文件所在路径:
导入EM DP 01 GSD文件后,在右侧的设备选择列表中找到DP01从站,PROFIBUS DP-Additional Field Device-PLC-SIMATIC-EM DP 01 PROFIBUS-DP,并且根据通讯字节数,选择相应的配置。本例中的插槽一包含"4Bytes In/Out"预组态 I/O 选项,插槽二包含"8 Bytes In/Out"预组态 I/O 选项。如下图:
确定S7-300硬件组态中所设置DP01的DP 从站地址,如下图红框标注,为DP从站DP01的站地址。
如果使用的S7-200 SMART通信区域不从VB0开始,则还需要在“Parameter Assignment”选项卡中设置"I/O Offset in the V-memory"参数,
该参数的设置如下图所示(本例中S7-200 SMART通信区域是从VB0开始,所以此参数设置为0):
组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。 在S7-200 SMART 侧断电的情况下,将DP01的拨位开关拨到与S7-300侧硬件组态的设定值一致。
打开 STEP7中的变量表和STEP 7-MicroWIN SMART状态表进行监控,它们的数据交换结果如下图:
VB0-VB11是S7-300写到S7-200 SMART 的数据,VB12-VB23是S7-300从S7-200 SMART读取的值。
注:可以在S7-300 CPU Properties的 “Cycle/Clock Memory”标签下修改过程映像区的大小,使DP通讯的数据区在过程映像区之内,这样设置的话就可以直接对过程映像区进行操作。
DP01上拨位开关的位置一定要和S7-300中组态的地址值一致。
插入 CPU 315-2 DP 作为 DP 主站。
在项目视图中,找到菜单栏并选择:"选项 > 管理通用站描述文件(GSD)"(Options > Manage general station description files (GSD))
在"源"(Source) 路径中,找到之前加载到计算机中的 EM DP01 GSD 文件。 选中相应 GSD 文件行的复选框。 单击"安装"(Install) 按钮。
插入 EM DP01 PROFIBUS DP 模块。如下图所示,在 DP 主站和设备之间创建 PROFIBUS 网络。
设备视图中组态DP01的通讯区,本例中的插槽一包含"4 Bytes In/Out"预组态 I/O 选项,插槽二包含"8 Bytes In/Out"预组态 I/O 选项。在"Properties"、"General"选项卡区域,单击"Device-specific parameters"以显示"I/O Offset in the V memory"字段。在此处可分配为该操作预留的那部分 V 存储器的启动地址。
注意:VB0-VB11是S7-300写到S7-200 SMART 的数据,VB12-VB23是S7-300从S7-200 SMART读取的值。
打开博图软件中的监控表和STEP 7-MicroWIN SMART状态表进行监控,它们的数据交换结果如下图:
常见问题:
如果组态的io地址较大,则可能**过了300CPU默认的过程映像区。此时将IB,IW改为PIB,PIW读取。
方法1:软件里固定的通讯长度较大64bytes out/64 bytes in, 可以选择图中的“通用模块”根据实际需求自由设置输入/输出区域,而DP01较大的通讯字节数是64 word out/64 word in。
方法2:分时通讯。以64字节通信区为例,若**过较大配置。那么可以将通信区的**个字节作为标志位,这样需要在S7-200Smart中分时或条件判断,将数据放置或读取通信区域。同理,在S7-300中也需要判断标志位。
方法3:满足扩展要求的前提下,同一个200smart可以扩展多个DP01,具体可以参考本文中较大I/O扩展能力的要求,那么在同一个S7-300的项目里可以组态多个PROFIBUS从站。
方法2可以增大通信的数据量,但由于通过标志位来分时分次传输的,所以通信数据的刷新会比方法3慢;方法3通过扩展DP从站或者200PLC的通信端口来实现数据扩展的,但增加了成本,且需要考虑是否满足扩展要求
无论是组成MPI还是RPOFIBUS-DP网络,用到的主要部件都是一样的:
具体电缆及接头订货号请参看:常用附件订货号
A. 电缆和剥线器。使用FC技术不用剥出裸露的铜线。
图1. 剥好一端的PROFIBUS电缆与快速剥线器(FCS,订货号6GK1905-6AA00)。
B. 打开PROFIBUS网络连接器。首先打开电缆张力释放压块,然后掀开芯线锁。
图2. 打开的PROFIBUS连接器
C. 去除PROFIBUS电缆芯线外的保护层,将芯线按照相应的颜色标记插入芯线锁,再把锁块用力压下,使内部导体接触。应注意使电缆剥出的屏蔽层与屏蔽连接压片接触。
图3. 插入电缆
由于通信频率比较高,因此通信电缆采用双端接地。电缆两头都要连接屏蔽层。
D. 复位电缆压块,拧紧螺丝,消除外部拉力对内部连接的影响。
网络连接器主要分为两种类型:带和不带编程口的。不带编程口的插头用于一般联网,带编程口的插头可以在联网的同时仍然提供一个编程连接端口,用于编程或者连接HMI等。
图4. 左侧为不带编程口的网络连接器(订货号:6ES7 972-0BA52-0XA0)
右侧的是带编程口的网络连接器(订货号:6ES7 972-0BB52-0XA0)
通过PROFIBUS电缆连接网络插头,构成总线型网络结构。
图5. 总线型网络连接
在上图中,网络连接器A、B、C分别插到三个通信站点的通信口上;电缆a把插头A和B连接起来,电缆b连接插头B和C。线型结构可以照此扩展。
注意圆圈内的“终端电阻”开关设置。网络终端的插头,其终端电阻开关必须放在“ON”的位置;中间站点的插头其终端电阻开关应放在“OFF”位置。
1、系统组成
如下图所示,系统包括3个SIMATIC S7-300站,其中一个作为串行通信的主站,通过ASCII驱动协议轮询采集另外两个从站的数据。系统主站和1#从站各配置了一个串行通信模块CP341(6ES7341-1CH01-0AE0)(RS422/485接口),2#从站配置了一个串行通信模块CP340(6ES7340-1AH02-0AE0)(RS232C接口),为了将它们连接到一个网络中,在本例中选择了西门子的PC/PPI电缆(6ES7901-3CB30-0XA0)将2#从站的RS232C接口转换为RS485接口连接到网络中。
图1
系统涉及的主要硬件设备及版本信息如表。
设备名称 | 订货号 | 版本 |
主站 | ||
CPU模块 | 6ES7315-2AG10-0AB0 | V2.6 |
CP341 | 6ES7341-1CH01-0XE0 | V1.02 |
1#从站 | ||
CPU模块 | 6ES7315-2AG10-0AB0 | V2.6 |
CP341 | 6ES7341-1CH01-0XE0 | V1.02 |
2#从站 | ||
CPU模块 | 6ES7315-2AG10-0AB0 | V2.6 |
CP340 | 6ES7340-1AH02-0XE0 | V1.04 |
PC/PPI电缆 | 6ES7901-3CB30-0XA0 |
2、软件环境
STEP7 5.x软件上,必须先安装PTP协议软件包,才可进行组态配置
PTP协议软件包
3、电缆和硬件连接
根据具体情况可以自己制作通信电缆,也可以选择西门子提供的定制电缆。在通信距离可以满足要求的情况下,建议选择西门子提供的串行通信电缆,电缆订货号如表。
详细的硬件连接如图所示。
图2
1、组态主站
图3
图4
2、组态从站
对于从站CP341/CP340模块的参数分配与主站保持一致,特别注意波特率、数据位、停止位和奇偶校验位设置要与主站相同。
详细的接口参数设置请参考:
CP340使用手册
CP341使用手册
图5
与MODBUS协议轮询不同,由于每个从站自身不具有一的设备标识信息(从站地址),无法直接区分和识别网络上的数据帧是哪个站的、需要哪个站做出响应,所以要通过ASCII协议驱动实现多站点轮询,需要人为地对每个站做出标识,并在主站发送轮询指令时给出相应的指令标识,以便从站能够识别是否是发送给自己的数据以及是否做出响应。
在ASCII协议驱动实现多站点轮询的过程中,应主要考虑以下几个方面。
1、数据帧格式
为了区别1#从站和2#从站,在消息帧中增加一个字的地址标识字符,主站通过发送不同地址标识字符的帧来轮询不同从站,同时从站根据地址字符来判断是否是给自己的消息,并据此做出相应的处理。从站发送给主站的响应帧也包含有自己的地址标识字符,用于主站判断是哪个从站返回的数据。字符帧格式如下:
图6
2、时序图
如图所示,主站按顺序轮询1#从站和2#从站。
图7
3、流程图
初始化主要针对主站而言。在初始化阶段主要完成CP模块的参数化、初始化轮询计数器,复位接收缓冲区以及根据轮询计数器生成发送数据帧等方面的工作。
如图所示,在系统初始化完成后,手动启动**次轮询作业,本实例先轮询1#从站。给1#从站发送查询请求后,等待1#从站的响应,如果在*的延时时间内接收到1#从站返回的数据,则给2#从站发送查询请求,并等待2#从站的响应,同样如果在*的延时时间内接收到2#从站返回的数据,则一次完整的轮询结束,自动启动新一轮的轮询。如果在*的延时时间内不能接收到从站的返回数据或接收错误,则跳过本站,开始轮询下一个站点。
图8
从站根据主站的请求做出响应,主要是在接收到网络上的数据后,判断是否是给自己的数据。如果是,则将数据接收到*的数据区,同时启动发送功能,发送相应的返回数据给主站;如果不是,则直接删除收到的数据,并不做任何响应。
图9
接下来我们就可以根据上述轮询思想,通过编写STEP7程序具体实现主站轮询从站的功能。由于主站、从站任务的不同,所以在程序上的实现上也有所不同,下面针对主站和从站的程序实现做个简要描述。具体的例程可以参考本文附带的样例程序。
1、初始化
为了实现对多个从站的轮询,程序构造了一个轮询计数器,通过修改轮询计数器的值,来修改主站发送数据帧中的站地址标识字符。本例中定义MW2作为轮询计数器,程序开始,先对轮询计数器进行操作,默认先轮询1#从站,将值1赋值给MW2。
图10
在程序执行过程中,会修改轮询计数器的值,通过判断轮询计数器的值对发送数据块的地址标识符字作相应的修改,以完成对响应从站的轮询。本例中具体的实现如下图,其中DB13作为发送数据块,DB13.DBW0为地址标识符字。
图11
2、启动发送
初始化完成后,可以启动发送功能。本例**次发送采用手动方式,通过触发手动启动标志位M30.1,并调用FB8 P_SND_RK发送数据到从站。完成**次发送后,可以通过程序自动修改自动轮询标志位M30.0来实现自动发送数据到从站的功能,具体的FB8 P_SND_RK功能块使用参考CP341手册。
启动发送功能块FB8后,通过FB8返回状态信息,判断是否发送完成,如果发送错误,则重新启动发送功能。
图12
3、接收从站返回数据
发送完成后,启动接收作业,准备接收从站返回数据,并将接收到的数据先放到接收缓冲区中,本例DB14数据块为接收缓冲区。
图13
4、接收完成
接收完成后,做如下几方面处理。如果接收错误或**时,则跳过此站的轮询。
图14
图15
相对于主站,从站的处理程序相对简单。下面以2#从站为例做个说明,1#从站除了调用FB不同外,都与2#从站相同。
1、接收数据
从站一直启动接收功能FB2 P_RCV,接收来自网络上的数据,如果接收到数据则根据地址标识符判断是否是本站的数据。
图16
图17
2、发送返回数据
接收完成后,调用发送功能,将DB19的数据发送给主站。
图18
搭建好网络,并将程序分别下载到各自的CPU中,启动CPU的运行。通过置位手动启动轮询标志位M30.0即可启动轮询程序的运行。通过变量表可以监视到系统的运行情况,可以看到,主站会循环地将数据发送到两个从站,同时也循环地接收来自从站的返回数据,如图所示。
图19
通过本应用实例,可以看到基于ASCII驱动协议的多站点轮询原理比较简单。同时因为其较大的灵活性,所以可以与各种满足ASCII协议的设备进行通信。西门子串行通信模块CP340、CP341、CP440-1、CP441-1/2、CPU313C/314C-2PtP以及ET200S的1SI 3964/ASCII等都集成有ASCII驱动协议功能,可以根据需求灵活地选择这些产品。
本文所述应用和提供例程只作为相关应用的参考,在实际的应用中,应该充分考虑通信伙伴的特点和实际需求,结合不同的轮询方式、错误处理机制、校验方法、数据处理方法等手段达到通信目的。
*处理CPU
首先从西门子**技术资源库网站上下载相关产品的 GSD 文件,相关链接为:SIMATIC PROFIBUS GSD文件。
选择相关产品并下载到本地硬盘中并将文件解压。
图 2 GSD文件下载界面
打开SIMATIC Manager,进入硬件组态界面,选择菜单栏的“Options”->“Install GSD File…”,如图 3所示。
图 3 安装GSD文件
进入GSD安装界面后,选择“Browse…”,选择相关GSD文件的保存文件夹,选择对应的GSD文件(这里选择语言为英文的“*.GSE”文件),点击“Install”按钮进行安装。
图 4 选择安装GSD文件
安装完成后可以在下面的路径中找到CPU314C-2DP,如图 5:
图 5 硬件目录中的位置路径
之前介绍,两个S7-300站是在两个STEP7项目中进行配置,打开**个STEP7项目,插入SIMATIC S7-300站,添加CPU314C-2DP,双击DP接口,分配一个PROFIBUS地址,然后在“Operating Mode”中选择“DP salve”模式。
图 6 选择从站操作模式
进入“Configuration”标签页,新建两行通信接口区,如图 7所示:
图 7 从站通信接口区
注意:上述从站组态的通信接口区要与主站导入GSD从站后配置的通信接口区在顺序、长度和一致性上要保持匹配。
打开*二个STEP7项目,新建S7-300站,添加CPU314C-2DP,双击DP接口,新建一条PROFIBUS网络。然后在“Operating Mode”中选择“DP master模式。
图 8 选择站操作模式
然后从硬件目录中选择CPU314C-2DP GSD文件(路径参照图5),添加到新建的PROFIBUS网络中,为其分配PROFIBUS地址,该地址要与之前配置的从站地址一致。 然后为CPU314C-2DP从站组态通信接口区。
本文在硬件目录中CPU314C-2DP GSD文件下方选择了“Master_I Slave_Q 1B unit”和“Master_Q Slave_I 1B unit”,必须和从站组态时通信接口区保持一致。如图 9所示。
图 9 主站组态
配置完以后,分别将配置下载到各自的CPU中初始化接口数据。在本例中,主站和从站通信接口区的对应关系如下表 所示:
主站 | 传输方向 | 从站 |
IB0 | QB0 | |
QB0 | IB0 |
需要提醒注意的是,主从站配置IO通信区时,除了顺序、长度和一致性要匹配外,输入和输出也要相互对应。