西门子200CN模块代理商2023模块6ES7513-1AL02-0AB0西门子模块代理商
2023模块6ES7513-1AL02-0AB02023模块6ES7513-1AL02-0AB0
西门子变频器代理商,荆门西门子PLC模块授权一级代理商,湖北西门子电线电缆授权代理商,上海西门子S7-200CPU系列代理商,西门子S7-1200CPU系列代理商,SIEMENS西门子模块授权一级代理商,西门子SIEMENS低压一级供应商,西门子低压断路器代理商,西门子S7-500系列代理商
CPU模块 | Classic | 6ES7211-0AA23-0XB0 |
6ES7211-0BA23-0XB0 | ||
CN | 6ES7212-1AB23-0XB8 | |
6ES7212-1BB23-0XB8 | ||
6ES7214-1AD23-0XB8 | ||
6ES7214-1BD23-0XB8 | ||
6ES7214-2AD23-0XB8 | ||
6ES7214-2AS23-0XB8 | ||
6ES7214-2BD23-0XB8 | ||
6ES7216-2AD23-0XB8 | ||
6ES7216-2BD23-0XB8 |
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怎么来实现呢?
图片说明: 1,123
佳答案
SCL是类似PASCAL的高级语言,不存在像你说的可以读取变量的地址,它的编程方法都是以变量名寻址的。你说的在STL中是常见的,在SCL中用一步循环即可搞定。
我觉得你的OUT接口也不用寻址,因为你已经在定义时给出了每个输出变量了,那么它们在背景DB块的地址已经固定了,不再改变,你可以直接对每个输出变量赋值。
西门子200CN模块代理商2023模块6ES7513-1AL02-0AB0西门子模块代理商西门子模块代理商西门子模块代理商西门子模块代理商西门子模块代理商