请教:用modbus poll软件怎么读FX2N PLC里面的输入输出点,以及寄存器数据?

现有硬件:FX2NPLC一台,FX2N-485BD板卡一块,USB转485接口数据线一条。软件modbuspoll软件。之前用这个软件测试带RS485接口的鸿引电能表数据... 现有硬件:FX2N PLC一台,FX2N-485BD板卡一块,USB转485接口数据线一条。软件modbus poll软件。之前用这个软件测试带RS485接口的鸿引电能表数据读写正常。但用这个接口接到FX2N-485BD时,modbus poll显示crc校验错误等,总这是通讯不上,我检查了通讯线连接无问题。PLC程序也设置了。通信格式:无校验,8位数据位,1个停止位。不知道怎么用modbus poll软件测试数据传输,有大师在吗?

程序注释没有改过,最后一段程序是与后面点对齐的。MODBUS POLL:
展开
 我来答
1丝冷风
2013-09-10 · 技术更新,永无止境。
1丝冷风
采纳数:587 获赞数:5889

向TA提问 私信TA
展开全部
有2点原因:
1、modbus poll软件是作为主站使用的;而你的PLC程序是定时发送数据,属于主动发送,这不符合“主站请求——从站应答”的规则。所以,modbus poll与FX2N通信,FX2N首先应按从站应答方式去编程。
2、程序中 D207=H0B、D206=H0D0,这个校验码是不是根据D201~D205的值进行CRC16计算所得?若不是,校验码可能是错误的。
更多追问追答
追问
非常感谢你!校验码我是用其它软件通过d200~d205计算的,这个没有错。用从站方式编程,请问能细说下吗,我是想通过modbus-poll软件看PLC发送数据有无错误,然后再通过PLC的485BD板与仪表及变频器做modbus-rtu通讯。现在只想做PLC与一只表的通讯,结果就拦在了第一步上。能多指教下吗?校验采用CRC16校验。我直接用PLC连接仪表,返回数据又不对。
追答
从站方式编程的过程如下:

1、接收到数据后,与本机从站地址比较,若相等往下继续,否则退出并等待接收;
2、计算并比较CRC校验码,若相等往下继续,否则返回错误信息并退出;
3、检查功能码和地址值,若有效往下继续,否则返回错误信息并退出;
4、根据功能码和地址值进行事务处理:复位、置位、读/写数据等;
5、处理完毕后,发送处理结果信息给主站。

用FX2N实现完整的modbus程序,是要花费不少功夫。如果只想达到PLC读/写仪表固定寄存器的数值,那就简单了,你可以这样做:

1、用modbus poll软件先读/写仪表固定寄存器的数值,确认通信是OK的,记下此时的功能码、从站地址、寄存器地址等参数;
2、用modbus poll软件与串口工具软件(如串口助手)通信,确保通讯参数、功能码、从站地址、寄存器地址等参数与上述相同,modbus poll软件发送数据包后,串口助手软件接收到该数据包。
3、根据串口助手软件接收到的十六进制数据包,在FX2N程序中按顺序赋值给RS的发送寄存器,发送给仪表就OK。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式