QQ登录

只需一步,快速开始

威纶通触摸屏宏指令入门与精通视频教程

[ 复制链接 ]

威纶通触摸屏宏指令入门与精通视频教程

威纶通触摸屏宏指令入门与精通视频教程


这是威纶通宏指令的教程,关于威纶通触摸屏编程共有两套教程,
可以进入下面页面。


这套课程介绍了威纶通触摸屏宏指令编程的入门上手与实践练习方面知识。
具体内容有指令编辑器界面介绍,其语法语句函数定义的格式介绍。
系统自带的如数学运算,字符处理,串口通讯,数据处理等各种函数的使用介绍。
还介绍了自定义函数的使用,函数如何设置密码保护等。
在最后还录制了宏指令编程练习,以及利用宏指令与永宏PLC进行串口通讯的实例。
触摸屏自带系统函数很丰富,平时做项目时可以义思名,在宏指令编辑界面里通过添加函数按钮,查找自己想要的函数。
如想要实现字符串对比,对应英文为stringcompare,然后就可以在宏编辑界面找到类型函数名,进而使用。

教程全部章节内容如下:
一.威纶通触摸屏宏指令编辑器界面介绍
威纶通触摸屏的宏指令类似于VBScript或者VB,通过宏指令可以方便实现触摸屏额外的功能,如数学运算,逻辑判断,字符串处理功能,自由通讯协议的编程实现等等。在触摸屏程序界面中,可以任意由触摸屏控件或PLC软件元件调用。如果有一定的vb或C++等高级编程语言基础,学习宏指令的编写是非常轻松的事。
我也在工控编程吧论坛录制了相关的课程
上位机编程语言基础篇-使用C++
上位机编程新手上路篇-编写程序
上位机编程功能开发篇-练习与累积
如果想学习上位机程序编程可以进入看看。
课程使用的编程软件是EasyBuilderPro V6.01可以进入gkbc8.com搜索XOB,帖子里可以看到下载地址。
威纶通触摸屏的宏指令大概分类如下

数学运算
SQRT
cubert
POW
Sin
cos
TAN
cot
SEC
csc
ASIN
ACOS
ATAN
LOG
LOG10
RAND

数据转换
BIN2BCD
BCD2BIN
dec2ascii
HEX2ASCII
FLOAT2ASCII
ASCII2DEC
ASCII2HEX
ASCII2FLOAT

数据操作
FILL
SWAPB
SWAPW
LOBYTE
HIBYTE
HIWORD
LOWORD


位状态转换
GETBIT
SETBITOFF
SETBITON
INVBIT


通讯函数
delay
ADDSUM
XORSUM
crc
OUTPORT
INPORT
INPORT2
GetData
GetDataEx
GetError
PURGE
SetData
SetDatEx
SetRTS
GetCTS

字符串处理
StringGet
StringGetEx
StringSet
StringSetEx
StringCopy
StringDecAsc2Bin
StringBin2DecAsc
StringDecAsc2Float
StringFloat2DecAsc
StringHexAsc2Bin
StringBin2HexAsc
StringLength
StringMid
StringCat
StringCompare
StringCompareNoCase
StringFind
StringReverseFind
StringFindOneOf
StringIncluding
StringExcluding
StringToUpper
StringToLower
StringToReverse
StringTrimLeft
StringTrimRight
StringInsert

其他函数
Beep
Buzzer
SYNC_TRIG_MACRO
ASYNC_TRIG_MACRO
TRACE
FindDataSamplingIndex
findDataSamplingDate
FindEventLogDate
FindEventLogIndex

要进入宏指令编辑界面,首先必须创建一个工程。
步骤为:
1.      新建工程
打开编程软件,点击菜单栏上,文件->新建。
弹出的对话框中,型号组合框内选择自己的触摸屏型号,其他保持默认,点击确认。
编程软件会弹出系统参数设置窗口,这里直接点击确定。以保持默认状态。

2.      进入宏指令编程界面。
经过第一步后,可以看到软件已进入项目编辑状态。
点击菜单栏上,工程文件>宏指令.
弹出的窗口为现在宏指令列表,无,则空白。
此窗口右上角点击新增按钮,进入宏指令编辑界面

威纶通触摸屏宏指令入门与精通视频教程

威纶通触摸屏宏指令入门与精通视频教程

