技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 在使用smb2的条件下接受数据计算数据长度

在使用smb2的条件下接受数据计算数据长度

郑志武 发布于2013-01-09 11:35 140 0 标签:

在使用smb2的条件下接受数据计算数据长度,打算用smb2的中断来做一个接受数据的物理抽象层,比如:协议层我们不知道,我们只是用plc200来接受数据,放入一段存储区vb100作为起始地址.当我们物理抽象层接收到协议层发过来的发送数据请求时,我们用xmt来发送数据,发送完成后使得“允许接收数据使能位”置1,这个时候我们开始接收数据,并且中断8产生一次就使得累加器加1,如果超过一段时间未产生中断,则认为接收结束,计数器清零。
这样的话就可以计算出我们接收了多少字节的数据,并且还能通知上面的协议层已经完成接收数据。好了,我的疑问是:
1:会不会使得通讯效率狠滴,波特率9600的情况下,会不会丢失数据?
2:会不会是程序产生崩溃?
3:如果用rcv的话,我们不知道协议,所以只能设置smw90和smw92,比如我设置的是5ms和100ms,那么如何计算这个一次rcv我接收了多少字节的数据?我个认为这个应该计算不出来,在不知道协议的情况下的话。

问题补充:
感谢一楼大侠的回复,首先按照你说的那样计算的话,对程序是不好,我们都知道,就是plc会很累,不利于整个系统。我想到了rcv接收数据的起始地址,比如vb100,数据是从vb101开始存储的,那我直接读取vb100的值不就是得到我接收多少数据了么?但没有协议的前提下,rcv又是怎么识别那些是传输的数据呢?
没有协议的前提下理论上我们也是可以接收数据的,只不过接收的是什么数据我们不知道,数据格式等等都是协议的内容了。

佳答案

rcv指令,比如说tbl引脚vb100。接收完成时,vb100的值就是接收字符的个数。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签