技术论坛

 回复:求教:CP341做MODBUS通讯(MASTER)是否只能调用一次FB8?

返回主题列表
作者 主题
老石
游民

经验值:93
发帖数:47
精华帖:3
楼主    2008-09-05 20:00:19
主题:求教:CP341做MODBUS通讯(MASTER)是否只能调用一次FB8?
最近用CP341做MODBUS通讯(MASTER),调用FB8(P_SND_RK)背景数据块DB8,源数据块(source data area)DB1。通过修改FB8的LEN和DB1数据,主要实验了功能03,16,与从站通讯顺利。
但是想另建立一个有不同数据块的FB8(P_SND_RK),背景数据块DB10,源数据块DB11。试图分别执行功能03,16。尽管在两个FB8(P_SEND_RK)的EN端增加了控制位,但是结果是要么两个都不工作,或者有一个工作,另一个不工作。
我找不到介绍的资料。
那位有经验解释这是为什么。或者介绍正确的做法,感谢啦。
老石
游民

经验值:93
发帖数:47
精华帖:3
    2008-09-10 22:45:23
精华帖  主题:回复:求教:CP341做MODBUS通讯(MASTER)是否只能调用一次FB8?
使用SLAVE仿真软件“ModSim32.exe”,观察1号从站可以看到40001-40006分别被写入A,B,C,D,E,F。在该软件另开一个2号从站窗口观察,可以看到40001-40004分别被写入A,B,C,D。另开3号从站窗口,写入6个数据,31,32,33,34,35,36,在S7300相应单元看到6个数据被读回。另开4号从站窗口,写入3个数据,41,42,43,在S7300相应单元看到3个数据被读回。
完全是预想结果。根据自己的经验,只要这个步骤做通,与其他MODBUS通讯器件通讯没有问题(排除线路干扰)。尽管还有些实际通讯器材,没有继续往下做。

体会和小结:
CP341支持的12个MODBUS通讯功能,根据技术文档“Modbus_Master.pdf”第48页的说法,只有功能15和16是大于6字节的,其他都是固定字节数,因此只要掌握了03,16功能配置方法,执行其他功能的方法都是类似的。我的体会是如果使用一个FB8调用,不断修改源数据块(例如DB1)执行多种通讯功能,只要理解LEN与DB1数据长度的关系,修改源数据块(例如DB1)各个BYTE 的意义。同时注意执行功能16的时候,“DB1.DBW4”数据决定了实际发送代码长度,而不是LEN决定实际发送代码长度等这些关键点。正确通讯是非常实现的容易的。
FB8的LEN端口,可以直接输入数字,也可以使用MW单元,一般是不需要修改的。

运行速度。延时修改为1秒仍可以运行。和SLAVE仿真软件“ModSim32.exe”之间运行速度还是很快的。S7-300写一个数字,SLAVE仿真软件约两秒内可以看到修改。反之亦然。由于我是用一个PC机运行多个软件,观察数据有个画面切换问题,准确运行时间有待朋友们实践。
这段程序只有6个Network。如果有朋友需要可以发信到lysqy4906@163.com,我可以发给你们。只能起个抛砖引玉的作用,也是希望朋友们少走弯路。这些体会的取得是我和这里的朋友共同努力的结果,感谢万版和众位兄弟。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。