当前位置:文档之家› MCGS触摸屏编程实例精选

MCGS触摸屏编程实例精选

MCGS触摸屏编程实例精选
MCGS触摸屏编程实例精选

MCGS触摸屏编程实例精选

表格中,两数据连接到两个开关量,要把采集到的“0”和“1”的状态,显示为“关”和“开”

在表格里输入“开|关”,然后连接开关型变量Data1,按钮是让开关量Data1取反。

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

里怎么画渐变色

渐变色只有通用版和网络版有,嵌入版没有

方法就是:填充颜色——填充效果,然后根据你的需要设置就行了。

3.如何在mcgs做脚本=1 让Q输出

当PLC的有信号,让输出,在PLC中做我会,不知道在MCGS中怎么实现

在循环脚本中,循环时间为10ms,条件表达式为1,脚本程序为

IF = 1 THEN

= 1

ELSE

= 0

ENDIF

组态如何实现这样的功能?点击某一部分,弹出登录对话框

这个画面是在有管理员帐户登录的情况下才可以设置的,我现在想实现当有人在没有登录的情况下点击了这个地方,就弹出提示:请先登录。

1条回答

可以先用函数!CheckUserGroup来判断当前登录的用户是不是你需要的用户组,返回只为0表示已经登录了你需要的用户组了,直接进行下一步,如果返回值不为0,表示当前登录的不是你需要的用户组或是没有任何登录,那么用子窗口或者可见度啥的都行,显示出来就行了。

追问

我是想在用户点击了上面图片中的部分时才弹出登录提示,怎么实现呢?

回答

你把判断的语句写到图片的事件里就行了

追问

求在具体一点,不知道怎么写。

回答

点控件,右键——事件——Click——事件连接脚本

能记录外部机器运行的时间吗

我想用触摸屏记录外部设备的总运行时间和单点运行时间,如一个指示灯从亮到灭的这段时间

首先新建一个循环策略,循环时间为1s

里面添加一个策略,表达式为变量“灯”这个变量“灯”就是你外部的灯,是通过PLC还是通过远程IO啥的连接到MCGS里的变量。

编辑脚本

这样就行了

时序图

给梯形图画出X1/Y1/Y2/Y3的时序图

这个梯形图就是X1为ON后,Y1自锁一直为ON,在X1为ON的这段时间里Y2和Y3交替闪烁

时间数据怎么存盘?,

就是比如我要调试一条生产线,调试完成后按退出键,那当时的时间存盘,表示完成时间,当再次进入后会看到上次调试完成时间,这个怎么做??

data = $Date + " " +$Time

!SaveSingleDataInit(data)

放退出键里就行了

data是字符型变量,将当前日期和当前时间的字符型赋值给data

然后用!SaveSingleDataInit函数,把data的当前值设置为初始值

通用版中实时数据报表的小数位怎么设置,这个位数有点多

先设置小数位,如下图,分别是小数位为1位,2位,3位,4位的设置方法

然后连接上变量

这就行了

怎么在画面中做按钮

一个按钮,没按之前是红的,按了以后是绿的,说明启动了,怎么做这个按钮呀,像图片里那种画面按钮,不是MCGS里面就有的按钮构件,这是需要自己做的那种。

就好像这样的,一个按钮,没按之前是红的,按了以后是绿的,说明启动了

首先你要放一个“标签”而不是按钮

然后设置标签属性,填充颜色和按钮动作

然后设置填充颜色,注意,默认的是0绿1红,要改一下,换成0红1绿

然后设置按钮动作

设置完了,点确定就行了,就实现默认红色,按一下绿色,再按一下红色,再按一下绿色。。。。,如果你不想这么来回换,可以不用“取反”而用“置1”

10.欧姆龙、松下、西门子、三菱、台达的PLC,哪个应用比较广泛?稳定性好?编程简单?

目前就国内而言,用的多的还数西门子和三菱的,而国外都是支持国货的,德国公司清一色西门子,韩货清一色LG,日本就是三菱,欧姆龙,松下。国外都是只要国货能行的,坚决用国货,只有国货达不到要求,迫不得已才选择其他国的。至于稳定性,都差不多,只要不是杂牌子的。

至于编程简单吗,这东西都是会就简单,不会就难。没法说是简单还是难。编程一般就是欧系和日系两种模式,就我个人赶脚,还是日系的简单些,欧系的把数据分类分的太严格了,用着不爽。

11.请问MCGS 怎么用脚本启动子画面的大小

用一个标签来控制由于还要显示数值所以不能用开关

需要弹出一个可控制大小的画面

脚本程序这样写为什么不能用呢

分享到:

2014-08-18 08:48

提问者采纳

这个不用策略就能做

标签——右键——事件——click——事件连接脚本,然后脚本里输入你的打开子窗口的脚本就行了。

输入完了,click的脚本函数就会出现一个【脚本程序】,点【确定】,就OK了

这样你单击标签时就执行这个脚本程序了,弹出子窗口。比你又建变量,就建策略的方便多了。

字符串脚本指令怎么用

2014-08-18 07:42法国孟子|分类:网站使用|浏览83次

目的:输入十六进制数D0,显示十进制数D2。例如输入0B,要显示11;输入1 4,要显示20。

我现在D0的范围是在1~20之间变化的。

这个用不到字符串函数

首先建立一个开关型变量data1

然后在画面里放上一个输入框,一个标签

设置输入框内容:表达式为data1,十六进制

设置标签内容:显示输出,表达式data1,十进制。

这样就行了

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

上面只是大体的一个思路,里面还是有很多需要补充的地方,比如给上水罐注水时,是否需要先判断进水阀是否打开再启动循环泵,给下水罐注水时是否需要判断先关停循环泵再关停进水阀,然后开启上罐排水阀,如果是这种情况的话,建议你可以使用运行策略来完成脚本编写。

