[通信电子]S7-200自由口通讯程序_第1页
[通信电子]S7-200自由口通讯程序_第2页
[通信电子]S7-200自由口通讯程序_第3页
[通信电子]S7-200自由口通讯程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、s7-200自由口通讯程序main: s7200自由口通讯程序ld sm0.1call sbr_0:sbr0 /初始化子程序ld sm0.7= sm30.0sbr_0: 初始化子程序ld sm0.0movw +2, vw8 /plc自由口地址,此处每台机器需设不同的地址ld sm0.0movb 9, smb30 /通讯参数,波特率9600,自由口通讯movd &vb100, vd40movw +10, vw54movb 12, vb150movb vb9, vb151movd &vb151, vd60 movb 6, smb34 中断间隔6毫秒atch int_0:int0, 10 连接定时中

2、断atch int_1:int1, 8 连接字符接收中断eniint_0: 中断程序入口 定时中断ld sm0.0dtch 10 解除定时中断movd vd40, vd46 vb100的地址送vd46 movw +10, vw44 movw +10, vw54atch int_2:int2, 8 /接收中断起用服务程序int2int_1: 延时转向int0ld sm0.0movb 5, smb34atch int_0:int0, 10int_2: 接受地址,并判断ldb= smb2, vb9 /地址和本机相符movw vw8, ac0 累加器movb 255, smb34atch int_3:

3、int3, 8 /起用中断服务int3,接受包atch int_5:int5, 10 /起用延时监控服务int5cretildb= smb2, vb9 /地址和本机不符notatch int_0:int0, 10 /返回中断入口atch int_1:int1, 8int_3: 主接受服务程序,同时做异或校验ld sm0.0xorw smw1, ac0movb smb2, *vd46incd vd46decw vw44ld sm1.0 /完成预定的接受字节数atch int_4:int4, 8 /起用通讯数据处理主程序int_4: 通讯数据处理主服务程序ld sm0.0bmb vb100, vb

4、152, 6 /接受报头拷贝到发送报头ld sm0.0dtch 8 /暂停响应接受中断incd vd46movb smb2, *vd46xorw smw1, ac0andw 16#ff, ac0 /检查异或校验ldn sm1.0 /异或校验错误movb vb100, ac0movb 16#80, ac1orw ac0, ac1movb ac1, vb152movb 16#1, vb158movw +10, vw54jmp 3 /校验错误,向pc返回错误码ld sm1.0 /异或正确movw +4, vw34atch int_8:int8, 8 /起用服务程序int8响应接受中断,接受包尾ld

5、sm0.0 /数据处理lpsab= vb101, 0 /v寄存器movd &vb0, vd50lrdab= vb101, 1 /q寄存器movd &qb0, vd50lrdab= vb101, 2 /i寄存器movd &ib0, vd50lrdmovw +0, vw56lrdmovw vw102, vw58lpp+d vd56, vd50ldb= vb100, 0 /plc向pc发送数据movb vb104, ac0movb vb105, ac1mul ac1, ac0bmb *vd50, vb158, ac0+i +8, ac0movw ac0, vw54-i +2, vw54movb ac

6、0, vb150ldb= vb100, 1 /plc从pc接受数据bmb vb106, *vd50, vb105movw +10, vw54movb 12, vb150lbl 3ld sm0.0movb 50, smb34atch int_6:int6, 10 /延时起用int6,置位发送电平movd vd60, vd66movb *vd66, ac0movb 0, vb250 /发送数据异或校验次数监视lbl 0 /发送数据异或校验ld sm0.0incd vd66movb *vd66, ac1xorw ac1, ac0incb vb250ldb= vb250, 150 /若校验次数超过15

7、0次,退出movb 6, smb34atch int_7:int7, 10cretild sm0.0decw vw54ldn sm1.0 /若发送校验未完成预定的次数,跳转到循环0jmp 0ld sm0.0incd vd66movb ac0, *vd66ld sm0.0movb vb150, ac0+i +4, ac0movb ac0, vb150int_5: 接受时间监控服务程序ld sm0.0movd vd40, vd46movw +10, vw44movb 5, smb34atch int_1:int1, 8atch int_0:int0, 10int_6:发送数据ld sm0.0movb 250, smb34atch int_7:int7, 10 /起用发送时间监控atch int_7:int7, 9 /发送中断(发送完成时触发)起用服务程序int7a sm4.5xmt vb150, 0int_7: 结束中断服务程序ld sm0.0dtch 9 /关闭

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论