当前位置: 主页 > PLC控制

s7-200自由口通讯 中原量仪

采用串口调试工具可以读出中原量仪测微仪数值现在使用S7-200PLC自由口与之通讯却一直无法通讯成功程序如图都需要修正哪些地方

图片说明:

s7-200自由口通讯 中原量仪9e5a2eCE0c3893d020c8cd336381fbef 9f595c941b80FC94e8f517238abb7f9ds7-200自由口通讯 中原量仪 s7-200自由口通讯 中原量仪s7-200自由口通讯 中原量仪 s7-200自由口通讯 中原量仪s7-200自由口通讯 中原量仪

最佳答案

主程序
网络1
//SMW92设为100mS时来不及接收72个字符,150mS就没问题
LDSM0.1//首次扫描时,
MOVB16#09,SMB30//初始化自由端口:
//选择9600波特
//选择8个数据位
//选择无校验
MOVB16#9C,SMB87//允许接收信息
MOVW150,SMW92//要小于接收中断里定时中断的时间,超过SMW92值停止接收。
MOVW0,SMW90//使用SMB90值检察空闲状态,设为0表示从站允许立即响应。
MOVB21,SMB94//SMW94最大接收字符数,这里无用,但必须要设置
ENI
网络2
LDSM0.1
ATCHINT_2:INT2,9//传输完成中断
MOVB150,SMB34
ATCHINT_0:INT0,10//定时中断发送,首次延时150mS
网络3
LDSM0.1
MOVB8,VB300
MOVB16#08,VB301
MOVB16#03,VB302
MOVB16#0,VB303
MOVB16#1,VB304
MOVB16#0,VB305
MOVB16#08,VB306
MOVB16#15,VB307
MOVB16#55,VB308
网络4
LDSM0.1
MOVB8,VB310
MOVB16#09,VB311
MOVB16#03,VB312
MOVB16#9C,VB313
MOVB16#41,VB314
MOVB16#0,VB315
MOVB16#06,VB316
MOVB16#BA,VB317
MOVB16#C4,VB318
网络5
LDSM0.1
MOVB8,VB320
MOVB16#0A,VB321
MOVB16#03,VB322
MOVB16#9C,VB323
MOVB16#41,VB324
MOVB16#0,VB325
MOVB16#06,VB326
MOVB16#BA,VB327
MOVB16#F7,VB328
网络6
LDSM0.1
MOVB6,VB340
MOVB16#31,VB341
MOVB16#32,VB342
MOVB16#33,VB343
MOVB16#34,VB344
MOVB16#35,VB345
MOVB16#36,VB346
中断0
网络1
LDSM0.0//接收延时到标志位置位
=M0.0
网络2
LDSM0.0
INCBSB31
AB>SB31,4
MOVB1,SB31
网络3
LDSM0.0
LPS
AB=VB201,16#08//WP仪表回应特征
BMBVB200,VB600,21
LRD
AB=VB201,16#09//5#WP移动接收缓冲区数据到VB600数据区
BMBVB200,VB700,17
LPP
AB=VB201,16#0A//3#WP移动接收缓冲区数据到VB700数据区
BMBVB200,VB800,17
//ZW仪表回应特征


//8#ZW移动接收缓冲区数据到VB800数据区


//5#ZW移动接收缓冲区数据到VB900数据区
网络4
LDSM0.0
LPS
DTCH10//中断分离

AB=SB31,1
XMTVB300,0//8#ZW读指令数据在VB300起始的5个字符中
LRD
AB=SB31,2
XMTVB310,0//5#ZW读指令数据在VB310起始的5个字符中
LRD
AB=SB31,3
XMTVB320,0//5#WP读指令数据在VB320起始的9个字符中
LPP
AB=SB31,4
XMTVB340,0//3#WP读指令数据在VB340起始的9个字符中

//接收中断子程序

中断2
网络1LDSM0.0
RCVVB200,0
MOVB250,SMB34
ATCHINT2,10

这个是我项目中用到的一段程序,自由口轮询程序,也是来自本论坛的一位高手给的提示,在此表示感谢。

提问者对于答案的评价:
虽然看不懂谢谢

  • 关注微信

猜你喜欢

微信公众号