首页 理论教育 程序描述:中断程序运行流程及累加器使用方法

程序描述:中断程序运行流程及累加器使用方法

时间:2023-06-15 理论教育 版权反馈
【摘要】:2)int_1中断程序。禁止发送完成中断,启动接收定时中断程序int_0和数据中断程序int_11。4)int_11中断程序。5)int_12中断程序。6)int_13中断程序。将全部剩余字符数目置入到累加器ac1中,当累加器ac1为零时,接收字符完成,启动中断程序int_14。若累加器ac1的数值为零,则关闭字符接收中断和定时中断,并将远程循环结束标志位置ON。通信程序正常运行中,该计数器数值一直在增加,即网络通信正常。

程序描述:中断程序运行流程及累加器使用方法

(1)sbr0子程序

1)在PLC上电初始化阶段,设置通信接口为自由口通信方式,并设置波特率及校验方式,允许全部中断事件,并设置定时中断的时基为20ms。在这里设置波特率为19.2kbit/s,偶校验,每字符8个数据。但必须与从站的通信参数相同。为输出和输入缓冲区的数据地址建立间接寻址指针,并设置请求报文的剩余数目为4,设置从站的查询剩余数目为4。

2)将输出缓冲区指针指出的地址为起始地址的12B,并通过块传送命令传送到发送缓冲区中,并复位远程循环结束标志位。

3)对发送缓冲区中的报文进行运算生成CRC,交换CRC寄存器中的高低字节,并将交换完成的CRC寄存器叠加到发送缓冲区中。

4)启动定时中断和发送中断,并通过发送指令将发送缓冲区中的请求报文发送。

5)建立跳转入口,标号1。

6)若循环未结束,则跳转到标号1。程序不向下执行,直至远程循环结束,标志位为ON。

7)远程I/O更新完成,将接收的报文通过块传送命令传送到接收缓冲区指针指出的接收缓冲区中。

8)修改发送缓冲区和接收缓冲区中的指针值,指向下一个输出和输入缓冲区字节地址。将请求报文的剩余数目减1。

9)当请求报文的剩余数目为零时,重新设置请求报文的剩余数目为4,将从站的查询剩余数目减1。

10)当工作站的查询剩余数目为零时,重新设置从站的查询剩余数目为4,为输出和输入缓冲区的数据地址重新建立间接寻址指针。(www.xing528.com)

(2)中断程序

1)int_0中断程序。在接收报文超时的情况下,禁止接收中断和接收定时中断,置远程循环结束标志位为ON。

2)int_1中断程序。在发送超时的情况下禁止发送中断和发送定时中断,置PLC为STOP模式。

3)int_10中断程序。禁止发送完成中断,启动接收定时中断程序int_0和数据中断程序int_11。

4)int_11中断程序。若接收的首字符(从站地址)为从站的正确地址,则建立一个接收字符的地址指针。把接收到的字符装入接收字符指针指出的地址中,增加指针的数值,指向下一个地址,并启动中断程序int_12。

5)int_12中断程序。把接收到的第二个字符(功能码)装入接收字符指针指出的地址中,增加指针的数值,指向下一个地址,并启动中断程序int_13。

6)int_13中断程序。把接收到的第三个字符(字节数)装入接收字符指针指出的地址中,并修改指针值。第三个字符为接收的不含CRC码字符的总数目,剩余接收字符数目为将字节数加2,若反馈的功能码为十六进制数0F,则全部剩余字符数目为5。将全部剩余字符数目置入到累加器ac1中,当累加器ac1为零时,接收字符完成,启动中断程序int_14。

7)int_14中断程序。将接收的字符装入接收字符指针指出的地址中,并修改地址指针值并将累加器ac1数值减1。若累加器ac1的数值为零,则关闭字符接收中断和定时中断,并将远程循环结束标志位置ON。

当主站通信程序运行时,调出各变频器参数5306(EFB OK MESSAGES,EFB好消息),该参数显示变频器收到的有效信息的计数。通信程序正常运行中,该计数器数值一直在增加,即网络通信正常。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