3.      宏指令编辑器界面介绍
宏指令编辑器提供下列新功能:
显示行号
复原  (Undo) /重复  (Redo)
剪切  (Cut) /复制  (Copy) /粘贴  (Paste)
全选  (Select All)
建立  /取消书签  (Toggle Bookmark) /上一个书签  (Previous Bookmark) /下一个书签  (Next
Bookmark) /清除全部书签  (Clear All Bookmarks)
程序代码折迭  (Toggle All Outlining)
安全  ->启用执行条件
周期执行
当触摸屏启动时即执行一次。

以下将详细描述如何使用各项功能。
1)打开宏指令编辑器,可以看到编辑区左边将自动显示行号。
2)编辑区中按鼠标右键,弹出快捷菜单。当前状态无法使用的功能将显示灰色。例如必须在
编辑区中选取一段文字才会开启复制功能,因此未选取任何文字的状态下,复制功能暂不开启。
3) 编辑区上方有工具列,提供 “复原”、”重复”、”剪下”、”复制”、”贴上”、”建立/取消书签”、”下一个书签”、”上一个书签”、”清除全部书签” 等按钮方便快速选取。
4)改变编辑区内容将开启 “复原” 功能,用户执行复原后可用 “重复” 复原。用户可从右键选单或是利用
热键  (Undo : Ctrl+Z,Redo : Ctrl+Y)执行此功能,方便编写出错时还原使用。
5)在编辑区选取一段文字后可进行 “剪切”、”复制”,之后可用 “贴上” 将选取的文字贴上。
6) 选择 “全选” 可选取编辑区全部内容。
7) 当程序代码很长的时候,为方便用户阅读,编辑器也提供了书签功能。下面说明如何使用此功能。
将光标移至编辑区中想要插入书签的位置,按右键,选择  “建立  /取消书签”。编辑区左边将会看到一个代表书签的蓝色小方块。
若光标所在位置已存在书签,选择 “建立  /取消书签” 可将其关闭,反之,选择 “建立  /取消书签” 可将其开启。
右键选择  “下一个书签” 光标将会移至下一个书签所在位置。选择  “上一个书签” 光标将会移至上一个书签所在位置
选择  “清除全部书签” 将关闭所有书签。
8) 宏指令编辑器提供程序代码折迭功能,方便用户浏览程序代码。所谓程序代码折迭,是指编辑
属于同一区块的程序代码隐藏起来,被隐藏起来的程序代码在编辑区里会显示成。编辑
区左侧会显示树形图,用户可点击+隐藏程序区块,点击  -展开程序区块。
也可以鼠标右键选择 “程序代码折迭”实现相同功能。
9) 有时候程序代码区块可能会误判。这种误判起因于编辑器没有办法区分当前输入的关键词是否存在于注释中。例如下图。用户可以从右键选单选择 “更新所有程序代码” 来更正这个错误。
10) 包围在特定关键词内的程序代码称为一程序代码区块。内定的程序代码区块如下列:  子函数:  sub – end sub
循环语句:
for – next
while – wend
逻辑运算语句:
if – end if
多重判断语句:
select case – end select

11)用户勾选界面左上角 “周期执行” 时,会周期性的触发此宏。
12)用户勾选界面右上角 “启用执行条件”->“设置” 后,可以进行安全设定:
当位状态ON时取消:当位状态ON时禁止执行此宏。
当位状态OFF时取消:当位状态OFF时禁止执行此宏。
13)用户勾选界面右上角“当HMI启动时即执行一次” 时,在触摸屏启动时会自动执行宏一次。

二.威纶通触摸屏宏指令语法

1.      宏指令的结构
宏指令是由各种语句组成。这些语句包含常数、变量和各种运算符号。这些语句以特定的顺序放置于指定的位置以便执行后达到一个希望的功能。  
宏指令的结构一般为以下格式:

全局变量申明 //可无
Sub Function Block Declarations  //子函数申明,可无
局部变量申明 //可无
End Sub  //子函数申明结束,可无

cacro_command_main  //主函数申明,必须有
局部变量申明
各种语句
end macro_command  //主函数结束,必须有

一个宏指令必须有一个且只有一个主函数,用来开始宏指令的执行。格式为:
macro_command 函数名称()  
end macro_command

变量声明必须放在宏指令语句的前面,否则如果语句放置在变量声明的前面,将会造成宏指令无法编译通过。  
局部变量一般用在宏指令主函数或者自定义的子函数中。它的合法性只在指定的函数中有效。  
全局变量一般是定义在所有宏指令函数的前面,且它在整个宏指令中均具有有效性。当局部变量和全局变量被定义为相同的名称时,只有局部变量有效。这些和C++一样,为最为基础语法知识。  

