当前位置:首页 » 编程软件 » 组态的脚本

组态的脚本

发布时间: 2022-02-02 04:49:27

‘壹’ 组态软件脚本:

305} --灌1则自动关闭

‘贰’ mcgs组态脚本程序怎么写

你应该具体点指定一个问题,问题描述太笼统了。

图片案例分析:

如果开关型变量A的值等于1,那么就启动1号定时器计时,同时将定时器的实时值赋给数值型变量Data,如果开关型变量A的值不等于1,那么就停止定时器工作。望采纳!

‘叁’ 杰控组态软件脚本怎样学习

摘要 很高兴为您解答亲 大多数组态软件脚本不具备动态创建对象的功能,也不支持自定义类型,仅仅是基本的操作逻辑,所以学起来和编程相比要简单的多,主要是在描述你的操作行为。。。

‘肆’ 各种组态软件里面的脚本编程怎么学

大多数组态软件脚本不具备动态创建对象的功能,也不支持自定义类型,仅仅是基本的操作逻辑,所以学起来和编程相比要简单的多,主要是在描述你的操作行为。。。
所有脚本和语言都有最基本的运算语法,本质几乎没什么差别,主要是基于不同的语言语法规则,写法上有区别。。。基本逻辑运算,加减乘除赋值,布尔逻辑,位逻辑,条件判断if,
条件循环while,次数限定循环for,也就这些,很多脚本中连自定义函数概念都没有,统统是某事件下的执行脚本。。。
脚本,除了基本语法(一通百通的东西), 就是对象和方法。。。
通常脚本会定义许多种对象(任何变量,控件,报警等等能被你虚拟的看成被操作的有存在感的个体都是对象)。。。 方法就是操作对象用的函数,因为不是所有操作都可以通过给对象赋值简单的达到目的。。。会存在由软件提供的特殊操作函数(方法)。。。
你要掌握的无非就是能够操作的对象有哪些(组态软件的对象绝大多数都是组态时组态的,很少有动态生成的(正常的编程语言对象都是动态靠代码生成的),组态软件通过组态操作简化这个过程),你如说西门子PLC,你从来没有常识也不能尝试,靠一个代码去创建一个组态,添加一个模块,或者工艺对象,都是靠组态实现,一开始就创建好了。。。
除了学习如何组态外,就是学习这些组态对象提供的操作方法,或可修改的属性,操作对象的方法也仅仅就是这些。。。
学脚本其实就是学,组态对象的操作方法,有哪些属性可以改,改完是什么结果,提供哪些操作函数,怎么用,无非就这些,至于要实现的功能,那属于编程逻辑,到哪都一样,只可根据经验意会,没到具体问题上没法说的清楚。。。
当然对于有真正编程语言基础的,尤其是高级语言java, c++,c#基础的人学这些,都是很简单的,也会觉得脚本编程束手束脚完全可以更开放些,不过只是因为组态软件开发者为了使用安全性,和易操作性,编程者的使用受很大限制。。。

‘伍’ 谁能跟我说一下力控组态软件的脚本编辑用什么语言编写

这个脚本是类VC的,其实没什么要求。。。。学过VB的就会了 很简单的,你可以打开demo工程里,看看那里面怎么写的。另外脚本可以写到应用程序中,也可以写到窗口脚本,还可以写到按钮左键动作里等等,区别是执行的条件不一样而已。
举例:
IF IsWeb() == 1 THEN
ELSE
IF COD_start_meas.PV == 0 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "待机[Ready]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 1 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "就绪[Ground]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 2 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "清洗[Clean]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 4 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "校正[Calib.]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
IF COD_meas_flag.PV == 1; THEN
COD_meas_flag.PV = 0;
sys_meas_flag.PV = 0;
COD_cal_flag.PV =1;
sys_run_log = "COD启动测量后进入校正状态,触发开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_active_T.Start(); //开启触发定时器
ENDIF
ENDIF
IF COD_start_meas.PV == 8 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "启动[Start]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 32 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "测量[meas.]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
sys_meas_time.DESC = StrTime($Curtime,1); //系统启动测量时间
sys_run_log = "测量时间缓存...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
ENDIF

