EM277和300通讯问题
刘玉蓉
发布于2014-10-15 17:05
3
0
标签:
EM277和第三方仪表走DP通讯并传给300,厂家给的200的资料是偏移量为0,64字节输入输出缓冲区,从VB4500开始发送,我想用SFC20复制到DB10里,我想问这个DB10是由STEP7自动生成的还是需要自己按照复制过来的各种数据类型手动建立?数据块里有字 双字 浮点数 还有位等类型。
佳答案
要实现EM277和第三方仪表走DP通讯并传给300,需要提供第三方仪表的GSD文件,并在SIMATIC管理器中安装此文件。一般西门子S7-300PLC与EM277和第三方仪表进行PROFIBUS通讯时,S7-300PLC作为DP主站,建立PROFIBUS-DP网络,而EM277和第三方仪表作为DP从站挂在PROFIBUS网络上,由于第三方仪表是外部支持PROFIBUS协议的设备,必须通过在打开的SIMATIC管理器的硬件组态项目中,执行安装相应第三方仪表通讯GSD文件(选择菜单Options(选项)/Install GSD File(安装GSD文件),把保存在你的电脑中变频器的GSD文件按照步骤安装),就可以在右边“Catalog”(硬件目录)下,在安装完相应GSD文件后,依次展开硬件目录PROFIBUS DP/Additional Field Device(附加的现场装置)/General(汇总)下面就可以找到第三方仪表的硬件,通过选择它直接挂到S7-300PLC建立的PROFIBUS网络上,设定DP地址。同样如果你的硬件目录中没有EM77,也必须安装其GSD文件。EM277是PROFIBUS专用模块,S7-300PLC作为DP主站,而S7-200PLC+EM277作为DP从站,通过组态各自对应的通信数据发送区和接收区的地址。S7-200PLC的接收默认为VB0,发送区默认为VB2,可以在硬件组态是更改。
由于SFC20是系统功能,并没有其自动生成的背景数据块,所以如果你想用SFC20复制到DB10里,必须手动建立DB10,定义块中变量。在SETP7中,为了避免出现系统错误,在使用数据块之前,必须先建立数据块,并在块中定义变量(包括变量符号名、数据类型以及初始值)。数据块中变量的顺序及类型决定了数据块的数据结构,变量的数量决定了数据块的大小。数据块建立后,还必须同程序块一起下载到CPU,才能被程序块访问。
根据你的情况分析,如果采用SFC20发送数据到DB10,必须手动建立数据块DB10并定义变量类型,然后同SFC20一起下载到CPU中才能生效。