fx2n 时钟校验,fx2n怎么调时钟

首页 > 实用技巧 > 作者:YD1662023-11-16 06:26:28

FX2N不能使用CRC校验码指令,我们如何让FX2N计算校验码呢?

上一章节我们用MOV指令传送代码:01 06 20 00 00 12,这6个代码分别传送到D50-D55存储器中,从指令MOV K6 D0到MOV D111 D57,这4条指令是计算校验码的程序。

fx2n 时钟校验,fx2n怎么调时钟(1)

画框的是计算校验码程序

MOV K6 D0是一条普通的传送指令,将十进制数6传送入D0,作用是设置计算校验码的字节个数,从代码:01 06 20 00 00 12可知计算校验码的字节个数是6个,因此先将6这个数传送给D0。

CALL P1是调用子程序指令,P1是子程序编号,指令执行后CALL P1下面的程序被暂停转而去执行P1的程序。

fx2n 时钟校验,fx2n怎么调时钟(2)

P1子程序

我们不必完全理解这个P1子程序的指令,只要3步就能运用它:

第一步:MOV K6 D0这条指令我们在上面已执行,对应的是P1中的第3条指令FOR D0,6这个数字就是传送到FOR D0中,用来指定计算校验码的字节个数 D100。

第二步:P1中的第4条指令,WAND H0FF D50V0 D101,WAND是“与”运算,不了解没关系,我们只关注D50V0中的D50,它与前面应用的无协议指令RS D50 K8 D70 K0,这个D50就是发送数据存储器中的第一个,我们就是要指定这第一个存储器,假设你的无协议指令是RS D10 K8 D70 K0,那么就将D50V0中的D50改成D10。

fx2n 时钟校验,fx2n怎么调时钟(3)

关注D50V0

第三步:找到倒数第5条指令WAND H0FF D100 D110,存储器D110中的数据是计算校验码结果的低8位,WAND H0FF00 D100 D111,D111中的数据是计算校验码结果的高8位。回到第一幅图的方框,使用指令MOV D110 D56,就是将校验码的低8位传送到D56,另使用MOV D111 D57,就是将校验码的高8位传送到D57,这两条传送指令等于是写入校验码。

fx2n 时钟校验,fx2n怎么调时钟(4)

计算出校验码存D110 D111

那就完成了变频器正转运行的代码:01 06 20 00 00 12 XX XX,XX代表P1自动计算出来的校验码,然后写入SET M8122发送通讯请求指令,当X001按下时变频器就会收到这一组代码,它就会得到正转运行的指示,但它还需要知道频率是多少才能运转起来。

注意:P1子程序中占用的存储器V0,D100 ,D101, D111,在子程序的外面不能再向这些存储器写入数据,否则校验码计算会出错。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.