- {{item.name}}
如何通过TSI获取工艺对象的报警代码及信息
- 0
- 506
- 861
1概述
在配置了StartTechnologicalFaultTask全局响应的情况下,一旦产生工艺对象报警SIMOTION控制器会自动调用TechnologicalFaultTask,执行任务中分配的程序。未决报警的代码及工艺对象触发的报警在此任务中被扫描。通过任务开始信息(TSI),信息可被传到 TechnologicalFaultTask中。可以在TechnologicalFaultTask中添加程序以读取报警代码及信息并将它们传送给高一级控制器以做报警评估,用户也可根据需要编写报警处理的相关程序。
注意:如果在TechnologicalFaultTask中未添加任何程序,任务被报警调用后会造成CPU进入停机模式。
在TechnologicalFaultTask 中,可传送下述参数,以用于报警评估:
· TSI#startTime → 报警被触发的时间
· TSI#alarmNumber → 报警代码
· TSI#toInst → 触发报警的工艺对象名称(如:Axis_1)。
2 TSI介绍
TSI是Task Start Information的缩写,当由于工艺对象报警时系统会触发TechnologicalFaultTask任务,在此任务中编程可以得到相关的任务开始信息,如哪个工艺对象在什么时间报警代码是多少等,可得到TSI的详细说明如下表所示:
TSI | 数据类型 | 说明 |
TSI#startTime | DT | 任务开始的时间 |
TSI#currentTaskId | StructTaskId | 任务的TaskId |
TSI#cycleTime | TIME | 任务配置的循环时间(= 0, 由于任务是顺序执行的) |
TSI#dwuser_1 | DWORD | 内部预留 |
TSI#dwuser_2 | DWORD | 内部预留 |
TSI#alarmNumber | DINT | 触发报警的代码 (见SIMOTION Alarms Diagnostics 手册中的描述)在报警信息中的参数输出在 TSI#alarmP1_DINT 到TSI#alarmP5_LREAL中 (如. TSI#alarmP3_UDINT 表示参数3,数据类型为 UDINT). |
TSI#toInst | ANYOBJECT | 产生错误的TO 背景数据,可用AnyObject_to_Object功能块进行转换。 |
TSI#commandId.low | UDINT | 触发命令的Commandld (低位) |
TSI#commandId.high | UDINT | 触发命令的Commandld (高位) |
TSI#alarmP1_DINTTSI#alarmP1_UDINTTSI#alarmP1_LREAL | DINTUDINTLREAL | %A : 数据类型的缩写%d: DINT%X: UDINT%lf : LREAL示例: /3/%X表示参数 3 数据类型为 UDINT 。 |
TSI#alarmP2_DINTTSI#alarmP2_UDINTTSI#alarmP2_LREAL | DINTUDINTLREAL | |
TSI#alarmP3_DINTTSI#alarmP3_UDINTTSI#alarmP3_LREAL | DINTUDINTLREAL | |
TSI#alarmP4_DINTTSI#alarmP4_UDINTTSI#alarmP4_LREAL | DINTUDINTLREAL | |
TSI#alarmP5_DINTTSI#alarmP5_UDINTTSI#alarmP5_LREAL | DINTUDINTLREAL |
3编程示例
3.1 将工艺报警信息保存至数组中
下述程序将出现的工艺报警信息的报警代码、触发时间及工艺对象名称存入“gasAlarmList”中,将之前存贮的报警信息在数组中向上移动,当前报警信息存入数组gasAlarmList[0]中。
INTERFACE
PROGRAM PROGTechFault;
// ----------- Device Global Constants -------------------------------
VAR_GLOBAL CONSTANT
giMAX_NR_OF_ALARM_LIST :INT := 15; //Maximum element in alarm list
END_VAR
// ----------- Types -------------------------------------------------
TYPE
StructAlarm : STRUCT
iAlarmNumber : DINT; // Alarmnumber
dtStartTime : DT; //
sObject : ANYOBJECT;
END_STRUCT;
END_TYPE
// ----------- Device Global Variables -------------------------------
VAR_GLOBAL
giTechFaultCounter : INT; // counts all technological errors
// FIFO with Alarm informations
gasAlarmList : ARRAY[0..giMAX_NR_OF_ALARM_LIST] OF StructAlarm;
END_VAR
END_INTERFACE
IMPLEMENTATION
PROGRAM PROGTechFault
VAR
iHelp : INT;
iToType : INT;
iAlarmNumber : INT;
END_VAR
// shift alarm list ----------------------------------------------
iHelp := giMAX_NR_OF_ALARM_LIST;
REPEAT
gasAlarmList[iHelp] := gasAlarmList[iHelp-1];
iHelp := iHelp - 1;
UNTIL iHelp = 0 END_REPEAT;
// insert new alarm in list --------------------------------------
gasAlarmList[0].iAlarmNumber := TSI#AlarmNumber;
gasAlarmList[0].dtStartTime := TSI#StartTime;
gasAlarmList[0].sObject := TSI#toInst;
END_PROGRAM
END_IMPLEMENTATION
3.2 将Axis_1的每次报警30002进行计数
将Axis_1的每次报警30002进行计数,并且自动确认此报警信息。
INTERFACE
USEPACKAGE CAM;
PROGRAM TO_AlarmProg;
END_INTERFACE
IMPLEMENTATION
PROGRAM TO_AlarmProg
VAR
s_i_Count : INT;
s_i_RetVal: DINT;
END_VAR;
IF (TSI#alarmNumber = 30002) AND (TSI#toInst = Axis_1) THEN
s_i_Count:= s_i_Count + 1;
// Acknowledge specific TO alarm
s_i_RetVal := _resetAxisError(axis:=Axis_1,
errorResetMode:=SPECIFIC_ERROR,
errorNumber:=30002);
END_IF;
END_PROGRAM
END_IMPLEMENTATION
如果您对该文档有任何建议,请将您的宝贵建议提交至下载中心留言板。
该文档的文档编号:F1006
附录-推荐网址
驱动技术
西门子(中国)有限公司
工业业务领域客户服务与支持中心
网站首页:www.4008104288.com.cn
驱动技术下载中心:http://www.ad.siemens.com.cn/download/DocList.aspx?TypeId=0&CatFirst=85
驱动技术全球技术资源:http://support.automation.siemens.com/CN/view/zh/10803928/130000
“找答案”驱动技术版区:http://www.ad.siemens.com.cn/service/answer/category.asp?cid=1038
注意事项
应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。应用示例不表示客户的具体解决方案。它们仅对典型应用提供支持。用户负责确保所述产品的正确使用。这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。当使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。我们保留随时修改这些应用示例的权利,恕不另行通知。如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。
声明
我们已核对过本手册的内容与所描述的硬件和软件相符。由于差错难以完全避免,我们不能保证完全一致。我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。欢迎您提出宝贵意见。
版权© 西门子(中国)有限公司2001-2013 版权保留
复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。侵权者将承担权利人的全部损失。权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。
西门子(中国)有限公司
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 如何在HMI上显示Simotion 工艺对象的报警信息
- 如何在SIMOTION程序中读写工艺对象的配置数据
- S7-1500(T)通过工艺对象连接 S200实现位置控制(使用GSD文件)
- S7-1500(T)通过工艺对象连接 S200实现位置控制(使用Startdrive 文件)
- S7-300/400 热电偶的接线及信号处理
- SIMOTION 工艺对象 Alarm 配置
- 在轴工艺对象中使能 "MC_Power"之前需要满足哪些条件?
- S7-1500 PLC连接SINAMICS S200组态工艺对象时参数设置注意事项
- SIMATIC S7-1500(T) 的工艺对象
- 怎样同时复位S120中不同驱动对象的所有故障
{{item.nickName}}