装载程序问题

仿真软件能否支持含有子程序的PLC控制程序的仿真,如果支持,如何下载,我在MicroWin中导出程序文件为AWL后,下载只发现有MAIN程序,如何实现

最佳答案

如何通过 STEP 7 Micro/WIN 从库程序块中创建普通程序块?
 说明:
 如果创建的库中有一些 POU 是库程序块,在生成库时,可能会遇到密码保护或者变量存储的问题。为避免发生这种情况,在创建库的原始项目中,建议将作为新库一部分的库程序块转化为原始项目中普通的 POU 。操作步骤参见下表: 
   序号. 步骤 
 1 打开将要创建新库的原始项目,为每个将成为新库组成部分的库 POU 清除密码保护(可用时)。进行此项操作时,打开每个 POU 的属性。  

 注意事项:
 如果不知道密码,则无法在库 POU 外建立普通的 POU。   

 
 图. 01 

 在属性窗口的保护部分输入密码(1)。区分大小写。接下来点击授权(2)。如果密码正确,就会出现确认对话框,点击确认(3)即可。关闭属性窗口,同样点击确认(4)。 . 

 
 图. 02
  
 2 将程序编辑器转换到 STL (statement list)。  

 
 图. 03
  
 3 编译程序代码。  

 图. 04
  
 4 编译成功后,打开交叉索引列表:  

 图. 05
  
 5 从交叉索引列表中重新组建库 POU 的调用结构。
 这一点需要查找到交叉索引列表底部。在交叉索引列表里可以看到全部结构。
 排列库 POU 导出/导入的顺序。相关操作如下:  

 只导出一个库 POU ,该 POU 不调用其它库 POU 。

 图. 6 显示了在交叉索引列表中,对库 POU 导出/导入命令进行排序的例子。  

 
 图. 06
  
 6
  为所有库 POU 执行导出/导入。操作如下:  

 
 图. 07 

 导出第 n 个库 POU (n 根据以上定义的顺序)到临时目录下。  

 将刚刚导出的库 POU 导入到项目中。在导入之前,会出现一个询问是否保存项目中改变的提示。每一次都选择“是”。  

 在完成导入/导出程序后,库 POU 位于程序块文件夹中,而不在操作树的库子文件夹中。

 
 图. 08
  
 7
  打开上一个库的符号表。  

 
 Bild 09 

 如果上一个库不需要变量存储,例如,符号表是空的,按照步骤 9 进行操作。 
 如果符号表中有条目,进行如下操作:  

 通过改变第一个符号(初始地址)的地址,将库存储器放在用户项目中不用的变量地址里。  
 选择所有有变量地址的条目 (Symbol + Address + Comment)并用 Ctrl+C 复制到剪贴板中。    
 再次通过改变第一个符号(初始地址)的地址,将库存储区临时放在不用的高初始变量地址里。  
 切换到将要添加库的符号表。也可以创建一个新的表。  
 将以前的库变量插入到选择的符号表中。如有必要,在表中添加一个空行,选择符号列中的单元格并按 Ctrl+V。   
 检查用户程序和以前的库是否包含相同的符号(图.10),如果相同,进行标记。

 
 图. 10
   
 取消步骤 e 。

 
 图. 11
   
 通过查看>符号地址或者 Ctrl+Y 关闭符号地址。

 
 图. 12
   
 在符号表中,给符号重新命名,方法同步骤 f 。 
 重复步骤 d 和 e。 
  
 8
  选择菜单命令文件>库存储区…  

 
 图. 13 

 在库存储区分配对话框中选择以前的库并点击删除库符号按钮。  

 
 图. 14
  

 
  
  
  条目号:32577212     日期:2009-01-05 
  
  http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=32577212
 

提问者对于答案的评价:
谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc352061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论