回复:求助840D FB4异步子程序的调用问题

小镇故事多

西门子1847工业学习平台

  • 帖子

    302
  • 精华

    0
  • 被关注

    40

论坛等级:侠士

注册时间:2011-07-13

普通 普通 如何晋级?

发布于 2017-09-28 15:15:35

12楼

展开查看
以下是引用a1345在2017-09-28 00:07:27的发言 >10楼

      谢谢asdf6侠的详细讲解, 由于这两天事比较多所以没有及时关注,稍后我会再次按照您的介绍检查下参数和PLC程序,我会及时更新状态的。

     再上次发帖后我将调用的中断程序HOME从NC中卸载下来并再次启动FB4,结果报警信息由14011(没有显示HOME)变为14014并提示HOME在编辑状态或级别不够,由此初步判断PLC程序的使用应该是正确的,问题出在NC上,不知道我的想法对不对。    


以下是引用asdf6在2017-09-27 11:16:08的发言 >7楼:FB4,FB7的使用F...

引用7楼详细内容:

FB4,FB7的使用

FB4及FB7是建立程序和中断号的关系,然后通过FC9来启动中断号,但如果再FB4和FB7调用的时候,不添加中断号,那么就可以直接启动,而不需要FC9,

激活异步子程序ASUP(选项)需要设置以下参数:

1、MD10702=13 在任何情况下ASUP也连续执行

2、MD11602=7 设置ASUP启动执行的条件

3、MD11604=2 定义大于该优先级的中断程序

4、MD11612=1 ASUP编辑保护级别,上述参数定义后,还需要在PLC程序中对ASUP进行处理。

1、在调用FB2.3.4.5.7.等功能时,要使用FB1的参数输入NCKOMM为1。NCKomm参数为 BOOL型 不是0,就不是1,为1是激活PLC NC通讯

2、在FB4的LONGIN中,在ADDR1中输入的字符串要在一个DB快中定义,格式‘SUNRISE ‘,sunrise要大写,后面不足八位用空格补足。对于地址的输入中,要考虑到前后两个‘,所以输入的字符不是8个,而是10个。举个例子:字符串在2.0出写出符号是STAR1。那么地址输入就是:p#db101.dbx2.0 byte 10 ,这个时候,如果在DB块中定义了这个字符串的符号,地址出就会变成。DB101.STAR1。如果字节宽度输入不对,那么就不会变成DB101.STAR1. 

3、FB7的功能包含有所有FB4的功能,比FB4多了一些输入的地址。

4、使用ASUB功能时候,必须在自动状态,而且要循环起来。先给定FB4的启动条件,这个启动条件的给定可以手动,MDI,自动都可以,目的就是传送异步子程序的路径和程序名,然后在自动循环状态,就可以用条件触发FC9来启动中断了。FB4的启动条件要比FC9的要提前准备好。

如果要在程序中,用MOVE指令来传送一个文件名ABC到一个字符串中,那么要注意传送的位置,比如一个字符串STRING[32],是在地址0开始的,那么你要传送的地址是2开始,因为32要占用一个字节,而字符串的'要占用一个,地址2后面才是我们真正放字符串的位置。


那应该就是NC参数的问题了,如果楼主调试的是840Dsl的话,子程序属性里面也有关于运行的口令级别的限制

78015606@qq.com
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25500条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。