下面就是一个简单的宏指令,其中就包含了变量声明和函数呼叫。双斜线 "//" 代表程序批注,在它后面文字不会被执行。  
macro_command main()  
short pressure = 250                         // 局部变数声明  
SetData(pressure, "Allen-Bradley DF1", N7, 10, 12)       // 函数呼叫  
end macro_command

2.      宏指令的语法
1)首先宏指令里会使用常数,常数是一个可以被各式语句直接使用的固定的资料。有如下格式:  
常数类型 使用说明 举例  
十进制整数 345, -234, 0, 23456  
十六进制数 必须以 0x 开头 0x3b, 0xffff, 0x237  
字符型 字符必须使用单引号,字符串使用双引号 ‘a’, "data", "函数名称"  
布尔型 true, false



下面即为一个简单的常数使用的范例。  
macro_command main()  
short A, B   // 声明A和B为短整型变数  
A = 1234  
B = 0x12    //  1234 和 0x12 即为常数  
end macro_command

2)宏指令里更为常见是变量,变量是一个代表着各种资料的名称。在宏指令中,这些资料可以随着宏指令语句执行的结果改变而改变。
变量的命名规则  
必须以英文字母开头  
变量名称长度不超过 32 个字符  
系统保留寄存器名称不能作为变量名称。  
下面为 8 种不同的变量类型,前 5种为有号数值类型,后 3种为无号数值类型:
变量类型 描述 范围  
bool 布尔型 1 bit (一个位)  0, 1  
char 字符型 8 bits (一个字节)  +127 ~ -128  
short 短整型 16 bits (一个字符)  +32767 ~ -32768  
int 双整型 32 bits (双字符)  +2147483647 ~ -2147483648  
float 浮点型 32 bits (双字符)  
unsigned char 字符型 8 bits (一个字节)  0 到 255  
unsigned short 短整型 16 bits (一个字符)  0 到 65535  
unsigned int 双整型 32 bits (双字符)  0 到 4,294,967,295

变量必须在使用前声明。所以,在宏指令,所有的变量都必须在语句使用前都被声明完成。声明变量时,
先定义变量的类型,后面再跟着变量名称。  
如下范例:  
int        a  
short  b, switch  
float    pressure  
unsigned short   c  
数组声明  
宏指令支持一维数组 (下标从 0 开始)。声明数组变量时,先定义数组变量的类型,变量名称,接着就是该数组变量的个数,变量个数必须放置在[]符号中。数组变量的长度为1 ~ 4096。一个宏指令中最多只支持4096个变量。  
如下范例:
int        a[10]  
short  b[20], switch[30]  
float    pressure[15]  
数组的下标最小为0,最大下标为(数组的长度-1)  
如下范例:  
char data[100]    // 数组变量的长度是 100  
所以: 最小的数组为 “data”0””,最大的数组为 “data”99””,即 100 – 1 = 99。
有两种方法可以让变量初始化:  
使用语句中的赋值语句 (=)  
如下范例:  
int a  
float b[3]  
a = 10  
b[0] = 1  
声明变量时直接赋值  
char a = ‘5’, b = 9  
数组变量的声明是一个特殊的情况。一个完整的数组被初始化时,可以在数组变量声明时,将数据放置在
波形括号“{}”里面,各数据使用逗号分开。  
如下所示:  
float data[4] = {11, 22, 33, 44}  // 这样 data[0] = 11, data[1] = 22….
这些其实都是C++语法基础,有基础的同学过一篇就好。

