发布于 2011-08-09 09:19:06
3楼
经查,em277的gsd文件中以下的内容说明了em277的最大数据传输容量上限:
Max_Input_len = 128
Max_Output_len = 128
Max_Data_len = 256
但是,gsd文件中预定义的模块最大的是:
Module = "32 Word Out/ 32 Word In -" 0xC0,0x5F,0x5F
EndModule
即:输出32*2=64byte 输入32*2=64byte,仍然达不到em277的最大数据传输容量上限。
上述问题在step7软件中组态时可以自己配置UNIVSERSAL Module的方法来得到解决,
然而在一些使用dp主站的第三方PLC中(有些不提供通用模块的配置方法)就无能为力了。
但是仔细观察在step7软件中组态UNIVSERSAL Module时,“直接输入”弹出窗口内
“ID字节,输入长度字节,输出长度字节”的便化情况可以得到以下规律:
1、部分比较规律的“输入,输出和输入输出”只须ID字节变化即可,可以认为这样的
结构是由ID字节预定义的;
2、一些不能由ID变化表示的数据传输结构按下面的规律:
a、ID字节为:0XC0
b、I/O长度字节的最高位表示“数据一致性”,1:一直于全长,0:一致于单位长
I/O长度字节的次高位表示“数据单位长度”,1:word,0:byte
其余六位表示“要求的数据单位数目-1”,最大2^6-1=63
按此思路,我更改了gsd文件增加了一个module:
Module = "64 Word Out/ 64 Word In -" 0xC0,0x7F,0x7F
EndModule
然后重新装载到STEP7中,组态并通信实验,一切OK!
完!
谢谢大家的帮助!
不试不知道