系列视频:S7-200跟我学/跟我做:

S7-200CN: 指令库的使用-跟我学 - 135/185 http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=384
S7-200CN: 指令库的使用-跟我做 - 136/185 http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=385

用户自定义指令库

用户可以把自己编制程序集成到编程软件Micro/WIN中。这样可以在编程时调用实现相同功能的库指令,而不必同时打开几个项目文件拷贝。指令库也可以方便地在多个编程计算机之间传递。


图1. 自定义库和西门子标准库以图标的颜色区分

 

定义库指令

一个已存在的程序项目只有子程序、中断程序可以被创建为指令库。中断程序只能随定义它的主程序、子程序集成到库中。

例如一个项目的的程序结构如下:


图1. 库指令的源项目程序

现欲将子程序My_SUB_a和My_SUB_b间为库指令,其中在My_SUB_b中定义了中断程序My_INT(将某中断事件号与中断服务程序My_INT连接起来——使用ATTACH指令)。

操作步骤:

第一步:在Micro/WIN的File(文件)菜单中,选择Creat Library...(建立库)命令;或者用鼠标右键单击指令树的Libraries(指令库)分支,选择Creat Library...


图2. 在Libraries分支上单击鼠标右键

第二步:在Creat Library对话框中选择哪些子程序要集成为指令库


图3. 使用Add(添加)、Remove(删除)按钮选择要建立成为库指令的子程序

如果定义中断的子程序被制作成库指令,则中断程序也自动集成进去,不必专门指定。

注意:建议您为将建立为库的子程序、中断程序命名时不要采用 Micro/WIN 缺省的、或常见的库指令子程序名,如 SBR_x 等,以免将来调用时发生冲突。

第三步:在Properties(属性)标签中设置


图4. 设置指令库属性

其中:

  1. 指定指令库名称
  2. 指定要生成的库文件的目录路径
  3. 指定版本信息

第四步:在Protection(保护)标签中设置密码


图5. 设置密码

密码设置是可选项。密码须输入两次以验证。保护后不知道密码的人不能查看库指令的程序

第五步:按OK按钮确定,输出指令库文件


图6. Micro/WIN的消息输出窗口显示指令库文件的详细信息

指令库文件扩展名为.mwl,缺省情况下存在Micro/WIN安装目录下的lib文件夹中。库文件可以作为单独的文件拷贝、移动。

 

添加指令库

注意:添加自定义指令库,需要关闭编辑库指令的项目,新建立一个项目。如果要添加其他来源的库指令自然不需要如此。

第一步:在Micro/WIN的File(文件)菜单中选择Add/Remove Libraries...(添加/删除指令库)命令 ;或者在指令树的Libraries(指令库)分支上单击鼠标右键,选择Add/Remove Libraries...


图7. 选择添加/删除指令库命令

添加/删除对话框中将显示已经在本机的Micro/WIN中集成的用户自定义指令库。


图8. 已安装的库指令

第二步:按Add(添加)按钮,选择新定义的库文件路径。用户自定义库将自动添加到Micro/WIN指令树的Libraries分支下。


图9. 选择库文件

缺省情况下,Micro/WIN到图8中的路径下寻找库指令文件。用户也可以指定其他路径。但要注意库文件应当保持在非移动的介质上,如果指定了一个可移动硬盘,则硬盘不在时会发生找不到库的错误。建议用户使用缺省设置。

 

删除库指令

第一步:选择添加/删除指令库命令


图10. 选择命令

第二步:选中须卸载的库所对应的库文件,按Remove(删除)按钮


图11. 选中要删除的库指令文件

 

调用用户定义指令库

指令库的使用方法与子程序基本一样。

 

常问问题

如何编制一个用户自定义库,使之像西门子的库一样在调用时可以灵活分配库指令内存(V存储区)?

在编程时,凡用到V存储区地址处都使用“符号寻址”,为每个变量指定一个符号。然后按照上述方法生成自定义库。注意此时使用V存储区的绝对寻址,或者定义符号表有误,则不能正常生成库指令。