3)宏指令中还运算符号也是必不可少的组成部分。
运算符通常被用来指定数据是如何被操作和运算,如下:(在任何一个语句中,运算符左边的变量结果均依据运算符右边的条件而获得。
运算符号 描述 举例  
= 赋值运算符号 pressure = 10

数学运算符号 描述 举例  
+ 加 A = B + C  
- 减 A = B – C  
* 乘 A = B * C  
/ 除 A = B / C  
% 求余(返回剩余数)  A = B % 5

比较运算符号 描述 举例  
< 小于 if A < 10 then B = 5  
<= 小于或者等于 if A <= 10 then B = 5  
> 大于 if A > 10 then B = 5  
>= 大于或者等于 if A >= 10 then B = 5  
== 等于 if A == 10 then B = 5  
<> 不等于 if A <> 10 then B = 5

逻辑运算符号 描述 举例  
And 与 if A < 10 and B > 5 then C = 10  
Or 或 if A >= 10 or B > 5 then C = 10  
Xor 异或 if A xor 256 then B = 5  
Not 非 if not A then B = 5


4)另外还有移位元和位运算符号,通常被用来操作字符型变量、短整型变量和双整型变量的位。在一个语句中,这些运算符号的优先权是在从该语句的左边到右边依此执行的。即在语句中左边位置的优先执行,依次从左到右执行。
位运算符号 描述 举例  
& 位与运算 A = B & 0xf  
| 位或运算 A = B | C  
^ 位异或运算 A = B ^ C  
~ 位取反运算 A = ~B

所有运算符号之间都有执行的先后顺序,叫做优先权 ,
上述所有运算符号的优先权从高到低详细如下所述:  
1. 位于圆括号里面的运算符号最优先  
2. 数学运算符号  
3. 移位和位运算符号  
4. 比较运算符号  
5. 逻辑运算符号  
6. 赋值运算符号
这些优先级按数学常识了解下就好,不必硬记,实际使用时不知道先后顺序,通过符号()加以实现就好。

另外宏指令中还会使用威纶通触摸屏厂家事先定义好的变量,或数组,或函数名。这些我们统称关键字,也有人叫关键词,为避免名称混淆,我们自己定义的如函数名,变量名等都不能与这些事先定义的关键字相同。
下面的关键词为宏指令保留使用:
+, -, *, /, %, >=, >, <=, <, <>, ==, and, or, xor, not, <<, >>,=, &, |, ^, ~  
exit, macro_command, for, to, down, step, next, return, bool, short, int, char, float, void, if, then,  
else, break, continue, set, sub, end, while, wend, true, false  
SQRT, CUBERT, LOG, LOG10, SIN, COS, TAN, COT, SEC, CSC, ASIN, ACOS, ATAN, BIN2BCD,  
BCD2BIN, DEC2ASCII, FLOAT2ASCII, HEX2ASCII, ASCII2DEC, ASCII2FLOAT, ASCII2HEX, FILL, RAND,  
DELAY, SWAPB, SWAPW, LOBYTE, HIBYTE, LOWORD, HIWORD, GETBIT, SETBITON, SETBITOFF,  
INVBIT, ADDSUM, XORSUM, CRC, INPORT, OUTPORT, POW, GetError, GetData, GetDataEx,
SetData, SetDataEx, SetRTS, GetCTS, Beep,  SYNC_TRIG_MACRO, ASYNC_TRIG_MACRO,  TRACE,  
FindDataSamplingDate, FindDataSamplingIndex, FindEventLogDate, FindEventLogIndex  
StringGet, StringGetEx, StringSet, StringSetEx, StringCopy, StringMid, StringDecAsc2Bin,  
StringBin2DecAsc, StringDecAsc2Float, StringFloat2DecAsc, StringHexAsc2Bin,  
StringBin2HexAsc, StringLength, StringCat, StringCompare, StringCompareNoCase, StringFind,  
StringReverseFind, StringFindOneOf, StringIncluding, StringExcluding, StringToUpper,  
StringToLower, StringToReverse, StringTrimLeft, StringTrimRight, StringInsert。  


课程教案内容过多,附件已包含课程教案与练习,串口通讯实战的源代码,可下载查看
三.威纶通触摸屏宏指令语句
四.威纶通触摸屏宏指令函数定义
五.威纶通触摸屏宏指令数学运算系统函数
六.威纶通触摸屏宏指令数据转换系统函数
七.威纶通触摸屏宏指令数据操作系统函数
八.威纶通触摸屏宏指令位状态转换函数
九.威纶通触摸屏宏指令通讯函数
十.威纶通触摸屏宏指令字符串函数
十一.威纶通触摸屏宏指令其他函数
十二.威纶通触摸屏宏指令的使用
十三.威纶通触摸屏宏指令自定义函数存储
十四.威纶通触摸屏宏指令保护
十五威纶通触摸屏宏指令练习
十六.威纶通触摸屏宏指令通讯实例

视频教程下载地址与课件:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:威纶通触摸屏宏指令入门与精通视频教程.rar 
文件大小:1.31 MB  售价:58金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索