非常实用的mcgs触摸屏编程实例下10例.docx
《非常实用的mcgs触摸屏编程实例下10例.docx》由会员分享,可在线阅读,更多相关《非常实用的mcgs触摸屏编程实例下10例.docx(18页珍藏版)》请在冰点文库上搜索。
![非常实用的mcgs触摸屏编程实例下10例.docx](https://file1.bingdoc.com/fileroot1/2023-6/24/4640f6f9-7cae-4a94-82a5-9c0a4a1a9c73/4640f6f9-7cae-4a94-82a5-9c0a4a1a9c731.gif)
非常实用的mcgs触摸屏编程实例下10例
13.组态控制技术mcgs下图脚本程序如何编
41
图L9.I系统泪成
K许康阀flfiH.it:
I:
■怖水Hi
14)自功控涮勰昭;为輟咼拎制僦m.眾岀总木Jp嵐怎总水牯-卜加忖xn爲底慚飢1十上水位X上第緑面腴总设计思踣色n1
1如果买际总水量低于役定总水就・开卜耀进水啊,关卜1IHT水詢、山外钱路WI
补札■
2如果实际总水US#于设定总水锻・兴卜巍进永阀,斤卜Mfll水陶'卜许笄閃九.
3实傢总水【*怙设宦总冰址时,则不◎外靜路进行忒生换。
同时判宜:
■
氛下水位低=狰止上舉进木.打开上8H*水阀,曲I•締洽下虢注忒,■
乩下水金髙:
停止htflfr水・向上堆注水。
■
⑺?
tS:
上縮进水和押水时循环泵科循环粟阀的动作W卬」1
292*
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下水位低=1THEN
循环泵=0
上罐进水阀=0
上罐排水阀=1
ELSE
IF下水位高=1THEN
上罐排水阀=0
上罐进水阀=1
循环泵=1
上面只是大体的一个思路,里面还是有很多需要补充的地方,比如给上水罐注水时,是否需要先判断进水阀是否打开再启动循环泵,给下水罐注水时是否需要判断先关停循环泵再关停进水阀,然后开启上罐排水阀,如果是这种情况的话,建议你可以使用运行策略来完成脚本编写。
14.MCGS组态软件脚本程序有没有延时指令
!
Sleep(mTime)
函数意义:
在脚本程序中等待mTime毫秒,然后执行下条语句
实例:
!
Sleep(10),延时10毫秒
15.怎么使MCGS组态动画实现左右移动?
要用脚本程序写
先向右移,再原路返回很简单的啊,就是双击要实现动画的东西,钩选水平移动,然后在水平移动上选择对应的字地址,将此字地址与要移动的位置对应好,然后在脚本里面对这个字地址编程就可以了。
只要对我之前说的那个对应的字地址编脚本可以了脚本可以这么编
IF对应位=0THEN中间变量=0
IF对应位=100THEN中间变量=1
IF中间变量=0THEN对应位=对应位+5
IF中间变量=1THEN对应位=对应位-5
16.mcgs怎么实现按钮按下去不弹起
首先放上两个兀件,但不是按钮
然后分别设置属性,上面的是按钮动作一一置一一一按钮”可见度一一按钮一一不可见”如
下图
属性设置按钮动作可见度
静态属性
宇符颜色
权限(A)
检查(K)
确认(Y)
取消(C)
帮助(H)
属性谡矍按钮动作|可见度,
动画迳态届性说直
収限仏)|检查(対|确认(Y)|甌消忙)帮助(H)
下面的和上面的刚好相反,按钮动作一一清零一一按钮”可'见度一一按钮一一可见
这样两个元件就可以交替显示了,达到一个按钮按下不起的效果。
17.MCGS嵌入版一些元件
模睦「这个元件在哪里找啊。
我怎么找不到
默认的没有,自己做的,就是几个图合并到一起的而已。
比如下面这几个
13
口
U
0
P
O
0
匚,
O
△
☆
仝
H
1
□tffl
O
□
模块张开
合理放置之后
模块张开
18.请问MCGS断电后该如何保存窗口界面设置的参数,并且重新上电后可以自
动对应读取?
各位工友,你们好!
请问我用MCGS组态了一个参数设置界面,为下位机PLC提供参数,有好多开关量和数值量,但是如果MCGS断电后该如何保存这些参
数,并且再次上电时能够自动对应的读取这些参数呢?
求教方法,谢谢!
因为工
程小区有时会停电
!
SaveDatalnit()
!
FlushDatalnitValueToDisk()
用这两个函数。
19.MCGS脚本组态编程,取整函数?
需求:
在界面显示系统运行时间,以时分秒的方式。
描述:
系统提供一个只读变量RunTime,但是是以秒来表示的,现在需要将其转化为时分秒的形式。
脚本如下:
(RunTimeStr是自定义字符型变量,$RunTime是系统变量,!
Str是系统函数,将数字转化为字符)
RunTimeStr=!
Str($RunTime/3600)+"时"+!
Str($RunTime/60)+"分"+!
Str($RunTimeMOD60)+"秒"
但是,这里的除法运算“/”是浮点数运算,就是1/3=0.33333333而不是
0,MCGS脚本程序中貌似没有提供取整函数(没找到?
)
请问,有解决办法没?
实现方法
IF$RunTime>SecCountTHEN
HourCount=HourCount+1'每秒加1
MinCount=MinCount+1
SecCount=SecCount+1
IFHourCount>=3600THEN
Hour=Hour+1
HourCount=HourCount-3600
ENDIF
IFMinCount>=60THEN
Min=Min+1
ifMin=60then
Min=0
endif
MinCount=MinCount-60
ENDIF
RunTimeStr=!
Str(Hour)+":
"+!
Str(Min)+":
"+!
Str($RunTimeMOD60)
SecCount=$RunTime
ENDIF
我简单的做了一个
其中data4就相当于系统运行时间$RunTime,将其分解成时datal,分data2,秒data3,
步骤如下:
rf-
S9data
■■■■1・一|字符型n
datal
尸关型
S@data2
开关型
§0data3?
幵关型
S0data4
埶值型
将datal,data2,data3,设置成开关型,这样datal,data2,data3就相当于整数,在做除法运算时,不会有小数部分。
Idatal=data^i/3600
data2=(dataJi-datal*3600)/60
data3=data^i-datal*3600-data2*60
data=*Str(datai)+■•时"+!
Str(data2)*■'分“+TStr(data3)+”秒“
做运算,算出时分秒就行了。
追问
不过,问一个问题啊,开关型=int(C语言)么?
开关型的范围是多少,01234...一直可以到几?
2O.mcgs设计两个按钮,它们之间不可以同时工作
刚刚作了一个,不知道是不是这个意思。
初始时,按钮1和按钮2都能按下均为可控状态
的,为图1。
当按钮1按下后,对应上面的灯亮,按钮2按下没反映,为不可控状态,为图
2。
当按钮1再次按下后回到初始状态,按钮2变回可控,为图1。
当按钮2按下后,对应
上面的灯亮,按钮1按下没反映,为不可控状态,为图3。
当按钮2再次按下后回到初始状
态,按钮1变回可控,为图1。
图1
向左转I向右转
按钮1
向左转|向右转
按钮1
按钮1按钮2
按钮
指示灯的属性为:
其中一个指示灯的可见度设置为datal,另一个指示灯的可见度设置为d
ata2。
黑色字的按钮的属性为:
按钮1的操作为取反datal,可见度为data2不可见。
按钮2的操
作为取反data2,可见度为datal不可见。
灰色字的按钮的属性为:
按钮1的可见度为data2可见。
按钮2的可见度为datal可见。
然后把相应的黑色字按钮和灰色字按钮叠加排列到一起就行了。
21.mcgs脚本程序请教一个问题:
按下按钮,另一个输入框的数字能自动累加,
按钮设置
改循环策略的循环时间
编辑脚本
data2=data2+1
1/O.ls
把这个data2用输入框里,就行了,这个就是只要按下按钮,输入框的数字就会以的速度上升。
抬起按钮就停止上升。
22.MCGS如何播放音乐
策略里添加一个音响输出的策略
m者响勒出
1探丿
然后在音响属性中声音文件里添加你要播放的音乐,注意这个音乐文件要转格式成WAV格
式的。
然后当条件成立时执行这个策略,就可以播放音乐了。
追问
应该选哪个策略?
?
回答
用户策略和循环策略都行,我个人比较喜欢用循环策略