当前位置:首页 » 编程软件 » 力控脚本怎么循环

力控脚本怎么循环

发布时间: 2022-12-28 07:30:28

A. 在力控组态动作编程中,比如变量=30,要求变量=50,每次增加5,而且每次加5后都要有数值显示后再加5

如图所示(5个图),先放置3个按钮,和4个文本。将3个文本设置为固定字符。然后将按钮设置为按下开,松开关。连接的变量依次为data1.PV,data2.PV,data3.PV。将第四个文本设置为模拟输出,连接变量data.PV。然后编辑数值改变动作脚本,输入变量data1.PV,脚本程序为data0.PV=30;变量data2.PV,脚本程序为data0.PV=50;变量data3.PV,脚本程序为if data3.PV then data.PV=data.PV+5 endif;然后将3个固定字符的文本与对应的按钮重合。完成。

望采纳。。。。。。

B. 力控下面的脚本如何写

你整理下你的问题,是3,5,8吗 数值是什么含义

C. 力控中我编的一段程序,是用定时器,想让程序暂停10秒再把1000赋值给i,但是不能实现,帮忙看看问题出在哪

这里有个误解。因为力控本身就是一个循环体 所以这样写代码不太好实现。
应该这样:
#Timer2.SetTime(10000);
#Timer2.Start();
这两句写在你想要执行定时器的按钮的左键动作里面。
如果你要执行的动作是窗口动作
那么就在窗口动作的周期执行里面写上
if #Timer2.Status==2 then
这里面写你延时后要执行的脚本
endif

D. 力控脚本如何去编制

力控脚本定义:
脚本语言,脚本语言或扩建的语言,是一种编程语言控制软件应用程序。 “脚本”往往被视为有别于“程序” ,执行独立于任何其他的应用。在同一时间,他们是有别于核心代码的应用,这是通常的书面在不同的语言,和现正接触到最终用户,使他们的行为的应用,以适应用户的需要。脚本往往是,但并非总是解释,从源代码或“半汇编” ,以字节这是解释,不同的应用,他们的相关,这是传统的编制本土机器码为系统上运行他们。脚本语言几乎总是在嵌入式应用与它们相关的。

命名为“脚本”是来自书面脚本的表演艺术,在这种对话是订下要发言,由人类行为者。早期的脚本语言通常被称为一批语言或工作控制语言。例如早期的脚本语言的建立是为了缩短传统的编辑-编译-链接-运行的过程。

1.脚本语言(javaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。

HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。

2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.

3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。

注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.

脚本语言不需要编译,可以直接用,由解释器来负责解释。

5.脚本语言一般都是以文本形式存在,类似于一种命令.

举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.

你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.

这是我的回答 祝你好运~~

E. 组态循环程序怎么写

循环执行语句,当某个表达式在两个值之间时 (大于等于最小值,小于等于最大值),重复执行一样的代码,并可指定步长,如果不指定缺省步长是1。
用法:
For...(表达式) = ...(值) To ...(值) [Step ...(值)]
...(执行代码)
Next

循环执行语句,如果表达式为真(true),则执行循环块内语句;反之,不执行循环块内语句,并退出循环。
用法:
While ...(表达式) do
...(执行代码);
EndWhile

F. 力控组态怎么用脚本实现文字的滚动

  • 首先打开电脑上的记事本

G. 力控怎么设定时间执行脚本

运行1到6循环时可以再次选择循环中再循环;
如当0为1循环1到6,当xq为3,xj为5,xc为8,也就是说运行1、2、3、4、5、3、4、5、3、4、5、3、4、5、3、4、5、3、4、5、3、4、5、3、4、5、6两个循环结束。

H. 力控数据库组态后再脚本编辑器时仍要定义中间变量

在利用力控进行数据库操作时,可能因为少许的错误导致力控与数据库之间不能交互,因此采用SQLLastError()函数显示最后一条数据库操作错误,通过该错误提示即可逐步完成数据库操作

一、力控组态和数据库交互时可能出现问题的地方:

1、如果利用关系型数据库SQL Server

2000存入力控产生的数据,必须在组态中建立绑定表。在建立过程中,字段名必须和SQL Server

2000中数据表中的字段名字相同,否则不能数据的传递;

2、建立的绑定表的名字最好不要和SQL Server 2000中数据表的名字相同,否则也不能传递数据;

3、建立数据库操作时,可以在动作条件中写入脚本,写脚本时应注意绑定表和SQL Server

2000中数据表的前后关系,应该是SQL Server 2000中数据表在前边,绑定表在后边才可以。

二。检查数据库操作错误的时候,可以利用下边方法进行:

1、首先在力控组态中定义一个字符型的中间变量ErrorMe

2、打开脚本编辑器,例如在写条件动作的脚本时,选择SQLLastError()函数,确定把最后一条数据库操作错误存放到ErrorMe中;利用MsgBox()函数以对话框的形式显示错误信息即可

SQLLastError(ErrorMe);

MsgBox(ErrorMe)

I. 请问力控脚本怎么实现按下一个按钮记数一次

运行1到6循环时可以再次选择循环中再循环; 如当0为1循环1到6,当xq为3,xj为5,xc为8,

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

这个脚本是类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

热点内容
linux谷歌浏览器安装 发布:2025-07-20 10:44:07 浏览:335
好用的反编译 发布:2025-07-20 10:32:44 浏览:57
9月9日复刻先祖是什么安卓 发布:2025-07-20 10:30:27 浏览:605
流控数据库 发布:2025-07-20 10:27:16 浏览:413
云抢包网站源码 发布:2025-07-20 10:25:38 浏览:121
安卓多开为什么一直打不开 发布:2025-07-20 10:25:00 浏览:883
ios移动文件夹 发布:2025-07-20 10:24:50 浏览:690
数控机床编程步骤 发布:2025-07-20 10:14:22 浏览:97
存储单位容量最小的是 发布:2025-07-20 10:14:11 浏览:769
爱情脚本短 发布:2025-07-20 09:56:44 浏览:681