一.前言
802DSL可以调用两个异步子程序PLCASUP1.SPF和PLCASUP2.SPF,这在<简明调试>中有写,
802DSL也可以通过PLC接口信号读写NC变量(例如R参数之类)
802DSL也可以在JOG方式下,在HMI界面上利用"软键"来进行一些设定工件坐标G54/G55...的功能.这个功能是HMI触发了一个CYCLE里面的程序,能看到NC会active一下.
这几个功能有时有冲突,要注意回避.
二.碰到的问题
前段时间碰到个问题,802DSL G/NPRO磨冲版的,在JOG方式使用"设定工件坐标系"和"设定修整器"这两个功能时,出现报警"PI_N_ASUP_iRet=0x8001".故障截图:
故障视频下载无故障视频下载查了好久,发现PLC中,用来触发异步子程序的语句有问题,这些语句是从"简明调试"直接搬过来的.
三.语句分析和改正
network1:对ASUP1进行初始化,如果没有这段,ASUP1需要触发两次才能执行

network2:对ASUP2进行初始化,如果没有这段,ASUP2需要触发两次才能执行,但这里有个错误,不应该在首次扫描后就不停的set V12000000.0,因为其它功能也要用这个位:
"简明调试"上的network2:

改正后的network2,用了个计时器,只在启动时进行一段时间的初始化:

network3:当PI服务(为什么叫这么个怪名字,真奇怪)完成,或结束时,reset那两个位

network4:触发ASUP1,可以在这里加入你的条件,按钮啊之类的

network5:触发ASUP2

四.总结
读写R参数,设定工件坐标,这样的功能是不能和ASUP的触发同时进行的.会出问题,因此ASUP的network2不能一直扫描,network1/2只是初始化功能,在需要运行的时候,由network3/4来触发.这样兼容性就好了.
关于ASUP的参数,好像很深奥,大家继续研究啊.
还有,我感觉802DSL的PLC后台还有一些程序,可能是运行在linux平台上连接NC和PLC的一些程序,实现了类似840D中FB2/FB3之类的功能.但时序上是类似的.