技术论坛

关于SCL编程有多重背景时不允许访问自己的背景数据块

作者 主题
游民

经验值: 143
发帖数: 9
精华帖: 0
主题:【求助】关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 楼主 2023-05-11 11:52:11

以前一直用梯形图,现在想尝试SCL编程,就想把原来自己用的梯形图功能块使用SCL编写出来。结果发现在使用的时候报错。


大致情况是,

编写了一个具有起保停+报警+连锁动作的功能块FB1;

FB2中调用了三次FB1,在FB2的静态变量里就有了三次调用FB1的三个背景数据;

在FB2中手动建立两个bool型静态变量分别是“报警消音”和“故障复位”

在OB1中调用FB2,自动生成DB1

当把DB1中的静态变量“报警消音”和“故障复位”这两个变量赋给FB2中调用的FB1的形参时,系统报错,说“不允许访问自己的背景数据块”。

以前用梯形图编程时没有这个问题,但换成SCL就不行了,请高人指点一二,是我哪里做错了吗?

如果是SCL就不允许这样做,那能有什么好办法吗?

不胜感激!


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1823667&b_id=66&s_id=0&num=6

侠圣

经验值: 2852
发帖数: 223
精华帖: 1
回复:关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 1楼 2023-05-11 12:34:16

你这种做法FB1的管脚根本就不需要填,直接用DB1里对应的变量不就好了


 
以下网友喜欢您的帖子:

  
至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 2楼 2023-05-11 18:46:16

你fb2中直接只用自己的程序内部变量就行了呀。为什么要使用自己的背景db的变量呢?


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
奇侠

经验值: 5891
发帖数: 796
精华帖: 1
回复:关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 3楼 2023-05-13 09:55:13

使用静态变量的名称就可以了


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2707
发帖数: 441
精华帖: 0
回复:关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 4楼 2023-10-06 10:00:05

楼上说了,就是调用背景数据方式有误


懒是人类前进的动力
以下网友喜欢您的帖子:

  
游侠

经验值: 502
发帖数: 80
精华帖: 0
回复:关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 5楼 2023-10-11 08:48:02

可以从其他块访问


努力学习,努力赚钱~~
以下网友喜欢您的帖子:

  
至圣

经验值: 13937
发帖数: 2008
精华帖: 43
回复:关于SCL编程有多重背景时不允许访问自己的背景数据块


只看楼主 6楼 2023-10-12 15:03:59

为什么通过DB1直接付给 FB2内部多重背景FB1的形参?
不应该是 FB2的形参相关形参直接赋值给FB1形参吗?


人生就像一场旅行!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
关于SCL编程有多重背景时不允许访问自己的背景数据块
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。