急:求助:关于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

相关推荐

  • sqlncli.msi

    在安装PCS7系统过程中,当安装到WINCC的时候总是提示SQL native client patch (sqlncli.msi)is&n…

    SIMATIC PCS 7 2017年7月26日
  • 请问FB序号相同时怎么解决

    请问各位大侠,一般编程时遇到FB的序号相同,拖放另一功能块时会提示重名,一般怎么解决的? 最佳答案 在管理器的“块”目录下FB重名应该改名。在程序块里调用FB时,一个FB可以被多次…

    SIMATIC PCS 7 2017年10月29日
  • 请问有PCS7的资料吗

    本人想要一份西门子PCS7的深入浅出的英文版资料,有资料的请发我一份,谢谢。 问题补充:有的话请发邮箱 229878313@qq.com 谢谢 最佳答案 西门子…

    SIMATIC PCS 7 2017年6月7日
  • 变频器重新上电后通讯出现问题

    变频器通过CP443-5EXT与CPU416-3DP通讯,现场停电后恢复供电,变频器(6ES770系列)重新上电后,需要在BOP上复位通讯正常,但仍有几个变频器不正常,变频器图标显…

    SIMATIC PCS 7 2017年6月24日
  • PCS7下CP341通讯

    CP341两块,一块做主站,一块做从站。通过RS485方式通讯。请问怎么做通讯? FB120&FB121怎么用,不明白管脚怎么用? FB122&FB123可以用…

    SIMATIC PCS 7 2017年8月3日
  • OS站不能重新完全编译 内部错误 代码15424

    Deleting process variables… *** Error(s) ***: Internal&nbs…

    SIMATIC PCS 7 2017年6月24日
  • 请问什么叫归档项目

    归档项目时,主数据库会和项目一起自动归档怎样理解 最佳答案 参考链接:《项目归档问题》http://www.ad.siemens.com.cn/service/answer/sol…

    SIMATIC PCS 7 2017年6月9日
  • pcs7的视频怎么观看?怎么兑换本视频播放权限?

    PCS7入门视频2-创建项目 课程编号:V1595 本视频为PCS7入门视频指南,介绍PCS…. 点击这里,打开新窗口观看完整视频 该视频下的所有用户提问列表 我想知道怎么能看…

    2017年5月28日
  • PCS7故障报警?

    如图,黄色报警是什么意思?CPU IdleTime in% 低是什么意思?如何解决? 最佳答案 直接意思是CPU的空闲时间低,意味着CPU负载高,优化…

    SIMATIC PCS 7 2017年5月29日
  • 请教大伙儿几个问题

    在这版块已问了若干个问题,感谢大伙诚心诚意了。接触PCS7是因为工厂上了个项目用的是这个,包方编的,PCS7相比S7/WCC,太庞大了,也只有是接触的是什么就学习下什么,本版的技术…

    2017年6月19日