关于西门子400PLC的Symbol问题 点击:590 | 回复:0



criszhang

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2010年3月02日
发表于:2011-10-07 11:42:07
楼主

现在遇到一个问题,希望有懂的朋友帮我出出主意,谢谢

现假设有一DB1,其内部地址分布如下示:

Address:DB1.DBW0            Symbol Name: Speed v1     Comment: Line V1 speed

Address:DB1.DBW2           Symbol  Name:Speed v2      Comment: Line V2 speed

Address:DB1.DBW4            Symbol Name:Speed v3       Comment: Line V3 speed


如上的三个地址在程序中均有被引用到我比如说是在FB1的Network1上面被引用,其主要的功能是用于判断主机速度于于如上三个速度中的哪一档,并输出一个状态位出来,很简单的!

现在我遇到如下问题,因为由于程序升级的关系,我需要在DB1里面增加三个变量并把之前的那三个的Symbol Name进行更新,如下示:

Address:DB1.DBW0   Symbol Name: Speed v01     Comment: Line V01 speed

Address:DB1.DBW2   Symbol Name:Speed v02      Comment: Line V02 speed

Address:DB1.DBW4   Symbol Name:Speed v03       Comment: Line V03 speed

 

Address:DB1.DBW6   Symbol Name: Speed v1     Comment: Line V1 speed

Address:DB1.DBW8    Symbol Name:Speed v2      Comment: Line V2 speed

Address:DB1.DBW10  Symbol Name:Speed v3      Comment: Line V3 speed

现在问题来啦,我要保证FB1的Network1的程序依然保证为之前的symbol namer的状态,即..........想让其把之前的那个速度比较的三个速度的地址分别由DB1.DBW0,DB1,DBW2,DB1.DBW4自动的替换成目前的DB1.DBW6,DB1.DBW8,DB1.DBW10的这个地址,相当于程序中Lock symbol name,只认定symbol name,而把地址进行自动的更新,不知道有没有朋友知道如何操作,

因为我实现程序的一个DB块中的地址大概有21000多,我现在要在中间的不同的地主插入几十个新的变量进去,这样就会破坏了之前的那个DB块的架构,但是之前的symbol  name我是不去动的,

我刚才按上面的操作了一下,把新的三个地址加入后,重新优化了一下程序, 发现FB1的NETWORK1的三个地址依然是LINK到了

老的地址,而没有自动的LOCK symbol ,更新地址到新的那三个上面!!!!

有没有处理过这个的朋友呢,谢谢!

 

另外,我发现要想在DB块中插入一个新的地址进去,只能是在DB块的最后插入,而不能在中间的某行中插入,真是麻烦,我只能先CUT掉,然后再粘上去,不知道有没有朋友有什么好的办法呢,谢谢噢!

 

 

 


 



热门招聘
相关主题

官方公众号

智造工程师