s7-300数据块的使用问题 点击:2246 | 回复:4



plc&inverter

    
  • 精华:4帖
  • 求助:6帖
  • 帖子:79帖 | 658回
  • 年度积分:0
  • 历史总积分:1812
  • 注册:2004年9月04日
发表于:2013-08-30 12:41:51
楼主

S7-300的数据块必须定义或生成才能使用吗?

第一个问题:没有生成一个共享数据块DB10,程序中能在DB10中存储或调用数据吗?

第二个问题:生成了一个共享数据块DB1,但只定义到DBB50,那么DBB51以后的能在程序中使用吗?




plc&inverter

  • 精华:4帖
  • 求助:6帖
  • 帖子:79帖 | 658回
  • 年度积分:0
  • 历史总积分:1812
  • 注册:2004年9月04日
发表于:2013-08-30 12:50:31
1楼

再补充一个问题,教程或教材里未限制背景数据块的写入,但论坛上却说,背景数据块不能随便写入,否则会产生错误。那么我要在触摸屏上设定数据,只能将功能块里的相应的数据使用共享数据块的数据了,而不能用其静态变量了?这也等于变相限制了功能块的使用了?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2013-08-30 13:39:49
2楼

问题1:没有生成数据块,将不能使用数据块地址。

问题2:先定义后使用,使用未定义的地址将发生写入长度错误。

问题3:论坛上说不能随便写入不代表不能写入,只是提醒用户承担写入非恰当数据而导致的潜在错误而已。

西门子工控技术

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 124回
  • 年度积分:0
  • 历史总积分:886
  • 注册:2010年5月26日
发表于:2013-08-30 13:49:38
3楼

可以通过系统功能块在程序运行时产生,SFC20 CreateDB,一般在OB100中调用,即系统启动时就产生DB块。

背景块一般不允许编辑,这样会使相关的程序块无法运行,但你要改变其中数据数值那肯定是可以的。

 

plc&inverter

  • 精华:4帖
  • 求助:6帖
  • 帖子:79帖 | 658回
  • 年度积分:0
  • 历史总积分:1812
  • 注册:2004年9月04日
发表于:2013-08-31 12:11:02
4楼

谢谢楼上各位指点。尤其是“yuanle”解答的简洁明了。

其实共享数据块和背景数据块并没有本质区别!任何写入都应保持严谨的态度。读出当然没有任何问题。


热门招聘
相关主题

官方公众号

智造工程师