70%的技术人员觉得数学那是至关重要,不懂算法的工控人将无法存活这个市场,另外30%保持着垂头丧气的状态,为什么呢?因为在工控行业里有太多经验丰富但学历不足的从业人员,这些人都是凭着自己实践摸索和言传身教而崭露头角的,但他们确实没有上过大学,不知道复变函数更不不知道积分变换。但是今天我想告诉大家如果你只是定位工控应用人员而不是算法研发人员,那就不必垂头丧气了。
举个例子,我们在组态计算时候,你需要以时分秒的格式向用户传达该泵运行了多长时间,该泵持续了71分钟。
「71 / 60 = 1.18」
泵持续了一个小时,怎么才能计算出运行了多少分钟呢?
「71 % 60 = 11」
71 分钟是 1 小时 11 分钟,你将这个结果呈现给用户
一个计算符就可以搞定,应用就是这么的简单!
还有很多做运动控制的工控人说,过程控制可能不太需要算法,那我们做运动控制都是要算运动轨迹的,那这个时候算法对于我们来说至关重要。
没错我们要承认运控确实需要算法,才能配合好机械的设计完成一台机器的品质。但是笔者也想说今日的PLC或者运动控制器已经不是15年前需要你用运动卡,通过函数自己来算的时代了。我们来看下面这个图
PLCopen运动控制模块(符合IEC61131-3标准)帮助用户缩短开发周期。提供用户丰富的编程语言:如梯形图(LD),结构化文本(ST) 。功能块按不同的功能可划分为单轴运动和多轴运动区域。两种区域除了包括相对和绝对运动之外,还包括重叠运动。在多轴运动区域,有电子齿轮,电子凸轮,加减速同步和差分电子齿轮(变化的相位角)等功能。
更甚至还有厂商把运动轨迹可以在组态软件里给你设计出来,只要拖拽运动曲线对应时间,就可以轻松完成运动轨迹。
这些仅仅是很简单的例子,但是有很多案例证明,许多简单的数学计算你都不需要自己去计算,把它交代给程序就行了。你只需要了解有哪些功能块指令,就足够运用于编程了。
可能你曾经问过许多人,他们都会跟你说必须认真学习好数学,那样才能成为一个好的自控工程师。但事实是,你根本不知道为什么在成为工控人之前需要学习好数学,如果必须要学习数学需要学习到怎样的程度?甚至在知道数学在编程中的应用之前你很讨厌数学,然而实际上,你只需要掌握最基本的数学知识就足够用了。
工控应用不是自控理论这样的深入,在自动算法领域你需要使用复杂的微积分等数学知识来建立被控模型,在工控应用编程中需要的数学知识比这个简单多了。
所以我会毫不犹豫的、充满自信的告诉大家:数学不好的你也能学习工控,为什么呢?
1、你的数学没有你想象中的那么差
2、你的数学不需要像别人口中、你认为的那么好
在PLC组态中没有随机数这个功能,那为了我们这些苦逼的工控应用人员,特意为大家用SCL语言写了一个随机函数(直接放进去用就可以了,不用考虑算法),为什么采用SCL呢?因为这样可以让你在RSLOGIX中和STEP7同时使用。
FUNCTION FC1:VOID
TITLE = 'RANDOM form 0 and HiLimit'
NAME : RANDOM
VAR_INPUT
HiLimit : INT ;
END_VAR
VAR_OUTPUT
Random : INT ;
END_VAR
VAR_TEMP
TimeTck : TIME;
END_VAR
BEGIN
TimeTck := TIME_TCK();
Random := ABS(DINT_TO_INT(TIME_TO_DINT(TimeTck))) MOD HiLimit ;
END_FUNCTION