急:求助:关于SCL程序问题。请高手指点!!!!!!!!

项目中我使用PCS7,自己做的FB块调用SFC51,但却始终无法看到效果。
 1:我先做实验来验证是否可行,在CFC中调用自己用梯形图编写的块,在梯形图中调用SFC51,把SFC的结果写到P#db20.0 word 20,运行后监视DB20中的数据,非常好,可行。
 2:我把以上思路应用到SCL中:我是用SCL编写FB块,在程序中调用SFC51,定义数组DR  ARRAY【0..40】:char,在静态变量类型VAR中定义的。SFC51的输出写到这个数组变量中(试了很久才找到这样的方法,因为最开始写P#db20.0 word 20,就编译不过去)。这时候程序也编译过去了,终于不提示错误了。
 运行:监视这个数组变量没有任何变化,都为0!
 请大侠帮助指点,为什么会这样?
 我目前想有两种可能性:
 1:是否 SFC51的输出写不到这个数组变量中?(虽然是能编译过去了)
 2:我发现SFC51的BUSY位始终为0,是否还有可能SFC51就没有执行或没法执行? SFC51的命令返回值为负数,在SFC51的帮助中没有那个返回值的说明。(可是程序中其他在一起的程序段都执行了)
 

最佳答案

1、SFC51系统功能块的作用是读取PLC系统状态列表代码(Reading a System Status List or Partial List);
 2、在 SFC51系统功能块中,有一OUT参数“DR”,用于存放IN参数中“SSL_ID”指定的系统状态编码值(SSL-ID of the system status list or partial list to be read.)
 3、“DR”参数是ANY数据类型。在使用SCL工具中初始化ANY数据类型确实比较复杂,需要使用AT函数(方法参见dcount107提供的地址链接)。
 4、对于SFC51系统功能块,除了要正确初始化“DR”参数的ANY据类型外,还要注意正确填写好“REQ”、“SSL_ID”、“INDEX”这3个IN参数。其中“REQ”是通讯时的心跳(脉冲Pulse)参数,通常上升沿↑触发SFC51系统功能块读取一次“SSL_ID”参数中的数据,存放至OUT参数“DR”中。
 5、因此,你还要检查一下“REQ”参数设置,是否是时钟脉冲Pulse变量!
 6、另外,对于SFC51系统功能块的使用时,数据通讯状态可观察OUT参数“BUSY”变化;数据接收状态可观察OUT参数“RET_VAL”的返回值代码是否正确!
 7、SFC51系统功能块使用复杂,即便是获取的“DR”存储中存放的系统状态列表(System Status List)也是编码形式。通常在PCS 7中,是系统编译后自动调用它,很少由用户手动使用。

提问者对于答案的评价:
谢谢剑忠 和dcount107 
 最终没能在SCL写成,还是编到FC中再放到CFC中了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc191329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月3日 上午1:23
下一篇 2017年8月3日 上午1:24

相关推荐

  • cp1623的2口交换机作用

    刚刚接触pcs7,以前做冗余都是一台PC上两块cp1613,是不是现在用1块cp1623的2个口就可以了?希望各位大侠指点一下~~ 最佳答案 是不是现在用1块cp1623的2个口就…

    SIMATIC PCS 7 2017年6月24日
  • PCS7冗余系统的PROFINET通讯问题

    PCS7冗余系统通过PROFINET协议跟IM151-8PN/DP CPU(带CPU)做通讯,怎么在PCS7的硬件组态中如何配置呢?我想PCS7做主,IM151-8PN/…

    2017年6月18日
  • CPU 417-5H

    本来购买的是CPU 417-4H 和PCS7 V7.1 SP1后来到的硬件是CPU 417-5H,软件和授权没变,软件能用吗?该怎…

    SIMATIC PCS 7 2017年6月11日
  • 称重仪表EX2002输出4线制4~20mA信号,更换CPU后信号上溢

    系统为PCS7 V8.0,原CPU为6ES7 416-2XK04-0AB0,因内存较小,更换为一台416-2XN06-0AB0,更换前没任何问题,但更换CPU后…

    SIMATIC PCS 7 2017年5月31日
  • 模拟量输入出错

    我公司使用S7-400做主站,ET200M做从站,系统使用PCS7编程。现在有个问题是,在wincc主界面上的状态栏上老是显示模拟量外部出错(external fault…

    SIMATIC PCS 7 2017年6月29日
  • PCS7站间通讯故障

    服务器/客户机模式系统,在PCS7中组态 现场7台AS,采用CP443-1 现在想某几个AS之间的信号进行通讯 在netpro里边组态了需要通讯的AS…

    SIMATIC PCS 7 2017年8月3日
  • DP 通讯 延长

    各位,我的PCS7项目涉及到DP及MODBUS两种通讯,通讯对象均为S7-300,由于距离过长,需要光纤通讯。我想问的是:如果采用光纤通讯,两边设备需要什么型号的光电转换器及协议处…

    SIMATIC PCS 7 2017年6月27日
  • DP/PA耦合器 热插拔底板选型

    想问一下DP/PA耦合器 (FDC157-0AC83-0XA0 )热插拔底板  用6ES7195-7HD10-0XA0可以么 最佳答案 不能…

    SIMATIC PCS 7 2017年6月9日
  • pcs7 v8.0 面板设计器

    刚接触PCS7,想自己制作一个面板,可是在wincc中找不到,有谁能告诉我pcs7 v8.0的面板设计器在什么位置吗,谢谢 问题补充:谢谢各位的回答,自己安装面板设计器的…

    SIMATIC PCS 7 2017年6月8日
  • 关于用PCS7画的组态图能转为图片格式吗?

    各位专家:      我们用的是PCS7的组态软件,用组态编辑器编辑好了组态画面,因有需要想将组态图转为图片格式,还请各…

    2017年5月28日