文档库 最新最全的文档下载
当前位置:文档库 › mcgs定时器操作函数设置

mcgs定时器操作函数设置

mcgs定时器操作函数设置
mcgs定时器操作函数设置

定时器号:系统定时器的序号1—127,MCGS系统内嵌127个系统定时器。

系统定时器以秒为定时单位。

!TimerClearOutput(定时器号)

函数意义: 断开定时器的数据输出连接

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号。

实例:!TimerClearOutput(1),断开1号定时器的数据输出连接

!TimerRun(定时器号)

函数意义:启动定时器开始工作

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号

实例:!TimerRun(1),启动1号定时器工作。

!TimerStop(定时器号)

函数意义:停止定时器工作

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号

实例:!TimerStop(1 ),停止1号定时器工作。

!TimerSkip(定时器号,步长值)

函数意义:在计时器当前时间数上加/减指定值

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号;步长值

实例:!TimerSkip(1,3),1号定时器当前值+3

!TimerReset(定时器号,数值)

函数意义:设置定时器的当前值,由第二个参数设定,第二个参数可以是MCGS变量返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号;数值

实例:!TimerReset(1,12),设置1号定时器的值为12

!TimerValue(定时器号,0)

函数意义:取定时器的当前值

返回值:将定时器的值以数值型的方式输出(数值格式)

参数:定时器号

实例:Data3=!TimerValue(1,0),取定时器1的值给Data3

!TimerStr(定时器号,转换类型)

函数意义:以时间类字符串的形式返回当前定时器的值

返回值:字符型变量,将定时器的值以字符型的方式输出(时间格式)

参数:定时器号

转换类型值:开关型

= 0:取定时器的值以“00:00”形式输出;

= 1:取定时器的值以“00:00:00”形式输出;

= 2:取定时器的值以“0 00:00:00”形式输出;

= 3:取定时器的值以“0 00:00:00.000”形式输出;

实例:Time=!TimerStr(1,1),取定时器的值以“00:00:00”形式输出给Time

!TimerState(定时器号)

函数意义:取定时器的工作状态

返回值:数值型变量,0 - 定时器停止,1 - 定时器运行

参数:定时器号

实例:data1=!TimerState(1),取定时器1的工作状态给data1

!TimerSetLimit(定时器号,上限值,参数3)

函数意义:设置定时器的最大值,即设置定时器的上限

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号;上限值;参数3,1 - 表示运行到60后停止;0 - 表示运行到60后重新循环运行

实例:!TimerSetLimit(1,60,1),设置1号定时器的上限为60,运行到60后停止。

!TimerSetOutput(定时器号,数值型变量)

函数意义:设置定时器的值输出连接的数值型变量

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号;数值型变量,定时器的值输出连接的数值型变量

实例:!TimerSetOutput(1,Data0),将1号定时器的数据连接到Data0

!TimerWaitFor(定时器号,数值)

函数意义:等待定时器工作到“数值”指定的值后,脚本程序才向下执行

返回值:数值型。返回值=0:调用成功;<>0:调用失败。

参数:定时器号;数值,等待定时器工作到指定的值

实例:!TimerWaitFor(1,55),等定时器工作到55秒后再执行其他操作

有两个灯要求是按下启动按钮后其中一个灯亮另一个延时7秒钟亮并保持

启动按钮脚本:

!TimerRun(1)

灯1=1

停止按钮脚本:

!TimerStop(1)

!TimerReset(1,0)

灯1=0

灯2=0

在“循环策略”中添加一个策略行:

将“循环时间”改为100ms;策略行条件表达式为1;脚本程序为:

时间=!TimerValue(1,0)

IF 时间>= 7 THEN

灯2=1

ENDIF

其中:灯1,灯2为开关量;时间为数字量

MCGS触摸屏编程实例精选

MCGS触摸屏编程实例精选 1.MCGS表格中,两数据连接到两个开关量,要把采集到的“0”和“1”的状态,显示为“关”和“开” 在表格里输入“开|关”,然后连接开关型变量Data1,按钮是让开关量Data1取反。

这样就行了,运行时Data1默认为0显示关,按下按钮后Data1为1显示开,如此反复

2.mcgs里怎么画渐变色 渐变色只有通用版和网络版有,嵌入版没有 方法就是:填充颜色——填充效果,然后根据你的需要设置就行了。

3.如何在mcgs做脚本i0.0=1 让Q输出 当PLC的I0.0有信号,让Q0.0输出,在PLC中做我会,不知道在MCGS中怎么实现 在循环脚本中,循环时间为10ms,条件表达式为1,脚本程序为 IF I0.0 = 1 THEN Q0.0 = 1 ELSE Q0.0 = 0 ENDIF 4.MCGS组态如何实现这样的功能?点击某一部分,弹出登录对话框 这个画面是在有管理员帐户登录的情况下才可以设置的,我现在想实现当有人在没有登录的情况下点击了这个地方,就弹出提示:请先登录。 1条回答 可以先用函数!CheckUserGroup来判断当前登录的用户是不是你需要的用户组,返回只为0表示已经登录了你需要的用户组了,直接进行下一步,如果返回值不为0,表示当前登录的不是你需要的用户组或是没有任何登录,那么用子窗口或者可见度啥的都行,显示出来就行了。 追问

我是想在用户点击了上面图片中的部分时才弹出登录提示,怎么实现呢? 回答 你把判断的语句写到图片的事件里就行了 追问 求在具体一点,不知道怎么写。 回答 点控件,右键——事件——Click——事件连接脚本

MCGS系统内部函数参考手册.docx

