威纶通配方——宏指令

合集下载

威纶通宏指令for

威纶通宏指令for

威纶通宏指令for威纶通宏指令for是一种用于控制微控制器和单片机的高级语言。

它是一种结构化的编程语言,可以帮助开发者快速、高效地编写程序。

宏指令for是一种循环结构,用于重复执行一段代码。

它的语法形式为:for (初始化; 条件; 更新) { 循环体 }。

其中,初始化表达式用于初始化循环变量;条件表达式用于判断是否继续执行循环;更新表达式用于更新循环变量的值。

使用威纶通宏指令for,可以实现各种循环操作。

例如,可以使用for循环来遍历数组或列表中的元素,对每个元素执行相同的操作。

下面是一个简单的例子:for (int i = 0; i < 10; i++) {// 执行循环体操作printf("当前循环次数:%d\n", i);}上述代码中,初始化表达式将循环变量i初始化为0;条件表达式判断i是否小于10;更新表达式将i的值增加1。

循环体中的代码将打印出当前循环次数。

当i的值等于10时,条件表达式为假,循环结束。

除了遍历数组或列表,宏指令for还可以用于执行固定次数的循环操作。

例如,可以使用for循环来实现倒计时功能:for (int i = 10; i > 0; i--) {// 执行循环体操作printf("倒计时:%d\n", i);}上述代码中,初始化表达式将循环变量i初始化为10;条件表达式判断i是否大于0;更新表达式将i的值减少1。

循环体中的代码将打印出当前倒计时的值。

当i的值等于0时,条件表达式为假,循环结束。

除了基本的循环功能,宏指令for还支持嵌套循环。

嵌套循环是指在一个循环内部再嵌套另一个循环。

这种结构可以用于处理复杂的问题,例如生成九九乘法表:for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {// 执行循环体操作printf("%d × %d = %d\t", j, i, j * i);}printf("\n");}上述代码中,外层循环控制行数,内层循环控制列数。

威纶通触摸屏如何编写和调用宏指令进行逻辑判断

威纶通触摸屏如何编写和调用宏指令进行逻辑判断

威纶通触摸屏如何编写和调用宏指令进行逻辑判断
如下图所示,新建一个测试项目,添加触摸屏和PLC,这里以三菱FX系列PLC进行举例说明,
如下图所示,点击工程文件—宏指令,
如下图所示,进入宏指令设置界面,点击“新增”即可新建一个宏指令,
如下图所示,进入宏指令程序编辑,
如下图所示,定义2个变量a,b,其中a的值从PLC的D0寄存器获取,点击“函数”,选择Getdata函数,变量选择a,读取地址选择D0,具体语法见下图,
将变量b的值输出,如下图所示,点击“函数”,选择Setdata函数,变量选择b,写入地址选择D100,具体语法见下图,
如下图所示,选择该宏指令的执行方式为:周期执行,每隔500ms执行一次,点击“保存&编译”,提示“0 errors“表明无语法错误,
退出返回到窗口中,添加一个数值元件,读取/写入地址为D0,如下图所示,
再添加一个数值元件,如下图所示,读取地址为D100,
我们开启离线仿真,测试宏指令的执行效果:
如下图所示,D0的值为0时,D100显示为111;
D0的值为1或其他值时,D100显示为222;
以上,就是在威纶通触摸屏中利用宏指令进行简单的逻辑判断,感兴趣的小伙伴可以自己打开软件自己尝试一下。

威纶通配方——宏指令

威纶通配方——宏指令

macro_command main()short index,array[10] //数组array[10]是存放行号的数组bool OFF=false,ON=trueGetData(index, "本机触摸屏", LW, 9000, 1)//a用于提取索引寄存器的当前值array[0]=1+index/70 //索引寄存器的值以700的倍数递增,即以当前页面中占用地址总数为基数array[1]=array[0]+1array[2]=array[1]+1array[3]=array[2]+1array[4]=array[3]+1array[5]=array[4]+1array[6]=array[5]+1array[7]=array[6]+1array[8]=array[7]+1array[9]=array[8]+1SetData(array[0], "本机触摸屏", RW, 7800, 10) //RW7800~RW7809中存放行号SetData(OFF, "本机触摸屏", LB, 4, 1) //清零宏指令触发位end macro_command/**********************************************************新增——add**********************************************************/macro_command main()short name[5],temp[5],data[65]short i,var=0,CurtLine=0,index=0,NextLine=0bool OFF=false,flag=falseGetData(CurtLine, "本机触摸屏", RW, 8000, 1) //获取RW8000的值,即保存的行数GetData(name[0], "本机触摸屏", LW, 0, 5)//获取LW0的值,即输入的配方名GetData(data[0], "Panasonic FP", DT, 32700, 65)//获取当前HMI的数据输入值//判断数据表是否填满,若未填满,则判断是否有重名if CurtLine==100 thenflag=trueSetData(flag, "本机触摸屏", LB, 22, 1)else//判断是否有重名for i=0 to 99 step 1GetData(temp[0], "本机触摸屏", RW, var, 5)//遍历每一行的配方名if name[0]==temp[0] and name[1]==temp[1] and name[2]==temp[2] and name[3]==temp[3] and name[4]==temp[4] thenflag=trueSetData(flag, "本机触摸屏", LB, 21, 1)//若有重名则跳出“警告”框,提示该配方已存在elsevar=var+70//否则开始查询下一行end ifnext i//遍历所有行未找到匹配值,就将配方名和数据保存在数据表中if flag==false thenvar=0var=70*CurtLine //当前行的索引量SetData(name[0], "本机触摸屏", RW, var, 5)//将LW0中的配方名保存至新地址RW(0+var)中SetData(data[0], "本机触摸屏", RW, 5+var, 65)//将DT32700中连续的65个数据保存在RW(5+var)65个连续的地址中//下面程序是实现数据表行数增加if CurtLine<100 thenNextLine=CurtLine+1index=(NextLine/10)*700SetData(NextLine, "本机触摸屏", RW, 8000, 1)SetData(index, "本机触摸屏", LW, 9000, 1)flag=trueSetData(flag, "本机触摸屏", LB, 4, 1)end ifend ifend ifFILL(name[0], 0, 5)SetData(name[0], "本机触摸屏", LW, 0, 5)//清空LW0的值,即清空输入的配方名SetData(OFF, "本机触摸屏", LB, 0, 1) //清零宏指令触发位end macro_command/**********************************************************调用——aquire**********************************************************/macro_command main()short name[5],temp[5]//定义两个数组,name[5]用于获取输入配方名,temp[5]用于获取某一行的配方名short i,index,var=0,Data[65]//数组b[80]用于获取某一行的存储数据bool ON=true,OFF,flag=falseGetData(name[0], "本机触摸屏", LW, 0, 5)//获取输入的配方名//下面程序用于查找与输入的配方名匹配的数据,并将数据下载至PLC中for i=0 to 99 step 1GetData(temp[0], "本机触摸屏", RW, var, 5) //查询存储的配方名if name[0]==temp[0] and name[1]==temp[1] and name[2]==temp[2] and name[3]==temp[3] and name[4]==temp[4] thenflag=trueGetData(Data[0], "本机触摸屏", RW, 5+var, 65) //获取匹配行的存储数据SetData(Data[0], "Panasonic FP", DT, 32700, 65) //将查找到的数据传给下位机elsevar=var+70 //下一个配方名地址end ifnext iif flag==false thenSetData(ON, "本机触摸屏", LB, 20, 1)end ifFILL(name[0], 0, 5)SetData(name[0], "本机触摸屏", LW, 0, 5)//清空LW0的值,即清空输入的配方名SetData(OFF, "本机触摸屏", LB, 1, 1)//清零宏指令触发位end macro_command/**********************************************************删除——del**********************************************************/macro_command main()short i=0,j=0,var=0short MaxLine=0,CurtLine=0,MoveTime=0,index=0,CurtAddress=0,NextAddress=0short c[70],name[5],clear[70],check[5]bool zero=0,ON=true,OFF,flag=false//获取相应操作数FILL(clear[0],0,70)GetData(MaxLine, "本机触摸屏", RW, 8000, 1) //获取数据表大小GetData(name[0], "本机触摸屏", LW, 0, 5)//获取LW0的值,即要删除的配方名//查找要删除的记录,并将其删除for i=0 to MaxLine step 1GetData(check[0], "本机触摸屏", RW, var, 5)//查找匹配的配方名if name[0]==check[0] and name[1]==check[1] and name[2]==check[2] and name[3]==check[3] and name[4]==check[4] thenflag=true //找到后置位标志位CurtLine=i //记录匹配配方名所在行CurtAddress=var //记录匹配配方名的地址MoveTime=MaxLine-CurtLine-1 //要移动的次数//下面程序执行数据覆盖操作for j=1 to MoveTime step 1NextAddress=CurtAddress+70 //记录下一条数据位置GetData(c[0], "本机触摸屏", RW, NextAddress, 70) //下一条数据记录覆盖当前记录SetData(c[0], "本机触摸屏", RW, CurtAddress, 70)CurtAddress=NextAddress //移动一次后下一地址变为当前地址next j //进行下一次数据覆盖//最后一行清零SetData(clear[0], "本机触摸屏", RW, CurtAddress, 70)//所有数据覆盖后,当前地址已经是最后一行起始地址//下面程序实现数据表行数减少MaxLine=MaxLine-1index=(CurtAddress/700)*700SetData(MaxLine, "本机触摸屏", RW, 8000, 1)SetData(index, "本机触摸屏", LW, 9000, 1)SetData(ON, "本机触摸屏", LB, 4, 1)elsevar=var+70end ifnext i//若找不到匹配的配方记录,则报警提示if flag==false thenSetData(ON, "本机触摸屏", LB, 20, 1)end ifFILL(name[0], 0, 5)SetData(name[0], "本机触摸屏", LW, 0, 5)//清空LW0的值,即清空输入的配方名SetData(zero, "本机触摸屏", LB, 3, 1)end macro_command/**********************************************************首页——MinPage**********************************************************/macro_command main()short indexbool ON=trueGetData(index, "本机触摸屏", LW, 9000, 1)//a用于提取索引寄存器的当前值if index==0 thenSetData(ON, "本机触摸屏", LB, 23, 1)end ifSetData(ON, "本机触摸屏", LB, 4, 1)end macro_command/**********************************************************尾页——MaxPage**********************************************************/macro_command main()short indexbool ON=trueGetData(index, "本机触摸屏", LW, 9000, 1)if index==6300 thenSetData(ON, "本机触摸屏", LB, 24, 1)end ifSetData(ON, "本机触摸屏", LB, 4, 1)end macro_command/**********************************************************行号初始化——Initial**********************************************************/macro_command main()short array[10]={1,2,3,4,5,6,7,8,9,10}bool OFF=falseSetData(array[0], "本机触摸屏", RW, 7800, 10)SetData(OFF, "本机触摸屏", LB, 9000, 1)end macro_command。

威纶通宏指令数据类型

威纶通宏指令数据类型

威纶通宏指令数据类型:解析与实践威纶通宏指令是一种常用于编写嵌入式系统的指令集。

其中数据类型是指令集中最基础的概念之一。

在本文中,我们将深入探讨威纶通宏指令中的数据类型,包括其定义、使用方法以及在实际项目中的应用。

一、数据类型的定义与分类数据类型是指用于表示数据的一种属性。

在威纶通宏指令中,数据类型主要分为以下几类:1. 整型(integer):用于表示整数型的数据。

2. 浮点型(float):用于表示带小数点的数据。

3. 字符型(char):用于表示单个字符。

4. 布尔型(boolean):用于表示逻辑值,只有两个取值:真(true)和假(false)。

二、数据类型的使用方法在威纶通宏指令中,数据类型可以用于变量声明的时候指定类型,也可以在函数参数、返回值和局部变量中使用。

以下是一些数据类型的使用方法示例:1. 整型变量声明:int a = 1;2. 浮点型变量声明:float b = 2.0;3. 字符型变量声明:char c = 'A';4. 布尔型变量声明:boolean d = true;三、数据类型在实际项目中的应用在实际工作中,我们常常需要使用各种数据类型来进行数据的存储和处理。

下面是一些常见的应用场景:1. 温度传感器数据处理:对于温度传感器采集到的数据,常常需要使用浮点型数据类型来存储,便于进行精确的数字运算和处理。

2. 汽车控制系统的实现:在汽车控制系统中,需要使用布尔型数据类型来表示开关状态,比如发动机是否启动、灯光是否开启等。

3. 数组的使用:在嵌入式系统中,经常需要使用数组来存储一组相关的数据,比如传感器采集到的一组温度数据。

综上所述,威纶通宏指令的数据类型是编写嵌入式系统必不可少的基础知识。

通过本文的介绍,相信读者对数据类型的定义、使用方法及应用场景有了更深入的了解和认识。

威纶触摸屏宏指令使用说明

威纶触摸屏宏指令使用说明

范围 0, 1 ±127 ±32767 ±2147418112
变量声明
变量必须在使用前声明。所以,在宏指令,所有的变量都必须在语句使用前都被声明完成。 声明变量时,先定义变量的类型,后面再跟着变量名称。
如下范例:
int
a
short b, switch
float pressure
5
数组声明
宏指令支持一维数组(下标从 0 开始)。声明数组变量时,先定义数组变量的类型,变量名称, 接着就是该数组变量的个数,变量个数必须放置在“[]”符号中。数组变量的长度为 1~4096。 一个宏指令中只支持 4096 个变量。
全局变量声明可选subfunctionblockdeclarations子函数声明可选局部变量声明endsub结束子函数macrocommandmain主函数必须局部变量声明各式语句2endmacrocommand结束主函数必须一个宏指令必须有一个且只有一个主函数用来开始宏指令的执行
第三十章 宏指令说明 ..................................................................................................................... 2 30.1 宏指令的结构 .......................................................................................................................... 2 30.2 宏指令的语法 .......................................................................................................................... 4

威纶通 宏指令 赋值-概述说明以及解释

威纶通 宏指令 赋值-概述说明以及解释

威纶通宏指令赋值-概述说明以及解释1.引言1.1 概述威纶通(Verilog-A)是一种硬件描述语言,常用于模拟和设计集成电路。

它是IEEE标准1364-2005中定义的一种增强型Verilog语言,主要用于模拟连续行为的电子电路。

威纶通具有强大的建模能力,可以对各种电路和系统进行描述和分析,例如模拟信号处理、电源管理、射频模拟和传感器接口等。

使用威纶通语言,我们可以通过编写数学表达式来描述电路中的信号传输和行为。

宏指令(Macro Instructions)是一种在程序设计中广泛应用的概念,它允许我们定义一系列操作的命令,以便在需要时可以进行重复使用。

在威纶通中,宏指令允许我们创建一些复杂的原子操作,并将其作为单个指令来使用,简化了代码的编写和维护过程。

赋值操作是一种常见的程序设计中的基本操作,用于将值分配给变量或寄存器。

在威纶通中,赋值操作的重要性不言而喻,它可以用于在电路模拟过程中改变信号的值,实现不同的功能和行为。

本文将对威纶通、宏指令和赋值这三个关键概念进行详细介绍,并探讨它们在电路设计和模拟中的重要性。

同时,我们还将讨论它们在未来发展中的潜力和前景。

通过深入研究这些概念,我们可以更好地理解威纶通语言的特点和优势,为电路设计和模拟提供更高效和可靠的方法。

1.2文章结构1.2 文章结构在本篇长文中,我们将以"威纶通宏指令赋值"为主题,探讨威纶通、宏指令以及赋值的概念、功能特点、使用方法、意义与应用,以及实现方式与技巧。

在第一章的引言部分,我们将对整篇文章进行概述,介绍威纶通、宏指令和赋值的基本概念,并给出文章的目的。

接着,在第二章的正文部分,我们将详细介绍威纶通的背景和特点,包括其简介和功能特点。

然后,我们将深入讨论宏指令的定义与作用,以及它的使用方法。

最后,我们将探究赋值的意义与应用,以及实现方式与技巧。

在第三章的结论部分,我们将总结威纶通、宏指令和赋值在编程中的重要性,并展望它们在未来的发展前景。

威纶HMI宏指令使用说明及应用

威纶HMI宏指令使用说明及应用

第三十章 宏指令说明 (2)30.1宏指令的结构 (2)30.2宏指令的语法 (4)30.2.1 常量和变量 (4)30.2.2运算符 (7)30.3语句 (10)30.3.1定义语句 (10)30.3.2赋值语句 (11)30.3.3逻辑运算语句 (11)30.3.4 循环语句 (13)30.3.4其他控制命令 (15)30.4 子函数 (16)30.5内置函数功能 (17)30.5.1 数学运算函数 (18)30.5.2 数据转换函数 (24)30.5.3 数据操作函数 (29)30.5.4 位状态转换 (34)30.5.5 通讯有关的函数 (37)30.6 怎样建立和执行宏指令 (52)30.6.1 怎样建立一个宏指令 (52)30.6.2 执行宏指令 (57)30.7 使用宏指令时的注意事项 (58)30.8 使用自由协议去控制一个设备 (59)30.9 编译错误提示信息 (67)30.10 宏指令范例程序 (78)第三十章宏指令说明宏指令提供了应用程序之外附加的你所需要的功能。

在MT8000人机界面运行时,宏指令可以自动的执行这些命令。

它可以担负执行譬如复杂的运算、字符串处理,和使用者与工程之间的交流等功能。

本章主要介绍宏指令的语法、如何使用和编程方法等功能。

希望通过本章的说明,能够使各位能够快速的掌握EB8000软件提供的强大的宏指令功能。

30.1宏指令的结构宏指令是由各种语句组成的。

这些语句包含常数、变量和各种运算符。

这些语句放置在特定的顺序位置以执行后达到一个希望的执行结果。

宏指令的结构一般为以下格式:全局变量声明-----------------------------------可选Sub Function Block Declarations(子函数声明) -----------------------------------可选局部变量声明End Sub(结束子函数)macro_command main() [主函数] ------------------------------------必须局部变量声明[各式语句]end macro_command [结束主函数] ------------------------------------必须一个宏指令必须有一个且只有一个主函数,用来开始宏指令的执行。

威纶通宏指令详细讲解

威纶通宏指令详细讲解

威纶通宏指令详细讲解本文主要介绍了威纶通宏指令的基本概念、应用场景以及使用方法,通过实例进行了详细的讲解。

下面是本店铺为大家精心编写的3篇《威纶通宏指令详细讲解》,供大家借鉴与参考,希望对大家有所帮助。

《威纶通宏指令详细讲解》篇1一、威纶通宏指令概述威纶通宏指令是威纶通触摸屏编程软件的一种功能,它可以通过一系列简单的操作实现复杂的控制逻辑。

宏指令可以用于控制 PLC、驱动器等各种设备,使得触摸屏的控制更加高效、灵活。

二、威纶通宏指令应用场景威纶通宏指令适用于以下几种应用场景:1. 控制 PLC:通过宏指令,触摸屏可以实现对 PLC 的控制,例如启动、停止、复位等操作。

2. 控制驱动器:通过宏指令,触摸屏可以实现对驱动器的控制,例如速度、温度、湿度等参数的设置。

3. 数据采集:通过宏指令,触摸屏可以实现对传感器、仪表等设备的数据采集,例如温度、湿度、压力等参数的采集。

三、威纶通宏指令使用方法威纶通宏指令的使用方法可以分为以下几个步骤:1. 创建宏指令:在威纶通触摸屏编程软件中,创建一个新的宏指令,并为其命名。

2. 编写宏指令代码:在宏指令的代码编辑器中,编写宏指令的代码,包括操作类型、操作参数等。

3. 调用宏指令:在触摸屏的程序中,调用宏指令,实现对设备的控制或数据采集。

4. 设置宏指令触发条件:在触摸屏的程序中,设置宏指令的触发条件,例如时间、事件等。

四、威纶通宏指令实例以下以一个简单的实例来说明威纶通宏指令的使用方法。

假设有一个 PLC 需要控制启停,可以通过以下步骤实现:1. 创建宏指令:在威纶通触摸屏编程软件中,创建一个名为“启停 PLC”的宏指令。

2. 编写宏指令代码:在宏指令的代码编辑器中,编写以下代码: ```macrocommand main()short index, array10/bool OFF, ON/GetData(index, touchscreen, LW, 9000, 1)/array01 index/array1 array01 array2 array11 array3 array21 array4 array31 array5 array41 array6 array51 array7 array61 array8 array71 array9 array81/SetData(array0, touchscreen, RW, 7800, 10)/SetData(OFF, touchscreen, LB, 4, 1)/endmacrocommand```这段代码中,使用了 GetData 函数提取触摸屏的行号,并将其存储在 array10 数组中。

威纶通触屏宏指令判断范例

威纶通触屏宏指令判断范例

威纶通触屏宏指令判断范例大家好,今天咱们来聊聊一个非常实用又有点“硬核”的话题——威纶通触屏宏指令判断。

说实话,这个话题一开始听起来有点晦涩,对不对?就像你听到“微积分”三个字时,脑袋瞬间冒出一堆问号,心里暗叫:“这是什么鬼?”其实呢,它并没有想象中的那么复杂,只要稍微捋清楚几个关键点,别说是触屏宏指令判断,整个控制系统你都能摸得滚瓜烂熟,指哪儿打哪儿!不过说实话,刚开始学的时候我也有点“晕乎乎”的,脑袋一片空白,觉得这简直是对智商的挑战。

但慢慢来,关键就在于了解原理,接着操作,肯定没问题。

好啦,咱们先说说什么是威纶通触屏宏指令吧。

简单来说,它就是一种可以在威纶通触摸屏上进行操作的指令,让你控制机器的行为,比如显示某个界面、触发某个动作,或者切换状态。

那它和普通的控制指令有啥不同呢?嗯,普通的控制指令一般就一个简单的命令,执行完就好了;但触屏宏指令则更智能一些,能根据不同的输入判断不同的输出。

你可以理解为它就像是一个“聪明的开关”,不再死板地执行某个动作,而是能根据具体情况做出判断,保证系统按照预期的方式运行。

举个例子,你要设计一个操作界面,里面有个按钮,按下去之后,触屏需要做出反应。

那如果按下去的时候,它就直接跳转到另一个界面,这是普通的指令对吧?但如果你用了宏指令,那就不只是跳转那简单了,它可以根据不同的条件判断决定跳转哪个界面。

比如,按下按钮后,如果机器状态是“停止”,它跳到一个“启动”界面;如果是“运行”,它就跳到“暂停”界面。

这样一来,界面不仅仅是死板地切换,它能根据实际的情况灵活变化,操作起来更加贴心、智能。

宏指令的判断条件是怎么写的呢?其实也并不复杂,你只需要设置好相应的判断条件,然后就可以使用宏指令来执行相应的操作。

这就像是一个人遇到路口,需要做决策,路口上有两个方向,他根据天气、时间、心情等因素,选择自己认为最合适的路走。

简单来说,就是一个“判断题”加“选择题”,然后触屏系统会根据设定的条件,给你一个准确的答复。

威纶通宏指令时间间隔-解释说明

威纶通宏指令时间间隔-解释说明

威纶通宏指令时间间隔-概述说明以及解释1.引言1.1 概述在威纶通(Vivante)的图形处理器中,宏指令是一种非常重要的机制,它可以对图形渲染过程进行优化。

与传统的图形处理方式相比,使用宏指令可以极大地提高图形渲染的效率和质量。

而在宏指令使用过程中,时间间隔的设置对其性能和效果也有着至关重要的影响。

本文将针对威纶通宏指令的时间间隔进行探讨和研究。

首先,我们将从概述宏指令的定义和作用开始,介绍宏指令在图形渲染中的重要性。

随后,重点讨论宏指令的使用方法,包括指令的编写和调用方式。

在此基础上,我们将重点探讨宏指令的时间间隔设置,分析其在图形渲染过程中的影响因素和优化方法。

宏指令的时间间隔是指在执行多个宏指令之间所需等待的时间。

这个时间间隔的设置会直接影响到图形渲染的效果和性能。

在本文的结论部分,我们将通过实验和案例分析,总结出威纶通宏指令时间间隔的最佳实践和应用场景。

只有在正确理解和合理设置宏指令的时间间隔后,才能发挥图形处理器的最大性能和效果。

通过本文的研究和分析,读者将能够深入了解威纶通宏指令时间间隔的原理和影响,并且学会如何优化和适配不同应用场景下的宏指令时间间隔设置。

最终,我们希望本文能为读者提供一种指导和参考,帮助他们在图形渲染领域取得更好的成果和性能。

1.2文章结构文章结构部分的内容如下所示:2. 正文本节将详细讨论威纶通宏指令时间间隔的相关内容。

首先,我们将介绍威纶通宏指令的定义,深入了解其基本概念和特点。

随后,我们将探讨威纶通宏指令的作用,明确其在计算机系统中的重要性和价值。

接着,我们将介绍威纶通宏指令的使用方法,给出一些常见的示例和操作步骤,以便读者能够更好地理解和应用这一技术。

最后,在本节的最后一部分,我们将重点讨论威纶通宏指令的时间间隔设置,深入探究其对计算机系统性能的影响以及如何进行优化和调整。

3. 结论在结论部分,我们将对本文所讨论的内容进行总结和归纳。

首先,我们将讨论威纶通宏指令时间间隔的影响因素,包括硬件特性、软件要求等。

威纶通宏指令使用说明(简体)xin

威纶通宏指令使用说明(简体)xin

第十八章 宏指令(macro)使用说明宏指令提供了应用程式之外所需的附加功能。

在MT8000触摸屏运行时,宏指令可以自动的执行这些命令。

它可以担负执行例如复杂的运算、字符串处理和用户与工程之间的交流等功能。

本章主要介绍宏指令的语法、如何使用和编辑方法等。

希望通过本章的说明,能够使各位快速的掌握EB8000软件提供的强大的宏指令功能。

18.1 宏指令的结构宏指令是由各种语句组成的。

这些语句包含常量、变量和各种运算符号。

这些语句放置在特定的顺序位置以便执行后达到一个希望的执行结果。

宏指令的结构一般为以下格式:一个宏指令必须有一个且只有一个主函数,用来开始宏指令的执行。

格式为:macro_command 函数名称()end macro_command变量声明必须放在宏指令语句的前面,否则如果语句放置在变量声明的前面,将会造成宏指令无法编译通过。

局部变量一般用在宏指令主函数或者自定义的子函数中。

他的合法性只在指定的函数中有效。

总体变量一般是定义在所有宏指令函数的前面,且它在整个宏指令中均具有效性。

在同一个函数中,当局部变量和总体变量被定义为相同的名称时,只有局部变量有效。

下面就是一个简单的宏指令,其中就包含了变量声明和函数调用。

macro_command main()short pressure = 10 // 局部变量声明SetData(pressure, “Allen-Bradley DF1”, N7, 0, 1) // 函数调用end macro_command此章节将说明宏指令的语法与编写的方式,包含以下几个部分:18.2 宏指令的语法1. 常量与变量a. 常量常量是一个可以被各式语句直接使用的固定资料。

有如下格式:下面即为一个简单的常量使用的范例:macro_command main()short A, B // 声明A和B为短整型变量A = 1234B = 0x12 // 1234 和 0x12 即为常量end macro_commandb. 变量变量是程序执行时保存数据的量,在宏指令中,这些数据可以随着宏指令语句执行的结果而改变。

威纶通软件功能22一篇文章让你学会简单的威纶通宏指令操作

威纶通软件功能22一篇文章让你学会简单的威纶通宏指令操作

威纶通软件功能22一篇文章让你学会简单的威纶通宏指令操作前言宏指令的作用宏指令提供了应用程序之外所需的附加功能。

在HMI人机界面运行时,宏指令可以自动的执行这些命令。

它可以担负执行譬如数据运算,传送等宏指令脚本语言是威纶通自己的语言,类似于C语言如何实现一个简单的宏指令?第一步:确定变量类型第二步:编写脚本语句第三步:宏指令触发条件举例:触摸屏上连接了PLC A和PLC B,想将PLC A的某个位信号传送给PLC B的某个位地址?我们详细来阐述步骤一确定变量类型常见的变量类型有:bool 布尔型对应位short 整数型对应单字int 整数型对应双字float 浮点型对应小数此案例中,传送位信号,选定变量类型bool步骤二编写脚本语句此案例中,想将PLC A的某个位信号传送给PLC B的某个位地址,先使用Getdata函数获取PLC A的位信号,再使用Setdata函数传送给PLC B的某个位地址,编写脚本如下:这里推荐不是很熟悉脚本格式的朋友,使用编辑界面左下角的'函数'选项推荐理由:通过'函数'选项调用后,主要选择下图中圈示的几个地方,格式自动生成,利于编译通过。

步骤三宏指令执行条件方法1.编辑界面就有个周期执行选项方法2.功能键触发宏指令每单击这个功能键时,选择的宏指令就会被执行一次方法3. 使用 [位状态设定] 元件或者 [位状态切换开关] 元件,当这个元件被执行时,选择的宏指令就会被执行一次。

方法4.开机的时候执行1次宏指令方法5.PLC的某个位实现触发宏指令方法6.宏指令一直执行方法7. 在 [窗口设定] 设定宏的执行时机[开启窗口时执行]:当开启此窗口时即执行指定的宏指令一次。

[循环执行]:当开启此窗口时,即每0.5秒循环执行指定的宏指令。

[关闭窗口时执行]:当离开此窗口时即执行指定的宏指令一次。

说明:如果您的程序中此项灰阶,代表此型号不支持此功能。

总结:通过以上三步,就可以实现三菱PLC的M10的位状态可以传给欧姆龙PLC的D_bit,200。

威纶通宏指令赋值-概念解析以及定义

威纶通宏指令赋值-概念解析以及定义

威纶通宏指令赋值-概述说明以及解释1.引言1.1 概述概述部分:威纶通宏指令赋值是一种用于编程语言中的重要概念。

它是一种实现变量赋值的基本方法,通过使用威纶通宏指令,可以将一个数值或表达式的结果赋给一个变量。

在编程中,变量赋值是非常常见且必要的操作,它允许我们在程序中存储和操作数据。

威纶通宏指令赋值不仅仅是一个简单的赋值操作,它还可以用于实现一些复杂的逻辑和计算。

通过使用不同的操作符和表达式,我们可以在赋值过程中进行加减乘除、逻辑运算、比较运算等操作,从而使得赋值操作更加灵活和高效。

威纶通宏指令赋值在各种编程语言中都得到广泛应用,在C、C++、Java等语言中都有明确的语法规则和用法。

无论是初学者还是经验丰富的开发者,都需要掌握威纶通宏指令赋值的基本概念和用法,以便能够编写出高效、可靠的代码。

本文将从不同角度对威纶通宏指令赋值进行探究。

首先,我们将介绍威纶通宏指令赋值的定义,包括其基本语法和用法。

然后,我们将深入讨论威纶通宏指令赋值的功能,包括其在数值计算、逻辑判断和字符串操作等方面的应用。

最后,我们将对威纶通宏指令赋值进行总结,并展望其未来的发展前景。

通过阅读本文,读者将能够全面了解威纶通宏指令赋值的概念和用法,并能够运用它们在实际的编程工作中。

不论是初学者还是有一定经验的开发者,都将受益于本文所提供的知识和技巧。

让我们一起开始深入探索威纶通宏指令赋值的世界吧!1.2 文章结构文章结构部分的内容可以按照以下方式进行编写:2. 正文在前面的引言部分,我们已经了解到了威纶通宏指令的概述,接下来我们将详细探讨其定义、功能和应用。

本部分将分为三个小节进行讲述。

2.1 威纶通宏指令的定义在此小节中,我们将介绍威纶通宏指令的具体定义和特点。

我们将探讨威纶通宏指令在编程领域中的作用,并解释其与其他常见指令的区别。

2.2 威纶通宏指令的功能在这一小节中,我们将深入研究威纶通宏指令的各种功能。

我们将介绍它们如何用于快速、高效地完成特定任务,并举例说明其在实际编程中的应用场景。

威纶HMI宏指令使用说明

威纶HMI宏指令使用说明

范围 0, 1 ±127 ±32767 ±2147418112
变量声明
变量必须在使用前声明。所以,在宏指令,所有的变量都必须在语句使用前都被声明完成。 声明变量时,先定义变量的类型,后面再跟着变量名称。
如下范例:
int
a
short b, switch
float pressure
5
数组声明
宏指令支持一维数组(下标从 0 开始)。声明数组变量时,先定义数组变量的类型,变量名称, 接着就是该数组变量的个数,变量个数必须放置在“[]”符号中。数组变量的长度为 1~4096。 一个宏指令中只支持 4096 个变量。
变量的命名规则
1. 必须以英文字母开头 2. 变量名成长度不超过 32 个字符 3. 系统保留寄存器名称不能作为变量名称。
下面为 5 种不同的变量类型:
变量类型 Bool 布尔型 Char 字符型 Short 短整型 Int 双整型 Float 浮点型
描述 1 bit (一个位) 8 bits (一个字节) 16 bits (一个字) 32 bits (双字) 32 bits (双字)
3
30.2 宏指令的语法
30.2.1 常量和变量
30.2.1.1 常量
常量是一个可以被各式语句直接使用的固定的数据。有如下格式:
常量类型
使用说明
举例
十进制整型数 十六进制数 字符型 布尔型
必须以 0x 开头 字符必须使用单引号
345, -234, 0, 23456 0x3b, 0xffff, 0x237 ‘a’, ‘data’, ‘函数名称’ true, false
End Sub(结束子函数)
macro_command main() [主函数] 局部----------------------必须

威纶通宏指令使用说明(简体)xin

威纶通宏指令使用说明(简体)xin

第十八章 宏指令(macro)使用说明宏指令提供了应用程式之外所需的附加功能。

在MT8000触摸屏运行时,宏指令可以自动的执行这些命令。

它可以担负执行例如复杂的运算、字符串处理和用户与工程之间的交流等功能。

本章主要介绍宏指令的语法、如何使用和编辑方法等。

希望通过本章的说明,能够使各位快速的掌握EB8000软件提供的强大的宏指令功能。

18.1 宏指令的结构宏指令是由各种语句组成的。

这些语句包含常量、变量和各种运算符号。

这些语句放置在特定的顺序位置以便执行后达到一个希望的执行结果。

宏指令的结构一般为以下格式:一个宏指令必须有一个且只有一个主函数,用来开始宏指令的执行。

格式为:macro_command 函数名称()end macro_command变量声明必须放在宏指令语句的前面,否则如果语句放置在变量声明的前面,将会造成宏指令无法编译通过。

局部变量一般用在宏指令主函数或者自定义的子函数中。

他的合法性只在指定的函数中有效。

总体变量一般是定义在所有宏指令函数的前面,且它在整个宏指令中均具有效性。

在同一个函数中,当局部变量和总体变量被定义为相同的名称时,只有局部变量有效。

下面就是一个简单的宏指令,其中就包含了变量声明和函数调用。

macro_command main()short pressure = 10 // 局部变量声明SetData(pressure, “Allen-Bradley DF1”, N7, 0, 1) // 函数调用end macro_command此章节将说明宏指令的语法与编写的方式,包含以下几个部分:18.2 宏指令的语法1. 常量与变量a. 常量常量是一个可以被各式语句直接使用的固定资料。

有如下格式:下面即为一个简单的常量使用的范例:macro_command main()short A, B // 声明A和B为短整型变量A = 1234B = 0x12 // 1234 和 0x12 即为常量end macro_commandb. 变量变量是程序执行时保存数据的量,在宏指令中,这些数据可以随着宏指令语句执行的结果而改变。

威纶通触摸屏宏指令getdata和setdata函数的使用方法

威纶通触摸屏宏指令getdata和setdata函数的使用方法

威纶通触摸屏宏指令getdata和setdata函数的使用方法下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, suchas educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!威纶通触摸屏是一款广泛应用于各类电子设备中的触摸屏产品,其功能强大且灵活,为开发者提供了丰富的接口和指令,以满足不同场景下的需求。

威纶通触摸屏宏指令,数据转换分类函数,详解与实操

威纶通触摸屏宏指令,数据转换分类函数,详解与实操

威纶通触摸屏宏指令,数据转换分类函数,详解与实操在编写宏指令时,我们基本都是调用威纶给我们提供的系统指令。

这些指令按功能作了细分,如下图,约有11个分类。

前面小节我们以视频教程的形式介绍了数学运算相关的函数。

发现每个分类下的函数非常多,所以我们这里以图文的形式介绍数据转换分类下的全部函数。

每一个函数的介绍与使用都通过例程的形式,在编程软件上测试运行。

大家可以在自己电脑打开编程软件实践,运行例程,查看效果。

遇到问题可以在平台提问,@我,一起交流。

数据转换类函数共有14个,分别为ASCII2DEC, DEC2ASCII,ASCII2FLOAT, FLOAT2ASCII,ASCII2HEX, HEX2ASCII,BCD2BIN, BIN2BCD,StringBin2DecAsc, StringDecAsc2Bin,StringBin2HexAsc, StringHexAsc2Bin,StringDecAsc2Float, StringFloat2DecAsc在使用这些函数前,我们得知道一些知识。

十进制数由0,2,3,4,5,6,7,8,9组成,十六进行数上面的0到9另加A,B,C,D,E,F组成。

BIN数据,为二进制数据,我们在编程时传递十或十六进制数,触摸屏会在后台转换为对应的二进制数处理。

BCD码,用四位二进制数表示一个十进制数,主要方便二进制与十进制间的转换。

ASCII码用于电脑显示数字,英文,字符等信息,我们常用的数字,大小写字母,标点符号都有可以通过对应的数字表示,可以通过查表知道对应关系。

如查询下图ASCII表,知道字符'A’可以用十进制66表示,也可以用十六进制0X42表示。

这些关系可以这小节的数据转换分类下的函数实现互换。

1.ASCII2DEC。

此函数用于将ASCII格式字符转换为十进制格式数字。

要注意的是我们十进制数只有0到9个数字,所以我们传递的字符也只能有这几个字符。

我们可以在编辑器中使用下面代码。

威纶通485宏指令-概述说明以及解释

威纶通485宏指令-概述说明以及解释

威纶通485宏指令-概述说明以及解释1.引言1.1 概述威纶通485宏指令是一种基于威纶通485通信协议的特殊指令集,用于控制和管理与威纶通485设备的通信和数据传输。

宏指令可以通过编程的方式在主机控制设备中运行,以有效地完成各种任务和操作。

威纶通485宏指令被广泛应用于物联网、工业自动化、楼宇自控、环境监测等领域。

通过使用宏指令,用户可以轻松地实现对威纶通485设备的监控、控制和数据采集。

无论是单个设备还是大规模设备网络,威纶通485宏指令都提供了可靠和高效的解决方案。

此外,威纶通485宏指令还具备灵活性和扩展性,用户可以根据实际需求自定义宏指令,实现更加复杂和精细的控制和操作。

这使得宏指令成为了威纶通485设备与其他设备、系统和平台实现无缝集成和互通的桥梁。

本文将介绍威纶通485宏指令的定义、作用、使用方法以及其在不同应用场景中的优势。

通过深入理解和掌握威纶通485宏指令,读者将能够更好地应用宏指令来提高设备控制和管理的效率以及拓展设备应用的领域。

同时,本文还将展望威纶通485宏指令未来的发展趋势,以期为读者提供有价值的信息和参考。

1.2 文章结构本文主要围绕威纶通485宏指令展开讨论,通过以下几个部分进行阐述和分析。

1. 引言:- 在引言部分,我们将对威纶通485宏指令的概述进行介绍,包括其定义、作用和重要性。

- 然后,我们将简要说明本文的结构和目的,以便读者能够更好地理解和阅读后续内容。

2. 正文:- 正文部分将分为三个小节,详细探讨威纶通485宏指令的定义、使用方法、优势和应用场景。

- 在2.1节中,我们将解释威纶通485宏指令的定义和作用,帮助读者全面了解其基本概念和功能。

- 在2.2节中,我们将详细介绍威纶通485宏指令的使用方法,包括指令的结构和参数的设置方式。

- 在2.3节中,我们将深入探讨威纶通485宏指令的优势和应用场景,从不同的角度分析其价值和适用性。

3. 结论:- 结论部分将对威纶通485宏指令的重要性进行总结,强调其在现代通信领域的实际应用和作用。

威纶通宏指令数据转换 -回复

威纶通宏指令数据转换 -回复

威纶通宏指令数据转换-回复威纶通宏指令数据转换是一种在计算机科学领域中常用的数据处理方法。

通过使用威纶通宏指令,可以将原始数据转换为特定的格式,以满足不同的需求。

在本文中,我将逐步解释威纶通宏指令数据转换的过程和应用,并提供一些示例来帮助读者更好地理解这一概念。

首先,让我们了解一下什么是威纶通宏指令。

威纶通宏指令是一种在计算机体系结构中使用的特殊指令集。

它们被设计用于处理大规模数据集,并通过利用并行计算和向量计算的特性来提高计算效率。

威纶通宏指令广泛应用于科学计算、数据分析和机器学习等领域。

数据转换是使用威纶通宏指令的一项重要功能。

它允许我们以不同的方式重新组织和表示数据,以便于后续处理和分析。

在数据转换过程中,我们可以执行各种操作,例如数据格式转换、数据压缩、数据重排和数据重塑等。

一种常见的数据转换操作是数据格式转换。

在威纶通宏指令中,我们可以使用特定的指令来将数据从一种格式转换为另一种格式。

例如,将浮点数转换为整数,将整数转换为布尔值,或将字符串转换为数字等。

数据格式转换对于数据处理和分析非常重要,因为它可以使数据在不同的算法和计算机体系结构之间进行无缝传递。

数据压缩是另一种常见的数据转换操作。

在大规模数据处理中,数据压缩可以将原始数据的大小减小到较小的体积,以节省存储空间和加快数据传输速度。

威纶通宏指令提供了多种压缩算法和压缩技术,例如哈夫曼编码、LZ77算法和熵编码等。

通过将数据转换为压缩格式,我们可以在保持数据质量的同时减少存储和传输成本。

数据重排是在计算机体系结构中常用的一种数据转换操作。

它主要用于优化内存访问模式,以提高计算效率和性能。

在数据重排过程中,我们可以重新组织数据的存储布局,以便于并行计算和向量计算。

例如,对于二维数据,我们可以将其转换为一维数据,并使用指定的顺序将数据存储在内存中。

这将使处理器能够更好地利用缓存和向量寄存器,从而提高计算速度和效率。

数据重塑是一种在数据分析和机器学习中常用的数据转换操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/**********************************************************行号刷新——number**********************************************************/macro_command main()short index,array[10] //数组array[10]是存放行号的数组bool OFF=false,ON=trueGetData(index, "本机触摸屏", LW, 9000, 1)//a用于提取索引寄存器的当前值array[0]=1+index/70 //索引寄存器的值以700的倍数递增,即以当前页面中占用地址总数为基数array[1]=array[0]+1array[2]=array[1]+1array[3]=array[2]+1array[4]=array[3]+1array[5]=array[4]+1array[6]=array[5]+1array[7]=array[6]+1array[8]=array[7]+1array[9]=array[8]+1SetData(array[0], "本机触摸屏", RW, 7800, 10) //RW7800~RW7809中存放行号SetData(OFF, "本机触摸屏", LB, 4, 1) //清零宏指令触发位end macro_command/**********************************************************新增——add**********************************************************/macro_command main()short name[5],temp[5],data[65]short i,var=0,CurtLine=0,index=0,NextLine=0bool OFF=false,flag=falseGetData(CurtLine, "本机触摸屏", RW, 8000, 1) //获取RW8000的值,即保存的行数GetData(name[0], "本机触摸屏", LW, 0, 5)//获取LW0的值,即输入的配方名GetData(data[0], "Panasonic FP", DT, 32700, 65)//获取当前HMI的数据输入值//判断数据表是否填满,若未填满,则判断是否有重名if CurtLine==100 thenflag=trueSetData(flag, "本机触摸屏", LB, 22, 1)else//判断是否有重名for i=0 to 99 step 1GetData(temp[0], "本机触摸屏", RW, var, 5)//遍历每一行的配方名if name[0]==temp[0] and name[1]==temp[1] and name[2]==temp[2] and name[3]==temp[3] and name[4]==temp[4] thenflag=trueSetData(flag, "本机触摸屏", LB, 21, 1)//若有重名则跳出“警告”框,提示该配方已存在elsevar=var+70//否则开始查询下一行endifnext i//遍历所有行未找到匹配值,就将配方名和数据保存在数据表中if flag==false thenvar=0var=70*CurtLine //当前行的索引量SetData(name[0], "本机触摸屏", RW, var, 5)//将LW0中的配方名保存至新地址RW(0+var)中SetData(data[0], "本机触摸屏", RW, 5+var, 65)//将DT32700中连续的65个数据保存在RW(5+var)65个连续的地址中//下面程序是实现数据表行数增加if CurtLine<100 thenNextLine=CurtLine+1index=(NextLine/10)*700SetData(NextLine, "本机触摸屏", RW, 8000, 1)SetData(index, "本机触摸屏", LW, 9000, 1)flag=trueSetData(flag, "本机触摸屏", LB, 4, 1)end ifend ifend ifFILL(name[0], 0, 5)SetData(name[0], "本机触摸屏", LW, 0, 5)//清空LW0的值,即清空输入的配方名SetData(OFF, "本机触摸屏", LB, 0, 1) //清零宏指令触发位end macro_command/**********************************************************调用——aquire**********************************************************/macro_command main()short name[5],temp[5]//定义两个数组,name[5]用于获取输入配方名,temp[5]用于获取某一行的配方名short i,index,var=0,Data[65]//数组b[80]用于获取某一行的存储数据bool ON=true,OFF,flag=falseGetData(name[0], "本机触摸屏", LW, 0, 5)//获取输入的配方名//下面程序用于查找与输入的配方名匹配的数据,并将数据下载至PLC中for i=0 to 99 step 1GetData(temp[0], "本机触摸屏", RW, var, 5) //查询存储的配方名if name[0]==temp[0] and name[1]==temp[1] and name[2]==temp[2] and name[3]==temp[3] and name[4]==temp[4] thenflag=trueGetData(Data[0], "本机触摸屏", RW, 5+var, 65) //获取匹配行的存储数据SetData(Data[0], "Panasonic FP", DT, 32700, 65) //将查找到的数据传给下位机elsevar=var+70 //下一个配方名地址end ifnext iif flag==false thenSetData(ON, "本机触摸屏", LB, 20, 1)end ifFILL(name[0], 0, 5)SetData(name[0], "本机触摸屏", LW, 0, 5)//清空LW0的值,即清空输入的配方名SetData(OFF, "本机触摸屏", LB, 1, 1)//清零宏指令触发位end macro_command/**********************************************************删除——del**********************************************************/macro_command main()short i=0,j=0,var=0shortMaxLine=0,CurtLine=0,MoveTime=0,index=0,CurtAddress=0,NextAddress=0short c[70],name[5],clear[70],check[5]bool zero=0,ON=true,OFF,flag=false//获取相应操作数FILL(clear[0],0,70)GetData(MaxLine, "本机触摸屏", RW, 8000, 1) //获取数据表大小GetData(name[0], "本机触摸屏", LW, 0, 5)//获取LW0的值,即要删除的配方名//查找要删除的记录,并将其删除for i=0 to MaxLine step 1GetData(check[0], "本机触摸屏", RW, var, 5)//查找匹配的配方名if name[0]==check[0] and name[1]==check[1] and name[2]==check[2] and name[3]==check[3] and name[4]==check[4] thenflag=true //找到后置位标志位CurtLine=i //记录匹配配方名所在行CurtAddress=var //记录匹配配方名的地址MoveTime=MaxLine-CurtLine-1 //要移动的次数//下面程序执行数据覆盖操作for j=1 to MoveTime step 1NextAddress=CurtAddress+70 //记录下一条数据位置GetData(c[0], "本机触摸屏", RW, NextAddress, 70) //下一条数据记录覆盖当前记录SetData(c[0], "本机触摸屏", RW, CurtAddress, 70)CurtAddress=NextAddress//移动一次后下一地址变为当前地址next j //进行下一次数据覆盖//最后一行清零SetData(clear[0], "本机触摸屏", RW, CurtAddress, 70)//所有数据覆盖后,当前地址已经是最后一行起始地址//下面程序实现数据表行数减少MaxLine=MaxLine-1index=(CurtAddress/700)*700SetData(MaxLine, "本机触摸屏", RW, 8000, 1)SetData(index, "本机触摸屏", LW, 9000, 1)SetData(ON, "本机触摸屏", LB, 4, 1)elsevar=var+70end ifnext i//若找不到匹配的配方记录,则报警提示if flag==false thenSetData(ON, "本机触摸屏", LB, 20, 1)end ifFILL(name[0], 0, 5)SetData(name[0], "本机触摸屏", LW, 0, 5)//清空LW0的值,即清空输入的配方名SetData(zero, "本机触摸屏", LB, 3, 1)end macro_command/**********************************************************首页——MinPage**********************************************************/macro_command main()short indexbool ON=trueGetData(index, "本机触摸屏", LW, 9000, 1)//a用于提取索引寄存器的当前值if index==0 thenSetData(ON, "本机触摸屏", LB, 23, 1)end ifSetData(ON, "本机触摸屏", LB, 4, 1)end macro_command/**********************************************************尾页——MaxPage**********************************************************/macro_command main()short indexbool ON=trueGetData(index, "本机触摸屏", LW, 9000, 1)if index==6300 thenSetData(ON, "本机触摸屏", LB, 24, 1)end ifSetData(ON, "本机触摸屏", LB, 4, 1)end macro_command/**********************************************************行号初始化——Initial**********************************************************/macro_command main()short array[10]={1,2,3,4,5,6,7,8,9,10}bool OFF=falseSetData(array[0], "本机触摸屏", RW, 7800, 10)SetData(OFF, "本机触摸屏", LB, 9000, 1)end macro_command。

相关文档
最新文档