plc 自由口通信 点击:1555 | 回复:17



canyueweizhui

    
  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 10:12:30
楼主

s7-200 smart型号的西门子plc怎么做到在自由口通信处于接收转态时,强制发送数据。求各位大神指点一下思路!




零下十七度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 52回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2012年11月29日
发表于:2016-06-06 11:50:57
1楼

如果你启用了完全接收中断和发送完成中断的话,当发送数据,从站地址不存在时,PLC就一直处于接收状态,SMB86一直等于0,此时,怎么都断不开接收状态的。PLC重新上电才可以。你可以用字符接收中断8做接收程序,这样就避免以上的情况,只不过这种办法在接收过来的数据处理时麻烦点

canyueweizhui

  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 11:54:08
2楼

回复内容:

对: 零下十七度 如果你启用了完全接收中断和发送完成中断的话,当发送数据... 内容的回复!

 不能用MOV指令将SMB86的数据改成16#80来解决吗?

零下十七度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 52回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2012年11月29日
发表于:2016-06-06 11:58:50
3楼

回复内容:

对:canyueweizhui 回复内容:对: 零下十七度 如果你启用了完全接收中断和发送完成中断的话,当发送数据... 内容的回复! 不能用MOV指令将SMB86的数据改成16#80来解决吗?     内容的回复:

SMB86只能读不能写,它是一个状态字节,反映通讯的状态

canyueweizhui

  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 12:02:01
4楼

回复内容:

对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复!

 哦,我编了中断程序了,但是有时候发送的指令没有接受到数据,我就不能再发送数据吗?

我想使plc做主机,做到需要发送命令是随时都可以发送数据。

零下十七度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 52回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2012年11月29日
发表于:2016-06-06 12:16:35
5楼

回复内容:

对:canyueweizhui 回复内容:对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复! 哦,我编了中断程序了,但是有时候发送的指令没有接受到数据,我就不能再发送数据吗?我想使plc做主机,做到需要发送命令是随时都可以发送数据。     内容的回复:

是PLC只和一个仪表通讯?

canyueweizhui

  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 12:22:17
6楼

回复内容:

对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复!

 恩,plc通过专用适配器和百分表通信,因为有时候发送的是清零指令,是没有反馈的,所以想做到需要发送的时候就可以发送

零下十七度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 52回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2012年11月29日
发表于:2016-06-06 12:28:48
7楼

回复内容:

对:canyueweizhui 回复内容:对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复! 恩,plc通过专用适配器和百分表通信,因为有时候发送的是清零指令,是没有反馈的,所以想做到需要发送的时候就可以发送     内容的回复:

我不知道你的PLC和百分表除了清零数据之外(写操作),有没有读取百分表数据的(读操作))。如果既有读又有写,你可以在发送清零数据指令的同时断开接收指令

canyueweizhui

  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 12:32:04
8楼

回复内容:

对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复!

 这个思路好,发送清零指令断开中断,发送读指令开启中断

零下十七度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 52回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2012年11月29日
发表于:2016-06-06 12:32:28
9楼

回复内容:

对:零下十七度 回复内容:对:canyueweizhui 回复内容:对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复! 恩,plc通过专用适配器和百分表通信,因为有时候发送的是清零指令,是没有反馈的,所以想做到需要发送的时候就可以发送     内容的回复:我不知道你的PLC和百分表除了清零数据之外(写操作),有没有读取百分表数据的(读操作))。如果既有读又有写,你可以在发送清零数据指令的同时断开接收指令     内容的回复:

只一个仪表通讯直接用发送完成中断9和接收完成中断23做,多个仪表通讯时建议用接收字符中断8做

canyueweizhui

  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 15:26:27
10楼

回复内容:

对: 零下十七度 回复内容:对:零下十七度 回复内容:对:canyuew... 内容的回复!

 哥们,我重新看了一下书,发现书上有写:用户终止:用户程序可以通过将SMB87,SMB187的最高位(en位)设置为零的另一条指令来终止接收消息功能,这样可以立即终止接收消息功能。按这种说法应该可以实现停止中断接收的程序吧。

零下十七度

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 52回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2012年11月29日
发表于:2016-06-06 15:38:38
11楼

回复内容:

对:canyueweizhui 回复内容:对: 零下十七度 回复内容:对:零下十七度 回复内容:对:canyuew... 内容的回复! 哥们,我重新看了一下书,发现书上有写:用户终止:用户程序可以通过将SMB87,SMB187的最高位(en位)设置为零的另一条指令来终止接收消息功能,这样可以立即终止接收消息功能。按这种说法应该可以实现停止中断接收的程序吧。     内容的回复:

你试试不就知道了,这个方法我用过,多个仪表通讯时,终止不了的。单个仪表通讯不需要考虑太多的,你可以把程序发上来

canyueweizhui

  • 精华:1帖
  • 求助:6帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2016年4月21日
发表于:2016-06-06 16:44:33
12楼

回复内容:

对: 零下十七度 回复内容:对:canyueweizhui 回复内容:对... 内容的回复!

 我试了,没有用。所以很奇怪。

固执的鱼

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 176回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2016年2月16日
发表于:2016-06-12 11:40:43
13楼

mark.mark.mark.mark.mark.mark.

lpf61600

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2016年6月13日
发表于:2016-06-13 13:32:27
14楼

我只是路过,为了积分前进

lpf61600

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2016年6月13日
发表于:2016-06-13 13:34:08
15楼

我只是路过啊 需要积分需要积分需要积分

sgmme

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2016年6月13日
发表于:2016-06-14 15:22:53
16楼

都是高手呀,这里高手云集,好地方

ntplc2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 375回
  • 年度积分:0
  • 历史总积分:685
  • 注册:2018年5月11日
发表于:2018-08-17 09:54:59
17楼

PLC在自由口处于接收状态强制发送数据这个描述就不正确,  首先强制发送的内容发送完成之后,就处于接收状态了,那就意为着这个程序要一直发送数据出去, 如果就这么来做,只要做一个发送完成中断, 然后中断里面继续发送信息就可以了。



热门招聘
相关主题

官方公众号

智造工程师