关于变量列表设置指南的详细信息,请参阅以下内容。
30.15.4 功能块[变量列表]设置指南
在功能块编辑画面中,用功能块(FB)专用变量和系统变量创建程序。
FB专用变量有3种:一种变量仅能在FB之内使用,另外两种变量则作为功能块指令的操作数,用于向逻辑程序传递FB数据或从逻辑程序接收FB数据。变量在功能块画面的变量列表中创建,使用范围是创建它们的FB之内。
一个逻辑程序中可以多次使用同一个FB,但根据[系统设置]-[逻辑程序]-[在功能块中共享本地变量]的设置,其运行情况也会有所不同。
另外,即使不启用FB,FB专用变量也不会复位。请根据程序内容复位这些变量。
本地变量
本地变量是仅用于FB之内的变量。不能从插入FB的逻辑画面直接写入本地变量。
每个FB最多可注册512个本地变量。
输入变量/输出变量
在功能块之与逻辑程序之间,可以用输入变量和输出变量传递和接收数据。将FB插入逻辑画面后,在FB中创建的输入变量显示为S操作数,输出变量显示为D操作数。
每个FB最多可注册63个输入变量和63个输出变量。
对于操作数,需要指定与输入变量或输出变量的变量类型一致的地址或变量。为S操作数设置的地址或变量,其保存的值被传递到输入变量,并用于功能块。另外,FB中输出变量的值被保存在为D操作数设置的地址或变量中。
不能将输入变量设置为逻辑程序的D操作数(输出)。
不能将输出变量设置为逻辑程序的S操作数(输入)。
备注
创建或使用FB时,请注意以下几点。
FB不会自行复位。
人机界面开机后,即使导通状态结束,FB也不会复位,且FB中的变量保持上次的值。需要时请复位FB。
因在功能块中共享本地变量的设置而产生的区别
在逻辑程序中将同一FB当作指令多次使用时,使用的逻辑变量的数量及FB中本地变量的运行情况将取决于[系统设置]-[逻辑程序]-[在功能块中共享本地变量]设置。因为本地变量的表现不同,逻辑程序的处理结果也会不同。
[在功能块中共享本地变量]:当选择“禁用”时,每个功能块指令都会有自己的本地变量,这样每次插入指令,都会增加变量的使用。从启用改为禁用:对本地变量的使用类型作此改动时,请注意逻辑变量的容量。
30.14.2.1 检查存储器使用率
下述示例描述了不同设置下的区别:
示例:
创建FB(FB_0000),功能是每次执行指令即加1。FB向输出变量(Output)传递一个值,该值为本地变量(Count)加1。
在逻辑程序中用了两次FB_0000,两次中D1操作数分别是D100和D2000。
如果选择了启用共享
,则即使在逻辑程序中多次使用了同一FB(FB_0000),本地变量的使用量也不会增加。
执行逻辑程序时,D100和D200交替增加(D100=1, 3, 5, 7, D200=2, 4, 6, 8),而结果值会在每次X100置ON时输出。这是因为逻辑程序中两个功能块指令从相同的本地变量(Count)读写数据。这样,同一FB被当作指令在逻辑程序中多次使用,可能不能得到预期的结果。当多次使用同一FB时,请避免让它们同时执行,或者让它们一次执行即完成操作。
如果选择禁用共享
,每次在逻辑程序中使用同一FB (FB_0000)时,本地变量的使用量即会增加。
执行逻辑程序时,值每次加1(D100=1, 2, 3, 4, D200=1, 2, 3, 4),结果值会在每次X100置ON时输出。这是因为两个功能(FB_0000)块分别使用不同的本地变量(Count)。因此,多个相同的FB不会相互影响。