SCL编程

  • 格式:doc
  • 大小:23.00 KB
  • 文档页数:2

SCL编程
DB_NO(数据块号)的内容为:array[0..99]ofreal,我想编写一个FB块可以从这里面获取浮点数值,可以从DBB_NO(数据偏移个数)开始的连续NUM个数,然后复制到FB的OUT 接口(data1,data2,data3,data4......data32)上。

输出的接口是一个个的REAL,不是ARRAY(并且CFC 不兼容array输出),array可以带检索号,容易实现for赋值。

而且data1(REAL)的起始地址在FB的背景DI位置是需要寻址的,类似STL的LAR1P##Address,data1就是D[ar1,p#0.0]+AR1这样就可以实现LOOP语句对data2,3,4...赋值。

SCL怎么来实现呢?
图片说明:1,123
最佳答案
SCL是类似PASCAL的高级语言,不存在像你说的可以读取变量的地址,它的编程方法都是以变量名寻址的。

你说的在STL中是常见的,在SCL中用一步循环即可搞定。

我觉得你的OUT接口也不用寻址,因为你已经在定义时给出了每个输出变量了,那么它们在背景DB块的地址已经固定了,不再改变,你可以直接对每个输出变量赋值。