回复:那位朋友手头也有CP341(RS485)以及MODBUS_MASTER硬件狗能否帮忙做个实验并解答我的问题??

老石

  • 帖子

    47
  • 精华

    3
  • 被关注

    0

论坛等级:游民

注册时间:2008-08-04

普通 普通 如何晋级?

发布于 2008-09-04 17:39:52

0楼

这两天有点时间.这个功能16已经通讯成功.
我的MODBUS通讯功能16实验比较曲折,当时一筹莫展,成功后回头看极其简单。
这里做个小结.

主要卡在FB8的管脚LEN应该设置多少,以及功能16第七个BYTE需不需要考虑。其他设置照例程来。这些地方生产商确实没有说清楚。
我实验的结果是:
这个LEN与FB8使用的共享数据块的数据长度有关。例如共享数据块DB1在需要写3个字全部命令BYTE是12,需要写6个字全部命令BYTE是18,DB1最下面一行给出总数,照这个填FB8的管脚LEN。
功MODBUS通讯能16第七个BYTE比较特殊,在此不需要考虑,模块已经自动添加。主要把FB8的管脚和共享数据块DB配置正确,即使把端子导线拔下,CP341的也一定会发第一组码,也就是说TXD灯一定会闪一下。设置不正确,CP341根本不发第一组码。这是判断通讯成败的一个方法。
我实验的硬件是314CPU,CP341,经过MOXA公司的两个光纤转换器(485接口,只接两根导线),与施耐德MICRO_3721PLC做MODBUS主从通讯,314CPU为主站。下边用两个MICRO_3721PLC分别做从站1,2。实验了常用的03,16功能。没有问题。03功能读的时候TXD灯和RXD灯亮,写功能16,由于有握手信号,同样可以看到这两个灯一先一后亮一下。
SSCOM32之类的串口实验软件完全能够实验MODBUS功能16。只要S7300设置正确,并且RS232/485转换器是CP341能够兼容的,软件SSCOM32设置HEX显示,可以看到完整的MODBUS代码(含CRC)。
西门子打包给的例程有一个SLAVE测试软件“ModbusSlave.exe”,试用期30天,每次只能用15分钟,也完全支持通讯能16。这个软件对MODBUS其他功能也支持的。我手头还有一个好用的SLAVE测试软件,不需要注册没有时间限制,如果其他朋友有需要,给个信箱可以发给你们。程序名字是ModSim32.exe,与常用的ModScan32.exe是一套,网上也许能搜索到,自己下载也可以。

在实验功能03,16基础上,实验了说明书“Modbus_Master.pdf”第五章所有功能代码,CP341都可以正确发码(在SSCOM32可以看到正确的代码)。


但是仍有问题。将另发一个帖子大家讨论,寻求帮助.。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54711条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。