SCL编程

DB_NO(数据块号)的内容为: array[0..99] of real ,我想编写一个FB块可以从这里面获取浮点数值,可以从DBB_NO(数据偏移个数)开始的连续NUM个数,然后复制到FB的OUT接口(data1,data2,data3,data4... ...data32)上。
输出的接口是一个个的REAL,不是ARRAY(并且CFC不兼容array输出),array可以带检索号,容易实现for赋值。而且data1(REAL)的起始地址在FB的背景DI位置是需要寻址的,类似STL的 LAR1 P##Address,  data1就是D [ar1,p#0.0]  +AR1这样就可以实现LOOP语句对data2,3,4...赋值。SCL怎么来实现呢?

图片说明:

SCL编程   

最佳答案

SCL是类似PASCAL的高级语言,不存在像你说的可以读取变量的地址,它的编程方法都是以变量名寻址的。你说的在STL中是常见的,在SCL中用一步循环即可搞定。
我觉得你的OUT接口也不用寻址,因为你已经在定义时给出了每个输出变量了,那么它们在背景DB块的地址已经固定了,不再改变,你可以直接对每个输出变量赋值。

提问者对于答案的评价:
谢谢大侠们,我已经实现了。用for给每个接口赋值。~~~

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午2:46
下一篇 2018年12月1日 下午2:46

相关推荐