quote:以下是引用氢气在2013-11-08 09:45:47的发言:
我这有几个问题:
1.数组数据类型,初始值是怎么设定?
2.UDT 与 STRUCT的初始值怎么设定,如果改变UDT中的一个变量,那么程序中所有用到此数据类型的地方是否都改变?程序是否能编译通过?怎么处理方便?
3.在FB或者FC的接口参数定义区内,数据类型设定会有Block_FB,Block_FC,Timer,Counter等,在FB的静态变量里,有FB,SFB,作用是什么?
另外,很多工程师会发现在S7-1200和S7-1500中出现了更多的数据类型,如长实数(LReal),DTL(长日期和时间),长定时器(LTime),有用过的将经验分享下,呵呵。
给数组元素赋初值:在ARRAY所在的行的“初始值”列中给数组元素赋初值,各元素的初值之间用英语逗号分隔,例如有6个元素的初值可以写成“22,30,5,0,0,0”。若相邻元素的初值相同可以简写,上述初值可以简写为“22,30, 5,3(0)”。
UDT 与 STRUCT的元素要根据元素的数据类型逐个单独赋初始值。
FB、FC的参数类型Block_FB,Block_FC,Timer,Counter只能作输入参数的数据类型,用来设置定时器、计数器、FB、FC的地址。有了这些参数类型,在FB、FC的内部可以不使用定时器、计数器、FB、FC的绝对地址,保证了逻辑块的可移植性。
FB的静态变量里的FB
,SFB(nr是块的编号或地址)用于多重背景。多重背景可以将FB、SFB的背景数据集中到它们所在的FB的背景数据块,从而减少背景数据块的个数。