CODESYS可视化标准计算器制作详细案例(二)

#制作一个在可视化界面可用于标准计算器功能详细案例#
前言:
在可视化界面或触摸屏上,很少有带计算器功能的脚本程序,当我们在工控现场需要使用计算器时,往往依靠电脑或手机上的计算器,如果把计算器的功能移值到界面上,或者为PLC提供一个计算公式,那么,非常方便的即时使用,也可以将结果作为数据,再进一步处理应用。本篇在写文章的同时,也在不断研究和加入新的功能,但整体的思路是不变的,因此个别代码和界面后续会出现变更。

CODESYS可视化标准计算器制作详细案例(一)

———————————————————————————————————

二、程序代码

结合上篇的设计方案的内容,我们对此计算器功能编写程序,在写程序前,要先了解一下字符串的操作功能块都是哪些,相关说明可以查看官方资料。
✍组合字符串:CONCAT(STR1,STR2);
✍删除字符串:DELETE (STR, LEN, POS);
✍查找字符串:FIND(STR1, STR2);
✍插入字符串:INSERT (STR1, STR2, POS);
✍左取字符串:LEFT (STR, SIZE);
✍取长字符串:LEN (STR);
✍任取字符串:MID (STR, LEN, POS);
✍替换字符串:REPLACE(STR1, STR2, L, P);
✍右取字符串:RIGHT (STR, SIZE);

1.结构体变量

如下,建立一个结构体,用于计算器的等式符号及数字计算。

TYPE CalculatorStruct :
STRUCT
     value1:REAL;//数值1
	 value2:REAL;//数值2
	 result:REAL;//结果
	 symbolType:WORD;//符号
END_STRUCT
END_TYPE

2.程序变量

如下所示,预留20个按键,以及默认100个等式可以满足常用的计算法则和次数。

PROGRAM PLC_PRG
VAR
	// 数值赋值用
	Number:ARRAY[0..100] OF STRING;
	i:INT;
	j:INT := 3;
	// 符号类型
	symbolType:WORD := 0;
	numberMove: BOOL;
	numberMove0: BOOL;
	numberMove1:BOOL;
    numberMove2:BOOL;
	result: array[0..10] of real;
	calculator: ARRAY[0..100] OF Calculatorstruct;
	// 等式输入
	equationInput: STRING;
	// 等式长度
	equationLength: INT;
	// 等式查找
	equationFind: ARRAY[0..3] OF INT;
	equationOutput: STRING;
	k: int;
	// 符号临时用
	symbolTemp: STRING;
	equationFindLast: INT;
	key: ARRAY[1..20] OF BOOL;
	keyR: ARRAY[1..20] OF R_TRIG;
END_VAR

3.程序代码

(1)字符输入
如下代码,将15个数字或符号,通过按键操作写入到计算器的输入文本中。每次均在最后的字符上逐步添加。

//等式字符输入
//1234567890.+-*/=←C
FOR i:=1 TO 20 DO	
	keyR[i]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值