winccflexible系统函数
- 格式:doc
- 大小:973.79 KB
- 文档页数:68
如何使用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 脚本代码脚本代码。
wincc-flexible学习手册WinCCflexible—人机界面高效组态2011年5月南京主要内容概述基本组态项目下载组态练习组态技巧WinCCflexible概述WinCCflexible分类WinCCflexible安装WinCCflexible概述分类WinCCflexible概述安装WinCCflexible概述安装基本组态组态界面布局通讯组态创建画面画面制作报警配置用户管理使用配方多语言项目WinCCflexible基本组态新建项目WinCCflexible基本组态组态界面布局WinCCflexible基本组态组态界面布局WinCCflexible基本组态通讯组态WinCCflexible基本组态通讯组态WinCCflexible基本组态通讯组态WinCCflexible基本组态创建变量WinCCflexible基本组态创建变量WinCCflexible基本组态创建变量WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态画面制作WinCCflexible基本组态报警配置WinCCflexible基本组态报警配置WinCCflexible基本组态使用配方WinCCflexible基本组态使用配方WinCCflexible基本组态多语言项目项目下载直接下载Pack&Go传送OS更新项目下载项目编译项目下载直接下载项目下载直接下载项目下载直接下载项目下载直接下载项目下载Pack&Go传送项目下载Pack&Go传送项目下载OS更新Smart700练习项目Smart700练习项目Smart700练习项目Smart700练习项目Smart700练习项目Smart700练习项目Smart700练习项目Smart700练习项目组态技巧连续创建多个对象快速格式处理屏幕拖拽功能表格编辑器的使用鼠标停靠帮助信息通过变量切换画面项目数据的导入/导出查找/替换功能交叉引用重新布线区域指针WinCCflexible组态技巧连续创建多个对象WinCCflexible组态技巧连续创建多个对象WinCCflexible组态技巧快速格式处理WinCCflexible组态技巧屏幕拖拽功能WinCCflexible组态技巧表格编辑器的使用控制列的显示与隐藏WinCCflexible组态技巧表格编辑器的使用按列进行排序WinCCflexible 组态技巧表格编辑器的使用连续创建多个变量WinCCflexible组态技巧鼠标停靠帮助信息鼠标停靠+F1WinCCflexible组态技巧通过变量切换画面由变量指定目标画面WinCCflexible组态技巧项目数据的导入/导出WinCCflexible组态技巧区域指针WinCCflexible组态技巧区域指针WinCCflexible组态技巧区域指针WinCCflexible组态技巧区域指针WinCCflexible组态技巧区域指针WinCCflexible组态技巧演示:在Panel上显示PLC的状态Q&A图章WinCCflexible的”图章“功能,允许您连续插入多个相同类型的对象,无需反复选择对象。
WinCC Flexible创建脚本的技巧与窍门为什么通过一个内部变量的“数值变化”事件所触发的脚本不执行?、由于软件的限制(循环断路器)在内部变量中是不能实现的。
循环断路器是一个安全措施以防止在组态中可能发生的循环。
例外:脚本可以通过IO 域在变量的数值变化事件中执行。
补救:使用连接控制器的外部变量。
为什么通过一个内部变量的“数值变化”事件所触发的系统函数不执行?通过一个内部变量的“数值变化”事件所触发的系统函数,在脚本中的数值变化不能被执行(循环断路器)。
例外:系统函数可以通过IO 域在变量的数值变化事件中执行。
补救:直接在脚本中执行系统函数并且使用连接控制器的外部变量(Power Tag)。
在脚本中如何访问数组中的单个元素?数组中的单个元素可以通过数组名并指明数组位置的方法进行访问。
实例:nTag = nArray(10)nTag = SmartTags("nArray")(10)局部脚本数组采用相同的规则。
在多维局部数组的情况下,数组的维数可以通过逗号分隔。
实例:Dim Field(10,10) 'local tagnTag = Field(0, 5)在WinCC flexible 中如何访问动态链接库?在WinCC flexible 中无法使用动态链接库。
如何确定当前鼠标的位置?为了读取当前鼠标的位置,必须访问操作系统的API (application programming interface)。
VB 脚本不支持通过动态链接库访问操作系统的API 。
作为选择,当前鼠标的位置可以通过自行编写的能够访问操作系统API的ActiveX控件读取。
注意:在WinCC flexible 中使用的ActiveX 控件必须在“开放程序接口平台”(OPP)上创建。
更多信息可在条目号15247601 中获得。
如何读取或保存Unicode文本文件?PC 运行系统:如果文件曾经以Unicode 格式打开或保存,那么这些文件可以使用WinCC flexible 以Unicode 格式读取或保存。
如何使用wincc flexible 的电子签名1.使能 Audit Trail 功能 (GMP)∙新建一个工程。
∙在窗口左边的工程树图中,鼠标右键点击“Project”在弹出的菜单中选择“Properties”。
∙然后,您在“GMP Settings”中使能“Regulated project”选项。
2.定义 Audit Trail 设置∙在工程树图中,路径为“Project > Operator Panel_1... > Archive”下点击“Audit Trail”。
∙选择存储位置 "File - CSV (ASCII)"。
∙如果必要,可以更改归档文件的路径。
∙添加系统功能“ShowSystemAlarm”到“Critical Low Free Storage Space Limit”事件。
输入“Critical - low free storage space is available!”作为信息文本。
3.配置用户显示和按钮∙关闭“Audit Trail”视窗。
∙添加一个用户视图和两个按钮。
∙修改两个按钮的标签为“Login”和“Logout”。
∙为“Login”按钮的“Press”事件添加系统函数“ShowLogonDialog”。
∙为“Logout”按钮的“Press”事件添加系统函数“Logout”。
4.添加用户∙在工程树中,路经为“Project > Device_1... > Runtime User Administration”您打开“Users”视窗。
∙创建两个用户“User1”和“User2”,并且分配用户密码,例如:用户名: User1 密码: 101用户名: User2 密码: 102∙将这两个用户添加到“Users”组中。
∙另外,添加用户“Admin2”并且将其添加到“Administrators”组中。
用户名: Admin2 密码: 2005.打开附属库∙下载WinCC_flexible_Audit_A3.zip ( 5553 KB ) 。
WinCC flexible系统涵数简介下列表格显示了按组排列的可用系统函数。
在WinCC flexible 中,下列名称惯例应用于系统函数:以动词(例如“Start”或“Activate”)开头的系统函数可以用在脚本中。
以“Get”开头的系统函数用于读取值,例如从变量中读取。
以“Set”或“Write”开头的系统函数用于写入值,例如写入到变量中。
以ActiveX 控件的名称(例如HTMLBrowser)开头的系统函数不能在脚本中使用。
在脚本中使用系统函数请在脚本中使用系统函数的英文名称。
如果该系统函数可以在脚本中使用,那么该系统函数的英文名称也可以找到,例如:GetPassword (Tag)报警1、ClearAlarmBuffer应用:删除HMI设备报警缓冲区中的报警。
说明:尚未确认的报警也被删除。
2、ClearAlarmBufferProtoolLegacy应用:该系统函数用来确保兼容性。
它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。
参数:Alarm class number将要删除其消息的报警类别号:-1 (hmiAllProtoolLegacy) = 所有报警/事件0 (hmiAlarmsProtoolLegacy) = 错误1 (hmiEventsProtoolLegacy) = 警告2 (hmiSystemProtoolLegacy) = 系统事件3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件3、SetAlarmReportMode应用:确定是否将报警自动报告到打印机上。
4、ShowAlarmWindow应用:隐藏或显示HMI 设备上的报警窗口。
5、ShowSystemAlarm应用:将已传递参数的值显示为HMI 设备上的系统报警。
编辑位1、InvertBit应用:对给定的“Bool”型变量的值取反。
西门子触摸屏软件Wincc flexible 使用总结Wincc Flexible使用:1. 退出系统的命令是Stopruntime。
2. 尽量不要用超级兔子或优化大师清理注册表和系统垃圾,因为会有S7和Flexible的文件一起被清楚掉,这样容易造成使用故障,如组态错误或不能下载,卡巴斯基也不用。
3. Flexible的键控的触摸屏中K键是全局键,其设置要在模板里设置。
1. 使用按钮时,注意:A:颜色变化B:功能实现C:对应的按键2:要使用按钮的动画中的可见性选项,需要设置此变量类型为位0,不行的话就设置为整型。
4. 要想在触摸屏处于运行状态时下载程序,需要在Romate control旁打勾。
5. 可以通过DP口写触摸屏(连到MPI上)的程序,不要这时要启用路由功能。
6. 触摸屏可以通过DP传输,在硬件里组态到MPI上面,实际连接到DP口,编程线也接到DP口上,下载即可,不要启用路由功能。
7. M变量只有释义后才能在Flexible中看到。
8. 如果在编译时出现“无效参数”或类似的查不出原因的错误,就在菜单-----选项里选择删除临时文件,就可以解决这个问题。
9. 对于一些指示变量变化的信号,必须指示传感器的信号,可以添加一个符号库,然后在布局里设置其背景为透明的,填充颜色模式为实心的,设置其前景色、背景色都是灰色的,然后在动画---外观里设置其指向需要显示的变量,设置在不同值时不同的前景色即可。
10. 在屏上显示控制面板时,不能下载。
11. 如果连接的PLC名称改变,可以在选项里选择重新连接,不过前提是PLC 的名称必须和原来变量连接的PLC的名称一致。
12. 按钮的焦点颜色和宽度指的是按钮被激活时,在按钮上显示的边框的颜色和宽度,一般把宽度设为1,颜色无所谓。
13. 如果要实现中英文切换,步骤如下:a,在项目语言里,设置编辑语言和参考语言;b,在画面里做一个按钮,设置单击时的动作是设置-----》Setlanguage,函数选择Toggle的话,表示单击一次改变一下语言,函数选择en-GB的话表示单击后切换到英文,选择zh-CN的话,单击后切换到中文;c,在设备设置-----》语言和字体里设置两种语言的显示格式;d,在语言设置------》项目文本里设置相应的按钮对应的英文翻译。
winccfleXible系统函数WinCC Flexible 系统函数报警ClearAlarmBuffer应用删除HMI设备报警缓冲区中的报警。
说明尚未确认的报警也被删除。
语法ClearAlarmBuffer (Alarm class number) 在脚本中是否可用:有 (ClearAlarmBuffer) 参数Alarm class number确定要从报警缓冲区中删除的报警:0 (hmiAll) = 所有报警/事件1 (hmiAlarms) = 错误2 (hmiEvents) = 警告3 (hmiSystem) = 系统事件4 (hmiS7Diagnosis) = S7 诊断事件可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除数据记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用取消激活时序表到期报警缓冲区溢出ClearAlarmBufferProtoolLegacy应用该系统函数用来确保兼容性。
它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。
语法ClearAlarmBufferProtoolLegacy (Alarm class number)在脚本中是否可用:有 (ClearAlarmBufferProtoolLegacy)参数Alarm class number将要删除其消息的报警类别号:-1 (hmiAllProtoolLegacy) = 所有报警/事件0 (hmiAlarmsProtoolLegacy) = 错误1 (hmiEventsProtoolLegacy) = 警告2 (hmiSystemProtoolLegacy) = 系统事件3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除变量记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用取消激活时序表到期报警缓冲区溢出SetAlarmReportMode应用确定是否将报警自动报告到打印机上。
winccflexible logon系统函数怎么用?
用plc不同变量来关联winccflexible中不同的权限管理,想用logon函数,变量设置如下图,有什么不对的吗?还是这个控件本身不能这样用,那有没有什么脚本可以实现这个关联的功能呢?
图片说明:1,变量
最佳答案
如果只需要简单的切换是否允许控制的话那只要很简单的使用plc的变量连接到按纽等单元的允许操作选象上就行了,如果需要根据很多种权限进行操作那就复杂了,需要在wincc中写一个一直循环触发的程序vbs或vc,根据plc 变量的值的变化,使用不同的用户logon进系统,只要用户的权利不一样就行了。
1. ActivateRightScreen应用将画面切换到与激活画面同一层级的右侧的画面。
如果当前画面的右侧没有其它画面,则不发生画面切换。
说明必须已经在“画面浏览”编辑器中组态了一个浏览结构。
语法ActivateRightScreen在脚本中是否可用:有 (ActivateRightScreen)参数--2. ActivateRootScreen应用将画面切换到定义为起始画面的画面。
如果所显示的画面是根画面,则不会发生画面切换。
说明必须已经在“画面浏览”编辑器中组态了一个浏览结构。
语法ActivateRootScreen在脚本中是否可用:有 (ActivateRootScreen)参数--3. ActivateScreen应用将画面切换到指定的画面。
使用“ActivateScreenByNumber”系统函数可以从根画面切换到永久性窗口,反之亦然。
语法ActivateScreen (Screen name, Object number)在脚本中是否可用:有 (ActivateScreen)参数Screen name要切换到的画面的名称。
Object number画面切换后在指定画面中获得焦点的操作员控件元素。
操作员控件元素的编号在组态期间使用 TAB 顺序确定。
在指定为“0”时:如果调用该系统函数时焦点位于永久性窗口,则永久性窗口保留焦点。
如果调用该系统函数时焦点位于根画面,则指定画面中的第一个操作员控件元素获得焦点。
说明如果将“到达边界”事件分配给“ActivateScreen”系统函数,则只有数值“0”对“Object number”参数有效。
活动对象不是由对象号定义的,而是由画面更改之前其 X 位置定义的。
4. ActivateScreenByNumber应用根据变量值将画面切换到另一画面。
画面由其画面号标识。
语法ActivateScreenByNumber (Screen number, Object number)在脚本中是否可用:有 (ActivateScreenByNumber)参数Screen number包含要切换到的画面号的变量。
度宽度宽形宽形宽性宽性宽4宽4宽宽,宽,1.启动WinCC flexible在Windows桌面上,双击WinCC flexible图表,会出项5个选项:打开最新编辑过的节目;创建一个新项目;打开一个现有的项目;创建一个空项目;打开一个Protool项目(见下图)2.通过项目向导创建新项目(1)用WinCC flexible的项目向导创建项目。
“HMI设备和控制器”画面再次进入HMI和控制器画面•画面模版一画面浏览二(2)建立HMI设备与PLC之间的连接(3)保存项目(4器(4器04_Embed_13.jpg 形宽形宽度宽性,度宽性,度宽度宽度器度器 “ ”形器形器 “ ”形宽形宽4-12 3.建立画面的结构化关系(可以执行旋转命令)4.自定义浏览控件如果没按钮分配目标,则按钮无效,在运行时按钮没有标签显示。
4.15.设置初始画面(在“设备设置”中设置,可以修改HMI设备的名称,型号和初始画面)触摸屏画面组态时,先是设计需要的画面,然后通过画面的编辑器的对象在触摸屏画面上生成画面元件。
触摸屏变量的生成与属性组态(1)触摸屏变量的分类。
分为内部变量和外部变量。
什么是内部变量和外部变量?4-14-15变量的限制值4-164-17变量的其他属性度宽•2.变量的起始值3.变量的间接寻址4.变量的数据记录4.2.4 在运行时更新变量值4.21)根据命令:通过调用系统函数“Upt ate Tag”或在画面打开时更新变量值或在画面打开时更新变量值。
2)循环连续:如果在组态变量时选择采集模式为“循环连续”,即使在当前打开的画面中没有该变量打开的画面中没有该变量,,它也会在运行时持续更新运行时持续更新。
3)循环使用循环使用::变量只有在打开的画面中被显示或记录时中被显示或记录时,,才在每个采集周期被更新一次期被更新一次。
4.2.5 数组变量库的分类1.共享库共享库独立于项目数据共享库独立于项目数据,,以扩展名*.wlf 存贮在独立的文件中的文件中,,可以用于所有项目可以用于所有项目。
WinCC flexible系统涵数简介下列表格显示了按组排列的可用系统函数。
在 WinCC flexible 中,下列名称惯例应用于系统函数:以动词(例如“Start”或“Activate”)开头的系统函数可以用在脚本中。
以“Get”开头的系统函数用于读取值,例如从变量中读取。
以“Set”或“Write”开头的系统函数用于写入值,例如写入到变量中。
以 ActiveX 控件的名称(例如HTMLBrowser)开头的系统函数不能在脚本中使用。
在脚本中使用系统函数请在脚本中使用系统函数的英文名称。
如果该系统函数可以在脚本中使用,那么该系统函数的英文名称也可以找到,例如: GetPassword (Tag) 报警1、ClearAlarmBuffer 应用:删除HMI设备报警缓冲区中的报警。
说明:尚未确认的报警也被删除。
2、ClearAlarmBufferProtoolLegacy 应用:该系统函数用来确保兼容性。
它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。
参数:Alarm class number 将要删除其消息的报警类别号: -1 (hmiAllProtoolLegacy) = 所有报警/事件 0 (hmiAlarmsProtoolLegacy) = 错误1 (hmiEventsProtoolLegacy) = 警告2 (hmiSystemProtoolLegacy) = 系统事件3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件3、SetAlarmReportMode 应用:确定是否将报警自动报告到打印机上。
4、ShowAlarmWindow 应用:隐藏或显示 HMI 设备上的报警窗口。
5、ShowSystemAlarm 应用:将已传递参数的值显示为 HMI 设备上的系统报警。
编辑位1、InvertBit 应用:对给定的“Bool”型变量的值取反。
WinCC Flexible 系统函数报警ClearAlarmBuffer应用删除HMI设备报警缓冲区中的报警。
说明尚未确认的报警也被删除。
语法ClearAlarmBuffer (Alarm class number)在脚本中是否可用:有 (ClearAlarmBuffer)参数Alarm class number确定要从报警缓冲区中删除的报警:0 (hmiAll) = 所有报警/事件1 (hmiAlarms) = 错误2 (hmiEvents) = 警告3 (hmiSystem) = 系统事件4 (hmiS7Diagnosis) = S7 诊断事件可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除数据记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用取消激活时序表到期报警缓冲区溢出ClearAlarmBufferProtoolLegacy 应用该系统函数用来确保兼容性。
它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。
语法ClearAlarmBufferProtoolLegacy (Alarm class number)在脚本中是否可用:有 (ClearAlarmBufferProtoolLegacy)参数Alarm class number将要删除其消息的报警类别号:-1 (hmiAllProtoolLegacy) = 所有报警/事件0 (hmiAlarmsProtoolLegacy) = 错误1 (hmiEventsProtoolLegacy) = 警告2 (hmiSystemProtoolLegacy) = 系统事件3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除变量记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用取消激活时序表到期报警缓冲区溢出SetAlarmReportMode应用确定是否将报警自动报告到打印机上。
语法SetAlarmReportMode (Mode)在脚本中是否可用:有 (SetAlarmReportMode)参数Mode确定报警是否自动报告到打印机上:0 (hmiDisnablePrinting) = 报表关闭:报警不自动打印。
1 (hmiEnablePrinting) = 报表打开:报警自动打印。
-1 (hmiToggle) = 切换:在两种模式之间切换。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除数据记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用取消激活时序表到期报警缓冲区溢出ShowAlarmWindow应用隐藏或显示 HMI 设备上的报警窗口。
语法ShowAlarmWindow (Object name, Display mode) 在脚本中是否可用:是 (ShowAlarmWindow)参数Object name要隐藏或显示的报警画面的名称。
Display mode确定隐藏或显示报警窗口:0 (hmiOff) = 关:隐藏报警画面1 (hmiOn) = 开:显示报警画面-1 (hmiToggle) = 切换:在两种模式之间切换。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除数据记录溢出报警记录溢出报警视图单击检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用禁用调度器到期ShowSystemAlarm应用将已传递参数的值显示为 HMI 设备上的系统报警。
语法ShowSystemAlarm (Text/value)在脚本中是否可用:是 (ShowSystemAlarm)参数Text/Value作为系统报警输出的文本或数值。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下画面已加载已清除错误启用取消激活确认编辑警告启用取消激活编辑数据记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用取消激活时序表到期画面切换用户改变报警缓冲区溢出逻辑位InvertBit应用对给定的“Bool”型变量的值取反。
•如果变量具有值 1(真),它将被设置为 0(假)。
•如果变量具有值 0(假),它将被设置为 1(真)。
语法InvertBit (Tag)在脚本中是否可用:有 (InvertBit)参数Tag要设置其位的变量。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下系统键(全局)释放按下画面已加载已清除错误启用取消激活确认编辑警告启用取消激活编辑报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用禁用完成时输入调度器到期画面切换用户改变报警缓冲区溢出运行系统停止InvertBitInTag系统函数应用对给定变量中的位取反:•如果变量中的位为值 1(真),它将被设置为 0(假)。
•如果变量中的位为值 0(假),它将被设置为 1(真)。
在改变了给定位之后,系统函数将整个变量传送回 PLC。
但是并不检查变量中的其它位是否改变。
在变量被传送回 PLC 之前,操作员和 PLC 可能只能读该变量。
说明如果 PLC 支持 BOOL 型变量,不要使用该系统函数。
而是使用“InvertBit”系统函数。
语法InvertBitInTag (Tag, Bit)在脚本中是否可用:有 (InvertBitInTag)参数Tag要设置其给定位的变量。
Bit要设置的位的编号。
当该系统函数在脚本中使用时,变量中的位从右向左计数。
计数从 0 开始。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下系统键(全局)释放按下画面已加载已清除错误启用取消激活确认编辑警告启用取消激活编辑数据记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用禁用完成时输入调度器到期画面切换用户改变报警缓冲区溢出运行系统停止PLC 中的值要求在 HMI 设备上组态的变量“x”访问 PLC 中的变量“y”。
例如,将以下系统函数之一分配给功能键。
系统函数“f”:•SetBitInTag•SetBitWhileKeyPressed•ResetBitInTag•InvertBitInTag将系统函数“f”分配给 HMI 设备的变量“x”。
预期的顺序从 PLC 读取值(读)。
系统函数“f”更改定义的位后,将整个变量返回到 PLC(写)。
问题从 PLC 读取实际值的时间由在 HMI 设备的变量“x”上组态的采集周期决定。
从 PLC 读取变量“x”的值:1.如果在变量上组态“循环连续”或“循环使用”,则循环读取值2.如果设置了“根据命令”更新并在之后对变量“x”执行“UpdateTag”函数,则仅在画面启动时读取一次数值。
系统函数“f”使用变量中当前可用的值,并将新值返回到 PLC。
例如,您可以将采集周期设置为 1 分钟。
也就是说,每分钟从 PLC 读取值并更新变量“x”的值一次。
这有一个从 59 秒到下一次读取操作的时间窗口。
例如,操作员在此时间窗口中按下功能键。
例如,使用“f”函数将变量“y”的实际值由“0”更改为“1”(写)。
函数“y”不会检查变量“y”上的任何其它位是否同时被更改。
在下一次读取变量“y”时(读),变量“x”会使用错误的值进行初始化。
来自 PLC 的初始信息将丢失。
例如,其它系统函数继续使用错误的值执行操作。
在下列情况下也会触发该响应:•由于高负载,变量“x”的值更新延迟。
•PLC 中变量“y”的值在时间窗口中更改几次。
•相同的变量“”通过函数列表在 PLC 中更改几次。
小心为避免上述问题,请不要在支持“BOOL”类型变量的 PLC 上使用这些系统函数。
使用o“SetBit”系统函数,而不是“SetBitInTag”。
o“SetBitInTag”系统函数,而不是“SetBitWhileKeyPressed”。
o“ResetBit”系统函数,而不是“ResetBitInTag”。
o“InvertBitInTag”系统函数,而不是“InvertBit”如果 PLC 不支持任何类型为“BOOL”的变量,您只应使用以上列出的函数,但条件是已安全排除从多个位置访问相同变量的可能。
在以下条件下会出现这种情况:1.PLC 没有写入变量2.HMI 设备本身没有从多个位置写入变量,例如,通过后台运行的任务调度器活动。
ResetBit应用将“Bool”型变量的值设置为 0(假)。
语法ResetBit (Tag)在脚本中是否可用:有 (ResetBit)参数Tag设置为 0(假)的 BOOL 型变量。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下系统键(全局)释放按下画面已加载已清除错误启用取消激活确认编辑警告启用取消激活编辑数据记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用禁用完成时输入调度器到期画面切换用户改变报警缓冲区溢出运行系统停止在对话框打开时在对话框关闭时ResetBitInTag系统函数应用将给定变量中的一个位设置为 0(假)。
在改变了给定位之后,系统函数将整个变量传送回 PLC。
但是并不检查变量中的其它位是否改变。
在变量被传送回 PLC 之前,操作员和 PLC 可能只能读该变量。
说明如果 PLC 支持 BOOL 型变量,不要使用该系统函数。
而使用系统函数“ResetBit”。
语法ResetBitInTag (Tag, Bit)在脚本中是否可用:有 (ResetBitInTag)参数Tag其中的一个位要设置为 0(假)的变量。
Bit要设置为 0(假)的位的编号。
在脚本中使用该系统函数时,无论使用何种 PLC,给定变量中的位都是从右向左计数。
计数从 0 开始。
可组态的对象对象事件变量数值改变超出上限低于下限功能键(全局)释放按下功能键(局部)释放按下系统键(全局)释放按下画面已加载已清除错误启用取消激活确认编辑警告启用取消激活编辑数据记录溢出报警记录溢出检查跟踪记录可用内存很少可用内存极少画面对象按下释放单击切换(或者拨动开关)打开断开启用禁用完成时输入调度器到期画面切换用户改变报警缓冲区溢出运行系统停止在对话框打开时在对话框关闭时PLC 中的值要求在 HMI 设备上组态的变量“x”访问 PLC 中的变量“y”。