自由口通讯S7-200做主站

已锁定

H.L

  • 帖子

    1766
  • 精华

    9
  • 被关注

    8

论坛等级:侠圣

注册时间:2005-07-20

普通 普通 如何晋级?

自由口通讯S7-200做主站

818

0

2009-11-26 16:26:20

最近看到很多网友问一些关于自由口通讯的问题,以前发过一个S7-200做从站的例子,这次发个做主站的例子,下面是我在实际工程中截取的一段程序。
主程序
Network1
//发送标志位的置位由工艺条件决定
LD M2.4
TON T33, 100 //延时发送
Network2
LD T33
CALL SBR_2:SBR2 //调用发送程序
Network3
//这两个网络是异常处理,当中断程序不能正常接收后,程序从这里继续循环下去
LD M2.6 //延时后开始处理接收到的数据
TON T36, 300
Network4
LD T36
S M2.0, 1 //调用上位处理程序
R M2.6, 1 //复位异常处理标志
Network5
LD M2.0
CALL SBR_3:SBR3
初始化(SBR_0)
Network1
//9600,o,7,1
LD SM0.0
MOVB 16#E9, SMB130
Network2
//指针指向接收缓冲区
LD SM0.0
MOVD &VB100, VD181
Network3
//装载发送命令
LD SM0.0
MOVB 6, VB800
MOVD 16#57303143, VD801 //W01C0开机命令
MOVW 16#300D, VW805
Network4
LD SM0.0
ATCH INT_1:INT1, 25 //当口1接收到字符时引起中断
ENI
发送(SBR_2)
LD SM0.0
XMT VB800, 1
S M2.6, 1 //置位异常处理标志
R M2.4, 1 //复位发送标志
接收(SBR_3)
Network1
LDB= VB100, 16#50 //起始字符正确
AB= VB108, 16#0D //结束字符正确
S M2.1, 1
Network2
LD M2.1 //将缓冲区中的数据转存
MOVD VD100, VD608
MOVD VD104, VD612
//中间的数据类型转换部分略
Network3
LD SM0.0
R M2.1, 1
R M2.0, 1
中断
Network1
LDB= SMB2, 16#50
MOVD &VB100, VD181 //装载地址指针
Network2
//字符放入接收缓冲区
LD SM0.0
MOVB SMB2, *VD181
INCD VD181
INCW VW150
Network3
LDB= SMB2, 16#0D //当接收的字符是回车时
MOVD &VB100, VD181 //重新装载地址指针
R M2.6, 1 //如果能正确接收,则跳出异常处理
R T36, 1
S M2.0, 1 //置处理程序标志位
MOVW 0, VW150
Network4
LDW>= VW150, 30 //接收最大字符数
MOVD &VB100, VD181 //重新装载地址指针
自由口通讯S7-200做主站 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。