我和永宏风花雪月的故事
那年我想飞
今天在坛里看到一个帖子是2007年的,说:“永宏的PLC编程软件真的很差”。帖子已经很老了,本来不想跟帖,可是我一直对永宏PLC心存喜爱和敬佩,所以,忍不住冒泡说句公道话。之所以这么说,是因为永宏PLC在那血雨腥风的年代,曾经给了我一段激情燃烧的往事。
又承蒙管理员点将,就想写点东西,写之前我想首先交代一下所写故事的背景时间,并不是我想表明自己多么牛逼,而是想说明在当今已经习以为常的技术,在当时还比较缺乏;另外由于久远,很多技术细节我已经记不清楚了,请已经手持板砖和鸡蛋,正在瞄准的大侠们手下留情;当然,我也会分享一些照片或文档,表明我下面说的也绝非胡扯八道。
2000年,我的孩子刚满1岁,还在幼儿园,那时我上着996工作制的班,工资却很低,做技术的职业生涯的结局,似乎一眼可以看到边,让人倍感无奈。那时我最喜欢的工作就是出差,可以拿补助,一天50元,除去吃喝可以净得10块钱;就这,大家还是抢着去。
但是我很快就发现了一个令人无比震惊的经济学定律:花钱总比挣钱要快,挣钱总比预期的少。我就开始想办法挣点外快,由于我接触电脑比较早,94年我就用486开始玩《暴怒公爵》了,类似毁灭公爵,一个打怪兽的外国3D战斗游戏,还有《孤胆枪手》,我的最爱,跑题了哈。。。。。。所以,我就开始钻研3DMAX,因为,我发现许多打字复印社需要懂会画三维效果图的人;自学了半年,我就上手了,当时一副A3大小的建筑三维效果图价格在200元左右,我就满大街骑着自行车找活,没日没夜的画图,这种工作很耗时间,我记得有一次画一座仓库,由于灯光、材质、附件比较多,光是渲染就用了十个多小时,最后还死机了。。。。。这样一个月下了也做不了几张图,更要命的是我的机器不行,是个赛扬177吧。最后的结局是:04年我拿到美国欧特克CAD设计认证资格,当时我们那个省只有三个人。算是对自己的一个交代,然后,我就放弃做了。
我就开始想别的辙,有一次,我参加单位一个冷库建设项目的投标,在和电仪工程师聊方案时,听说冷库的控制系统都是用西门子的PLC作为控制核心,一套下来需要十几万到几十万元,这个价格列位看官可能觉得不大,可是,那时整座冷库的报价也就百十万。我就问他:为什么这么贵呢?PLC也不是什么高精尖的昂贵设备啊?他说:PLC并不贵,主要是各种模块贵,比如:测温模块、模拟量输入输出模块、通讯模块等。我又问:那就用多通道数显控制表或者通用工业测试与控制模块呗,那个便宜啊!他说:多通道数显控制表的数据怎么传到PLC里?也许和2、3块多通道数显控制表通讯还行,可是如果多了呢?如果制造厂家不一样,造成通讯协议不一样呢?所以,没办法用PLC+ 数显控制表的方法,也没人会用,只能用成套的PLC模块来解决大型冷库的数据采集、显示、控制。
我当时听了,印象很深,也很不以为然。因为92年的时候,我学三菱PLC编程,它在里面讲到,PLC是有通讯功能的,因此,我认为:PLC是应该可以和数显控制表、通用的输入输出工业模块、电动比例调节阀、变频器等等,所有具备通讯功能的电仪设备一起连接工作。如果这条技术路线能走得通,那挣的钱可比画效果图来得快得多了。。。。。
我记得当时我很兴奋,像是发现了一个新的金矿。
我立即开始着手选择PLC,最开始我选的是三菱PLC,因为这个品牌我学的早,比较熟悉,我直接给三菱销售办事处打了电话,对方很客气,问我有什么需求;我说做项目,需要他们产品的样本、使用说明书、编程手册。对方狐疑地问我:你之前用过吗?我说:我想现在开始用。。。。。。
那时,盗版光盘VCD虽然比较流行,但是在工业产品配套上还不是很普及,产品资料主要是纸质版本。几天之后,我收到了三菱办事处寄来的一大摞子的印刷品。
同时,我又联系了西门子办事处要资料,又得到少量印刷品,还有几张光盘。
之后,我开始仔细研究学习。
很快我就发现一个致命的问题:国外产品的产品的样本、使用说明书、编程手册都或多或少的有英文版本;尤其是西门子的产品,普通的大路货PLC,比如S7-200还好,由于国内市场用的多了,资料的汉化还是比较充分,但是,高端一些的产品,甚至软件功能、尤其是编程技巧,大部分都是英文的;如果只是简单用用普通逻辑控制功能和指令,都很好用,如果要是如研究和开发,就很难了。
于是,我开始寻找国内的PLC产品,体验也不好,比如XJ(不点它名字了)号称如何强大,安全密码如何可靠,国内无人能解,可是用后感觉一般,软件功能比较单一,通讯方式少,软件稳定性不好,售后服务也不行。有的是号称和西门子、三菱完全兼容、通用,上手用了才发现:其实就是盗版。。。。
在山穷水尽时想起来:看看台湾有什么好产品,科技发达,又都是汉语语境。最早搜到的是TD,这个牌子很好,产品线很全。但是用后,也不理想,主要是编程体验不好。
最后结果我很失望,总的来说以上这些产品,我不喜欢的原因是:产品系列太多,而且类似产品的说明书、编程软件有的还不通用;编程不够友好,要用C语言甚至类汇编;有的通讯协议不公开,给二次开发带来的大麻烦;软件安装繁琐庞大,有的要几百兆。全套技术资料印下来有好几本,想学透很繁杂;我记得当时TD办事处发给我的是电子资料,为了方便学习,我就拿去打印,结果,打了近一人高。。。。
最重要的一点是这些品牌的PLC都比较贵。
我当时很郁闷,就上网搜“最便宜的PLC”,这时,搜到了永宏PLC !我清楚地记得当时10MA主机的报价是:580元。大约是在04年吧,我就上手了一台,这台机器我至今还在用,OS也没有刷新过。
我花了一周的时间仔细读使用手册和硬件说明书,尤其是寄存器、变量方面的说明,我发现:在同等价位的PLC品牌里,永宏的存储器是最大的!(也许我见得的其他品牌少吧),它的扫描执行周期是最短的!它虽然小巧廉价,却同时拥有高速中断与计数器、高速通讯、标准通讯、打印、网络、GSM互联、各种扩展模块、多级密码、控制软件自动还原、模拟运行(后来加的)、FaconServer ActiveX二次开发,等等功能,而所有这些功能基本上都可以在一个WinProladder软件和有限的2、3个小软件里配置操作完成;而且最重要的是:它是全汉语的,使用手册很少,二本硬件手册,二本软件手册。
我开始一边看手册,一般尝试编程,发现:它的编程界面非常友好,一楼所说的问题其实在软件里都有直接的解决方法,比如“每一个功能程序之间要我们留足够的地址空间。要知道,我们的程序比较大,寄存器本来就比较紧张,而程序并不是一下子就可以把所有的功能都添加上去的,到时候要添加某一功能时,首先挪地址就是最头痛的一件事,整个程序地址要挪动”。其实当编程出现“预留空间不足时”永宏编程软件专门有一个“寄存器自动移位”的功能,你只要告诉他首地址改动的新位置,他就能自动将你当前指令里所涉及的一串寄存器的地址自动移位,直到你满意为止,所以,你只要把首地址重新选好就行,其他事情不用你管!
帖主说:“他们居然叫我编程的时候把所有的元件都标上注释,这样使用的时候地址就不会重复”其实,这是楼主没听懂,或者没表达清楚;弄过软件开发的人都知道:为变量、元件、句子做注释,是一个很好的习惯!这也是永宏软件的一个亮点之一,他可以让你在开发大型软件时,随时知道你面对或想使用的寄存器是哪个和在哪里,尤其是在后期调试时,非常有用;使用的时候地址不是不会重复,而是重复的时候,他会报警。这些功能有些品牌的PLC并不具备,包括一些国外品牌。
帖主说:“程序比较大,寄存器不够用”。我不知道你这个程序有多大。我后来开发出了一套可以和128台温湿度数显控制表、通用的模拟量输入输出工业模块进行通讯、结合HMI进行控制的系统程序,永宏PLC的存储空间还绰绰有余,其最只要的原因是:事前规划、运用合适的指令、最大限度的发挥指令的功能,比如:矩阵指令,很多人认为这类指令没什么用处,其实,如果用的好,可以大大简化编程代码;尤其还有各种特殊控制寄存器的运用,也很重要。
我写的这个程序打印出来的样子如图所示,A4纸,将近180页,算是个证据吧。寄存器分配表,有8页。
这个程序有很多有趣的功能,它不但可以和和128台温湿度数显控制表、通用的模拟量输入输出工业模块进行通讯,而且,这些外部设备的通讯协议可以不一样,也就是可以异构通讯。实验结果是:可以和当时的北京天辰、昆仑海岸、厦门宇电、山东力创、虹润、集智达的模块,以及三菱、西门子、台达、(后来还有浩纳尔、欧辰、大连计控、施耐德)通过通信网络连网一起,在永宏PLC通讯指令的控制下可靠地工作!我的目的是:可以在市场自由地选择模块和控制单元,从而使价格最低,所用控制电缆最省,不受单一供货商的限制。这个目标实现了,所以,我给出的报价在和同行一致的情况下,利润提高了很多。之所以能做到这一点,就是因为永宏PLC的通讯功能非常强的,通讯指令使用非常灵活,运行非常可靠,比如:他提供了通讯控制字和相关参数存储器,利用它,你可以做出很灵活的软件,可是,其他品牌的PLC,这方面做得不够好,比如:被吹的神乎其神的某某子,他不是不能做,而是做起来很费力,请不要抬杠,因为我实际做过。
当时,我也怀疑过我这个思路的实际意义,于是,我打电话给某PLC办事处的技术工程师,我问:我有个项目,需要用50个数显控制表、通用的模拟量输入输出工业模块,而且,他们共有4种不同的通讯协议,主要是:ModbusACII / RTU 及其变种,还有非标协议,比如厦门宇电。我用你们的PLC采集数据,然后,进行相关控制;是否可行?请给个案例参考。对方答:这种异构通讯他做过6点(模块)的,如果超过20点,程序会非常复杂,调试很困难,建议还是买PLC配套模块比较好。。。。。。
这期间我有个重大的收获就是关于浮点数的编码规则,永宏PLC的手册在技术细节上讲的很仔细,这正是我所需要和敬佩的。后来,当我用VB开发上位机控制系统时,当需要将浮点数在PLC与PC机之间读取,尤其是整形数在PLC与PC机之间转换浮点数时,手册上的技术细节给了我巨大的帮助。这一点,其他品牌的PLC没有。
这个程序还有一个功能是防盗版。做完这个控制系统后,我开始考虑防盗版问题,以及防止用户不给钱问题(你懂的。。)。虽然,当时各大品牌PLC都声称拥有各种坚不可摧的密码系统,但是,多年开挂玩游戏的经验告诉我,绝对的代码安全是不可能的。于是,我上网搜了一下,发现满世界都是承接PLC解密的广告;所以,我尝试挂线监听了某品牌PLC在联机阶段的通讯数据,协议代码,发现只要潜心研究解析,解密只是时间问题。
于是,我又开始仔细学习永宏PLC的硬件、软件手册,并成功开发出来一个防止盗版和破解PLC的程序!这个程序在永宏PLC内部时时扫描数据,一旦发现暴力侵入,就会终止用户设备运行;如果评估发现入侵可能危及系统代码,那么,他会自动将代码保护起来,任何人都无法得到系统代码。开发这个功能花了我很大精力,但是,永宏PLC所具有的强大指令功能,编码功能,矩阵功能,高速通讯都发挥了关键作用,没有这些,我也做不出来。
这一点,其他品牌的PLC并不是都可以做出来。有的根本防不住,不再点名了。。。。。。。
还有一个功能,就是画曲线,我说的是PLC连接微型打印机,自己打印出来类似于心电图那样的连续曲线纸带,不是用HMI。还有打印出来一个自定义的符号,比如:KPa,用一个点阵字符表现出来,而不是用3个字符;这些功能永宏PLC的FUN94指令都可以做出来,不要跟我说现在许多PLC都可以打印曲线,我说的是2004年!
还有很多有意思的功能被我开发出来,比如:在使用FBs-10MA经济型主机时,防止主机损坏停机危及用户设备安全的系统冗余功能。对了,还有自动手动远程控制,后来这个功能我在大工计控的产品上用了一下,很成功!后来的结果,坛里的老人应该知道。
当时,感觉自己很无敌,有点膨胀的飘飘然,想去飞翔的感觉,直到我遇见中华工控网及其论坛,我才发现自己的渺小,其实自己什么都不是,差的还是太远。。。。这是后话了。
写的有点多,有五千字了;写一天了,打住吧!
最后修改:2019/11/14 15:20:53