关于库函数调用

我写了几个子程序0,1,2,3,4,5,6等,其中3及3之后的子程序均调用子程序0,1,2。把这些子程序生成库,新建工程,添加库,调用库里的子程序3,子程序列表里出现了子程序0,1,2,3;再调用库里的子程序4,跳出“系统错误:梯形图调用出错”。请问,这是什么情况,应该怎么解决呢。

最佳答案

新建库并且调用参考下面的帖子:
用户可以把自己编制程序集成到编程软件Micro/WIN中。这样可以在编程时调用实现相同功能的库指令,而不必同时打开几个项目文件拷贝。指令库也可以方便地在多个编程计算机之间传递。
新建库操作步骤:
第一步:在Micro/WIN的File(文件)菜单中,选择Creat Library...(建立库)命令;或者用鼠标右键单击指令树的Libraries(指令库)分支,选择Creat Library...
第二步:在Creat Library对话框中选择哪些子程序要集成为指令库
第三步:在Properties(属性)标签中设置
指定指令库名称 
指定要生成的库文件的目录路径 
指定版本信息 
第四步:在Protection(保护)标签中设置密码
第五步:按OK按钮确定,输出指令库文件
指令库文件扩展名为.mwl,缺省情况下存在Micro/WIN安装目录下的lib文件夹中。库文件可以作为单独的文件拷贝、移动。
添加指令库
第一步:在Micro/WIN的File(文件)菜单中选择Add/Remove Libraries...(添加/删除指令库)命令 ;或者在指令树的Libraries(指令库)分支上单击鼠标右键,选择Add/Remove Libraries... 
第二步:按Add(添加)按钮,选择新定义的库文件路径。用户自定义库将自动添加到Micro/WIN指令树的Libraries分支下。
调用用户定义指令库
指令库的使用方法与子程序基本一样。
详见下述为文档中有关用户自定义指令库的详解:
《西门子 S7-200?LOGO!?SITOP 参考》V0.94版(更新版)(2008.02.15)     下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136
参考:
http://www.ad.siemens.com.cn/service/answer/solved_67600_1028.html
参考资料:http://www.ad.siemens.com.cn/service/answer/solved_67600_1028.html

提问者对于答案的评价:
谢谢你的回答。我找到原因了,是因为被其它子程序调用的0,1,2被加密了,是别人写的,给我用时加密了,我生成库文件时没问题,调用某一个子程序没问题,再调用另外的子程序时就出错了。现在那同事给我解密了,用起来没问题了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐

  • PLC 时间设置问题

    触摸屏与s7-200,触摸屏可设置、读取PLC时间,读取年月日时分秒,设置年月日时分秒。在PLC编程时没有编写星期的设置,星期也没有固定赋值,调试的时候时间还能进行设置,放到现场后…

    2017年10月29日
  • 各位大神看这里

    想请问一下,一个输出为0-20mv差分信号的压力传感器,可以不接放大器直接连接西门子的模拟量模块EM235么,如果能的话那上位机pc可以通过自由口通信读取AIW么?如果不能的话要怎…

    2021年7月5日
  • S7-200资源管理器找不到

    我的电脑已经安装了 V4.0 STEP 7 MicroWIN SP9 和 STEP7 V5.5&nb…

    SIMATIC S7-200 2021年7月5日
  • S7-200和变频器 MODBUS通讯

    S7-200PLC和变频器使用modbus通讯时,变频器使用03、06功能码,寄存器地址是3000H,那么,图片中Addr应该多少? 图片说明:    最佳答案…

    2020年10月31日
  • S7-200定时器的个数是不是不受型号的限制?

    S7-200定时器的个数是不是不受型号的限制?CPU221~~~CPU226定时器个数都是一样的吧? 最佳答案 都是一样的,总共256个定时器 提问者对于答案的评价:对的 专家置评…

    SIMATIC S7-200 2018年12月2日
  • 如何终止PTO/PWM的输出?

    请问,如果打开了PTO/PWM之后,Q0.0/Q0.1开始输出脉冲,如果要求输出100个脉冲,我如何在输出20或者30(任意数值)时停止脉冲的输出?还是无法实现这个目的? 最佳答案…

    SIMATIC S7-200 2021年7月5日
  • PLC控制的步进电机驱动器

    哪位网友能提供用S7-200控制的步进电机驱动器的型号或厂家?就是说,用PLC的输出端控制几台步进电机的正传,反转,步数等参数? 最佳答案 你是说用CPU上的高速脉冲输出还是用步进…

    SIMATIC S7-200 2021年7月5日
  • s7200模拟量编程

    各位大哥:当温度所对应的量程超过32000时,AQWO输出的电压会变为负的,应该怎么在程序里设置上限和下限程序呢? 最佳答案 模拟量输出是双极性的,-32000-+32000。用二…

    SIMATIC S7-200 2021年7月5日
  • s7-200数据区清零

    我要把一个vw区内容清零,长度大概200字节, 用BLKMOV必须找一块都为0的vw区,占用空间较大,是否有更好的办法,谢谢! 最佳答案 用FILL来清零 LD…

    SIMATIC S7-200 2021年7月5日
  • S7-200 用多圈电位器对步进电机调速的问题

    我想用多圈电位器对步进电机进行调速,现在的情况是PTO输出时调多圈电位器改变周期数,周期数也改了,但速度还是不变,只有脉冲完成后,再次启动步进电机时才使用改变后的周期速度进行运转,…

    SIMATIC S7-200 2017年12月10日