SIMOTION PROFIBUS-DP通信入门

n

1.PROFIBUS 网络介绍
现场总线PROFIBUS可以连接远程I/O站、仪表、主站(PLC站)等设备,通信服务分为DP、FDL、S7、FMS、PA(将服务类型进行转换),通信方式分为主-主、主-从通信。PROFIBUS网络分层参考表1:n

表1 PROFIBUS网络层n

DP设备行规 FMS设备行规 PA设备行规
基本功能 基本功能
扩展功能 扩展功能
DP用户接口 直接数据链路映象程序(DDLM) 应用层接口 DP用户接口
(ALI) 直接数据链路映象程序(DDLM)
第7层 应用层 应用层
(应用层) S7 现场总线报文规范(FMS)
第3~6层
第2层(数据链路层) 数据链路层 现场总线数据链路(FDL) 数据链路层 现场总线数据链路(FDL) 数据链路层 现场总线数据链路(FDL) IEC接口
第1层 物理层 物理层 物理层 IEC1158-2
(物理层) (RS485/光纤) (RS485/光纤) (RS485/光纤)

PROFIBUS总线符合EIA RS485[8]标准,PROFIBUS RS485 的传输程序是以半双工、异步、无间隙同步为基础的。传输介质可以是光缆或屏蔽双绞线,电气传输每一个RS485传输段为32个站点和有源网络元件(RS485中间器,OLM等),在总线的两端为终端电阻,结构如图1:n

SIMOTION PROFIBUS-DP通信入门
图1:PROFIBUS网络结构n

西门子总线终端一般都配有终端电阻,PROFIBUS使用9针D型连接器,D型连接器插座连接总线站,D型连接器插头与总线电缆相连。总线终端和针脚定义如表2:n

SIMOTION PROFIBUS-DP通信入门

表2 总线终端管脚定义

针脚号 信号名称 设计含义
1 SHIELD 屏蔽或功能地
2 M24 24V输出电压地(辅助电源)
3 RXD/TXD-P 接收和发送数据-正 B线
4 CNTR-P 方向控制信号P
5 DGND 数据基准电位(地)
6 VP 供电电压-正
7 P24 正24V输出电压(辅助电源)
8 RXD/TXD-N 接收和发送数据-负 A线
9 CNTR-N 方向控制信号N

PROFIBUS总线的传输输率从9.6Kbit/s ~12Mbit/s,总线长度与传输输率相关,总的规律是传输输率越高总线长度越短,越容易受到电磁干扰,基于传输输率的最大段长度参考表3:n

表3 PROFIBUS网络传输速率与距离的关系n

波特率(K Bit/s) 9.6~187.5 500 1500 3000~12000
总线长度(米) 1000 400 200 100

总线终端的电阻与PROFIBUS总线相匹配,并配有轴向电感以消除电容性负载而引起的导线反射,选择普通的屏蔽双绞线不能保证总线的段长度。
如果需要扩展总线的长度或者PROFIBUS从站个数超过32个时,就要加入RS485中继器,例如扩展PROFIBUS长度的应用,实际PROFIBUS的长度为500米,而波特率要求达到1.5 MBIT/S,对照上表波特率为1.5MBIT/S使最大的长度为200米,要扩展到500米,就需要加入两个RS485中继器,拓扑图如图2所示:n

SIMOTION PROFIBUS-DP通信入门
图2:PROFIBUS网络扩展n

西门子RS485中继器具有信号放大和再生功能,在一条PROFIBUS总线上最多可以安装9个RS485中继器,其他厂商的产品要查看其产品规范以确定安装个数。
一个PROFIBUS网段最多可有32个站点,如果一条PROFIBUS网上超过32个站点,也需要用RS485中继器隔开,例如一条PROFIBUS总线上有80个站点,那么就需要两个RS485中继器分成3个网段。RS485中继器是一个有源的网络元件 ,本身也要算一个站点。除了以上两个功能,RS485中继器的还可以使网段之间相互电气隔离。n