MCGS系统内部函数 MCGS内部为用户提供了一些常用的数学函数和对MCGS内部对象操作的函数。组态时,可在表达式中或用户脚本程序中直接使用这些函数。为了与其它名称相区别,系统内部函数的名称一律以“!”符号开头。下面分别介绍各个函数的用途和使用方法。 运行环境操作函数 !CallBackSvr(DatName) 函数意义:调用后台对象 返回值:数值型,后台对象的值 参数:DatName,对象名,数值型 实例:X=! CallBackSvr (X),调用后台数值型对象X 注意:本函数在新版本MCGS系统内部,己经无效。为了保留与旧版本的兼容性, 暂时保留。 !ChangeLoopStgy(StgyName, n) 函数意义:改变循坏策略的循环时间 返回值:数值型。返回值二0:调用正常;〈>0:调用不正常。 参数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间实 例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为为5 秒 !CioseAllWindow(WndName) 函数意义:关闭所有窗口,如果在字符串"WndName"中指定了一个窗口,则打开这个窗口,关闭其他窗口。如果” WndName”为空串,则关闭所有窗口。 返回值:数值型。返回值:二0:调用正常;〈>0:调用不正常。 参数:WndName,用户窗口名,字符型。 实例:!CloscAllWindow( “工况图”),关闭除了用户窗口“工况图”以外的其他窗I」,若“工况图”窗I」没有打开,则在关闭其他窗I」的同时打开该窗 I」!CloseAllWindow( “”),关闭所有窗口。 !EnableStgy(StgyName, n) 函数意义:打开或关闭某个策略,如报警策略或循环策略等。返回值:数值型。返冋值二0:调用正常;<>0:调用不正常。 参数:StgyName,策略名; n,数值型,为1时表示打开此策略,为0时表示关闭此策略。实例:!EnableStgy(报

MCGS时间函数

!TimeGetSpan(iTime1,iTime2) 函数意义:计算两个时间iTime1和iTime2之差; 返回值:开关型,两时间之差; 参数:iTime1,开关型,时间值; iTime2,开关型,时间值; 实例:!TimeGetSpan(iTime1,iTime2) 实例说明:计算两个时间iTime1和iTime2之差。 !TimeStr2I(strTime) 函数意义:将表示时间的字符串(YYYY/mm/DD HH:MM:SS)转换为时间值; 返回值:开关型,转换后的时间值; 参数:strTime,字符型,以字符串型表示的时间(必须是YYYY/mm/DD HH:MM:SS的格式); 实例:!TimeStr2I(“2001/1/1 3:15:28”) 实例说明:将表示时间的字符串“2001/1/1 3:15:28”转换为开关型的时间值。 !TimeI2Str(iTime,strFormat) 函数意义:将时间值转换为字符串表示的时间; 返回值:字符型,转换后的时间字符串; 参数:iTime,开关型,时间值;(注意,这里只能用!TimeStr2I(strTime)转换出的时间值,否则将不能正确转换。); strFormat,字符型,转换后的时间字符串的格式; 实例:!TimeI2Str(Time,"%A, %B %d, %Y") 实例说明:将时间值转换为字符串型,其表示格式为:星期,月日,年。 !TimeI2Str的格式化标准为:

星期的简写。如:Fri是Friday的简写表示星期五 %A 星期的全称。如:Sunday表示星期日 %b 月份的简写。如:Jan是January的简写表示一月 %B 月份的全称。如:June表示六月 %c 适合于本地习惯的时间日期表示。如:05/07/01 09:47:12,表示2001年5月7日9时47分12秒 %d 月份中日期的十进制表示。如:07表示7日 %H 24时制的小时表示。如:17表示下午5时 %I 12时制的小时表示。 %j 一年中天数的十进制表示。如:2001-06-07是一年中第158天 %m 月份的十进制表示。如:06表示6月 %M 分钟的十进制表示。如:28表示28分 %p 以AM/PM方式表示上下午;AM表示上午;PM表示下午

MCGS脚本程序要点

MCGS脚本程序 本专题将从以下几个方面介绍MCGS脚本程序: ●脚本程序简介 ●脚本语言编辑环境 ●脚本程序语言要素 ●脚本程序基本语句 ●脚本程序的查错和运行 脚本程序简介 对于大多数简单的应用系统,MCGS的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。 用户脚本程序是由用户编制的、用来完成某种特定的流程控制和操作处理的程序。它被封装在一个功能构件里(称为脚本程序功能构件),在后台由独立的线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。 在MCGS中,脚本语言的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。 脚本程序在MCGS组态软件中有四种应用场合,分别为: ●在“运行策略”中的“脚本程序”构件中使用; ●在“菜单”属性设置中的“脚本程序”中使用,作为菜单的一个辅助功 能运行; ●在“用户窗口”属性设置中的“启动脚本”、“循环脚本”、“退出脚本” 中使用; ●更常见的用法是应用在动画界面的事件中,如在窗口中的“标准按钮” 属性设置中的“脚本程序”中使用。 MCGS引入的事件驱动机制,与VB或VC中的事件驱动机制类似,比如:对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键事件等等。这些事件发生时,就会触发一个脚本程序,执行脚本程序中的操作。 脚本语言编辑环境 脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCGS操作对象列表和函数列表、脚本语句和表达式4个部分构成,分别说明如下:

非常实用的mcgs触摸屏编程实例精选上

MCGS实例解答 1.MCGS表格中,两数据连接到两个开关量,要把采集到的“0”和“1”的状态,显示为“关”和“开” 在表格里输入“开|关”,然后连接开关型变量Data1,按钮是让开关量Data1取反。

这样就行了,运行时Data1默认为0显示关,按下按钮后Data1为1显示开,如此反复

2.mcgs里怎么画渐变色 渐变色只有通用版和网络版有,嵌入版没有 方法就是:填充颜色——填充效果,然后根据你的需要设置就行了。

3.如何在mcgs做脚本i0.0=1 让Q输出 当PLC的I0.0有信号,让Q0.0输出,在PLC中做我会,不知道在MCGS中怎么实现 在循环脚本中,循环时间为10ms,条件表达式为1,脚本程序为 IF I0.0 = 1 THEN Q0.0 = 1 ELSE Q0.0 = 0 ENDIF 4.MCGS组态如何实现这样的功能?点击某一部分,弹出登录对话框 这个画面是在有管理员帐户登录的情况下才可以设置的,我现在想实现当有人在没有登录的情况下点击了这个地方,就弹出提示:请先登录。 1条回答 可以先用函数!CheckUserGroup来判断当前登录的用户是不是你需要的用户组,返回只为0表示已经登录了你需要的用户组了,直接进行下一步,如果返回值不为0,表示当前登录的不是你需要的用户组或是没有任何登录,那么用子窗口或者可见度啥的都行,显示出来就行了。 追问

我是想在用户点击了上面图片中的部分时才弹出登录提示,怎么实现呢? 回答 你把判断的语句写到图片的事件里就行了 追问 求在具体一点,不知道怎么写。 回答 点控件,右键——事件——Click——事件连接脚本

MCGS脚本程序

MCGS 脚本程序 本专题将从以下几个方面介绍MCG脚本程序:脚本程序简介 脚本语言编辑环境 脚本程序语言要素脚本程序基本语句脚本程序的查错和运行 脚本程序简介 对于大多数简单的应用系统,MCG的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。 用户脚本程序是由用户编制的、用来完成某种特定的流程控制和操作处理的程序。它被封装在一个功能构件里(称为脚本程序功能构件),在后台由独立的线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。 在MCG中,脚本语言的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。 脚本程序在MCG组态软件中有四种应用场合,分别为:在“运行策略”中的“脚本程序”构件中使用;在“菜单”属性设置中的“脚本程序”中使用,作为菜单的 一个辅助功能运行; 在“用户窗口”属性设置中的“启动脚本” 、“循环脚本”、“退出脚本” 中 使用; 更常见的用法是应用在动画界面的事件中,如在窗口中的“标准按钮” 属性设置 中的“脚本程序”中使用。 MCGSI入的事件驱动机制,与VB或VC中的事件驱动机制类似,比如:对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键事件等等。这些事件发生时,就会触发一个脚本程序,执行脚本程序中的操作。 脚本语言编辑环境脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCG操作对象列表和函数列表、脚本语句和表达式4 个部分构成,分别说明如下:

昆仑通态脚本开发函数

!GetCurrentChannelNum() 函数意义:得到当前触发单通道写的通道号; 返回值:整型。-1 失败,> 0 通道号; 参数:无; 实例:!GetCurrentChannelNum()。 !SetIntChannelValueByName(DataStr,n) 函数意义:根据通道的名称对通道进行设置,假设该通道类型为整型(开关型)变量; 返回值:整型。-1 失败,0 成功。 参数:DataStr,字符型,需要设置的通道名称的字符串。 n,整型,需要设定的整型值 实例:! SetIntChannelValueByName ("发电机启动",1)。 实例说明:将通道“发电机启动”的值设为1; !SetSingleChannelValueByName(DataStr,x) 函数意义:根据通道的名称对通道进行设置,假设该通道类型为单精度浮点型(数值型)变量; 返回值:整型。-1 失败,0 成功。 参数:DataStr,字符型,需要设置的通道名称的字符串。 n,单精度浮点型,需要设定的值 实例:! SetSingleChannelValueByName ("温度",45.5)。 实例说明:将通道“温度”的值设为45.5; !SetIntChannelValueByNum(DataNum,n) 函数意义:根据通道的编号对通道进行设置,假设该通道类型为整型(开关型)变量; 返回值:整型。-1 失败,0 成功。 参数:DataNum,整型,需要设置的通道编号,从1开始。 n,整型,需要设定的整型值 实例:! SetIntChannelValueByNum(3,1)。 实例说明:将通道3的值设为1; !SetSingleChannelValueByNum(DataNum,x) 函数意义:根据通道的编号对通道进行设置,假设通道为单精度浮点型(数值型)变量;返回值:整型。-1 失败,0 成功。 参数:DataNum,整型,需要设置的通道编号,从1开始。 x,单精度数值型,需要设定的数值 实例:!SetSingleDataV alueByNum(2,45.5)。 实例说明:将通道2的值设为45.5。 !GetIntChannelValueByName(DataStr,ByRef n) 函数意义:根据通道的名字,将该通道的值读出,假设该通道为整型(开关型)变量; 返回值:整型。-1 失败,0 成功。 参数:DataStr,字符型,需要读取的通道名的字符串。

mcgs定时器操作函数设置

定时器号:系统定时器的序号1—127,MCGS系统内嵌127个系统定时器。 系统定时器以秒为定时单位。 !TimerClearOutput(定时器号) 函数意义: 断开定时器的数据输出连接 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号。 实例:!TimerClearOutput(1),断开1号定时器的数据输出连接 !TimerRun(定时器号) 函数意义:启动定时器开始工作 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号 实例:!TimerRun(1),启动1号定时器工作。 !TimerStop(定时器号) 函数意义:停止定时器工作 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号 实例:!TimerStop(1 ),停止1号定时器工作。 !TimerSkip(定时器号,步长值) 函数意义:在计时器当前时间数上加/减指定值 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;步长值 实例:!TimerSkip(1,3),1号定时器当前值+3 !TimerReset(定时器号,数值) 函数意义:设置定时器的当前值,由第二个参数设定,第二个参数可以是MCGS变量返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;数值 实例:!TimerReset(1,12),设置1号定时器的值为12 !TimerValue(定时器号,0) 函数意义:取定时器的当前值

返回值:将定时器的值以数值型的方式输出(数值格式) 参数:定时器号 实例:Data3=!TimerValue(1,0),取定时器1的值给Data3 !TimerStr(定时器号,转换类型) 函数意义:以时间类字符串的形式返回当前定时器的值 返回值:字符型变量,将定时器的值以字符型的方式输出(时间格式) 参数:定时器号 转换类型值:开关型 = 0:取定时器的值以“00:00”形式输出; = 1:取定时器的值以“00:00:00”形式输出; = 2:取定时器的值以“0 00:00:00”形式输出; = 3:取定时器的值以“0 00:00:00.000”形式输出; 实例:Time=!TimerStr(1,1),取定时器的值以“00:00:00”形式输出给Time !TimerState(定时器号) 函数意义:取定时器的工作状态 返回值:数值型变量,0 - 定时器停止,1 - 定时器运行 参数:定时器号 实例:data1=!TimerState(1),取定时器1的工作状态给data1 !TimerSetLimit(定时器号,上限值,参数3) 函数意义:设置定时器的最大值,即设置定时器的上限 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;上限值;参数3,1 - 表示运行到60后停止;0 - 表示运行到60后重新循环运行 实例:!TimerSetLimit(1,60,1),设置1号定时器的上限为60,运行到60后停止。 !TimerSetOutput(定时器号,数值型变量) 函数意义:设置定时器的值输出连接的数值型变量 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;数值型变量,定时器的值输出连接的数值型变量 实例:!TimerSetOutput(1,Data0),将1号定时器的数据连接到Data0 !TimerWaitFor(定时器号,数值)

MCGS 文件操作函数

MCGS 文件操作函数 2009-08-08 14:58:24| 分类:工业控制(MCGS,K |字号大中小订阅 注意:文件操作函数中所涉及到文件的路径均为绝对路径 !FileAppend(strTarget ,strSource) 函数意义:将文件strSource中的内容添加到文件strTarget后面,使两文件合并为一个文件。 返回值:开关型。 参数:strTarget,字符型,目标文件,需要写绝对路径; strSource,字符型,源文件,需要写绝对路径。 实例:!FileAppend(“d:\a.txt”,”d:\b.txt”) 实例说明:将D盘下文件b.txt合并到文件a.txt的后面。若a.txt不存在,则会自动新建一个文件。 !FileCopy(strSource ,strTarget) 函数意义:将源文件strSource复制到目标文件strTarget,若目标文件已存在,则将目标文件覆盖。 返回值:开关型;

返回0,操作不成功; 返回非0值,操作成功。 参数:strSource,字符型,源文件; strTarget,字符型,目标文件。 实例:!FileCopy(“d:\a.txt”,”d:\b.txt”) 实例说明:将D盘下文件a.txt复制到b.txt。 !FileDelete(strFilename) 函数意义:将strFilename指定的文件删除。 返回值:开关型; 返回0,操作不成功; 返回非0值,操作成功。 参数:str1,字符型,将被删除的文件。 实例:!FileDelete(“d:\a.txt”) 实例说明:删除将D盘下文件a.txt。 !FileFindFirst(strFilename,objName,objSize,objAttrib)

MCGS高级教程

第一章MCGS的可扩充性 1.1 概述 MCGS组态软件是一套功能丰富、简单易用的组态软件,大部分工程师都可以很容易的使用这套组态软件来完成一个完整的工程项目。但是,当用户熟练的掌握了这套组态软件以后,用户必然会寻求在这套组态软件上进一步开发的能力。以实现有自己风格的界面、自己设计的控制算法和与自己硬件相匹配的驱动程序。其他一些长期使用Visual Basic、C++、Delphi的高级工程开发人员,为了充分利用自己的编程特长和已有的程序积累,也希望能够把自己编写的程序装配到MCGS组态软件中。 大部分面向工程应用的工程人员,虽然没有时间和精力开发自己的专有模块,但是,却希望能够从MCGS开发组或第三方的专业、业余开发者那里获得为自己定制的特殊模块,并且能够很方便的装配到现有的MCGS组态软件上。而对硬件开发商和一些高级的开发人员,都希望能够开发出自己的设备驱动模块和专业化、行业化的模块以充分利用MCGS软件的组态功能,当然,对于这些专业化的高品质模块,位于工程一线的工程人员也是具有非同一般的兴趣的。 为了满足用户的这些要求,MCGS提供一套可扩充的接口规范和配套的高级开发工具包。使用接口规范和工具包开发出来的扩充构件,具有很优越的特点: z安全保密。扩充构件是编译成二进制代码的,可以很好的保护您的工作。非法用户不可能通过反编译你的扩充构件来获得你独有的设备驱动构件、特殊的运算构件和 特殊的窗口界面。你更可以使用扩充构件来进行自己的加密,以防止你制作的工程 被任意拷贝,保护你自己的利益。 z简单快速。MCGS组态软件高级开发包中提供了常用的数据后处理构件源代码。初级用户可以直接使用这些数据后处理构件,但高级用户则可以修改这些构件的源代 码,以满足自己特殊的要求。众所周知,工控工程的数据后处理部分具有各自不同 的要求,因此一般的组态软件,都要求用户自己使用例如Excel、Access等软件来完 成自己的特殊的后处理。但是MCGS组态软件除了可以用类似的方法处理外,还提 供了另外一种不同的处理方法。那就是高级用户可以修改MCGS组态软件高级开发 工具包中所提供的后处理构件源代码,然后生成自己的扩充构件,装配到MCGS组 态软件上,就可以组成自己独有的后处理系统。 z性能优异。使用这种方法开发出来的MCGS组态软件的扩充构件具有很高的速度和性能。据微软公司测试,使用Visual C++软件开发出来的程序,只比使用Visual Basic 开发出来的速度高百分之十,有时甚至还低于Visual Basic。而使用Visual Basic开 发的方便性和易用性又是Visual C++所远远不能比拟的。在编写MCGS组态软件的 扩充构件时,Visual Basic确实是一种最佳选择。 z任务明确。MCGS的这种扩充构件具有清晰的结构,你完全可以向MCGS组态软件

非常实用的mcgs触摸屏编程实例下(10例)-

13.组态控制技术mcgs 下图脚本程序如何编 IF 实际总水量< 设定总水量THEN 下罐进水阀=1 下罐排水阀=0 ELSE IF 实际总水量> 设定总水量THEN 下罐进水阀=0 下罐排水阀=1 ELSE IF 实际总水量= 设定总水量THEN IF 下水位< 下水位设定量THEN

循环泵=0 上罐进水阀=0 上罐排水阀=1 ELSE IF 下水位> 下水位设定量THEN 上罐排水阀=0 上罐进水阀=1 循环泵=1 ENDIF ENDIF ENDIF ENDIF ENDIF 当然如果你的下水位是由开关量来确定的话,后面那一部分也可以改成: IF 实际总水量= 设定总水量THEN IF 下水位低=1 THEN 循环泵=0 上罐进水阀=0 上罐排水阀=1 ELSE IF 下水位高=1 THEN 上罐排水阀=0 上罐进水阀=1 循环泵=1 上面只是大体的一个思路,里面还是有很多需要补充的地方,比如给上水罐注水时,是否需要先判断进水阀是否打开再启动循环泵,给下水罐注水时是否需要判断先关停循环泵再关停进水阀,然后开启上罐排水阀,如果是这种情况的话,建议你可以使用运行策略来完成脚本编写。 14.MCGS 组态软件脚本程序有没有延时指令 !Sleep(mTime) 函数意义:在脚本程序中等待mTime毫秒,然后执行下条语句 实例:!Sleep(10),延时10毫秒 15.怎么使MCGS组态动画实现左右移动?要用脚本程序写

先向右移,再原路返回 很简单的啊,就是双击要实现动画的东西,钩选水平移动,然后在水平移动上选择对应的字地址,将此字地址与要移动的位置对应好,然后在脚本里面对这个字地址编程就可以了。 只要对我之前说的那个对应的字地址编脚本可以了 脚本可以这么编 IF 对应位=0 THEN 中间变量=0 IF 对应位=100 THEN 中间变量= 1 IF 中间变量=0 THEN 对应位= 对应位+ 5 IF 中间变量=1 THEN 对应位= 对应位- 5 16.mcgs怎么实现按钮按下去不弹起 首先放上两个元件,但不是按钮 然后分别设置属性,上面的是“按钮动作——置一——按钮”“可见度——按钮——不可见”如下图

mcgs函数使用

int printf(const char *format,[argument]); format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type 规定数据输出方式,具体如下: 1.type 含义如下: d 有符号10进制整数 i 有符号10进制整数 o 无符号8进制整数 u 无符号10进制整数 x 无符号的16进制数字,并以小写abcdef表示 X 无符号的16进制数字,并以大写ABCDEF表示 F/f 浮点数 E/e 用科学表示格式的浮点数 g 使用%f和%e表示中的总的位数表示最短的来表示浮点数G 同g格式,但表示为指数 c 单个字符 s 字符串 S wchar_t字符(宽字符)类型字符串 % 显示百分号本身 p 显示一个指针,near指针表示为:XXXX far 指针表示为:XXXX:YYYY n 相连参量应是一个指针,其中存放已写字符的个数 2.flags 规定输出格式,取值和含义如下: 无右对齐,左边填充0和空格 - 左对齐,右边填充空格 + 在数字前增加符号+ 或- 0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-) 空格输出值为正时冠以空格,为负时冠以负号 # 当type=c,s,d,i,u时没有影响 type=o,x,X时,分别在数值前增加'0',"0x","0X" type=e,E,f时,总是使用小数点 type=g,G时,除了数值为0外总是显示小数点 3.width 用于控制显示数值的宽度,取值和含义如下 n(n=1,2,3...) 宽度至少为n位,不够以空格填充 0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充 * 格式列表中,下一个参数还是width 4.prec 用于控制小数点后面的位数,取值和含义如下: 无按缺省精度显示 0 当type=d,i,o,u,x时,没有影响 type=e,E,f时,不显示小数点 n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数 type=其他,表示显示的最大宽度 .* 格式列表中,下一个参数还是width 5.F|N|h|l 表示指针是否是远指针或整数是否是长整数 F 远指针

mcgs常见问题集锦

MCGS问题集锦转自MCGS ye_w,2007-03-17 14:21:14 1:如何打印历史数据:用运行策略------历史数据浏览构件-------打印。 2:如何打印历史曲线:用打印用户窗口。 3:McgsE.dat有什么作用? McgsE.dat有什么作用 McgsE.dat存在于\harddisk\mcgsbin目录之下 A.组态工程 B.报警数据(MCGS_ALARM) 如果下载新工程,旧的McgsE.dat被删除,然后生成新的文件 4:McgsE.ini有何作用 McgsE.ini存在于\harddisk\mcgsbin目录之下 存储系统存盘属性信息,包括:存盘路径,自动刷新周期,预留空间大小, 存盘文件大小等 他的信息会出现在启动属性中(即开机时点击触摸屏后出现的窗口) 5:报表数据存盘停机处理 通过测试该问题是由于用户不知道如何使用而产生的问题,现在将具体的使用方法进行详细的介绍: 1).打开报表数据存盘属性设置窗口。 2).在基本属性页里面点中“使用停机存盘文件”既在左面的框中打勾即可。 3).然后将“记录周期”中输入10秒,表示每10秒中保存一次当前的数据值,也可以其他的值,但是不能为0秒。 4).在通道设置页中,对于列“处理方法”中选中“末值”。 5).在输出数据库页中的“数据库类型”可以选中“Access数据库”或“ODBC数据库”,如果选中的类型为“Access数据库它时,则“数据库名称”可以这样写:“d:\mcgs\work\ 停机处理.mdb”; 如果选中的类型为“ODBC数据库”则可以这样写:“driver=sql server;server=clx;database=张丹;uid=sa;pwd=clx”;列“数据库表名”可以自己取一个名称;列“处理时间”可以自己选;列“处理单位”如果需要处理1天内的数据则选择“天”则一天一条记录(如果是1小时则1小时保存一条记录),如果需要处理几天以内的数据则选“月”,依次类推。列“刷新间隔”可以自己选,“保留数据可以选择为360天的数据,这样可以保证一年。 6.在窗口里面的启动脚本中增加“!SetDevice(设备0, 6,"loaddata")”或者在启动策略里面增加“!SetDevice(设备0, 6,"loaddata")”。 7.报警策略使用中的常见问题 使用报警策略,通常使用工具箱中的报警显示、报警策略和清空报警记录和报警变量设置配合完成基本的报警功能,需要注意的是,清空报警记录的函数!DelAllAlmDat支持的变量类型不包括组对象,注意在此函数中使用组对象。

