回复:两台西门子200PLC,如何实现自由口通讯?

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9125
  • 精华

    157
  • 被关注

    1477

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2021-03-04 10:42:46

8楼

展开查看
以下是引用Laohuai在2020-11-03 18:06:31的发言 >2楼


LD     SM0.1
MOVB   9, SMB30
MOVB   1, VB100

LD     SM0.0
MOVB   IB0, VB101

LD     SM4.5
XMT    VB100, 0


LD     SM0.1
MOVB   9, SMB30
ATCH   INT_0, 8
ENI

LD     SM0.0
MOVB   SMB2, QB0


这个是最精简的自由口通讯程序了,我在你的程序基础上加入注释,请查阅:

OB1:
LD     SM0.1
MOVB   9, SMB30   //9600bps、8个数据位、无校验、在prot0口定义
MOVB   1, VB100   //定义一个字节的发送长度

LD     SM0.0
MOVB   IB0, VB101  //将IB0的输入状态传送到VB101

LD     SM4.5       //prot0口发送空闲时为1,忙时(发送)为0
XMT    VB100, 0    //由vb100定义好的一个字节数据长度VB101发送给对方。

OB1:
LD     SM0.1
MOVB   9, SMB30      //同样的通讯参数定义
ATCH   INT_0, 8      //prot0口接收字符中断
ENI                  //开中断

INT_0:

LD     SM0.0
MOVB   SMB2, QB0     //将接收到的通讯数据,通过特殊接收字节SMB2传送给QB0.

实际上,整体的通讯程序含义,就是上面的plc,IB0的状态通过自由口通讯方式, 将IB0的状态传送给QB0,以达到IB0 = QB0的目的。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33263条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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