| 作者 | 主题 |
|---|---|
|
工作真累 游民 经验值:125 发帖数:59 精华帖:0 |
楼主
主题:cp341 modbus通讯问题求助
CPU为314(6ES7-1AE04-0AB0),外加CP341(MODBUS MASTER RTU),下载硬件及配置CP341驱动成功,但提示FB7,FB8不能下载,怎么办?是不是CPU版本问题?
最近被MODBUS搞的有点烦
|
|
lybin 侠圣 经验值:3062 发帖数:1410 精华帖:9 |
楼
主题:回复:cp341 modbus通讯问题求助
1、我做过相关的通迅,我做的思路是每个从站有一个发数据块DB,一个接收块DB,在OB35中调用,通过计时器设定时间来同步改变FB7和FB8的接收和发送数据块号码来轮询,时间的占空为使能时间100ms和空闲时间500ms。不管从站是否返回数据,都得进行下一个从站的轮询,以免影响其它从站的通迅。
2、如果是自己做接头自己焊一个电阻上去,如果是端子,跨接到端子上,8接到通迅接口的GND。
QQ:9150312
|
|
dcount107 侠圣 经验值:2840 发帖数:1737 精华帖:55 |
楼
主题:回复:cp341 modbus通讯问题求助
一般来说发送DB和接收DB是公用的,也就是说只需要个发送DB,一个接收DB。
发送时只管轮询,发送间隔(即楼上的说的占空使能)依据轮询次数、波特率、长度还有程序复杂程度而定。我比较喜欢用ClockMemory来做。另外发送时可将接收缓冲区清空一下。 接收块始终使能,每个周期都对接收缓冲区进行数据提取,并将提取所得数据转存至其它地方。因为有校验,不用担心数据被覆盖。 有点类似与生产/消费者的意思。
非淡泊无以明志,非宁静无以致远
|