MCGS组态脚本函数

MCGS组态系统内部函数 目录 第一章数学函数 (6) !Atn(x) (6) !Arcsin(x) (6) !Arccos(x) (6) !Cos(x) (6) !Sin(x) (6) !Tan(x) (7) !Exp(x) (7) !Log(x) (7) !Sqr(x) (7) !Abs(x) (8) !Sgn(x) (8) !BitAnd(x,y) (8) !BitOr(x,y) (8) !BitXor(x,y) (8) !BitClear(x,y) (9) !BitSet(x,y) (9) !BitNot(x) (9) !BitTest(x,y) (9) !BitLShift(x,y) (9) !BitRShift(x) (10) !Rand(x,y) (10) 第二章数据对象操作函数 (10) !AnswerAlm(DatName) (10) !ChangeDataSave(Datname,n) (10) !ChangeSaveDat(DatName,Num1,Num2) (11) !CopySaveDat(Tdb,Sdb,TabName,TimeField,Flag ) (11) !DelAllSaveDat(DatName) (11) !DelAllAlmDat(DatName) (12) !DelAlmDat(DatName,Num) (12) !DelSaveDat(DatName,Num) (12) !EnableAlm(name,n) (13) !EnableDataSave(name,n) (13) !GetAlmValue(DatName,Value,Flag) (13) !GetEventDT(EvName) (14) !GetEventP(EvName) (14) !GetEventT(EvName) (14) !MoveAlmDat(DatName,FileName,Num1,Num2,Flag) (14)