IF COD_start_meas.PV == 64 && COD_meas_flag.PV == 1 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "排空[Empty]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
sys_run_log = "COD测量结束, " + IntToStr(PLC_start_sampl.PV,10) + "号取样口数据打包存入报表...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
IF PLC_start_sampl.PV ==1 THEN
COD1_db.PV = COD_VALUE.PV;
sys_meas_time1.DESC = sys_meas_time.DESC;
IF ( point2_flag.PV || point3_flag.PV || point4_flag.PV ) == 0 THEN
sys_run_log = "系统循环测量周期定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系统循环测量周期定时器开启
ELSE
sys_run_log = "CODmax测量间隔定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#point_interval_T.Start(); //CODmax测量间隔定时器开启
ENDIF
//ELSE
//COD1_db.PV = 0;
ENDIF
IF PLC_start_sampl.PV ==2 THEN
COD2_db.PV = COD_VALUE.PV;
sys_meas_time2.DESC = sys_meas_time.DESC;
IF ( point3_flag.PV || point4_flag.PV ) == 0 THEN
sys_run_log = "系统循环测量周期定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系统循环测量周期定时器开启
ELSE
sys_run_log = "CODmax测量间隔定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#point_interval_T.Start(); //CODmax测量间隔定时器开启
ENDIF
//ELSE
//COD2_db.PV = 0;
ENDIF
IF PLC_start_sampl.PV ==3 THEN
COD3_db.PV = COD_VALUE.PV;
sys_meas_time3.DESC = sys_meas_time.DESC;
IF point4_flag.PV == 0 THEN
sys_run_log = "系统循环测量周期定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系统循环测量周期定时器开启
ELSE
sys_run_log = "CODmax测量间隔定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#point_interval_T.Start(); //CODmax测量间隔定时器开启
ENDIF
//ELSE
//COD3_db.PV = 0;
ENDIF
IF PLC_start_sampl.PV ==4 THEN
COD4_db.PV = COD_VALUE.PV;
sys_meas_time4.DESC = sys_meas_time.DESC;
sys_run_log = "系统循环测量周期定时器开启...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系统循环测量周期定时器开启
//ELSE
//COD4_db.PV = 0;
ENDIF

IF sys_meas_flag.PV == 1 THEN
sys_meas_log.DESC = IntToStr(PLC_start_sampl.PV,10) + "号取样口自动测量";
ENDIF
IF sys_meas_flag.PV == 2 THEN
sys_meas_log.DESC = IntToStr(PLC_start_sampl.PV,10) + "号取样口手动测量";
ENDIF
SQLInsert(ConnectID,"dlhb_meas_group","meas_group");
sys_meas_log.DESC = "";
COD_meas_flag.PV = 0;
sys_meas_flag.PV = 0;
ENDIF
ENDIF

‘陆’ 力控组态软件中的脚本编辑器是什么怎么理解

力控我没用用过 不过跟MCGS和亚控等组态软件应该一样
脚本编辑器就是当你运行你设计的组态软件时立即在后台执行脚本里的语句
可以理解C++中的成全局变量

‘柒’ mcgs组态软件脚本用不用自己编写

必须用,现在软件没智能到你想干什么,它自己就给你出程序了。而是你通过程序告诉它,你想干什么。
望采纳。。。。

‘捌’ 我想学组态。但是里面的有脚本编辑 我想问是C51复杂还是脚本复杂

如果想学都不复杂
你可以看看这个网站的视频。也许对你会有用
希望可以帮到你

记得采纳我的哟

‘玖’ mcgs组态环境中,以下脚本是什么意思

