恭喜,你发布的帖子
发布于 2017-09-28 00:07:27
10楼
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后面才是我们真正放字符串的位置。
谢谢asdf6侠的详细讲解, 由于这两天事比较多所以没有及时关注,稍后我会再次按照您的介绍检查下参数和PLC程序,我会及时更新状态的。
再上次发帖后我将调用的中断程序HOME从NC中卸载下来并再次启动FB4,结果报警信息由14011(没有显示HOME)变为14014并提示HOME在编辑状态或级别不够,由此初步判断PLC程序的使用应该是正确的,问题出在NC上,不知道我的想法对不对。
请填写推广理由:
分享
只看
楼主