mcgs常见问题集锦

MCGS 问题集锦转自MCGS ye_w,2007-03-17 14:21:14 1:如何打印历史数据:用运行策略-------- 历史数据浏览构件------ 打印。 2:如何打印历史曲线:用打印用户窗口。 3:McgsE.dat 有什么作用? McgsE.dat 有什么作用 McgsE.dat 存在于\harddisk\mcgsbin 目录之下 A. 组态工程 B. 报警数据(MCGS_ALARM) 如果下载新工程,旧的McgsE.dat 被删除,然后生成新的文件 4:McgsE.ini 有何作用 McgsE.ini 存在于\harddisk\mcgsbin 目录之下存储系统存盘属性信息,包括:存盘路径,自动刷新周期,预留空间大小,存盘文件大小等 他的信息会出现在启动属性中(即开机时点击触摸屏后出现的窗口) 5:报表数据存盘停机处理通过测试该问题是由于用户不知道如何使用而产生的问题,现在将具体的使用方法进行详细的介绍: 1).打开报表数据存盘属性设置窗口。 2).在基本属性页里面点中“使用停机存盘文件”既在左面的框中打勾即可。 3).然后将“记录周期”中输入10 秒,表示每10 秒中保存一次当前的数据值,也可以其他 的值,但是不能为0 秒。 4).在通道设置页中,对于列“处理方法”中选中“末值”。 5).在输出数据库页中的“数据库类型”可以选中“Access 数据库”或“ ODBC 数据库”,如 果选中的类型为“ Access 数据库它时,则“数据库名称”可以这样写:“ d:\mcgs\work\ 停机处 理.mdb ”; 如果选中的类型为"ODBC数据库”则可以这样写:“ driver=sql server;server=clx;database=张丹; uid=sa;pwd=clx”;列“数据库表名”可以自己取一个名称;列“处理时间”可以自己选; 列“处理单位”如果需要处理1 天内的数据则选择“天”则一天一条记录(如果是1 小时则 1 小时保存一条记录),如果需要处理几天以内的数据则选“月”,依次类推。列“刷新间隔” 可以自己选,“保留数据可以选择为360 天的数据,这样可以保证一年。 6?在窗口里面的启动脚本中增加“!SetDevice(设备0, 6,"loaddata")”或者在启动策略里面增加“!SetDevice(设备0, 6,"loaddata")”。 7?报警策略使用中的常见问题 使用报警策略,通常使用工具箱中的报警显示、报警策略和清空报警记录和报警变量设置配合完成基本的报警功能,需要注意的是,清空报警记录的函数!DelAllAlmDat 支持的变量类型不包括组对象,注意在此函数中使用组对象。