MCGS(Monitor and Control Generated System,监视与控制通用系统)是北京昆仑通态自动化软件科技有限公司研发的一套基于Windows平台的,用于快速构造和生成上位机监控系统的组态软件系统,主要完成现场数据的采集与监测、前端数据的处理与控制,可运行于Microsoft Windows 95/98/Me/NT/2000/xp等操作系统。

‘拾’ mcgs组态软件脚本编程

在第一个扫描周期,程序从上至下执行,如果条件成立,执行相应的语句,不成立执行下面的语句,直至程序的末尾,输出相应的值;接着进行第二个周期的扫描,利用第一个周期的返回值和每个语句进行比较,同样的步骤执行完毕;依次循环,知道所有的条件都不成立,返回最终的结果输出。你可以试验一下,就明白了,每次增加一条语句,不要把所有的都写上。表达不够好,希望能帮助你。

补充:你可以在组态环境下打开运行策略的窗口,根据你的需要你可以写启动策略或者循环策略,一般都是写循环策略,也可以新建自定义策略。以循环策略为例,你点击后打开,在界面上点右键,新增策略行,然后双击执行条件,在数据库里新建一个变量DO点吧,设置好启动条件,然后右键点击第三个方块——策略工具箱——脚本程序,拖到方块上,再双击方块,就会弹出编脚本程序的串口,把你需要的哪些语句写进去,写几条都可以,每个周期他都要扫描一次,执行成立的表达式,输出结果。(另外,你还需要在数据库中定义wheel这个变量,为数值型即浮点型的。)

比如说只写:if wheel>600 then wheel=wheel-600,这个表达式,你对变量wheel输入600,他就不执行,写601,结果就是601-600=1,同样的道理,你写1805,输出的结果就是5.可以随便增加语句,只执行判断条件非零的语句。

不知道这次说清楚没,希望能多交流。

再补充:先说一下组态,简单一点,所谓组态就是就是一种可视化的程序运行环境,一般用于工业电力化工等行业的自控方面,是一种人机交互,机机交互的媒介,(这是我自己下的定义)。它基于Windows操作系统和相关的VB或者C语言的基础上开发而成。他可以让人们自由的编辑,浏览,控制相关的设备等。也就是SCDA。
既然如此,在开发的时候它就可以利用这些编程语言,对它的一些控件(操作对象等)进行编程和定义。你提到的问题中的 Wheel 就是你要操作的对象,也就是组态中你需要定义的一个变量,既然是变量,他的值就是可以改变的,如果你对他赋一个初值,并且触发了程序运行的条件,他就会根据后台程序的执行结果(每个扫描周期)返回对应的值,只要后台程序一直在运行,并且满足你设定的条件,他就会不停的改变自己的值。
对于你上面写的那些条件,也叫程序,组态系统在每个周期都要把每一条语句执行一遍,从上到下,从左到右,如果第一条成立,就返回第一条语句的Wheel的结果,然后在执行下一条语句的时候把上一条的Wheel结果作为后一条语句的初值,继续判断条件,成立则根据你的算式算出一个新的结果送给下一条语句,不成立的话则跳过这一条,继续把刚才的结果作为初值乡下传。

快停电了,就说这么多吧QQ44710149,有机会多交流

热点内容
ftp服务器功能 发布:2025-01-10 07:48:33 浏览:80
java如何运行程序 发布:2025-01-10 07:25:53 浏览:562
冒险岛电脑连接服务器失败 发布:2025-01-10 07:23:01 浏览:824
安卓开发要学什么语言 发布:2025-01-10 07:21:30 浏览:21
绍兴编程培训 发布:2025-01-10 07:16:53 浏览:300
java接口和类 发布:2025-01-10 07:09:14 浏览:403
discuzforlinux安装 发布:2025-01-10 07:09:10 浏览:229
招行支票密码器口令是多少 发布:2025-01-10 06:55:27 浏览:353
好的解压拓展实力怎么样 发布:2025-01-10 06:49:18 浏览:699
租服务器会自带公网ip么 发布:2025-01-10 06:49:17 浏览:348