丹佛斯FC系列变频器,作为丹佛斯变频器家族的一种新型产品,继续了以往5000系列变频器成熟的总线通讯技术,作为5000系列的替换产品,其在PROFIBUS上的基本协议没有变化,参数寻址和GSD文件有所不同,V1版本增加了与第三方设备网络组态的灵活性,可以作为国际通用总线PROFIBUS从站,挂靠在PROFIBUS网络中,方便的实现过程控制的需要,本文以西门子S7-300做主站,先容怎样通过PROFIBUS实现通讯。
1 示例系统的体系结构
2 软件版本描述
需要软件:
STEP7 V5.2
需要硬件:
1:S7-300 CPU313-2DP
2: FC300
3: PROFIBUS-DP 接口模块,用于安装在FC300上,使之成为PROFIBUS-DP从站。
3 组态主站系统
打开SIMATIC MANAGER, 通过FILE菜单选择NEW新建一个项目,在NAME栏中输进项目名称,将其命名为TEST,在下方的Storage Location中设置其存储位置。
项目屏幕的左侧选中该项目,在右键弹出的快捷菜单中选择Insert New Object插进SIMATIC 300 Station,可以看到选择的对象出现在右侧的屏幕上。
双击右侧天生的hardware图标,在弹出的HW config 中进行组态,在菜单栏中选择“View”选择“Catalog”打开硬件目录,按订货号和硬件安装次序依次插进机架、电源、CPU。
插进CP时会同时弹出组态PROFIBUS画面, 选择新建一条PROFIBUS(1),组态PROFIBUS站地址,点击“Properties”键组态网络属性如下图:
在DP属性的Operating Mode中,将其设为DP master
在本例中主站的传输速率为“1.5Mbps”,“DP”行规,无中继器、OBT等网络元件,点击“OK”键确认并存盘。
4 组态从站
在DP网上挂上FC300, 并组态FC300的通讯区,通讯区与应用有关,假如需要读写FC300参数,则需PCV区,假如除设定值和控制字以外,还需传送其他数据,则要选择PCD。
在选项中有 1,WHOLE CONS.(PCD,PCV 数据是连续的,都有调用SFC14,15)2,WORD CONS. (只有PCV数据是连续的,不需要调用SFC14, 15)
在本例中,采用4PCV,2PCD ;FC300地址为4。
5 FC300参数设置
要使变频器能够用PLC通过Profibus来控制,变频器也需要一定的参数设置才能实现,变频器初始化后需要留意以下参数设置:
P801 命令源: 数字或者控制字 (或者仅仅控制字)
P810 控制字格式: FC或者Profidrive
P918 站号: 4 (必须与硬件组态时保持一致)
6 程序的编写
对PCD (过程数据)的读写:
a. 在Step7 中对PCD (过程数据)读写参数时调用SFC14和SFC15
b. SFC14(“DPRD_DAT”)用于读Profibus 从站(FC300)的数据
c. SFC15(“DPWR_DAT”)用于将数据写进Profibus 从站(FC300)
d. 硬件组态时PCD的起始地址:W#16#108(即264)
1. 建立数据块DB1,将数据块中的数据地址与从站(FC300)中的PCD、PCV数据区相对应。
2. 在OB1中调用特殊功能块SFC14和SFC15,完成从站(FC300)数据的读和写:
其中:
LADDR 表示:硬件组态时PCD的起始地址(W#16#108即264);
RECORD 表示:数据块(DB1)中定义的PCD数据区相对应的数据地址;
RET_VAL 表示:程序块的状态字,可以以编码的形式反映出程序的错误等状态。
在本例中设定值和控制字可以从数据块DB1中传送.
DB1.DBW20 设为047E 再变为047F后DB1.DBW22 中的频率值将输出。 (810参数在profidrive的控制字协议下)
DB1.DBW20 设为047C后DB1.DBW22 中的频率值将输出(810参数在fc的控制字协议下)
状态字和实际值可从DB1.DBW8, DB1.DBW10读出。要对变频器其他不同项目的参数进行设置,只要编程改变RECORD地址里的数值即可。
对PCV (参数区)读写
a.在Step7 中对PCV (参数区)读写参数时同样调用SFC14和SFC15
b. SFC14(“DPRD_DAT”)用于读Profibus 从站的数据
c. SFC15(“DPWR_DAT”)用于将数据写进Profibus 从站
d. 硬件组态时PCV的起始地址:W#16#108(即264)
读写过程和对PCD (过程数据)的读写相同,只要编程改变RECORD地址里的数值即可.
7 数据传送规则
对PCV区数据的访问是同步通讯,即发一条信息,得到返回值后才能发第二条信息。
PCV为4个字,定义如下:
A:常用值:1、2、3、6、7、8
其中:1:读请求 6:读请求(有数据分组)
2:写请求(单字) 7:写请求(有数据分组、单字)
3:写请求(双字) 8:写请求(有数据分组、双字)
PNU:参数号: 直接将数值转换为十六进制即可; B: 通常为0 C:参数索引选择位:选择数组参数所用的索引值