FX2N校验码怎么计算,校验码的子程序如何调用

FX2N校验码怎么计算,校验码的子程序如何调用FX2N不能使用CRC校验码指令,我们如何让FX2N计算校验码呢? 上一章节我们用MOV指令传送代码:01 06 20 00 00 12,这6个

大家好,欢迎来到IT知识分享网。

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

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

FX2N校验码怎么计算,校验码的子程序如何调用

画框的是计算校验码程序

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

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

FX2N校验码怎么计算,校验码的子程序如何调用

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校验码怎么计算,校验码的子程序如何调用

关注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校验码怎么计算,校验码的子程序如何调用

计算出校验码存D110 D111

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

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/78283.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信