西门子DP总线接头 总线连接器可直接插入到 PROFIBUS 站或 PROFIBUS 网络组件的 PROFIBUS 接口(9 针 Sub-D 接口)中。 可使用 4 个端子在插头中连接进入和离开的 PROFIBUS 电缆。 通过从外部清晰可见的便于接触的开关,可以连接总线连接器中集成的总线端接器(不适用于 6ES7 972-0BA30-0XA0)。在此过程中,连接器中的进线和出线总线电缆是分开的(隔离功能)。 必须在 PROFIBUS 网段的两端进行这种连接。 1.应用概述 SIMOTION通信函数_xsend与_xreceive适合SIMOTION之间通过MPI-MPI接口、PROFIBUS-PROFIBUS间的数据交换,通信数据较大为200个字节,SIMOTION也可以通过调用通信函数_xsend与_xreceive实现与S7-300/400 PLC(在PLC中调用SFC65 X_SEND与SFC66 X-REV)MPI接口间的数据交换,由于受到PLC通信区的限制,较大通信数据为64个字节。 2.MPI与PROFIBUS网络介绍 MPI是S7-300/400,SIMOTION的编程接口,对通信数据及实时性要求不高的应用可以利用编程接口进行通信, MPI的通信速率为19.2K~12Mbit/s, 只有可以设置为PROFIBUS接口的MPI口才支持12M的通信速率,例如S7-300中CPU318-2DP及所有的S7-400CPU 、SIMOTION MPI口都可以设定为PROFIBUS接口,所以它们的MPI接口通信速率都可以设置为12M。MPI接口通信速率缺省设置为187.5Kbit/s,无中继情况下较大通信通讯距离为50米,通过中继器可以扩展网络长度,扩展的方式有两种,**种,两个站点中间没有其它站,如图1 图1:MPI网络扩展 控制器站点到中继器较长为50米,两个中继器之间的距离为1000米,较多可以增加10个,所以两个站点之间的较长距离为9100米。 *二种,如果在两个中继器中间有MPI站点,那么每个中继器只能扩展50米,在组态时要考虑这两种连接方式。 MPI接口为RS485接口,连接电缆为PROFIBUS电缆(屏蔽双绞线),接头为PROFIBUS接头并带有终端电阻,如果用其它电缆和接头不能保证通信距离。在MPI网络上较多可以有32个站,中继器,WINCC站,操作面板OP/TP也要算一个站点。MPI的站号及通讯速率可以在STEP7或SCOUT硬件组态时修改,下载组态信息到CPU后,站号及通讯速率将改变。 PROFIBUS总线符合EIA RS485[8]标准,PROFIBUS RS485 的传输程序是以半双工、异步、无间隙同步为基础的。传输介质可以是光缆或屏蔽双绞线,电气传输时,每一个RS485传输段为32个站点包括有源网络元件(RS485中间器,OLM等),在总线的两端为终端电阻,结构如图2: 图2:PROFIBUS网络结构 西门子总线终端一般都配有终端电阻,PROFIBUS使用9针D型连接器,D型连接器插座连接总线站,D型连接器插头与总线电缆相连。总线终端和针脚定义如表1: 表1 总线终端管脚定义 针脚号 信号名称 设计含义 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,总线长度与传输速率相关,总的规律是传输速率越高总线长度越短,越容易受到电磁干扰,基于传输速率的较大网段长度参考表2: 表2 传输速率与通信长度 波特率(K Bit/s) 9.6~187.5 500 1500 3000~12000 总线长度(米) 1000 400 200 100 总线终端的电阻与PROFIBUS总线相匹配,并配有轴向电感以消除电容性负载而引起的导线反射,选择普通的屏蔽双绞线不能保证总线的段长度。 如果需要扩展总线的长度或者PROFIBUS从站数大于32个时,就要加入RS485中继器,例如,PROFIBUS的长度为500米,而波特率要求达到1.5MBIT/S,对照表2波特率为1.5MBIT/S使较大的长度为200米,要扩展到500米,就需要加入两个RS485中继器,拓扑图如图3所示: 图3:PROFIBUS网络扩展 西门子RS485中继器具有信号放大和再生功能,在一条PROFIBUS总线上较多可以安装9个RS485中继器,其它厂商的产品要查看其产品规范以确定安装个数。 一个PROFIBUS网段较多可有32个站点,如果一条PROFIBUS网上**过32个站点,也需要用RS485中继器隔开,例如一条PROFIBUS总线上有80个站点,那么就需要两个RS485中继器分成3个网段。RS485中继器是一个有源的网络元件,本身也要算一个站点。除了以上两个功能,RS485中继器的还可以使网段之间相互隔离。 3.网络设置 下面以SIMOTION D435与S7-300 PLC 通过MPI网络通信为例介绍通信函数_xsend与_xreceive的使用。首先打开SCOUT软件插入D435,点击D435使用右键进入硬件配置界面如图4所示: 图4:SIMOTION MPI接口设置 双击X136接口(只有X136接口可以设置为MPI接口),将该接口设置为MPI接口,选择MPI站地址,如图5所示: 图5: MPI接口参数配置 注意MPI站地址与通信方的站地址不能冲突,同样在STEP7中设置S7-300 PLC的站地址,本例中SIMOTION的MPI地址为2,PLC的站地址为4。 4.编程 4.1 SIMOTION侧编程 在D435中的“PROGRAM”中插入编程单元“LAD/FBD UNIT”,如MPI,在“UNIT”中插入程序如“SEND”和“RECEIVE”编写发送和接收程序如图6所示,也可以将通信程序编写在同一个程序中。 图6: SIMOTION 程序的创建 本例中在“SEND”程序中编写发送程序,在“RECEIVE”程序中编写接收程序,发送和接收函数可以在函数库中的位置如图7所示: 图7: 函数块的位置 ? 调用_xsend函数 在程序SEND中调用_xsend函数发送数据,与PLC编写方式相似,将发送函数_xsend拖曳到LAD网络中,如图8所示: 图8: _xsend函数块 给所有的参数赋值,变量可以任意定义,如“COMMODE”变量,键入后选择变量类型如图9所示: 图9: 配置参数类型 数据类型自动定义,在变量类型中选择变量存储的类型,如全局变量或区域变量,如图9中变量类型只能在一个“UNIT”中使用,如果需要在其它“UNIT”或HMI中使用,将在“INTERFACE”中创建变量。 _xsend函数参数含义如下: COMMUNICATIONMODE: 枚举数据类型,元素中包括“ABORT_CONNECTION ”和“HOLD_CONNECTION”, “ABORT_CONNECTION ”:通信完成之后释放连接资源。 “HOLD_CONNECTION”:通信完成之后占用连接资源。 枚举类型变量的赋值可以使用MOVE指令,如图10所示: 图10: 参数赋值