您现在的位置是:首页 > PLC技术 > PLC技术
PLC与PLC之间如何实现PROFIBUS通信
来源:艾特贸易2018-01-19
简介1) 原理 S7 系列 PLC 需要通过 PROFIBUS 通信时, S7-200 需要支持 PROFIBUS 的扩展模块 EM277 ,而 S7-300/400 需要有支持 PROFIBUS 的 DP 口,并且还需组态下载。 2) 应用 既然 PROFIBUS-DP 是一种通信标准
1)原理
S7系列PLC需要通过PROFIBUS通信时,S7-200需要支持PROFIBUS的扩展模块EM277,而S7-300/400需要有支持PROFIBUS的DP口,并且还需组态下载。
2)应用
既然PROFIBUS-DP是一种通信标准,一些符合PROFIBUS-DP规约的第三方设备也可以加入PROFIBUS网上作为主站和从站,绝大部分设备都可作为从站,只有一小部分设备可作为主站。第三方设备作主站,组态软件需要第三方提供;第三方设备作从站,如果主站是S7设备,组态软件是STEP 7和SIMATIC NET,如果是S5设备,组态软件是COM PROFIBUS或COM5431。支持PROFIBUS-DP的从站设备都会有GSD文件,GSD文件是对设备的一般描述,通常以*.GSD或*.GSE文件名出现,将此GSD文件加入主站组态软件中后就可以组态从站的通信接口。在这里主要介绍S7设备作主站的应用,STEP 7作为组态软件加入PROFIBUS-DP从站设备,现以S7-400 CPU 416-2DP作主站、S7-200 PROFIBUS接口模块EM277作从站为例,详细介绍怎样导入GSD文件,组态从站通信接口区进而建立通信。
3) PROFIBUS-DP与EM277的通信
软件:STEP 7V5.2
硬件:
●PROFIBUS-DP主站S7-400 CPU416-2DP;
●从站EM277;
●3MPI网卡CP5611;
●PROFIBUS电缆及接头。
此组态实例是将上位机和S7-400CPU 416-2DP通过PROFIBUS-DP,总线与EM277相连来建立通信。网络配置图如图10-39所示。
图10-39 网络配置图
(1)组态主站系统
打开SIMATICMANAGER软件,在"File"菜单下选择“New”新建一个项目,在“Name”栏中输入项目名称,将其命名为“DP EM277”,在下方的“Storage location”栏中设置其存储位置,如图10-40所示。
图10-40 存储位置
在项目屏幕的左侧选中该项目,单击右键在弹出的快捷菜单中选择“Insert New Object”→“SIMATIC 400 Station”,如图10-41所示,可以看到选择的对象出现在右侧的屏幕上。
图10-41 选择对象
双击右侧生成的hardware图标,在弹出的HWconfiguration中进行硬件组态,在“View”菜单栏中选择“Catalog”打开硬件目录,按订货号和硬件安装次序依次插入机架、电源、CPU。插入CPU时会同时弹出组态PROFIBUS画面,选择新建一条PROFIBUS网络,组态PROFIBUS站地址,单击“Properties”按钮,组态网络属性如图10-42所示。
在本例中主站的传输速率为“1.5Mb/s”,“DP”行规,无中继器和OBT等网络元件,单击“OK”按钮确认并存盘。
(2)安装GSD文件
在硬件组态画面中,退出所有的应用程序,单击菜单“Options”→“Install new GSD”,找到所提供的GSD文件,如图10 43所示。
图10-42 组态网络属性
图10-43 GSD文件
单击“Open”按钮安装新的GSD文件,安装完成后,单击同一菜单下的选项“Update catalog”,更新画面,这时在硬件设备中“Additional Field Devices”目录下可以发现EM277设备,如图10-44所示。
一般情况下新安装的GSD设备都列在这个目录下,只有部分PA仪表除外。
(3)组态从站系统
打开主站硬件组态窗口,在PROFIBUS网络上添加EM277从站设备并组态通信接口区,具体参考图10-45。
图10-44 EM277设备
图10-45 EM277通信连接图
软件组态的EM277PROFIBUS站地址要与实际EM277上拨码开关设定的地址一致,通信接口区大小为32字节输入,32字节输出,图中对应的地址是主站的通信地址区输入区为IB0~IB31,输出区为QB0~QB31。对应于S7-200的通信接口区为V区,占用62字节,其中前32字节为接收区,后32字节为发送区。V区的偏移默认为0,则S7-200的通信接口区为VB0~VB61,V区的偏移量可以根据S7-200的要求作相应修改。在主站硬件组态中双击EM277,如图10-46所示设置V区的偏移量为100。
图10-46 EM277V区设置图
修改完的通信地址对应如下:
S7-400主站 S7-200从站
QB0~QB31---->VB100~VB131
IB0~IB31<----VB132~VB163
在S7-200中则不用编写任何通信程序。
备注:若要和第三方设备通过PROFIBUS-DP协议通信,除了要提供GSD文件外,还需提供通信数据的内容,否则即使数据通信建立了,也不知道读过来的数据是什么意思。
在修改运行设备的组态参数时,如果有源程序,在编程器中打开项目时会自动导入GSD文件(STEP7 V5.1以上),修改参数后下载不会造成CPU故障。如果编程器上没有集成所需的GSD文件,从CPU上传的组态信息将不完整,修改参数后若重新下载到CPU中,会造成CPU故障。
4)通过PROFIBUS-DP连接的DX方式通信
(1)简介
对于基于PROFIBUS-DP协议的从站和从站之间的DX通信,从站之间相互通信的必要条件首先是从站要有数据发送给主站,换句话说,从站要有输出区对应主站的输入区;其次从站是智能从站,如S7-300站、S7-400站、带有CPU的ET200S站和ET200X站等。旧版本的从站或主站CPU不支持DX通信功能,怎样判断一个从站CPU是否支持DX通信?首先,新购买的CPU是肯定支持DX通信功能的;其次,可用编程软件STEP 7组态一下,如果可以组态,说明该CPU支持DX通信。
(2)通信原理
PROFIBUS-DP通信是以主站依次轮询从站的通信方式进行数据交换的,该方式称为MS( Master-Slave)模式,基于PROFIBUS-DP协议的DX (Direct Date Exchange)通信模式是在主站轮询从站时,从站除了将数据发送给主站外,同时还将数据发送给在STEP 7中组态的其他从站。参考图10-47所示数据通信结构,下面举例说明如何进行相关组态和数据通信区的定义。
5) PROFIBUS-DP DX方式通信举例
软件:STEP 7V5.2
硬件:
●PROFIBUS-DP主站S7-400CPU414-3DP;
●两个从站S7-300CPU315-2DP和CPU314C-2DP;
●MPI网卡CP5611;
●PROFIBUS电缆及接头。
网络配置图如图10-48所示。
图10-47 DX通信
图10-48 网络配置图
硬件连接:在该实例中,S7-400作主站,两个S7-300作从站。在硬件连接之前,首先将上位机的MPI接口分别和3个CPU站点的MPI口连接,进行初始化。然后用PROFIBUS电缆将S7-400和S7-300 CPU的DP相连,S7-400为主站,两个S7-300为从站。打开STEP 7,新建一个项目,将该实例起名为PROFIBUS_DP_DX,原则上从从站开始组态。
(1)组态S7-300从站
组态两个S7-300从站,选中项目并单击右键,依次选择“Insert New Object”→“SIMATIC 300 Station”插入S7-300站点,如图10-49所示。
图10-49 选择路径
建立S7-300之后,双击Hardware图标,组态机架和CPU,插入CPU315-2DP时,新建一条PROFIBUS网络,设置站地址参数。在“Address”栏配置CPU315-2DP的站号,本例中CPU315-2DP的PROFIBUS地址为3。单击右键选择“Properties”→“NetworkSettings”,设置传输速率和总线行规,此例中选择“DP”行规,传输速率选择“1.5Mbps”,如图10-50所示。
若网络中使用了中继器、OBT和OLM等网络元件,可单击“Options”按钮添加,然后单击“OK”按钮确认。
双击DP栏组态操作模式和从站通信接口区,在“Operation Mode”菜单中选择从站模式。如果使用PROFIBUS网卡编程CP5611可以激活从站的编程功能,这样在PROFIBUS网络上可以同时对主站和从站编程,诊断地址选用默认值即可,选项如图10-51所示。
图10-50 安装图
图10-51 网络配置图
进入菜单“Configuration”组态从站通信接口区,单击“New”按钮,加入一栏通信区,每栏通信区最大数据长度为32字节。在本例中分别添加输入区一栏和输出区一栏各10字节, 开始地址为0,在“Consistency”中选择“Unit,若选择“All”则主站、从站都需要调用SFC14、SFC15对通信数据打包/解包,参数组态参考如图10-52所示。
图10-52 参数组态
以同样的方式组态另一个从站,使两个从站同在一条PROFIBUS-DP网络上,选择PROFIBUS站地址为4。
(2)组态S7-400主站
在右侧区域单击右键,在弹出的快捷菜单中选择“Insert New Object”→“SIMATIC 400 Station”插入400站点,如图10-53所示,在屏幕右侧窗口会显示相应的S7-400站。
图10-53 插入“SIMATIC 400Station”
双击Hardware图标,组态机架、电源模块和CPU模块。插入CPU414-3DP模块时,选择与从站相同的PROFIBUS网络,并设置站地址参数,本例中CPU414-3DP的PROFIBUS地址为2。组态完成后单击“OK”按钮确认,出现PROFIBUS网络,如图10-54所示。
在S7-400的HWconfiguration组态界面右侧选择“PROFIBUS DP”,在“ConfiguredStations”中选择“CPU 31x”,将其拖到左侧的PROFIBUS总线上,如图10-55所示。
图10-54 PROFIBUS网络
图10-55 PROFIBUS网络
在弹出的“DP slaveproperties”对话框中,出现已经组态的两个从站,如图10-56所示。
选择其中一个CPU,单击“Connect”按钮,将其连接到PROFIBUS网络上,然后以同样的方法连接另一个从站。若要从网络上断开相关站点,选择“Disconnect”按钮即可。连接完成后再为两个S7-300从站没置其对应主站输入/输出接口区。例如,要设置地址为3的CPU315-2DP的输入/输出接口区,双击3号站,在弹出的“DP slave properties”的“Configuration”栏中单击“Edit,,按钮,组态主站即CPU414-3DP的通信接口区,如图10-57所示。
图10-56 组态的两个从站
图10-57 CPU414-3DP的通信接口区
分别组态主站的通信地址区,对应规则为主站输出对从站输入,主站输入对从站输出。然后以同样的方法组态4号从站对应主站的通信接口区。组态完成后对应的通信地址如下:
主站CPU414-3:
3号从站CPU315-2DP
IB0~IB9 <----QB0~QB9
QB0~QB9---->IB0~IB9
4号从站CPU314C-2DP
IB10~IB1 <----9QB0~QB9
QB10~QB19---->IB0~IB9
(3)组态DX通信区
上面的组态过程仅仅是PROFIBUS-DPMS通信模式,只有上面的工作完成后才能进行DX模式组态。在本节的开始已经介绍DX的通信方式,主站轮询从站读取数据时,从站广播发送数据给主站和指定的从站,则这个从站称为“Publisher”,接收数据的从站称为“Recipient”。我们以3号从站作为“Publisher”,以4号从站作为“Recipient”,双击4号从站新建一栏通信数据,这时在“Mode”下可以选择MS或DX方式,选择DX模式,在“Publisher”地址中会出现3号站,如果还有其他的智能从站在同一条PROFIBUS网络上也会出现这些站号,因为本例中只有两个从站,所以4号从站的“Publisher”站只有3号站。在下面的选择中要注意:“Publisher”的“Address type”为“Input”,“Address”可选择,这里都是指“Publisher”对应主站的“Address type”和“Input”,从图10-57中可以看出,3号站发送给主站数据对应主站的接收区为IB0~IB9。如果在“Input”区选0,则“Recipient”4号从站将接收主站地址IB0~IB9也就是3号从站“Publisher”QB0~QB9的数据,如果选择4,则接收3号从站“Publisher”QB4~QB9的数据,也就是说,“Recipient”可以有选择地接收“Publisher”的数据。参数组态如图10-58所示。
图10-58 具体参数组态
从上面的对应关系可以看到,当主站轮询3号从站时,3号从站发送QB0~QB9到主站IB0~IB9中,同时发送QB4~QB9共6字节到4号从站IB10~IB15中,这里容易弄混淆的地方就是“Publisher”的地址区,站地址是从站地址,通信区却是主站的。如果数据的连续性参数选择“All”,则“Publisher”从站发送的数据是以整个数据包的形式发送的,即使“Recipient”从站选择接收“Publisher”从站1字节的数据也必须调用SFC14。在上面的例子中,3号从站和4号从站可以同时作为“Publisher”和“Recipient”。