- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自由口通讯
包头就是起始符,包尾就是结束符校验用的是CRC,校验码有很多种。包头就是两个字节,两个##,换算成16进制就是23 23包尾是两个。从站收到这样的请求,他先校验包头和包尾然后再接受CRC校验码再分析指令类型和数据段。把指令类型和数据段叫做有效数据区。数据段就是FF在这里就是这样定义的。 例:##(包尾0) 01(指令类型) FF(数据段) 校验码(根据指令类型和数据段算出来) (包尾) 把这串数据发出去,但这里没有地址信息,因为是两个设备在通讯,而不是一个主站和多个从站。对方收到这串指令会判断指令类型,如果是01.就会立即回传实时数据 从站格式: 从站格式: 不能同时发送和接收,因为半双工,也不能同时接收或发送两条。 编程要求:要自由口模式,所以要设成mm=01,要用端口0那就是SMB30,自由口波特率如果是9600波特,那bbb就是010,pp00不校验,一般每个字符都是8位,所以d是0. 所以ppdbbbmm8421码就是16进制的9,把16#09赋予SMB30.这里没有设的就是起始位跟停止位,在默认条件下,它只支持1个停止位跟1个起始位,如果有的协议要1.5或者2个起始位跟停止位就不行了 缓冲区:缓冲区第一个字节是计数,后面就是信息的内容。下图:TBL是vb500,那就是vb500里面放的我要发送的这串数据有多少个字符或者是字节 如果有10个字节,就把10填到vb500,起始符如果有的话,就应该在vb501,往下总共就是10个字节。接受RCV也一样,有多少字节,图里可以看出可以从vb500里读取,因为是半双工的,发送和接受不能同时进行,所以发送缓冲区和接收缓冲区可以是同一个,如图都是vb500,为了节省内存,当然也可以不是同一个。 接收就比较复杂,接收指令激活以后,会进入接收等待状态一直保持接收等待状态,但如果需要的话,可以给它一个时间,它就认为这次的通讯不成功,过了这个时间就不让它等待了。 下图这些设置都是RCV接收而言,跟发送没关系。SMB86=16#20就表示信息接收成功了。这个是状态。 上图是控制字节,en是使能端因为通常都是允许接收,所以是en=1,sc是检测起始符,但不是所有协议都有起始符的,有些协议就没有,比如modbus就没有起始符,也没有结束符。 如果有起始符那sc=1,没有就=0.ec结束符,一般都会有,也是=1.il如下图,一个完整的消息包含着很多字符但字符与字符之间的这段时间,我们可以设置,如果设置il=10ms,那就需要在SMW90里给它个时间值。在字符与字符这段空隙,时间大于10毫秒,就认为这个报都是错位的,它不连续,c/m指定时器,如果我们用的是il=1,那c/m=0,如果c/m=1,那就要用信息定时器,要用到tmr中的SMW92或SMW192,我们也要给它一个时间,当进入接收状态,在1秒中以后还没有信息接收,就认为接收过程已经结束了。 这里都只有1个起始符和结束符,如果是要两个起始符和结束符,那就不能用这种接收指令来做了,要用另一种办法。 例子:这个例子是s7-200作为从站,计算机作为主站。作为从站 16#09,09等于什么前面说过了,代表自由口模式,自由口模式9600,不校验,每个字符都是8位。 16#9C,9是1001,所以en=1,il=1,使用SMW90,C二进制是1100,所以c/m=1,tmr=1 bk=0,LSB=0 因为这里包头和包尾是两个起始符和结束符,##和,但接收指令只接收1个起始符和结束符,所以这里就不用起始符和结束符,那怎么判断这消息是什么时候开始什么时候结束呢 ,就用时间来判断。(il)SMW90=4毫秒,当我接收接收,有空闲时间超过4ms,就认为这个字符就是起始条件。 SMW92=50MS,代表定时条件,当50ms定时时间到了以后,不在接收,接收结束。 SMB94代表最大的字符数,最大设到255. 设好这些参数我们就要链接接收完成中断跟发送消息中断。 然后ENI使能中断,因为它是从站,然后启动接收指令,RCV,TBL是输入缓冲区首地址,PORT是输入通讯口号。等待接收,假设接收完成,它会跑到接收完成这个中断里面(ATCH=23)执行它的内容。这是接收完成的中断程序: 我们要判断接收是否正确,因为没有结束符和起始符,主要是判断校验码CRC正不正确。这里用了状态的判断,SMB==4,前面的例子是=20,20代表是收到了结束符,这个程序里面乜有收到结束符,所以就判断他是不是等于4,4是什么,8421码就是
您可能关注的文档
最近下载
- 新质生产力系列专题(七):科技股盈利提升之路有哪些?.pdf VIP
- 新质生产力系列(三):耐心资本赋能新质生产力投资-240621.pdf VIP
- 《法学研究》论文编辑格式及注释体例.docx VIP
- 大学生创新创业基础(第2版)-教案 李国强 第4章 发现创业机会.doc
- 心绞痛护理PPT课件.pptx VIP
- 航测11000地形图测绘项目技术设计书 .pdf VIP
- 2025年高等数学同济第七版上册.pdf VIP
- 国信证券-“新质生产力”系列-八-:八大新兴产业及九大未来产业巡礼.pdf VIP
- “新质生产力”系列(五):聚势而飞,低空经济主题投资研究.pptx VIP
- 《GB_T 45526 - 2025北斗_全球卫星导航系统(GNSS)实时动态精密单点定位状态域改正产品规范》必威体育精装版解读.pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)