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

rt,打算用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的值就是接收字符的个数。

提问者对于答案的评价:
嗯,是的,我把RCV的TBL和XMT的TBL混淆了,另外感谢西门子技术支持!!

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc296076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:44
下一篇 2020年10月31日 下午1:44

相关推荐

  • EEPROM库执行一次算写入ROM多少次?

    使用S7-200 西门子EEPROM库,写入VB0-VB99共一百个字节,当写入完成后DONE置1,这个操作是算写入ROM一次呢,还是算写入ROM写了100次,S7-20…

    2017年6月1日
  • S7200与第三方变频器通讯

    请教S7200与台达变频器通讯采用什么通讯方式,最好有相关资料提供一下,谢谢! 问题补充:dcl1441:用EM277走DP通讯200只能做从站吧。 最佳答案 《S7-200采用U…

    SIMATIC S7-200 2021年7月5日
  • 关于s7-200plc输出端口

    不是Q0.0 Q0.1的其他输出端口(晶体管输出)。它的最高输出频率为多少HZ. 最佳答案 看看这个资料: 到下载中心 http://www.ad.s…

    SIMATIC S7-200 2020年11月1日
  • 上位机与西门子S7-200的通讯怎么做

    大神好   公司想做一个上位软件和200的plc相连,然后把plc里的数据,比如M点或者 DB的状态什么的读到上位去做进一步的处理,请问怎么…

    SIMATIC S7-200 2021年7月5日
  • 关于触摸屏的,高手请解决一下,谢谢

    我用wincc flexible软件做触摸屏,程序全部下载后在触摸屏可以实现控制,但是在用wincc flexible软件在线模拟的时候不可以实现控制,完全没反…

    SIMATIC S7-200 2021年7月5日
  • s7200的MAP库怎么建立的?

    如图所示,200PLC程序目录下的库和里面的运动指令怎么建立的?求解从第一张里开始怎么建立对应的库和指令,从而达到图二中的一样。。。 问题补充:我问的是怎么建立这样的库和库目录下的…

    2021年7月5日
  • 西门子300的以太网通讯-200

    300和200通过以太网通信时 200作为客户机时 300那边需要做什么工作,300那边要不要组态200的未指定连接然后填写200的tsap地址呢?????如果…

    SIMATIC S7-200 2021年7月5日
  • 编号的程序变成0kb了

    编号的程序,马上就要通电调试了,打开就什么都没有了,图标显示0KB。之前打开程序的时候,电脑发生过黑屏,求各位大虾给分析下原因。谢谢谢谢谢谢谢谢…… 问题补充:做完好几天了,之前看…

    SIMATIC S7-200 2020年11月1日
  • 关于s7-200的modbus rtu通讯

    现在采用200的cpu 224 cn 与梅特勒托利多仪表进行MODBUS RTU通讯,今天厂家技术人员把相关资料发了过来,但有些不太明白,资…

    2017年6月29日
  • S7-200与FX3U通信

    两台设备分别为FX3U和S7-200,现在要求将两台设备利用通信连接到一起,用一个西门子人机设置参数和监视 请问选什么通信   那些硬件(F…

    SIMATIC S7-200 2017年8月1日