这段时间正在为别的品牌PLC之间通讯突破软件数据类型格式限制的瓶颈绞尽脑汁做数据拆分和合并功能块,同品牌的CPU间通讯居然只支持无符号8位短整数,也不知道软件设计的人怎么想的,虽然有两个PLC有级差但这应该不是问题吧,不奢望直接传32位的实数好歹也要支持个16位的数据也行啊,又不要多掏你一分钱。项目PLC上要交换的有16位整数,无符号16位整数,实数等等。因为西门子PLC编程的人性化不故意在这方面设条条框框束缚编程者的手脚,有些东西都不用去格外费力研究,直接了解用就完了。通过在这段非常时期里反而加深了我对数据类型的认知,起初还有点懵逼的,抓住本质后好歹在一半PLC里还实现出来了,在另一半里应该不会有什么幺蛾子拦路虎吧!
以前高一上半学期上代数课就教什么是实数、整数、正整数、负整数之类的我是混淆的一塌糊涂,大考数学考了个17分,老师还特意把我拉到一边问我怎么搞的,别的同学掷骰子都能掷六七十分。有点分的清要到用使用PLC编程时才真正用心去了解才好一点。就PLC而言数据类型都是人为定义的,本质就是8个、16个、32甚至64个0和1的排队,看怎么对它定义,同样的队形在不同的类型显示有可能有重合同步的地方也可能有完全迥异的不同数值显示。以前监控数据的时候没选对数据类型显示出一长串不是预期中要的数值都紧张的慌了手脚了。现在再出现这种情况自然不慌了。理解透了各自对数据类型的定义规则对和第三方PLC或仪表交换数据还是很有帮助的,本质都是传的0、1排列队形。记得有一次还吃过数据上溢的亏,平时不可能运算到上溢的数据上溢后居然直接把PLC给干停了。现在碰到不怎么用的配置总要试试累加到极值后是什么情况,可以说是五花八门:有保持最大值不动弹的,有直接跳回到最小值不辞劳苦重新循环转圈的(这种情况有时可能直接就改变了编程者原本的意图),还有干脆直接罢工PLC停摆的,还有到了一个较大的中间值不打招呼就地躺平休息的,像累计流量很大的实数加很小的实数最容易中招,这都是可能几年后才会暴露出来的情形。知道这些性能后都要相应适当的在程序里预防处理一下,提前打好疫苗。
有些知识点不管怎么提高,但基础性的东西一定要悟透。记得和我同届的侄儿当初学习非常非常优秀,尤其是理科。我问他,怎么学习成绩能好有秘诀没?帮帮小叔叔吧,学习我也不算懒惰,但每次考完试在班里都快抬不起头啦!他说把教科书上的公理、定理、范例题一定要吃透,真正吃透了有精力了再看辅导教材,不然会走火入魔。他好像说的就是我,自认为教科书的三样东西太简单都会,会的都不屑一顾往深了再思考几步,专门热衷押宝在这个葵花宝典精讲100例,那个迅速提高50题上。一到考试就完蛋,试卷上以教科书例题为母本变变形顺带挖两个坑,我的答题都纷纷中招掉坑里。眼睛一眨都到我孩子上高二了,我念书的情形还恍如昨天,希望他能吸取我的教训,脚踏实地一步一个脚印,别步我的后尘!