MCGS配方操作函数

MCGS配方操作函数 MCGS 配方操作函数工业控制(MCGS,K 2009-08-08 15:53:52 阅读130 评论0 字号:大中小订阅 . !RecipeLoad(strFilename ,strRecipeName) 函数意义:装载配方文件; 返回值:开关型; 返回0:操作成功; 返回值<0:操作不成功; 参数:strFilename,字符型,配方文件名; strRecipeName,字符型,配方表名; 实 例:!RecipeLoad("d:\mcgs\work\1.csv","rec" ):!RecipeBind("rec",t1,t2,t3,t 4 ) 实例说明:装载一个配方文件,文件名为:"d:\mcgs\work\1.csv",装载后的配方表名为:rec,并将它绑定到变量t1,t2,t3,t4上。 !RecipeMoveFirst(strRecipeName) 函数意义:移动到第一个配方记录; 返回值:开关型; 返回0:操作成功; 返回值<0:操作不成功; 参数:strRecipeName,字符型,配方表名; 实例:!RecipeMoveFir st(“rec”) 实例说明:移动到配方表rec的第一个配方记录。

!RecipeMoveLast(strRecipeName) 函数意义:移动到最后一个配方记录; 返回值:开关型; 返回0:操作成功; 返回值<0:操作不成功; 参数:strRecipeName,字符型,配方表名; 实例:!RecipeMoveLast(“rec”) 实例说明:移动到配方表rec的最后一个配方记录。!RecipeMoveNext(strRecipeName) 函数意义:移动到下一个配方记录; 返回值:开关型; 返回0:操作成功; 返回值<0:操作不成功; 参数:strRecipeName,字符型,配方表名; 实例:!RecipeMoveNext(“Rec”) 实例说明:移动到配方表Rec的下一个配方记录。!RecipeMovePrev(strRecipeName) 函数意义:移动到前一个配方记录; 返回值:开关型; 返回0:操作成功; 返回值<0:操作不成功; 参数:strRecipeName,字符型,配方表名; 实例:!RecipeMovePrev(“Rec”) 实例说明:移动到配方表Rec的前一个配方记录。

MCGS嵌入版脚本程序

脚本程序 本章介绍MCGS嵌入版的脚本语言,主要内容包括: 脚本语言编辑环境 脚本程序语言要素 脚本程序基本语句 脚本程序的查错和运行 脚本程序简介 脚本程序是组态软件中的一种内置编程语言引擎。当某些控制和计算任务通过常规组态方法难以实现时,通过使用脚本语言,能够增强整个系统的灵活性,解决其常规组态方法难以解决的问题。 MCGS嵌入版脚本程序为有效地编制各种特定的流程控制程序和操作处理程序提供了方便的途径。它被封装在一个功能构件里(称为脚本程序功能构件),在后台由独立的线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。 在MCGS嵌入版中,脚本语言是一种语法上类似Basic的编程语言。可以应用在运行策略中,把整个脚本程序作为一个策略功能块执行,也可以在动画界面的事件中执行。MCGS嵌入版引入的事件驱动机制,与VB或VC中的事件驱动机制类似,比如: 对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键事件等等。这些事件发生时,就会触发一个脚本程序,执行脚本程序中的操作。 脚本语言编辑环境 脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCGS嵌入版操作对象列表和函数列表、脚本语句和表达式4个部分构成,分别说明如下:

脚本程序编辑框用于书写脚本程序和脚本注释,用户必须遵照MCGS嵌入版规定的语法结构和书写规范书写脚本程序,否则语法检查不能通过。 编辑功能按钮提供了文本编辑的基本操作,用户使用这些操作可以方便操作和提高编辑速度。比如,在脚本程序编辑框中选定一个函数,然后按下帮助按钮,MCGS嵌入版将自动打开关于这个函数的在线帮助,或者,如果函数拼写错误,MCGS嵌入版将列出与所提供的名字最接近函数的在线帮助。 脚本语句和表达式列出了MCGS嵌入版使用的三种语句的书写形式和MCGS嵌入版允许的表达式类型。用鼠标单击要选用的语句和表达式符号按钮,在脚本编辑处光标所在的位置填上语句或表达式的标准格式。比如,用鼠标单击if~then按钮,则MCGS嵌入版自动提供一个if…then…结构,并把输入光标停到合适的位置上。 MCGS嵌入版对象和函数列表以树结构的形式,列出了工程中所有的窗口、策略、设备、变量、系统支持的各种方法、属性以及各种函数,以供用户快速的查找和使用。比如,可以在用户窗口树中,选定一个窗口: “窗口0”,打开窗口0下的“方法”,双击Open函数,则MCGS嵌入版自动在脚本程序编辑框中,添加一行语句: 用户窗口.窗口 0.Open(),通过这行语句,就可以完成窗口打开的工作。 脚本程序语言要素 在MCGS嵌入版中,脚本程序使用的语言非常类似普通的Basic语言,本节将对脚本程序的语言要素进行详细的说明。数据类型 MCGS嵌入版脚本程序语言使用的数据类型只有三种: 开关型: 表示开或者关的数据类型,通常0表示关,非0表示开。也可以作为整数使用;

文件导出mcgs函数

!ExportHisDataToCSV(文件名,组对象名,字段名,开始时间,结束时间,最大记录数,导出模式,导出参数,进度指示数据对象名,取消控制数据对象名) 函数意义: 1.导出指定组对象存盘数据,导出的条件包括:开始时间-结束时间,最大导出总条数; 2.导出字段列表,组对象为MCGS_ALARM则表示导出报警历史数据; 3.可指定导出文件名和路径,主要是U盘导出,可以追加方式也可覆盖方式导出; 4.可显示导出过程进度情况; 5.可取消和中止长时间的导出过程; 6.导出格式为csv文件,导出的第一行为字段名字。 返回值:开关型。 返回1 指定组对象错误,可能组对象没有保存历史数据或者没有该组对象 返回2 指定的时间格式错误 返回3 指定的无效的数据对象名 返回4 无效的导出模式 返回5 同时只能支持一个csv导出 参数: 文件名:字符型,指定导出的文件绝对路径名,指定的第一级目录不能创 建,其子目录如果不存在则可以创建。这样避免U盘不存在时 创建U盘目录。注意:第一级目录不能自动创建用户必须保证 其存在; 组对象名:导出的组对象名字。 字段名:字符型,用逗号分隔的要导出的字段名,不需要指定时间字段, 默认第一二个字段就为记录时间字段。如果为空字符串则导出所 有字段。 开始时间,结束时间:用表示的时间字符串“YYYY-MM-DD HH:MM:SS”; 最大记录数:希望导出的最大记录数,超过该记录数就返回,停止导出; 导出模式:“1”表示覆盖现有文件,“2”表示追加到文件最后; 导出参数:暂时为空,保留以后使用;

进度指示数据对象名:开关型数据对象,导出过程中该对象值反映出当前 已导出记录条数,如果导出过程中其他异常结束则 通过该对象返回同函数返回错误码; 进度指示错误码: 返回-1------文件不能打开 返回-2------没有可导出的数据 返回-4------文件操作出现错误 控制数据对象名:指定一个开关型数据对象,该对象控制导出执行,启动 导出时会自动设置该变量为0,用户在导出过程中想取 消导出则可以设置该值为<0的任何值,导出函数运行 结束后会自动设置对象值为1; 进度指示错误码: 返回0------导出成功 返回-1-----导出路径不存在 返回1------指定组对象错误,可能组对象没有保 存历史数据或者没有该组对象 返回2------指定的时间格式错误 返回3------指定的无效的数据对象名 返回4------无效的导出模式 返回5------同时只能支持一个csv导出 实例: ret= !ExportHisDataToCSV("\usb harddisk\yang.csv","group","data1,data4","2007/1/1 0:0:0","2009/1/1 0:0:0",20000,1,"",进度,控制)

MCGS嵌入版参考手册资料

分参考手册 另外,在主窗口的背景上,单击鼠标右键,弹出的右键菜单,与此菜单内容相同。第十六章菜单详解16.1 概述 MCGS嵌入版组态软件采用的是标准的菜单形式,合理的菜单结构设计以及完整的功能组合,使得用户可以使用菜单方便、快捷的组建工程。下面开始详细的介绍各个菜单项的功能及其使用方法。 16.2 文件菜单 “文件”菜单是一个下拉式菜单,它包括了对MCGS嵌入版工程文件的各种操作命令,其中有新文件的建立,文件的存盘,文件的打开、打印输出、打印预览等操作命令,还包括了检查组态结果和进入运行环境的操作命令。 下表中列出了“文件”菜单的各种操作命令。 菜单名图标对应快捷键功能说明 新建工程Ctrl + N 新建并打开一个新的工程文件 打开工程Ctrl + O 打开指定的工程文件 关闭工程无关闭当前工程 保存工程/保存窗口Ctrl + S 把当前工程存盘 工程另存为无把当前工程以另外的名称存盘 打印设置无设置打印配置 打印预览无预览要打印的内容

打印Ctrl + P 开始打印指定的内容 组态结果检查F4 检查当前过程的组态结果是否正确 进入运行环境F5 进入运行环境并运行当前工程 生成安装盘无将当前工程生成安装盘 退出系统无退出MCGS嵌入版的组态环境 新建工程 该项菜单命令是在工作目录中创建一个新的工程文件(安装时,工作目录缺省设置为:D:\MCGSE\WORK)。新工程文件将以“新建工程×.MCE”来命名,此处的×为数字代码,如:新建工程0.MCE、新建工程1.MCE等。 新工程建立后,可以执行文件菜单中的“工程另存为”命令,重新命名工程文件和其工作目录。 菜单操作:文件| 新建工程 工具条: 快捷键:Ctrl + N 打开工程 执行该项操作命令后,MCGS嵌入版组态环境将弹出如下图所示的“打开文件”对话框。 在文件列表框中选定要打开的文件,或在“文件名(N)”编辑框中直接输入要打开的工程文件名称(含工作目录,如:d:\MCGSE\work\sample. mce),然后按“打开”按钮,就可以打开指定的工程。如果按“取消”按钮,将取消本次打开工程的操作。

相关文档