2.SIMOTION使用PROFIBUS 网络的通信功能
SIMOTION系统只能使用PROFIBUS-DP通信服务进行通信,PROFIBUS-DP采用主-从的通信方式,使用DP通信方式,一个PROFIBUS网络上只允许有一个1类主站,其它站点可以是2类主站(HMI或只接收从站信息的主站)或从站,只有1类主站可以对从站发送命令,主站以轮询的方式访问各个从站,所以PROFIBUS-DP具有很好的实时性。按照PROFIBUS-DP的规约,主从间最大的通信量为244个字节输入和244个字节输出。SIMOTION 可以作为主站也可以作为从站。下面以SIMOTION 435为例,通信区为16个字节输入和16个字节输出,分别介绍作为主站、从站的配置。n

3.D435作为从站
设置从站
打开SCOUT软件插入D435,点击D435使用右键进入硬件配置界面,点击X126接口新建一条PROFIBUS网络,然后设置站号、通信速率、PROFIBUS参数组(选择PROFIBUS-DP)等参数。本例中作为从站的SIMOTION站地址为2,通信速率为1.5M。在“Operating Mode”界面中选择“DP SLAVE”,其它参数保持缺省设置。在“Configuration”界面中设置通信接口区及开始地址,如图3所示:n

SIMOTION PROFIBUS-DP通信入门
图3:SIMOTION作为从站的通信接口设置界面n

设置通信接口分别为16个字节输入和16个字节输出。n

设置主站
在STEP7中打开与SIMOTION D435相同的项目,插入S7-300站,打开硬件配置,插入CPU例如CPU315-DP/PN,设置与SIMOTION 435使用相同的PROFIBUS网络,设置主站地址为4。在硬件选择窗口PROFIBUS-DP->Configured Stations中选择SIMOTION 从站并拖曳到主站网络上如图4所示:n

SIMOTION PROFIBUS-DP通信入门
图4:将SIMOTION从站拖曳到网络中n

弹出的窗口中将显示所有已经配置的从站,选择与主站进行通信的从站进行连接,如图5所示,点击“Coect”键连接从站。n

SIMOTION PROFIBUS-DP通信入门
图5:连接SIMOTION从站n

点击“configuration”按钮出现从站已经配置的通信接口区,点击“Edit”键为每一条从站通信数据区配置相应主站的通信数据区,配置规则,从站输入地址区对应主站输出地址区,从站输出地址区对应主站输人地址区,配置通信接口区如图6所示:n

SIMOTION PROFIBUS-DP通信入门
图6:配置通信接口区n

点击确认键后,配置完成。通过PROFIBUS-DP通信不需要编写通信程序,双方数据通过输入、输出地址区直接对应,例如图6配置的主站、从站通信关系如下:
S7-300主站 QB0~QB15 ――――――SIMOTION从站 IB0~IB15。
S7-300主站 IB0~IB15 ――――――SIMOTION从站 QB0~QB15。
SIMOTION作为从站的示例程序参考附带文件“PROFIBUS-DP_SLAVE”.ZIPn

4.D435作为主站
设置从站
打开STEP7软件插入一个站点例如S7-300站,点击“Hardware”进入硬件配置界面,插入CPU,例如CPU315-2 DP/PN,点击X1接口新建一条PROFIBUS网络,然后设置站号、通信速率、PROFIBUS参数组(选择PROFIBUS-DP)等参数。本例中作为从站的S7-300站地址为2,通信速率为1.5M。在“Operating Mode”界面中选择“DP SLAVE”,其它参数保持缺省设置。在“Configuration”界面中设置通信接口区及开始地址,如图7所示:n

SIMOTION PROFIBUS-DP通信入门
图7:S7-300作为从站的通信接口设置界面n

设置通信接口分别为16个字节输入和16个字节输出。n

设置主站
打开SCOUT软件插入D435,点击D435使用右键进入硬件配置界面,点击X126选择与从站相同的PROFIBUS网络,设置SIMOTION的站地址,本例中作为主站的SIMOTION站地址为4。在硬件选择窗口PROFIBUS-DP->Configured Stations中选择S7-300从站并拖曳到主站网络上如图8所示:n

SIMOTION PROFIBUS-DP通信入门
图8:将S7-300从站拖曳到网络中n

