- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、广播开机子程序SBR1(各字节意义见TD2000协议,并调用发送子程序SBR5) 说明:PLC可以使用XMT指令发送数据,可以发送一个或多个,最多256个字符。其带两个参数,一个是端口号,一个是发送缓冲区的首址,并且该首址内容指定要发送的缓冲区字符数。 我们将缓冲区首址设定为VB99,其值为14,说明共发送14个字符。广播帧的内容放在VB100~VB113。 S7-200通信实例-TD2000 当广播帧的全部数据都放到发送缓冲区后,调用发送子程序SBR5。 2、广播停机子程序SBR2 S7-200通信实例-TD2000 我们可以观察到,停机广播命令和开机广播命令在程序的处理上完全一样,只是发送的具体字符不同。 S7-200通信实例-TD2000 3、频率查询子程序SBR3 S7-200通信实例-TD2000 频率查询命令和停机广播命令,开机广播命令在程序结构上也是完全一样,只是发送的具体字符不同。 S7-200通信实例-TD2000 4、数据帧发送子程序SBR5 使用XMT发送数据,如果有一个中断程序连接到发送结束事件上,则在发完缓冲区的最后一个字符时,会产生一个中断。对端口0为中断事件9。因此本文将中断事件9连接到中断程序INT_0上。当发送完数据帧后,程序会转而执行INT_0。定时时钟在TD2000程序中无作用。 S7-200通信实例-TD2000 5、发送结束中断程序0 当发送结束时,将发送结束中断和中断程序INT_0连接,一旦进入INT_0,则需断开该连接,以便下次进入。同时需在接收中断事件和接收中断程序间建立连接。还需要指明接收的首地址。 PLC中PORT0的接收结束中断事件指定为中断事件23。 接收指令为RCV ,其参数分别是端口号和接收数据存放的首地址。在接收完成后,首地址存放的内容是所接收一帧数据的字符数。在程序中,我们指定首地址为VB116。 定时中断事件在TD2000程序中没有用。 S7-200通信实例-TD2000 6、帧接收中断2 进入帧接收程序后,首先断开中断事件和中断程序的连接。然后对所接收字节进行校验,如校验正确,则将接收记数加1。并对频率参数进行ASCII码到BCD码的转换。 SBR4是按照TD2000协议进行的帧校验子程序,用检查所接收数据的正确性,而后将校验结果放在VW202当中 S7-200通信实例-TD2000 ATH是ASCII码转换到16进制码的指令,程序中表示将VB130~VB133(接收到变频器传来的校验码)连续四个ASCII码转换成16进制的数放在VW202当中。 随后进行比较: 1、接收字符数是否是18? 2、校验码能否吻合? 如果接收无误,则接收次数增1,并提取频率值。 S7-200通信实例-TD2000 7、校验子程序: 在前述程序中,我们将接收字符放在以VB116开始的缓冲区当中,并且VB116存放接收字符的总数。根据TD2000协议,我们知道变频器反馈的字符数是18个,各字符在数据区中存放地址如下: 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 字符数 帧头 变频器地址 响应 索引 频率值 校验码 帧尾 根据协议,需要对VB118~VB129共12个字节求和。在程序中使用FOR~NEXT语句实现 S7-200通信实例-TD2000 注意:程序采用指针进行,VB118地址是32位,因此必须用双字。 累加可能会溢出,因此必须将字节转化为字后进行累加。 结果存放在VW202当中。 S7-200通信实例-TD2000 TD2000交流与讨论 TD3000通信程序所要实现的功能和TD2000基本一样,它是采用字符中断形式进行,也就是每次只接收一个字符,通信参数设置和TD2000略有差别,但总体程序结构相差不多。变频器地址为2,通讯控制,其他为默认设置。PLC和变频器之间的通信采用字符中断的方式进行,程序由1个主程序,6个子程序和4个中断程序构成 触发 帧内容 广播开机 I0.0上升沿 7E|7F|04|7F|13|88|9F 广播停机 I0.0下降沿 7E|7F|04|7E|13|88|9E 运行命令查询 I0.1脉冲 7E|02|…|…|13|88|…| S7-200通信实例-TD3000 主程序:主程序和TD2000完全一样 S7-200通信实例-TD3000 1、初始化子程序SBR0 在初始化子程序中,将PORT0设置为自由口通信,9600BPS,(1、8、1、0)的数据格式,至于在TD2000中设置的通信延时,超时等问题都因为用定时器中断而解决,这将在后面详细说明。因为在程序中说明所接收的字符数,所以也不用指定帧尾作为接收结束的依据。事实上TD
文档评论(0)