回复:应用探讨—S7-200 自由口通信

walty

西门子1847工业学习平台

  • 帖子

    451
  • 精华

    0
  • 被关注

    6

论坛等级:侠客

注册时间:2010-01-12

普通 普通 如何晋级?

发布于 2011-01-12 19:33:40

168楼

quote:以下是引用LaoHuai在2010-12-24 11:42:19的发言:
我来发几个SMB2的例子(特别适合初学者):
SMB2为自由口接收字符的暂放区,从端口0或端口1接收的每个字符都放在这里。
SMB2只能存放一个字节字符,而对方发送的一帧可能是很多字符,所以在接收到下个字符之前,应该在中断里将接收到的字符移走。
每接收一个字符会产生一次中断,端口0产生中断事件8,端口1产生中断事件25。

例1:通讯方法(用串口调试软件)控制PLC的输出:
PLC写入如下程序:比如向PLC发1时,Q0.0亮,发2,那么Q0.1亮,发255,那么从Q0.0到Q0.7都亮,发送0,则都不亮。

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

INT_0:
LD SM0.0
MOVB SMB2, QB0

用串口调试软件向PLC发1时,Q0.0亮,发2,那么Q0.1亮,发255,那么从Q0.0到Q0.7都亮,发送0,则都不亮,你可以试试。
串口调试软件设置:9600波特率,数据位8,停止位1,无奇偶校验。


例2:如果有2个PLC,那么将两个通讯口(PORT0)3 3接,8 8接。如果只有一个PLC,那么用串口调试软件当主站也可以。

主站程序:向从站发送4个字节的数据。
网络1:
LD SM0.1
MOVB 9, SMB30
MOVB 4, VB0
MOVB 1, VB1
MOVB 2, VB2
MOVB 3, VB3
MOVB 4, VB4
网络2:
LD SM0.5
EU
XMT VB0, 0 // 每秒发送一次

从站程序1:
MAIN:OB1
LD SM0.1
MOVB 9, SMB30
ATCH INT0, 8
ENI

INT_0:INT0
LD SM0.0
MOVB SMB2, VB10
ATCH INT1, 8

INT_1:INT1
LD SM0.0
MOVB SMB2, VB11
ATCH INT2, 8

INT_2:INT2
LD SM0.0
MOVB SMB2, VB12
ATCH INT3, 8

INT_3:INT3
LD SM0.0
MOVB SMB2, VB13
ATCH INT0, 8

如果主从站同时启动,或者从站启动比主站启动早,那么VB11=1,VB12=2,VB13=3,VB14=4.
如果主站先发送,那么VB11就不一定是1了,可能是2或3或4。

从站程序2:
MAIN:OB1
LD SM0.1
MOVB 0, VB10
MOVB 9, SMB30
MOVD &VB10, VD80
ATCH INT_0:INT0, 8
ENI

INT_0:INT0
Network 1
LD SM0.0
INCB MB10
MOVB SMB2, *VD80
INCD VD80

Network 2
LDB= MB10, 4
MOVB 0, MB10
-D +4, VD80

这个例子只是比上个例子少了3个中断而已。

从站程序3:
MAIN:OB1
LD SM0.1
MOVB 9, SMB30
ATCH INT0, 8
ENI

INT_0:INT0
Network 1
LDB<> SMB2, 1
CRETI
Network 2
LD SM0.0
MOVB SMB2, VB10
ATCH INT1, 8

INT_1:INT1
LD SM0.0
MOVB SMB2, VB11
ATCH INT2, 8

INT_2:INT2
LD SM0.0
MOVB SMB2, VB12
ATCH INT3, 8

INT_3:INT3
LD SM0.0
MOVB SMB2, VB13
ATCH INT0, 8

如果1是起始字符,那么在中断0里加个判断,就不会发生接收数据错位的问题。



针对您的一个例子。我做了实验。结果和您说的不一样!
当发送0-9之间的数时候,q0.5,q0.5都是常亮的。同时由q0.0-0.3组合亮所发送的数字。
如:发送1,q0.0,亮;2,q0.1亮,3,q0.0,0.1都亮,4,q0.2亮……大概是这四位用二进制方法来表达了发送数。具体什么原因我还没有参透。似乎是有规律的!
I am a freshman for plc!could you help me?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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