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

非常实用的mcgs触摸屏编程实例下(10例)-
非常实用的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怎么实现按钮按下去不弹起

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

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

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

17.MCGS嵌入版一些元件

这个元件在哪里找啊。我怎么找不到默认的没有,自己做的,就是几个图合并到一起的而已。比如下面这几个

合理放置之后

!

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

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

!SaveDataInit( )

!FlushDataInitValueToDisk( )

用这两个函数。

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

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

产品:

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

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

脚本如下:

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

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

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

请问,有解决办法没?

实现方法

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 . . . 一直可以到几?

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

刚刚作了一个,不知道是不是这个意思。初始时,按钮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可见。然后把相应的黑色字按钮和灰色字按钮叠加排列到一起就行了。

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

改循环策略的循环时间

设置成立条件编辑脚本

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

22.MCGS 如何播放音乐

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

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

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

追问

应该选哪个策略??

回答

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

相关主题
相关文档
最新文档