问题:如何使用系统函数"ALARM_SQ"和"ALARM_S"生成块特定消息
解答:以下样例描述了如何使用系统函数SFC18生成一个公认的块特定消息
该样例还可以使用系统函数SFC17
样例:使用系统函数SFC18生成一个公认的块特定消息1
向项目中添加一个新的函数模块
创建一个类型为DWORD的输入标签"EV_ID"
在刚刚创建的输入标签"EV_ID"上单击右键并且打开属性
"Properties-Parameters"窗口打开
输入下图所示的两个属性和值
点击"OK"确认输入
现在在函数块中调用系统函数SFC18
向"SIG"输入提供一个BOOL类型标签
注意事项:必须确保只有在消息触发信号"SIG"的值与上一次调用相比为相反时才调用系统函数SFC17/SFC18
否则,可以通过"RET_VAL"来被告知并且不会发出任何消息
在第一次系统函数SFC17/SFC18被调用时,>e>>必须确保SIG输入为“1”
否则将通过"RET_VAL"得到一个错误消息并且不会发出任何消息
对于"ID"参数,必须指定值W#16#EEEE(消息的数据通道)
对于"EV_ID"参数,指定函数块的输入标签"EV_ID"
对于"SD"参数(类型:任何指针),可以定义一个长达12比特的伴随值
注意事项:只允许以下的数据类型:BOOL(位区域不被允许),BYTE,CHAR,WORD,INT,DWORD,DINT,REAL,DATE,TOD,TIME,S5TIME,DATE_AND_TIME,COUNTER和TIMER
如果在系统函数的运行期间发生了一个错误,那么可以通过"RET_VAL"输出一个错误消息
以下图片显示了一个用于互相连接的系统函数SFC18
储存函数块并且切换到SIMATIC管理器
调用函数块,例如组织块OB1中的