S7-200自由口通讯和PPI互相切换如何实现? 点击:2464 | 回复:5



ynwll

    
  • 精华:1帖
  • 求助:3帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:143
  • 注册:2011年11月23日
发表于:2013-11-15 14:14:58
楼主

没有怎么接触PLC,一直是写上位机程序,现在做个程序,要求是输入I0.0手动情况按钮在PLC里输入输出,输入I0.1情况进行自由口通讯,和上位机说话,我上位机程序给输出,可以这么做么,谢谢




zmy527326309

  • 精华:0帖
  • 求助:16帖
  • 帖子:35帖 | 367回
  • 年度积分:75
  • 历史总积分:6241
  • 注册:2012年8月28日
发表于:2013-11-15 17:32:10
1楼

如果是要通过程序在自由口通讯和PPI通讯之间切换  可以对sm0.7位进行更改

ynwll

  • 精华:1帖
  • 求助:3帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:143
  • 注册:2011年11月23日
发表于:2013-11-15 20:33:43
2楼

回复内容:

对: zmy527326309 如果是要通过程序在自由口通讯和PPI通讯之间切换  可... 内容的回复!


SM0.7不是只读么,怎么更改, 还是说在TERM位置上就可以改SM0.7以达到自由口和正常控制的切换了,望告知,谢谢

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2013-11-15 20:49:23
3楼

使用自由端口模式控制串行通讯口
通过编程,您可以选择自由端口模式来控制S7--200的串行通讯口。当选择了自由端口模式,用户程
序通过使用接收中断、发送中断、发送指令和接收指令来控制通讯口的操作。当处于自由端口模式
时,通讯协议完全由梯形图程序控制。SMB30 (对于端口0)和SMB130(对于端口1,如果您的
S7-200有两个端口的话)被用于选择波特率和校验类型。
当S7--200处于STOP模式时,自由端口模式被禁止,重新建立正常的通讯(例如:编程设备的访问)。
在最简单的情况下,可以只用发送指令(XMT)向打印机或者显示器发送消息。其他例子包括与条码阅
读器、称重计和焊机的连接。在每种情况下,您都必须编写程序,来支持在自由端口模式下与
S7--200通讯的设备所使用的协议。
只有当S7--200处于RUN模式时,才能进行自由端口通讯。要使能自由端口模式,应该在SMB30
(端口0)或者SMB130 (端口1)的协议选择区中设置01。处于自由端口通讯模式时,不能与编程设备
通讯。
提示
可以使用特殊寄存器位SM0.7来控制自由端口模式。SM0.7反映的是操作模式开关的当前位置。当
SM0.7等于0时,开关处于TERM位置;当SM0.7=1时,操作模式开关位于RUN位置。如果只有模
式开关处于RUN位置时,才允许自由端口模式,您可以将开关改变到其他位置上,使用编程设备监
控S7--200的运行。

将PPI通讯转变为自由端口模式
SMB30和SMB130分别配置通讯口0和通讯口1,并且为自由端口操作提供波特率、校验和数据位数
的选择。自由端口的控制字节如图6--8所示。每一个配置都产生一个停止位。
7
MSB LSB
p p d b b b m m
0
pp: 奇偶校验选择
00 = 无奇偶校验
01 = 偶校验
10 = 无奇偶校验
11 = 奇校验
d: 每个字符的数据位
0 = 每个字符8位
1 = 每个字符7位
bbb:自由端口波特率
000 = 38,400
001 = 19,200
010 = 9,600
011 = 4,800
100 = 2,400
101 = 1,200
110 = 115.2 k1
111 = 57.6 k1
mm:协议选择
00 = PPI/从站模式
01 = 自由端口协议
10 = PPI/主站模式
11 = 保留(缺省时为PPI/从站模式)
SMB30 = 端口0
SMB130 = 端口1
1 需要S7-200 CPU
版本1.2或更高
图6--8 用于自由端口模式的SM控制字节(SMB30或SMB130)

 

以上是从200的系统手册上抄的,供参考

 

邵-王者之师

  • 精华:1帖
  • 求助:39帖
  • 帖子:81帖 | 861回
  • 年度积分:0
  • 历史总积分:2844
  • 注册:2011年3月24日
发表于:2013-11-15 21:15:09
4楼

楼主是不是要在PLC总是运行情况下实现PPI和自由口相互切换?

如果是小弟洗完澡回来尝试一下写程序

toby161

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 93回
  • 年度积分:0
  • 历史总积分:136
  • 注册:2005年7月17日
发表于:2013-12-18 16:21:39
5楼

mm:协议选择
00 = PPI/从站模式
01 = 自由端口协议
10 = PPI/主站模式
11 = 保留(缺省时为PPI/从站模式)

只要把mm 从01改为00就是PPI 通讯再把00再改为01就是自由通讯了。


热门招聘
相关主题

官方公众号

智造工程师