315 2DP与EM277之间传输超过32Word数据问题 点击:706 | 回复:3



qqcooler

    
发表于:2012-05-06 09:25:03
楼主
求助帖5分-已结帖

如题,需要通过315 2DP将数据写入到EM277。

EM277  V区的最大输入为32Word,但是现在写入数据要大于32个WORD,改如何处理呢?



楼主最近还看过



东山脚下-骑士军团

  • 精华:0帖
  • 求助:13帖
  • 帖子:28帖 | 1235回
  • 年度积分:0
  • 历史总积分:4415
  • 注册:2012年4月06日
发表于:2012-05-06 10:44:56
1楼
经查,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! 
 你看看这,希望对你有帮助

qqcooler

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 23回
  • 年度积分:0
  • 历史总积分:114
  • 注册:2009年1月19日
发表于:2012-05-06 18:30:30
2楼

非常感谢,我之前在论坛上看到过这种方式,但是在ID字节处没有弄明白,做出来的GSD文件不能使用。呵呵~现在可以传输64Word IN/64Word Out

阿水--王者之师

  • 精华:31帖
  • 求助:399帖
  • 帖子:1801帖 | 22295回
  • 年度积分:2
  • 历史总积分:98539
  • 注册:2007年3月22日
发表于:2012-05-06 19:43:01
3楼
  学习,一楼真是太好了,这个 GSD 文件也可打开看和修改的??从没有注意呢? 怎么改我还是没有看太明明白白
SSI ļʱ