SFC 68 具体参数定义
刘玉蓉
发布于2014-10-14 17:52
396
0
标签:
300 与 200 MPI 通讯 调用SFC 68
CALL "X_PUT" //SFC68
REQ :=M0.0
CONT :=M0.5
DEST_ID :=W#16#4
VAR_ADDR:=P#Q0.0 BYTE1
SD :=P#DB50.DBX0.0 BYTE 1
RET_VAL :=MW3
BUSY :=M0.6
NOP 0
300里面已经将 16#1111 写到DB50.DBD0
现遇到问题:
1 , REQ :=M0.0 当我在300里面设置M0.0为常闭时,当300重新热启动那一下能看到200的Q0.0-Q-0.7输出指示灯亮,但是过后就不亮了。
若将M0.0 用 定时器 将其定义为 5S 为 1 5S 为 0 时 就连 重新热启动那一下也 不能见到200的Q0.0-Q-0.7输出指示灯亮了。
请问 这个REQ的参数该怎么设置?
2,CONT :=M0.5 这个参数怎么设置?起什么作用的?
3,RET_VAL :=MW3 有时为16# 7000 有时候为16#7002 有时候为- (我的CPU 为 313C ,只有1个MPI口,所以在监测RET_VAL 的时候没有与200连上线)
BUSY :=M0.6 当 REQ =1 的时候它就为1,REQ =0的时候它就为0
现在请 帮我解答我上面遇到的问题 出在哪里?拨特率设置是一致的,200的MPI地址也设为了4 。
佳答案
通过SFC 68 "X_PUT"将数据写入本地S7 站以外的通讯伙伴:
1、请问 这个REQ的参数该怎么设置?
REQ:控制参数“请求激活”。
输入参数REQ:
输入参数REQ(请求激活)是电平触发控制参数。其用于触发作业(数据传送或连接
中止):
? 如果为当前没有激活的作业调用SFC,则通过REQ=1来触发该作业。如果当第
一次调用通讯SFC时,没有到通讯伙伴的连接,则在数据传送开始之前首先建立
连接。
? 如果触发一个作业,并且当为同样的作业重新调用SFC时该作业还没有结束,
则SFC不能使用REQ。
2、CONT :=M0.5 这个参数怎么设置?起什么作用的?
CONT:控制参数“继续”;当=M0.5为0或1时,见下述:
输入参数CONT:
输入参数CONT(继续)是一个控制参数。通过此参数可以决定:作业结束之后是否保
持建立与通讯伙伴的连接。
? 如果在次调用时选择CONT=0,则在数据传送结束之后将再次终止连接。
然后,连接可重新用于与新通讯伙伴进行数据交换。
这种方法确保了只在实际使用时才占用连接资源。
? 如果在次调用时选择CONT=1,则在数据传送结束时保持建立连接。
这种方法用于,例如,在两个站之间循环地交换数据。
3、有关RET_VAL :
如果在函数执行时出错,则返回值包含相应出错信息。
有时为16# 7000: 初始调用;未传送活动数据记录
有时候为16#7002:中间调用;已激活数据记录传送
详见下述文档中8-10与19-10的相关章节:
<S7-300400的系统软件和标准功能>下载:
https://www2.ad.siemens.com.cn/download/Upload/AS/manual/1023.pdf