脚本—系统函数
shell 常用函数
shell 常用函数
Shell 脚本是一种用于自动化任务和处理系统命令的脚本语言,它具有许多常用的函数,以下是一些常见的 Shell 函数:
1. echo 函数,用于在终端输出文本或变量的值。
2. read 函数,用于从用户输入中读取值并赋给变量。
3. printf 函数,用于格式化输出文本,功能类似于 C 语言中
的 printf 函数。
4. test 函数,用于进行条件测试,比如判断文件是否存在、
两个字符串是否相等等。
5. if-else 函数,用于条件判断,根据条件执行不同的代码块。
6. for 循环函数,用于循环执行一段代码,可以遍历数组或者
执行固定次数的循环。
7. while 循环函数,用于当某个条件满足时循环执行一段代码。
8. case 函数,类似于 switch-case 结构,根据不同的条件执行不同的代码块。
9. 函数定义和调用,Shell 脚本支持自定义函数,可以通过函数名来调用一段封装好的代码。
以上是一些常见的 Shell 函数,它们可以帮助我们在 Shell 脚本中实现各种功能,从简单的输出文本到复杂的逻辑判断和循环操作。
当然,Shell 还有许多其他的函数和特性,可以根据具体的需求来选择合适的函数来完成任务。
希望这些信息能够帮助到你。
3-脚本语言
下面举例说明函数的定义和调用方法(例3-1显示指 定数的阶乘值 ):
<html><head><title>函数简例</title> <script language="JavaScript"> function factor(num) { var i,fact=1; for (i=1;i<num+1;i++) fact=i*fact; return fact; } </script> </head> <body> <p><script> document.write("调用factor函数,5的阶乘等于: ",factor(5),"。"); </script></p> </body></html>
变量的作用域
在函数内声明的变量是局部变量,其作 用域仅局限于该函数,而在函数外用var 保留字声明的变量是全局变量,其作用域 为整个HTML文件,在函数内未用var声明 的变量也是全局变量,其作用域为整个 HTML文件。当函数内以var声明的变量与 全局变量同名时,操作互不影响。
<html><head><title>变量作用域示例</title> <script language="JavaScript"> var i, j=10; //全局变量 function output( ) { var j=0; //局部变量 i=100; //全局变量 j++; j++; document.write(" j=",j); document.write(" i=",i); i++; } </script></head> <body><br><br> <script> document.write("尚未调用函数output(),所以i无定义,不能引用!<br>"); document.write("j的初始值=",j,"<br>"); document.write("调用output(),观察函数的输出!<br>"); output(); document.write("<br>调用output()后,观察函数对i,j的影响:i=",i," j=",j); </script></body></html>
WinCC flexible如何使用VBScript方法
如何使用VBScript WinCC Flexible提纲如何创建报警系统如何使用VBScript如何配方概述组态脚本调试如何配方如何创建报警系统如何使用VBScriptWinCC Flexible如何使用VBScript概述系统函数及其使用脚本及其使用运行脚本的基本信息使用函数列表如何配方如何创建报警系统如何使用VBScriptWinCC Flexible——运行脚本的基本信息WinCC flexible 提供了预定义的系统函数提供了预定义的系统函数,,以用于常规的组态任务任务。
可以用它们在运行系统中完成许多任务可以用它们在运行系统中完成许多任务,,而无需编程技巧。
当然也可以用运行脚本来解决更复杂的问题当然也可以用运行脚本来解决更复杂的问题。
运行脚本具有编程接口编程接口,,可以在运行时访问部分项目数据可以在运行时访问部分项目数据。
运行脚本的使用是针对具有Visual Basic (VB)和Visual Basic Script (VBS)知识的项目设计者的项目设计者的。
概述系统函数的使用如何使用VBScript如何配方如何创建报警系统如何使用VBScriptWinCC Flexible——运行脚本的基本信息概述运行脚本的使用可以从OP 270/TP 270获得运行脚本获得运行脚本,,因此也可从WinCC flexible (标准版)获得获得。
它支持VBScript 编程语言编程语言。
使用运行脚本允许灵活地实现组态允许灵活地实现组态。
在运行时需要额外功能时可以创建运行脚本,例如例如::数值转换可以在不同度量单位之间使用脚本来转换数值可以在不同度量单位之间使用脚本来转换数值,,例如温度例如温度。
生产过程的自动化脚本可以通过将生产数据传送至PLC 控制生产过程控制生产过程。
如果需要,可以使用返回值检查状态和启动相应的措施可以使用返回值检查状态和启动相应的措施。
可以在脚本中保存自己的VB 脚本代码脚本代码。
力控函数
this.curline=this.curline+10;//上滚十行 (总貌画面和数据表)
整型量 只对文本,按钮目标有效 通过它可以动态改变小数位数 取值范围:0~6 this.decimal = 3;//将小数位数置为3位
整型 填充图形对象 目标填充色的初始索引号(索引号在颜色选择框,左上角序号为 0,往下每 行依次加 32) 取值范围:0~255,颜色值即为调色板的颜色索引编号(关于调色板的详尽 信息请参考《力控○R 用户手册》)
对应一种或几种图形对象的某个属性。
属性字段的引用格式为“对象名.字段名”。当在对象脚本中引用对象本身属性字段时,
可以用“this”代表对象本身,即“this.字段名”。
FColor
数值类型
整型量
应用对象
填充图形对象
说明
目标填充色的索引号(索引号在颜色选择框,左上角序号为 0,往下每行依
次加 32)。
前行后,CurLine 的值也跟着改变。
备注
取值范围:0~32767
示例
Decimal
数值类型 应用对象 说明 备注 示例
IfColor
数值类型 应用对象 说明
备注
IlColor
数值类型 应用对象 说明
备注
ItColor
数值类型 应用对象 说明
备注
IX
数值类型 应用对象 说明 备注
lColor
数值类型
整型量 报警、数据表 1)报警对象 表示当前显示的为哪一天报警记录。0:表示当天,1表 示前一天,2表示前两天,等等。 取值范围:报警对象 0~31。 2)数据表对象 用于数据表中,使用它可以以天为单位改变开始时间。 off_day 前后滚动的天数.off_day 增大向前翻滚.off_day 减小向后翻滚。 取值范围:0~3650 例如 this.off_day = this.off_day-1;若现在为8日,off_day 改变后开始 时间将为7日。 取值范围:报警:0~31;历史报表:0~365 例如对于历史报表,若现在为8日:this.off_day = this.off_day-1; off_day 改变后, 历史报表开始时间将为7日
脚本精灵函数说明
目录1 脚本精灵控制条 (7)1.1 改变控制条状态 (7)1.1.1 展开态 (7)1.1.2 缩放态 (8)1.1.3 吸附态 (8)1.2 脚本管理 (9)1.2.1 二进制脚本 (11)1.2.1 明文脚本 (12)1.2.3 导入脚本 (13)1.2.4 退出脚本管理面板 (14)1.3 播放脚本 (14)1.3.1 开始播放 (14)1.3.2 播放一次 (14)1.3.3 循环播放 (15)1.3.4 停止播放 (15)1.4 录制脚本 (15)1.4.1 开始录制 (15)1.4.2 停止录制 (16)1.4.3 保存脚本 (16)1.5 取素材 (16)1.5.1 全屏截图 (16)2 脚本精灵开发工具 (19)2.1 基本介绍 (19)2.1.1 开发工具介绍 (19)2.1.2 各组成部分介绍 (19)2.1.3 二进制脚本结构 (19)2.1.4 明文格式脚本 (20)2.2 工程管理 (20)2.2.2 删除工程 (21)2.2.3 脚本编辑 (21)2.2.4 图片路径 (21)2.3 远程设备管理 (21)2.3.1 远程导入脚本 (22)2.3.2 远程屏幕 (22)2.3.3 远程截图 (22)2.3.4 远程取色 (23)2.3.5 远程取坐标 (23)2.4 脚本编辑器 (23)2.4.1 关键字高亮 (23)2.4.2 脚本检错 (24)2.4.3 编译脚本 (24)3 脚本语言 (25)4 脚本精灵库函数 (27)4.1 基本函数 (27)4.1.1 触摸点击 (27)4.1.2 触摸按下 (27)4.1.3 触摸弹起 (28)4.1.4 触摸滑动 (29)4.1.5 输入文本 (30)4.1.6 模拟按键 (31)4.1.7 获取颜色 (31)4.1.8 普通寻色 (32)4.1.9 模糊寻色 (33)4.1.10 RGB颜色合成 (34)4.1.11 获取颜色RGB (35)4.1.12 判断颜色 (36)4.1.13 精确寻图 (37)4.1.14 点击图片 (38)4.1.15 范围寻图 (39)4.1.16 模糊寻图 (40)4.1.17 范围模糊寻图 (41)4.1.18 不规则寻图 (43)4.1.19 范围不规则寻图 (44)4.1.24 获取屏幕色位 (49)4.1.25 弹出文本提示 (50)4.1.26 震动 (51)4.1.27 记录日志 (51)4.1.28 记录错误日志 (52)4.1.29 查找某应用是否安装 (53)4.1.30 判断某应用是否正在运行 (54)4.1.31 启动指定应用 (55)4.1.32 结束一个应用 (56)4.1.33 退出当前脚本 (56)4.1.34 获取SD卡路径 (57)4.1.35 截图到文件 (58)4.1.36 拷贝文本到剪切板 (59)4.1.37 暂停指定应用 (60)4.1.38 恢复指定应用的运行 (60)4.2 高级函数 (61)4.2.1 获取设备UDID唯一串 (61)4.2.2 获取网卡MAC (62)4.2.3 获取蓝牙设备MAC (63)4.2.4 获取IMEI (64)4.2.5 获取设备信息串 (65)4.2.9 随机触摸滑动 (70)4.2.10 http访问 (71)4.3 兼容模式相关函数 (71)4.3.1 强制设置兼容模式 (72)4.3.2 判断当前模式 (72)4.3.3 设置自定义截屏 (74)4.3.4 截取屏幕 (74)5 使用技巧 (77)5.1 如何模拟触摸操作 (77)5.2 如何寻图 (77)5.3 如何找色 (78)5.4 如何记录日志 (78)5.5 开发平台如何与手机建立连接 (78)5.6 如何进行远程调试 (78)5.7 如何输入中文文本 (79)5.8 脚本优化原则 (79)5.9 处理意外逻辑 (79)6 附录 (82)6.1 虚拟键对照表 (82)7 UI说明 (84)7.1脚本结构 (84)7.6创建文本编辑框 (87)7.7创建复选框 (88)7.8创建单选框 (88)7.9创建按钮 (89)7.10 UI换行 (90)7.11创建扩展窗口 (90)7.12在扩展窗口中创建控件 (90)7.13动态设置UI文本 (91)7.14动态获取UI文本 (92)7.15动态设置选中 (92)7.16动态获取选择状态 (92)7.17设置是否显示循环播放设置UI (93)8、获取配置项 (94)1 脚本精灵控制条为方便使用,脚本精灵所有的功能都集中在控制条上,控制条可任意拖动,缩小,吸附。
脚本—系统函数
2.1 系统函数ActiveApp语法 ActiveApp(AppID)。
说明把AppID所指定的程序所在的窗口置到前面,并且该窗口将获得输入焦点,即该窗口将接收键盘输入。
参数 AppID为应用程序标识,类型为整型,为由StartApp函数得到的返回值。
示例 ActiveApp(AppID)AlmAck语法AlmAck()说明当前最新报警确认,当前最新报警显示在系统报警窗右侧。
要显示系统报警。
窗,首先要选中系统参数中系统报警检查框。
示例AlmAck()AlmAckAll语法AlmAckAll(DataSourceNo, AreaNo)。
说明对数据库中某一区域报警进行确认。
DataSourceNo 数据源序号,序号从0开始。
AreaNo指定区域号,-1表示所有区域。
示例AlmAckAll(0,-1)//对整个数据库报警进行确认。
AlmLogTimeSet语法AlmLogTimeSet (StartTime)说明报警历史记录或历史报表开始时间设置。
参数StartTime: 报警历史记录或历史报表开始时间,类型为数值型常量、变量或数值型表达式。
该数值为自1970年1月1日零时逝去的秒数。
示例#almlog.AlmLogTimeSet ($CurTime - 7200);// 报警历史记录开始时间设为前2小时。
//almlog为报警历史记录对象名称。
#almlog.AlmLogTimeSet (LongTime(“2002/1/8 16:50:00”));提示:开始时间可以通过时间控件得到。
Beep语法beep(number)说明蜂鸣器发出叫声。
参数参数number用于指定不同的蜂鸣器响声。
-1,0:为两种报警声。
1~7对应乐谱的中音1至7。
8~14对应乐谱的高音1至7。
示例beep(-1);//标准报警声。
ChangeGroup语法ChangeGroup(GroupNumber)说明该函数用于实时趋势、历史趋势模板中的变量成组替换,替换量一般为数据库变量。
MCGS组态软件课件-第4章
3-2 对象特性实验
通过改变水箱、水泵、出水阀的特性,并进行设定值和负荷扰动实验, 观察并分析不同对象特性状况下的调节过程变化。 (1) 改变水泵的特性(惯性时间和增益) (2) 改变出水阀特性(截面积) (3) 改变水箱特性(水箱面积)
17
脚本程序语言要素
•2 变量、常量及系统函数
–变量:脚本程序中,用户不能定义子程序和子函数,其 中数据对象可以看作是脚本程序中的全局变量,在所有 的程序段共用。可以用数据对象的名称来读写数据对象 的值,也可以对数据对象的属性进行操作。 –常量:
•开关型常量:0或非0的整数,通常0表示关,非0表示开; •数值型常量:带小数点或不带小数点的数值,如:12.45, 100 •字符型常量:双引号内的字符串,如:“OK”,“正常”
注意:建立模型时需要注意量纲的转换,否则可能得不到正 确的仿真结果。
28
水箱液位PID控制
2. 控制系统构成方案
水箱液位控制采用单回路PID,被控量为水箱液位,控制量为水泵输入 电压。单回路控制器的输出范围为0到10V(对应于水泵的控制输入电 压)。由一个开关控制输入电压以实现水泵的启停。
3. 调试项目制定 3-1 扰动实验
•5 注释语句
– 以单引号“ ’ ”开头的语句为注释语句,注释 语句在脚本程序中只起到注释说明的作用,实际 运行时,系统不对注释语句作任何处理。
24
4.3 脚本程序实例
水箱液位PID控制
25
水箱液位PID控制
•单容水箱液位的单回路控制问题
1.分析并建立对象模型 1-1 水箱高度1m,截面积A1 为60cm2,水通过泵进入 水箱,进入水箱的流量由 水泵决定,水泵的控制电 压输入范围为0-10V,水 泵出水量与控制电压之间 的传递函数为:
脚本详解
一、啥叫脚本呢?其实就是一段代码,作用就是:这些代码通过你的浏览器来鼓捣一下你的机器。
这样,你就能通过点一下鼠标就可以发点欢迎词、发点情话啥地了。
二、怎么在聊天室放脚本呢?<script src=您的脚本存放地址></script>把这段代码放你右下角链接里就可以了。
三、你浏览器咋会知道你放脚本了呢?因为每段脚本务都放在<script>和</script>之间了。
一见到<script>字样,浏览器就会当成脚本来分析了。
纯属浏览器的条件反射之一。
四、我从寒江脚本里学到啥了?1、定义一个变量:var a=1 的意思就是:定义一个变量a,并给a赋值为12、为啥要定义变量呢?这话说的,干活不用人哪行啊?其实定义变量就是事先找几个人来,留着以后派给任务。
3、定义一个数组变量var a_name_filter = new Array(。
);其实数组变量也是相当于找人,只不过这个人可以干好几样活而已(属于能人类型的)。
4、定义功能函数function a(){}这相当于各项任务。
事先定义的变量一般会在这里体现出来。
当你在脚本里写上a()之后,浏览器就会条件反射了(执行a功能函数中的语句)。
五、脚本的说明文字啥东西都得有个说明书不是,脚本也得有呀,而且这个说明书最好要写在代码里(要不过后自己都看不明白了,多丢人啊。
)那么怎么写说明呢?1、某行代码的说明可以放在此行代码的最后面,在行尾打上//然后再写入文字说明就可以了。
例如:var room_name="悠悠柠檬情"; //聊天室名字2、如果文字太多,一行写不下那咋办啊?在此特殊说明一下,其实尽管代码一般都是英文字符,但说明文字绝对可以兼容现代汉语以及文言文的,(←废话)如果是多行说明文字,可以这样写//---------------------------------------------//孤鹤脚本0.9999版just for my Love////失去,也是一种笃定。
力控学习参考-第三章-脚本函数
396第三章脚本函数脚本函数由力控预先定义,可在界面系统中的动作脚本和动画连接中引用。
目前提供的脚本函数类包括:系统、数学、配方、SQL查询、设备操作、字符串操作、Window控件、内置数据表、其他类函数。
“系统”类和“其它”类包含数据转换、文件操作、系统功能调用、对象操作等功能函数。
“数学”类包含一组常用数学运算函数;“配方”类包含一组用于控制配方管理器的函数;“SQL查询”类包含一组用于实现SQL访问功能的函数;“设备操作”类包含一组实现计算机I/O读写操作的函数;“字符串操作”类包含一组对字符串进行操作的函数。
“Windows控件”类包含一组对力控Windows控件对象(如表格,下拉框等)进行操作的函数。
“内置数据表”类包含一组对内置数据表进行操作的函数。
1、系统函数AlmAck语法AlmAck()说明当前最新报警确认,当前最新报警显示在系统报警窗右侧。
要显示系统报警窗,首先要选中系统参数中系统报警检查框。
参数返回值备注示例AlmAck();AlmAckAll语法AlmAckAll(DataSourceNo,AreaNo)说明对数据库中某一区域报警进行确认。
DataSourceNo数据源号,类型为整型,序号从0开始。
AreaNo指定区域号,-1表示所有区域。
参数返回值备注示例AlmAckAll(0,-1);//对整个数据库报警进行确第三章脚本函数397认。
Beep语法beep(number)说明蜂鸣器发出叫声。
参数参数number用于指定不同的音响。
-1,0:为两种报警声。
1~7对应乐谱的中音1至7。
8~14对应乐谱的高音1至7。
返回值备注示例beep(-1); //标准报警声。
ChangeGroup语法ChangeGroup(GroupNumber)说明该函数用于历史趋势、实时趋势、模板中的变量成组替换,替换量一般为DB变量。
参数为数值常量或数值表达式,该参数的值表示变量组的组号。
返回值备注对于模板对象,只是替换位号名,参数部份保留不变。
18.6 系统内置脚本函数介绍_西门子PLC与InTouch综合应用_[共8页]
║西门子PLC与InTouch综合应用4844.控制异步脚本可以使用IsAnyAsyncFunctionBusy()函数来确定有没有异步 QuickFunction 正在运行。
此函数的有效语法是:DiscreteTag = IsAnyAsyncFunctionBusy(timeout);其中,DiscreteTag 是一个离散类型标记名,给它返回的值如下所述。
如果函数发生超时,则等候所有正在执行的 QuickFunction 完成,并将1(TRUE)返回给 DiscreteTag。
如果没有异步 QuickFunction 正在运行,则立即返回0(FALSE),否则 QuickFunction 将等待发生超时。
如果发生超时后没有异步 QuickFunction 在运行,则它也会返回0。
timeout 是一个表示等待秒数的整型值,用于确定是否有任何异步 QuickFunction 正在运行。
通过使用此函数,可以让调用异步 QuickFunction 的 QuickScript 等待所有其他异步QuickFunction 先完成处理。
这样该 QuickScript 便能自我重新同步。
例如,假设要使用异步 QuickFunction 连接多个 SQL 数据库,并且知道需要2min才能建立这些连接,首先,需要执行异步 QuickFunction来连接SQL数据库;接着,将启动函数IsAnyAsynchFunctionBusy(120),让SQL有足够时间在该 QuickFunction完成之前建立这些连接。
不过,如果在 2min之后这些连接仍未建立,且异步 QuickFunctions 仍忙于建立连接,则函数 IsAnyAsynchFunctionBusy() 会返回1(TRUE)。
可以显示一则错误信息,告诉操作员 SQL 连接失败。
18.6 系统内置脚本函数介绍1.字符串函数字符串函数用于字符串变量,各个字符串函数如表18-9所示。
Shell函数——系统函数、自定义函数
Shell函数——系统函数、⾃定义函数系统函数
1、基本语法
basename [ string / pathname ] [suffix]
(功能叙述:basename命令会删掉所有的前缀包括最后⼀个('/')字符,然后讲字符串显⽰出来
选项:
suffix 为后缀,如果suffix被制定类,basename会将pathname或string中的suffix去掉
dirname ⽂件绝对路径
(功能描述:从给定的包含绝对路径的⽂件名中去除⽂件名,返回剩下的路径)
2、实例实操
(1)为了从路径中截取出⽂件名
(2)为了从路径中去除⽂件名,得到⽬录路径
⾃定义函数
1、基本语法
[ function ] funname[()]
{
Action;
[return int;]
}
funname
2、经验技巧
(1)必须在调⽤函数地⽅之前,先声明函数,shell脚本是逐⾏运⾏。
不会像其他语⾳那样先编译。
(2)函数返回值,只能通过$?系统变量获得,可以显式加:return 返回,如果不加,讲最后⼀条命令运⾏结果,作为返回值,return 后跟数值n(0-255)
3、实例实操
(1)计算两个输⼊参数的和。
系统函数(网络函数)H(S)
s 3E s Rzs s 2
s
3s 2
零输入响应为:
rzi (t ) 4 e t 3 e2t
t 0
( t 0)
即零状态响应为:
rzs ( t ) 0.5 e 2 t 2 e t 1.5
稳态响应/暂态响应,自由响应/强迫响应
U C ( s) I L ( s) 1 H 2 (s) 2 X ( s) X ( s)( R2 sL) s 2s 2
例:
I 2 ( s) 求下图所示电路的转移 导纳函数Y21 ( s ) 。 1 V1 ( s )
I 3 s
V1 s
1 s 1 s
1
第 7 页
s 2 2s 1 s2
12 s 2 2s 1 Y21 2 s 5s 2 为矩阵的行列式 , 称为网络的特征方程式 ,
反映了H s 的特性。
§4.7 由系统函数零、极点分布决 定时域特性
一.序言
冲激响应h(t)与系统函数H(s) 从时域和变换域两方 面表征了同一系统的本性。 在s域分析中,借助系统函数在s平面零点与极点 分布的研究,可以简明、直观地给出系统响应的许多 规律。系统的时域、频域特性集中地以其系统函数的 零、极点分布表现出来。 主要优点:
第
10 页
1.可以预言系统的时域特性; 2.便于划分系统的各个分量 (自由/强迫,瞬态/稳态); 3.可以用来说明系统的正弦稳态特性。
第
二.H(s)零、极点与h(t)波形特征的对应
11 页
1.系统函数的零、极点
( s z1 )( s z 2 ) ( s z j ) ( s z m ) A( s ) H ( s) K B( s ) ( s p1 )( s p2 ) ( s pk ) ( s pn )
Linux系统系统崩溃自动重启脚本(Python版)
Linux系统系统崩溃自动重启脚本(Python版)在日常使用Linux系统过程中,系统的稳定性是非常重要的。
然而,由于各种原因,有时候我们会遇到系统崩溃的情况。
为了保证系统的可用性,我们需要一种自动重启脚本的机制来处理这种情况。
本文将介绍一种使用Python编写的Linux系统崩溃自动重启脚本。
一、脚本设计思路当系统崩溃时,我们需要一种方法来检测系统是否处于崩溃状态,并且在检测到崩溃时自动重启系统。
为了实现这一目标,我们可以通过监控系统的关键进程或者服务来判断系统是否正常运行。
一旦发现系统崩溃,我们就可以使用Python编写的脚本来执行重启操作。
二、实现步骤1. 导入必要的模块在Python脚本中,我们需要使用一些模块来实现系统的重启功能。
首先,我们需要导入`os`模块来执行系统命令;其次,我们需要导入`time`模块来控制脚本的运行时间。
```pythonimport osimport time```2. 编写检测系统崩溃的函数我们可以定义一个函数来检测系统是否处于崩溃状态。
在该函数中,我们可以选择检测系统的关键进程或者服务是否正在运行。
如果没有运行,则说明系统崩溃,需要执行重启操作。
```pythondef check_system():# 检测系统的关键进程或者服务是否在运行# 这里可以根据实际情况来判断系统是否正常# 如果系统崩溃,则返回False,否则返回Truepass```3. 编写系统重启的函数当系统崩溃时,我们需要使用Python脚本来执行系统的重启操作。
我们可以定义一个函数来实现这个功能。
在该函数中,我们可以使用`os`模块来执行重启命令。
```pythondef reboot_system():# 执行系统重启命令os.system('reboot')4. 编写主函数在主函数中,我们可以使用一个死循环来监测系统状态。
当检测到系统崩溃时,我们可以调用系统重启函数来执行重启操作。
WINCC常用脚本说明
GetTagByte("WSJ_A_OFWO5");
4.写变量赋值
格式:SetTagByte("",); 实例:SetTagByte("WSJ_A_GDBL",1);
SetTagByte("WSJ_A_OFWO5",1);
setobjcommandnothingobjconnectionclosesetobjrnothingsetobjconnection数据库存储过程操作objcommandcommandtextwsjreport?gdh1??bc1??pch1??ph1??silo1?cl1?cstrnow?3wsjreport?gdh??bc??pch??ph??silo?cl?cstrnow?3?msgbox1bks?objcommandexecute定义变量格式
三、 动态对话框
函数判断取值
实 例 : ('C_SA509_CASING_CUR_1'<=63 || 'C_SA509_CASINபைடு நூலகம்_CUR_2'<=63 || 'C_SA509_CASING_CUR_3'<=63) && 'C_SA509_STATE'==1
四、 WinCC 组包含影响整个 WinCC 系统的函数
实例:Set conn = CreateObject(“ADODB.Connection”)
Conn.open“Provider=SQLLEDB.1;Integrated Security = SSPI; Persist Security Info = false ; Initial Catalog = CC_OpenArch; Data Source = .\WinCC”
昆仑通态脚本开发函数
昆仑通态脚本开发函数!getcurrentchannelnum()函数意义:得到当前触发单通道写的通道号;返回值:整型。
-1失败,>0通道号;参数:无;实例:!getcurrentchannelnum()。
!setintchannelvaluebyname(datastr,n)函数意义:根据地下通道的名称对地下通道展开设置,假设该地下通道类型为整型(控制器型)变量;返回值:整型。
-1失利,0顺利。
参数:datastr,字符型,需要设置的通道名称的字符串。
n,整型,需要设定的整型值实例:!setintchannelvaluebyname(\发电机启动\。
实例表明:将地下通道“发电机启动”的值设为1;!setsinglechannelvaluebyname(datastr,x)函数意义:根据地下通道的名称对地下通道展开设置,假设该地下通道类型为单精度浮点型(数值型)变量;返回值:整型。
-1失败,0成功。
参数:datastr,字符型,须要设置的地下通道名称的字符串。
n,单精度浮点型,须要预设的值实例:!setsinglechannelvaluebyname(\温度\。
实例说明:将通道“温度”的值设为45.5;!setintchannelvaluebynum(datanum,n)函数意义:根据通道的编号对通道进行设置,假设该通道类型为整型(开关型)变量;返回值:整型。
-1失败,0成功。
参数:datanum,整型,须要设置的地下通道编号,从1已经开始。
n,整型,须要预设的整型值实例:!setintchannelvaluebynum(3,1)。
实例说明:将通道3的值设为1;!setsinglechannelvaluebynum(datanum,x)函数意义:根据通道的编号对通道进行设置,假设通道为单精度浮点型(数值型)变量;返回值:整型。
-1失败,0成功。
参数:datanum,整型,须要设置的地下通道编号,从1已经开始。
MCGS昆仑通态脚本函数
运行环境操作函数!ChangeLoopStgy(StgyName,n)函数意义:改变循环策略的循环时间。
返回值:数值型。
返回值=0:调用正常,<>0:调用不正常。
参数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间。
实例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为5秒。
!CloseAllWindow(WndName)函数意义:关闭所有窗口,如果在字符串”WndName”中指定了一个窗口,则打开这个窗口,关闭其他窗口。
如果”WndName”为空串,则关闭所有窗口。
返回值:数值型。
返回值:=0:调用正常。
<>0:调用不正常。
参数:WndName,用户窗口名,字符型。
实例:!CloseAllWindow("工况图"),关闭除了用户窗口“工况图”以外的其他窗口,若“工况图”窗口没有打开,则在关闭其他窗口的同时打开该窗口;!CloseAllWindow(""),关闭所有窗口。
!CloseAllSubWnd()函数意义:关闭窗口中的所有子窗口。
返回值:浮点型,=0为操作。
实例:!CloseAllSubWnd(),关闭当前窗口的所有子窗口。
!CloseSubWnd(WndName)函数意义:关闭子窗口。
返回值:浮点型,=1为操作成功,<>1为操作失败。
参数值:WndName:子窗口的名字。
实例:!CloseSubWnd(窗口1),关闭子窗口“窗口1”。
!EnableStgy(StgyName,n)函数意义:打开或关闭某个策略,如报警策略或循环策略等。
返回值:数值型。
返回值=0:调用正常,<>0:调用不正常。
参数:SstgyName,策略名;n,数值型,为1时表示打开此策略,为0时表示关闭此策略。
实例:!EnableStgy(报警策略,1),打开报警策略;!EnableStgy(报警策略,0),关闭报警策略,使报警策略无效。
WINCCC脚本的标准函数
WINCCC脚本的标准函数WINCC C脚本的标准函数标准函数该系统包含标准函数。
可以按需要修改这些函数。
此外,还可以自己创建标准函数。
该系统包括一个标准函数集。
一、Alarm - 简短描述Alarm组包含控制WinCC报警控件的函数。
标准函数可用于工具栏中的每一个按钮。
这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。
1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。
使用标准函数操作WinCC报警控件的实例{//确认选择的报警记录消息AcknowledgeMessage(GetTagWord("U08i_MsgNr"));}指定待确认的消息号。
在本例中是从变量读取的。
2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。
使用标准函数操作WinCC报警控件的实例{// 跳转到WinCC报警控件中的第一条消息AXC_OnBtnMsgFirst("gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函数参数:“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
vbs脚本经典教程全
Vbs脚本经典教材(最全的资料还是MSDN)—为什么要使用Vbs?在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。
这些事情重复、琐碎,使人容易疲劳。
第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗?Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。
我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。
那么什么是COM对象呢?我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 系统函数ActiveApp语法 ActiveApp(AppID)。
说明把AppID所指定的程序所在的窗口置到前面,并且该窗口将获得输入焦点,即该窗口将接收键盘输入。
参数 AppID为应用程序标识,类型为整型,为由StartApp函数得到的返回值。
示例 ActiveApp(AppID)AlmAck语法AlmAck()说明当前最新报警确认,当前最新报警显示在系统报警窗右侧。
要显示系统报警。
窗,首先要选中系统参数中系统报警检查框。
示例AlmAck()AlmAckAll语法AlmAckAll(DataSourceNo, AreaNo)。
说明对数据库中某一区域报警进行确认。
DataSourceNo 数据源序号,序号从0开始。
AreaNo指定区域号,-1表示所有区域。
示例AlmAckAll(0,-1)//对整个数据库报警进行确认。
AlmLogTimeSet语法AlmLogTimeSet (StartTime)说明报警历史记录或历史报表开始时间设置。
参数StartTime: 报警历史记录或历史报表开始时间,类型为数值型常量、变量或数值型表达式。
该数值为自1970年1月1日零时逝去的秒数。
示例#almlog.AlmLogTimeSet ($CurTime - 7200);// 报警历史记录开始时间设为前2小时。
//almlog为报警历史记录对象名称。
#almlog.AlmLogTimeSet (LongTime(“2002/1/8 16:50:00”));提示:开始时间可以通过时间控件得到。
Beep语法beep(number)说明蜂鸣器发出叫声。
参数参数number用于指定不同的蜂鸣器响声。
-1,0:为两种报警声。
1~7对应乐谱的中音1至7。
8~14对应乐谱的高音1至7。
示例beep(-1);//标准报警声。
ChangeGroup语法ChangeGroup(GroupNumber)说明该函数用于实时趋势、历史趋势模板中的变量成组替换,替换量一般为数据库变量。
参数为数值常量或数值表达式,该参数的值表示变量组的组号。
备注对于模板对象,只是替换位号名,参数部份保留不变。
示例ChangeGroup(2);//该函数将实时趋势、历史趋势和模板中的变量分别替换成序号为2的变量组中的变量。
ChangeTag语法ChangeTag(OldTag,NewTag)说明该函数用于模板变量的替换,替换量一般为数据库变量。
参数OldTag为字符串常量或字符串表达式,该参数为被替换量。
NewTag为字符串常量或字符串表达式,该参数为替换量。
备注只是替换位号名,参数部分保留不变。
示例ChangeTag(“T1”,“LIC15”)//该函数将模板中的位号T1,替换成数据库中的实际位号LIC15,如模板中有如下变量T1.PV,T1.SP,T1.OP,T1.EU等将变为LIC15.PV, LIC15.SP, LIC15.OP, LIC15.EU。
ChangeTagByNo语法ChangeTagByNo(no,"NEWTAG")说明该函数用于历史趋势和历史报表,替换量一般为DB变量。
注意这里只是替换位号名,参数部分保留不变。
no为数字常量或数字表达式,与历史趋势和历史报表中变量的序号相同。
参数no为数字常量或数字表达式,NewTag为字符串常量或字符串表达式,该参数为替换量。
示例ChangeTagByNo(1,"LIC504")//该函数将趋势或模板中的序号为1的变量替换成数据库中的实际位号LIC504。
CheckSecurityArea语法CheckSecurityArea(SecurityArea)说明检查指定安全区是否可以操作。
参数SecurityArea:逗号分割开的安全区名字符串,一般是用SecurityAreaDlg 得到的用户设定的值。
返回值布尔值,返回当前登录的用户是否可以对这些安全区中的某一个有操作的权限。
如果有操作权限返回TRUE,否则返回FALSE。
CheckUserPassword语法CheckUserPassword(UserName, Password) 说明检查指定用户的密码。
参数UserName: 用户名。
Password: 用户密码。
返回值整型0 -用户名密码正确。
1 -密码错误。
2 -该用户不具备这项权限或用户名不存在。
CheckUserPopedom语法 CheckUserFuncPopedom(UserName, FuncUID) 说明检查某用户是否具备某项功能权限。
参数UserName:用户名。
FunUID:功能权限的UID。
返回值:整型0 -该用户具备此项权限。
1 -该用户不具备这项权限或用户名不存在。
CloseAllWindow语法CloseAllWindow()说明关闭所有窗口CloseWindow语法CloseWindow()说明关闭当前窗口,一般用于弹出式窗口的关闭。
CloseWindowEx语法CloseWindowEx("WindowName")说明关闭指定窗口。
参数WindowName: 窗口名称,字符串变量或常量。
示例CloseWindowEx("Draw1.drw");//将窗口名称Draw1.drw的窗口关闭。
ConvertTo语法ConvertTo(MasterOrSlave)说明双机热备状态的切换函数。
参数MasterOrSlave 0:由工作状态切换到备份状态 1:由备份状态切换到工作状态。
示例ConvertTo(tag1.pv);//当tag1.pv的值为0时,由工作状态切换到备份状态;当tag1.pv的值为1时,由备份状态切换到工作状态。
DeviceClose语法DeviceClose (DeviceName, DataSourNo)说明停止设备通讯。
参数DeviceName:设备名称,类型为字符串常量或变量,该名称由I/O设备定义时创建。
DataSourNo:为整型,为数据源序号,-1表示本地数据源。
数据源序号与数据源定义列表中所看到的顺序相同,序号从0开始。
示例DeviceClose ("MyDev1",-1);//停止设备MyDev1。
DeviceDialup语法DeviceDialup(DeviceName, telenum, DataSourNo)说明改变设备拨号号码。
参数DeviceName:设备名称,类型为字符串常量或变量,该名称由I/O设备定义时创建。
telenum:电话号码,类型为字符串常量或变量。
DataSourNo:为整型,为数据源序号,-1表示本地数据源。
数据源序号与数据源定义列表中所看到的顺序相同,序号从0开始。
示例DeviceDialup ("MyDev1", "6756888",-1);//启动设备MyDev1。
备注该函数用于动态切换I/O采集设备的拨号号码。
DeviceOpen语法DeviceOpen (DeviceName, DeviceAddress, DataSourNo)说明启动设备通讯,并将地址切换到由DeviceAddress参数所指定地址上。
参数DeviceName:设备名称,类型为字符串常量或变量,该名称由I/O设备定义时创建。
DeviceAddress:设备地址,I/O设备的逻辑地址,类型为字符串常量或变量。
如果该项为空串"",意思是使用上次启动地址,如果没有启动过将使用设备定义时指定的缺省地址。
DataSourNo:为整型,为数据源序号,-1表示本地数据源。
数据源序号与数据源定义列表中所看到的顺序相同,序号从0开始。
示例DeviceOpen ("MyDev1", "",-1);//启动设备MyDev1。
DeviceOpen ("MyDev1", "1".-1);//启动设备MyDev1,并将地址切换到1。
备注该函数用于动态切换I/O采集设备(如一个串口接多台设备,但是这些设备不同时工作,或其数据不需要同时观看),或采集包(如该数据包数据变化慢且不经常看的量)。
DisableOperate语法DisableOperate (flag)说明禁止用户对变量的操作。
参数flag禁止标志。
取值含义:0:允许操作;1:表示禁止操作;2:除了禁止用户操作外,还将禁止任何脚本中向数据库设置数据请求。
示例DisableOperate (1);//禁止操作。
DisableOperate (0);//允许操作。
Display语法Display(WinName)说明显示名字为WinName的窗口。
备注显示名字为WinName的窗口。
如果该窗口已经运行,则该窗口将成为当前活动窗口。
示例Display(“Win01”) //显示窗口Win01。
DisplayEx语法DisplayEx("WinName.drw",left,top,right,bottom)说明改变窗口大小和位置,将指定的窗口大小按Left,top,right,bottom的数值改变,如果该窗口已经运行,则该窗口将成为当前活动窗口。
示例DisplayEx("DRAW2.drw",30,50,60,20)//按30,50,60,20大小。
改变DRAW2.drw的大小,同时将它做为当前活动窗口。
Enable语法Enable(flag)说明允许或禁止对图形对象。
注意:该函数只对图元对象起作用。
flag为一常数值或数值表达式,其值为0时图形目标被禁止,否则将允许对该图形目标操作。
示例Enable(0);// 目标被禁止。
EventDisp语法EventDisp()说明系统事件包括程序起停信息,操作记录,系统错误信息等。
示例EventDisp()//调用该函数将出现一事件显示框。
Exit语法Exit(code)说明code取值为0,1,2,3,4。
0表示退出程序。
1表示窗口最小化。
2表示退出所有ForceControl程序。
3表示重新启动系统。
4表示关闭系统。
示例Exit(0);// 退出应用程序。
FileAppend语法FileAppend(FileName, VarName, Num)说明往指定的文件中追加数据,即从文件尾开始写数据。
参数FileName:文件名。
VarName:从该变量开始写,按照变量的名称中的数字顺序依次访问。
如变量为var01,其后变量依次为var02,var03...。
Num:要写的数据个数。
示例FileAppend("dat01",var01,10)//从var01开始依次向文件附加dat01,data02...,到dat10,共写入10个数据。