弹出的窗口中将显示所有已经配置的从站,选择与主站进行通信的从站进行连接,如图9所示,点击“Coect”键连接从站。n

SIMOTION PROFIBUS-DP通信入门
图9:连接S7-300从站n

点击“configuration”按钮出现从站已经配置的通信接口区,点击“Edit”键为每一条从站通信数据区配置相应主站的通信数据区,配置规则,从站输入地址区对应主站输出地址区,从站输出地址区对应主站输人地址区,配置通信接口区如图10所示:n

SIMOTION PROFIBUS-DP通信入门
图10:配置通信接口区n

点击确认键后,配置完成。通过PROFIBUS-DP通信不需要编写通信程序,双方数据通过输入、输出地址区直接对应,例如图10配置的主站、从站通信关系如下:
SIMOTION主站 QB0~QB15 ――――――S7-300从站 IB0~IB15。
SIMOTION主站 IB0~IB15 ――――――S7-300从站 QB0~QB15。
SIMOTION作为从站的示例程序参考附带文件“PROFIBUS_MASTER”.ZIPn

5.PROFIBUS站点诊断
主站通过PROFIBUS-DP轮询从站,如果主站故障,与所有从站的通信将终止,从站通信数据不更新;如果一个从站故障,主站还可以与其它从站进行通信。在PLC侧可以通过OB86、FC125/FB125(可以从西门子网站上下载)、SFC13等组织块、程序块对主站或从站进行诊断,可以查看PLC相关文档,在这里不作相信介绍。SIMOTION使用函数“_getStateOfSingleDpSlave”或“_getStateOfAllDpSlaves”对一个站点或多个站点进行诊断。以调用函数“_getStateOfSingleDpSlave”为例介绍PROFIBUS-DP站点的诊断功能。函数调用如图11所示,函数参数如下:n

SIMOTION PROFIBUS-DP通信入门
图11 PROFIBUS-DP诊断函数n

logicalDiagnosticAddress:
输入参数,数据类型 DINT,PROFIBUS-DP站点诊断地址,本例中S7-300PLC作为从站,诊断地址为16378。n

ReqGetStateOfSingleDPSlaveStateMode:
输入参数,枚举数据类型,函数调用请求格式,枚举元素如表4所示:n

表4:函数请求n

REQUEST_TRUE (0) 开始执行
REQUEST_FALSE (1) 查询REQUEST_TRUE状态
REQUEST_ABORT (2) 终止函数执行

NextCommand:
输入参数,枚举数据类型,下一个命令执行的时机,枚举元素如表5所示:n

表5:NEXTCOMMAND元素n

IMMEDIATELY (60) 下一个命令与此命令同时执行
WHEN_COMMAND_DONE (160) 执本命令后执行下一个命令
ABORT_CURRENT_COMMAND (260) 立刻终止当前命令

本例中选择:“WHEN_COMMAND_DONE”。n

commandid:
输入参数,“CommandIdType”数据类型,用户定义,可以跟踪命令执行的状态。本例中选择一个临时变量,没有赋值。n

StructRetGetStateOfSingleDpSlave:
输出参数,结构数据类型,结构元素如表6所示:n

表6:输出结构体

结构元素 名称 数据类型
functionResult 函数调用返回值 DINT
ActualStateOfSingleDpSlave PROFIBUS-DP单站状态 枚举

“ActualStateOfSingleDpSlave”单站状态为枚举数据类型,枚举元素如表7所示:n

表7:输出站点状态

INACTIVE (0) 从站被用户程序去使能。
IN_OPERATION (1) 与从站正在进行数据交换。
DATA_EXCHANGE_INACTIVE (2) 与从站没有进行数据交换。
NOT_PRESENT (3) 从站丢失。

本例中将从站输出状态存储于全局变量RET1中,通过编程可以判断从站的状态,调试状态下可以通过“SYMBOL BROWSER”监控从站状态,如图12所示:

SIMOTION PROFIBUS-DP通信入门
图12 在SYMBOL BROWSER监控从站状态。

从站诊断的示例程序参考附带文件“PROFIBUS_MASTER”.ZIP

关键词
SIMOTION PROFIBUS-DP 通信

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论