STEC2000 二次开发环境说明书
时间:2025-07-07
时间:2025-07-07
STEC2000 二次开发环境说明书
硕人时代
STEC2000
控制器
用户手册
二次开发环境说明书
STEC2000 二次开发环境说明书
STEC2000二次开发环境说明书
概述
STEC 控制器的二次开发通过高效、灵活的脚本语言——SRScript来实现。 SRScript是硕人科技开放给控制工程师和二次开发用户的专用脚本语言,具有严谨的语法及规则解释,提供了从界面显示到控制状态等多种功能强大的函数及命令接口,并支持同时在实时或非实时状态下运行。使用SRScript,用户可以简单、快速的实现按自己的需求对控制器的功能进行定义。
SRScript同时也提供了强大的调试环境,开发人员可以方便的对自己的程序进行调试。
阅读对象
该说明书为控制工程师二次开发时的函数速查手册; 同时也是工程师系统了解STEC控制器二次开发支持的手册。
运行机制
SRScript 程序从运行状态上可分两类:实时脚本和非实时脚本。在控制器软件系统启动后,实时控制脚本先运行,之后非实时脚本开始运行。
下图为SRScript运行机制示意图:
STEC2000 二次开发环境说明书
² 实时脚本:分为实时控制脚本程序和虚拟通道脚本程序。
l 实时控制脚本程序在每个控制周期(STEC2000标准控制周期为200ms)
中都会被执行一次,且执行时不会被中断。因此在此脚本中实现控制器的实时性要求较高的控制策略,例如随AI/DI输入量的瞬时变化来设置AO/DO的输出值。
l 虚拟通道脚本中的输入量,如虚拟AI、DI,在控制器软件系统取虚拟通
道值时被调用,脚本程序的最后一条语句值为本虚拟通道值(返回值),执行过程也不会被中断。
l 虚拟通道脚本中的输出量,如虚拟AO,DO,在此通道输出最置值,包
括系统置值和脚本函数置值,时最调用。调用时,内置脚本变量param会被置为所设参数值。
注意:每个控制器中只能存在一个实时控制脚本程序,但可以随系统中配置
的虚拟通道数而拥有多个虚拟通道脚本程序。
² 非实时脚本:在STEC监控画面相关程序运行时被不断重复执行。可以在此脚
本程序中实现监控画面表现、人机界面交互功能和对实时性要求不高的控制策略。
脚本说明
以下内容是SRScript的详细介绍,由于非实时脚本与实时脚本在功能上及运行状态都有所不同,所以在语法上也有区别,我们对不同之处将会分别说明。
非实时、实时相同部分
常量:
脚本中支持数字常量,支持科学记数法。数字常量在内部全部作为浮点数来处理,1对应布尔型的“真”,0对应“假”。 例:以下均为合法的常数: 1.25 1 0.25 1e5
STEC2000 二次开发环境说明书
保留字:
SRScript中的保留字是指在任何脚本程序的任何地方都可以直接引用的一些特殊变量名,它对应一些常用的固定值或者是当前系统相关的变化值,如时间信息等。在命名其它变量时不能再使用保留字。SRScript中支持的保留字如下:
e 或 E:自然指数值 pi 或PI:圆周率
ShD : 这是一个内置的紧急状态的脚本变量。会在最初被设定为0。当此变量被设定为大于0.1时,系统会启动在组态环境中的停止过程脚本并停止运行。
例:某工程要求出现紧急故障时将接在AO(5,0)的蒸汽调节阀关闭,并将接在DO 0至6通道上的的泵与阀关闭。 停止过程脚本定义如下:
在实时脚本中当凝水箱水位(接在ai(3,4))过低或二次回水压力过低时,将ShD置为1,则系统会进入紧急停止状态。
STEC2000 二次开发环境说明书
变量:
脚本中变量的命名与其它高级语言基本相同,不支持下划线,必须以字母开头,可包含数字,但长度不能超过10个字符。 例:下面均为合法的变量名: OutdoorT
Supply FlagWarn X1 Y1
变量为大小写敏感;
如 supplyT 和 SupplyT 会被认为是不同的变量。
注意:
变量无需指定类型; 变量名不能与保留字冲突;
实时脚本程序中的变量可在非实时脚本程序中使用,可以认为是同一变量,而实时脚本不能引用非实时脚本的变量。 当非实时脚本执行时遇到不可识别的变量时,其与实时脚本通讯,查询实时脚本中是否有此变量,如果有,则非实时脚本将这一变量作为实时脚本的引用变量。对该变量的操作与一般没有什么不同。这一机制主要用于非实时脚本与实时脚本的通讯。例如:实现根据用户输入的值,修改供水温度设定值: TSet 是实时脚本中供水温度设定值,TInput是非实时脚本中用户的输入值。要改变供水温度的设定值,只须下面这条语句即可: TSet = TInput
表达式:
支持标准表达式,运行符函数可嵌套。 算术运算支持 符: +、-、*、/ 关系运算符:>, <, >=, <=
逻辑运算符:! ——非,& ——与, | ——或 其它运算符:(,) 注意:
为了增加实时脚本的高度可靠性,实时脚本不支持等号关系运行符。非实时脚本支持在编写实时脚本时应尽量减少嵌套。 hour*60+minute
0.5 * ai(2,0)/(tin + tout)
等号运算符,参见“非实时脚本专有语法”。 例:下面均为合法的表达式:
STEC2000 二次开 …… 此处隐藏:5413字,全部文档内容请下载后查看。喜欢就下载吧 ……