西门子 PLC SFC14/15 80B1 数据长度故障解决方法

已锁定

lion_zheng

  • 帖子

    264
  • 精华

    5
  • 被关注

    8

论坛等级:侠客

注册时间:2005-03-04

普通 普通 如何晋级?

西门子 PLC SFC14/15 80B1 数据长度故障解决方法

3101

6

2017-05-27 22:46:06

SFC14/15

S7-300/400/1500 PLC中,SFC14/15用于将分站的IO数据批量读取到DB块中。MOVE(L T)指令只能最多传送4byte。因此,使用SFC14/15能够简化程序段。

LADDR 硬件地址,16进制
RET_VAL 返回值,0表示无故障,其它值表示故障
RECORD 数据块指针,例如( P#DB13.DBX0.0 byte 100),注意byte和数据长度之间有空格。

转载请保留 http://www.cnblogs.com/lion-zheng/

80B1故障

在使用中,碰到了80B1故障,帮助文件的描述为

The length of the specified destination area is not identical to the user data
length configured with STEP 7.

即,DB块中的数据长度,和分站的数据长度不一致。

网络结构

我使用的网络是315-2PN/DP和SIMOTION D435-2PN/DP进行的iDevice通讯。Simotion作为iDevice从站,分配了I/O各100个byte。PLC作为主站,以下是PLC侧的硬件配置。Simotion的地址为300(16#12C)



故障现象

100个byte的通讯量比较大,我实际需要的大约为80个,因此我定义了DB3,包含80个byte。在OB1中调用SFC14之后,出现了801B报警。



解决方法

DB块中的数据长度,需要和硬件组态中定义的分站数据长度一致。将DB3改为100个byte。故障消失。



解决的方法很简单,就是DB块的数据长度,要和分站长度一致。但解决这个问题的过程中也被一些因素误导,花了一些时间。例如,分站的数据长度,对于iDevice,并没有32byte/64byte这样的限制。另外,SFC14/15在小于4byte时,并不检查数据长度。

我的IT方向的博客

http://www.cnblogs.com/lion-zheng/

我的工控方向的博客

http://blog.sina.com.cn/sinumerikfans

微信  PerceptionAndControl 

西门子 PLC SFC14/15 80B1 数据长度故障解决方法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54043条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。