采用无协议通讯。
1.设置D8120,Modbus rtu,一般只能采用8位数据,与从机相同,如,19200,8,e1
置位M8161,采用8位模式。
2.RS指令 如RS D100 K8 D130 k10
3.将发送存入D100开始的共8个寄存器。
4.SET M8122,发送数据。
5.接收数据 M8123,处理接收到数据,然后复位M8123.
说一下第三步:
D100开始的数据,
Modbus协议:
站号:一个字节,如01H
指令:一个字节,不同指令,读取不同内容,详细参考从机说明书。如04H,读取16位寄存器。
地址:两个字节,Modbus一般需要偏移一位,如说明书是地址是40001,这里需要将地址设置为00H,00H,两个寄存器。
数量:两个字节,读取以地址开始寄存器或线圈数量,读取8个时,设置为00H,08H,
CRC:两个字节,站号至数量之间CRC-16的值,FX3U有CRC指令,其它型号不支持CRC指令,可能参考论坛里的程序。
或者采用网上串口助手之类软件计算后保存到寄存器。
CRC计算:
http://cht.nahua.com.tw/index.php?url=http://cht.nahua.com.tw/software/crc16/&key=Modbus,%20RTU,%20CRC16&title=%E8%A8%88%E7%AE%97%20Modbus%20RTU%20CRC16
D100 D101 D102 D103 D104 D105 D106 D107
H01 H04 H00 H00 H00 H08 HF1 HCC
站号 指令 地址 数量 CRC
昨天我在新手区的回答,搜一下就有。