组态软件脚本程序有没有延时指令

!Sleep(mTime)

函数意义:在脚本程序中等待mTime毫秒,然后执行下条语句

实例:!Sleep(10),延时10毫秒

15.怎么使MCGS组态动画实现左右移动?要用脚本程序写

先向右移,再原路返回

很简单的啊,就是双击要实现动画的东西,钩选水平移动,然后在水平移动上选择对应的字地址,将此字地址与要移动的位置对应好,然后在脚本里面对这个字地址编程就可以了。

只要对我之前说的那个对应的字地址编脚本可以了

脚本可以这么编

IF 对应位=0 THEN 中间变量=0

IF 对应位=100 THEN 中间变量 = 1

IF 中间变量=0 THEN 对应位 = 对应位 + 5

IF 中间变量=1 THEN 对应位 = 对应位 - 5

怎么实现按钮按下去不弹起

首先放上两个元件,但不是按钮

然后分别设置属性,上面的是“按钮动作——置一——按钮”“可见度——按钮——不可见”如下图

下面的和上面的刚好相反,“按钮动作——清零——按钮”“可见度——按钮——可见”这样两个元件就可以交替显示了,达到一个按钮按下不起的效果。

嵌入版一些元件

这个元件在哪里找啊。我怎么找不到

默认的没有,自己做的,就是几个图合并到一起的而已。比如下面这几个

合理放置之后

!

18.请问MCGS断电后该如何保存窗口界面设置的参数,并且重新上电后可以自动对应读取?

各位工友,你们好!请问我用MCGS组态了一个参数设置界面,为下位机PLC提供参数,有好多开关量和数值量,但是如果MCGS断电后该如何保存这些参数,并且再次上电时能够自动对应的读取这些参数呢?求教方法,谢谢!因为工程小区有时会停电

!SaveDataInit( )

!FlushDataInitValueToDisk( )

用这两个函数。

脚本组态编程,取整函数?

2014-05-05 12:06lj22377|分类:软件开发|浏览130次

产品:

需求:在界面显示系统运行时间,以时分秒的方式。

描述:系统提供一个只读变量 RunTime,但是是以秒来表示的,现在需要将其转化为时分秒的形式。

脚本如下:

(RunTimeStr是自定义字符型变量,$RunTime 是系统变量, !Str 是系统函数,将数字转化为字符)

RunTimeStr = !Str($RunTime/3600) + "时" +!Str($RunTime/60) + "分" + ! Str($RunTime MOD 60) + "秒"

但是,这里的除法运算“/” 是浮点数运算,就是 1/3 = 0. 而不是 0,MC GS脚本程序中貌似没有提供取整函数(没找到?)

请问,有解决办法没?

实现方法

IF $RunTime > SecCount THEN

HourCount = HourCount + 1 '每秒加1

MinCount = MinCount + 1

SecCount = SecCount + 1

IF HourCount >= 3600 THEN

Hour = Hour + 1

HourCount = HourCount -3600

ENDIF

IF MinCount >= 60 THEN

Min = Min + 1

if Min = 60 then

Min = 0

endif

MinCount = MinCount -60

ENDIF

RunTimeStr = !Str(Hour) + ":" +!Str(Min) + ":" + !Str($RunTime MOD 60) SecCount = $RunTime

ENDIF

我简单的做了一个

其中data4就相当于系统运行时间$RunTime,将其分解成时data1,分data2,秒data3,

步骤如下:

将data1,data2,data3,设置成开关型,这样data1,data2,data3就相当于整数,在做除法运算时,不会有小数部分。

做运算,算出时分秒就行了。

追问

不过,问一个问题啊,开关型 = int (C语言) 么?

开关型的范围是多少,0 1 2 3 4 . . . 一直可以到几?

设计两个按钮,它们之间不可以同时工作

刚刚作了一个,不知道是不是这个意思。初始时,按钮1和按钮2都能按下均为可控状态的,为图1。当按钮1按下后,对应上面的灯亮,按钮2按下没反映,为不可控状态,为图2。当按钮1再次按下后回到初始状态,按钮2变回可控,为图1。当按钮2按下后,对应上面的灯亮,按钮1按下没反映,为不可控状态,为图3。当按钮2再次按下后回到初始状态,按钮1变回可控,为图1。

图1

向左转|向右转

图2

向左转|向右转

图3

向左转|向右转

。其做法就是做4个按钮和2个指示灯。

向左转|向右转

指示灯的属性为:其中一个指示灯的可见度设置为data1,另一个指示灯的可见度设置为d ata2。

黑色字的按钮的属性为:按钮1的操作为取反data1,可见度为data2不可见。按钮2的操作为取反data2,可见度为data1不可见。

灰色字的按钮的属性为:按钮1的可见度为data2可见。按钮2的可见度为data1可见。然后把相应的黑色字按钮和灰色字按钮叠加排列到一起就行了。

脚本程序请教一个问题:按下按钮,另一个输入框的数字能自动累加,

按钮设置

改循环策略的循环时间

设置成立条件

编辑脚本

把这个data2用输入框里,就行了,这个就是只要按下按钮,输入框的数字就会以1/的速度上升。抬起按钮就停止上升。

如何播放音乐

策略里添加一个音响输出的策略

然后在音响属性中声音文件里添加你要播放的音乐,注意这个音乐文件要转格式成WAV格式的。

然后当条件成立时执行这个策略,就可以播放音乐了。

追问

应该选哪个策略??

回答

用户策略和循环策略都行,我个人比较喜欢用循环策略

相关主题
文本预览
相关文档 最新文档