
S7-300与S7-200通过EM277进行PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V存储区与S7-300的组态EM277从站时的硬件I/O地址相对应就可以了。
选中STEP7 的硬件组态窗口中的菜单Option,Install new GSD,导入SIEM089D.GSD文件,安装EM277从站配置文件。
导入GSD文件后,在右侧的设备选择列表中找到EM277从站,PROFIBUS DP,Additional Field Devices,PLC,SIMATIC EM277,并且根据您的通讯字节,数,选择一种通讯方式(例如:8字节入/8字节出);
双击EM277图标,出现“属性-DP从站”设定对话框,点击“PROFIBUS”键,设定
EM277的地址(注意:设定的地址须和EM277的拨码开关一致);
开参数赋值选项(Parameter Assignment),填写EM277的地址对应的s7-200中V变量区相对于VB0的偏移量(I/O offset),该偏移量可以任意填写,只要在s7-200中该VB
变量去没有被S7-200的程序使用就可以了。
经查,em277的gsd文件中以下的内容说明了em277的最大数据传输容量上限:Max_Input_len=128Max_Output_len=128Max_Data_len=256但是,gsd文件中预定义的模块最大的是:Module="32WordOut/32WordIn-"0xC0,0x5F,0x5FEndModule即:输出32*2=64byte输入32*2=64byte,仍然达不到em277的最大数据传输容量上限。上述问题在step7软件中组态时可以自己配置UNIVSERSALModule的方法来得到解决,然而在一些使用dp主站的第三方PLC中(有些不提供通用模块的配置方法)就无能为力了。但是仔细观察在step7软件中组态UNIVSERSALModule时,“直接输入”d出窗口内“ID字节,输入长度字节,输出长度字节”的便化情况可以得到以下规律:1、部分比较规律的“输入,输出和输入输出”只须ID字节变化即可,可以认为这样的结构是由ID字节预定义的;2、一些不能由ID变化表示的数据传输结构按下面的规律:a、ID字节为:0XC0b、I/O长度字节的最高位表示“数据一致性”,1:一直于全长,0:一致于单位长I/O长度字节的次高位表示“数据单位长度”,1:word,0:byte其余六位表示“要求的数据单位数目-1”,最大2^6-1=63按此思路,我更改了gsd文件增加了一个module:Module="64WordOut/64WordIn-"0xC0,0x7F,0x7FEndModule然后重新装载到STEP7中,组态并通信实验,一切OK!完!谢谢大家的帮助!欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)