zoukankan      html  css  js  c++  java
  • C语言学习趣事_你不知道的C语言应用

    一、引

           我一直不明白“文人相轻”是什么意思,也许就是说:文人清客之间互相瞧不起的事情吧。但对于我来说,文人相轻就是表示:无知者无畏。

    无论你的某一方面的语言学的怎么样,怎么样的牛逼,你可以眼光狭窄,你可以只看到你专注的领域,但是你不可以心胸狭窄;眼光狭窄的你

    可以专注某一个领域,你一样可以成为大家;但是如果你心胸狭窄的话,就算成为大家,也不会是一个令人钦佩的大家。

         我是一个学自动化的,对于计算机科学有着独特的爱好,或者说是对可以自己创造东西有着特殊的爱好,因为学计算机编程可以不需要很多的

    硬件设施就可以看到自己创造的东西;而从事自动化,虽然也编程,但是如果没有一些特殊的硬件,编写的程序基本也就没有任何用处,基本上

    没有人会在自己家里装一个PLC什么的来实现自动控制, 当然如果你认为需要,你也可以自己这么搞;但是计算机就不一样,现在很多的家庭都有

    自己的计算机,尤其是手机更是普及的一塌糊涂。

      我一直在各大论坛潜水,比方说Chinaunix、CSDN、51CTO、Itlab之类的,经常可以看到linux和win阵营的人互相开骂,还有就是各种语言之

    争,经常可以看到C语言的使用者诟病C++,同样也可以看到C++的使用者诟病C,各种Javaer和C#er们互相开骂,反正就是很多这样类似的事情。

    感觉真是无聊。

      很多时候,很多人都瞧不起VB的使用者,但是VB的应用场合真的是很广,我就从自动化的角度出发来说吧:

    1、工业控制监控画面

      在西门子WinCC中有VBS脚本(还有今天要说的另一个脚本C脚本),WinCCFlexible中有VBS脚本, 在Intouch中有类似的C脚本,在Rockwell的

    HMI画面有VB脚本,同样在霍尼韦尔的HMI中有类似的脚本;并且应用广泛;

    2、调试变频器可以使用脚本, 这个比较复杂,需要对变频器的运行参数非常了解,才能用脚本。DriverMonitor和DriverWindow都有自己的脚本,其他

    的大体也有。

    3、在数控中也可以使用VB脚本来控制系统,目前西门子大部分的数控系统使用的是Win体系的操作系统;也有用Linux的,不过不多,而且界面和操作习惯

    已经改的和Win基本一样了。

         我只能说:文人相轻就是无知者无畏。你可以有不同的性见,但是你不能强制别人接受你的性见;也许可以看看这本书《持不同性见者》,我还记得里面的

    一句话: 玫瑰除了不是玫瑰,玫瑰可以是任何东西。这句话是说女人的,这本书也是写女人的,里面有很多的有意思的词语,比方说:女人的身体造反。

    二、题

    1、工控领域的C应用

      很多IT人士,可能认为C语言只能在计算机、单片机之类的开发中应用,殊不知在工业控制领域C语言的开发也非常有潜力,在西门子的开发中C语言实在是

    一个非常强有力的开发工具,比其他任何语言都具有优势, 汇编快但是太复杂,C++勉强可以用,但是速度实在是慢,VB应用虽然广泛,但是基本没有也行,而

    在一些控制运行时间在us(微秒)级的应用时,C似乎是唯一的选择。

      在Step 7中有单独的C语言开发包,可以使用。 在热轧、冷轧的一些开发过程中(比较高端的应用是TDC,稍微低一点的是S7400加工艺板开发),很多人用

    C和STL(汇编级别)做过实验(非大神级的人员,但是都是领域中的高手,对于大神来说语言不是问题), 用C开发的程序运行比STL运行更快,而且容易理解。虽然

    实际开发应用中的TDC程序用CFC/SFC;S7程序用LAD/STL/FBD;但是很多精密和高速的控制用C开发成可以在CFC/SFC或者LAD/STL/FBD中可以使用的FC/FB

    ,然后再被调用; 这里当然可以用SCL,SCL的速度比LAD/STL/FBD快(SCL比STL快是因为编译过程会优化逻辑,通常人的逻辑有时候会有一些琐碎的无用的操作

    C语言比STL快的原因大体也是这个)而实际上CFC/SFC是通过SCL编译的(这里要插一句,SCL是一个类PASCAL的编译器,使用的语言结构也是类Pascal的)。

      在WinCC中可以用C开发脚本,用C开发的脚本比VBS的快,给大家看看图:

      上面就是一个典型的WinCC下C动作。接下来看一段C代码:

      大家有没有感觉这写个很熟悉啊

    2、Matlab中的C开发

      很多人也许听说过matlab,或者使用过Matlab;但是我估计大部分人都不知道matlab其实还可以作为一个软件开发工具来使用,可以开发图形界面程序,

    从本质来讲Matlab是一个C语言的编译器。

      实际上在很多工业开发过程中,很多时候都可以用Matlab来仿真系统,比方说要模拟热轧、冷轧辊的应力分析,通常是没有这个硬件设施来让人模拟的,这

    个时候就可以做一个高阶的数学模型进行模拟,从而产生想要的数据和图形。

         下面上张图给大家看看:

      注意上图最后一句: integrate with C  C++ fortran  com  and  java;  集成C、C++、Fortran、com和Java。

      其实在matlab中还有很多功能,比方说什么ls、dir、mkdir等一系列系统管理类的命令可以执行。

    三、结语  

      当青蛙跳出井的时候,才会发现天地原来这么广阔。

      

  • 相关阅读:
    hdu 1269 迷宫城堡 (并查集)
    hdu 1272 小希的迷宫 (深搜)
    hdu 1026 Ignatius and the Princess I (深搜)
    hdu 1099 Lottery
    hdu 1068 Girls and Boys (二分匹配)
    几个基础数位DP(hdu 2089,hdu 3555,uestc 1307 windy 数)
    hdu 1072 Nightmare (广搜)
    hdu 1398 Square Coins (母函数)
    hdu 1253 胜利大逃亡 (深搜)
    hdu 1115 Lifting the Stone (求重心)
  • 原文地址:https://www.cnblogs.com/volcanol/p/2562989.html
Copyright © 2011-2022 走看看