侠朋友,
正如你所知道到的,FB2/FB3是西门子标准循环,用于读取/写入NC任何变量或参数值(相当于NC与PLC通讯功能块);
要读写,就必须知道地址,而NC中成千上万的变量(参数),没有人记得住,NCVAR selector是西门子提供的、用于编程人员查询NC变量并建立包含所需变量地址数据块的工具软件,在NCVAR selector查询到所有需要的NC变量后,就可以自动在S7中建立一个包含这些变量地址的数据块,每个参数占用10个字节,例如:

这些初始值其实就是对应变量的地址。
NCVAR selector中将NC变量分成数个组,具体所需的变量在那个组,要借助于帮助,以本例为例

R参数在‘C’组
具体C组中包含哪些变量也可以查到,例如:

NCVAR selector中提供的2个模板中一个包含所有NC变量(参数),另一个包含了所有驱动变量(参数),
可以仅仅生成数据块,也可以直接生成S7项目中的数据块,操作比较简单,做一次就会了。
FB2/FB3其实也非常简单,端口Addr1~Addr8赋值上面生成数据块中各个参数的地址指针,RD1~RD8是读取的参数值,例如:

还是以本例为例:
1. 打开NCVAR selector;
2. 单击New,选择模板ncv_NcData.mdb,单击打开;

3. 单击工具栏上的search,filter图标,单击select,在Unit下拉菜单中选择C;,在Component下拉菜单中选择RP;

4. 在上方窗口中,右键单击某项选择Get NC variable;

5. 在单出的窗口中输入参数,例如:R100

6. 变量就会选择到下方窗口

7. 用同样的方法可以选择所有需要的变量(参数),并保存,例如:111.var
8. 单击工具栏上的STEP7图标就生成了数据块。
