由于组态软件用户的监控需求千变万化,而组态软件本身提供的二次开发功能都是有限的,用户往往需要更复杂的、更灵活的方式来实现自己特定的功能需求。这种情况下,传统的组态软件用户都会想到组态软件提供的“脚本”功能。“脚本”果真是解决不同用户特殊需求的灵丹妙药吗?
-
引用 mp44 2007/7/4 9:12:34 发表于2楼的内容
-
-
jiusiyi 发表于 2007/7/4 13:16:38
让我们来看看“脚本”的定义和其能完成的功能:
组态软件的“脚本”功能是指通过其提供的一种嵌入到其自身内部的简单编程语言实现基本的程序流程控制手段(比如条件语句)和可执行指令。可执行指令可以划分为两种类型:第一类指令是调用组态软件功能的指令,如打开或关闭画面,第二类指令是与组态软件功能无关的命令,如运算和文件操作等命令。“脚本”极大地增强了组态软件的灵活性,使组态软件能够去适应不同行业、不同用户的千变万化的需求,让用户可以按照自己的意愿来编写自己的逻辑和控制流程。可以说“脚本”是组态软件必不可少的重要功能。
引用 jiusiyi 2007/7/4 13:16:38 发表于3楼的内容
-
-
jiusiyi 发表于 2007/7/5 10:02:28
再让我们来看看“脚本”程序在组态软件中使用经历过的两个阶段:
第一个阶段是组态软件厂商自己定义的类似高级语言,比如C和Basic等的一种简化脚本。为了更好满足用户需求,组态软件厂商需要不断扩充第一类调用组态软件功能的指令和第二类实现其它功能的指令。这一阶段的脚本语言是完全由厂家自定义的语言、语法,是不通用的,非开放性的,用户需要记住和不断翻阅厚厚的指令手册来编写程序,而且无论厂家如何去扩充其指令,特别是第二类实现其它一些通用功能的指令,总是有限的,不可能满足需求复杂的组态软件用户的特别需求,目前国内大部分组态软件和一部分国外组态软件都采用这一“脚本”方式。正是基于这一点,国外一些大的组态软件厂商采用了一些通用的脚本语言作为自己的脚本语言,比如VBA,JavaScript等,这些通用脚本提供的功能相对自定义脚本来说要强得多,这也是目前主流组态软件的做法,属于“脚本”发展的第二个阶段。
引用 jiusiyi 2007/7/5 10:02:28 发表于4楼的内容
-
-
jiusiyi 发表于 2007/7/6 10:30:43
“脚本”程序并不是解决不同用户需求的灵丹妙药。
随着信息技术的发展,用户对“脚本”的需求越来越高,有些用户觉得一些通用脚本语言提供的功能还不够强大。不管是用自定义脚本语言还是通用脚本语言所编写的脚本程序,它们都是在工程运行时解释执行,比直接编译成计算机可执行代码的编译性语言效率要低很多,因此都存在功能不够强大、速度慢等一些不足。
为了弥补以上不足,组态软件的最新的发展就是直接嵌入功能强大的标准高级语言,并在工程运行前,直接将用户编写的“脚本”程序,编译成计算机可以执行的代码,将“脚本”程序执行的解释过程在运行之前进行,从而提高“脚本”程序的执行效率。因此,新的“脚本”程序,已经在逐渐脱离“脚本”的定义(注:“脚本”语言的定义就是在运行时需要另外一个程序来解释执行,而不是像其它高级语言程序一样,直接被编译成计算机处理器可执行的代码的一类高级语言)。这也可以定义为“脚本”发展的第三个阶段。
引用 jiusiyi 2007/7/6 10:30:43 发表于5楼的内容
-
引用 aasevenl 2007/7/6 18:02:41 发表于6楼的内容
-
-
jiusiyi 发表于 2007/7/9 10:57:20
看看易控(INSPEC)的用户程序编写
基于以上原因,易控(INSPEC)组态软件是目前国内乃至国际组态软件领域内唯一内嵌微软最新高级语言C#的组态软件,并可将用户编写的代码直接编译为计算机可执行代码,易控软件不再使用“脚本语言”/“脚本程序”的概念,而是给出了一个全新的概念— “用户程序”,即用户可以在易控中编写自己的真正的计算机程序。
引用 jiusiyi 2007/7/9 10:57:20 发表于7楼的内容
-
-
jiusiyi 发表于 2007/7/10 9:19:18
to mp44:
是的,脚本是各个组态软件都提供的基本功能,因为易控的该功能已经远远超过了脚本的含义,所以命名为用户程序。但是其基本的脚本功能还是存在的,例如易控同样提供许多供系统直接访问的命令,并且对这些命令的访问提供图形化编程功能,即用户不需要编写脚本,直接选择命令和对象即可完成一部分脚本的编写。欢迎您有机会试用一下易控软件。
引用 jiusiyi 2007/7/10 9:19:18 发表于8楼的内容
-
-
jiusiyi 发表于 2007/7/10 9:20:57
to aasevenl[版主]:
当脚本量比较小的时候,速度问题确实体现不出来,但是当工程比较复杂的时候,有很多用户会编写大量的脚本,速度就会受到影响。易控为用户程序的易用性做了很充分的考虑,例如提供图形化编程,提供智能感知、代码自动填充等功能,当然如果要用易控的用户程序实现复杂的功能设计时还是需要工程人员具有一定的编程基础,如果只是利用易控提供的系统命令完成一些简单的和基本的功能,则不需要用户掌握编程的太多东西。
引用 jiusiyi 2007/7/10 9:20:57 发表于9楼的内容
-
-
jiusiyi 发表于 2007/7/10 9:21:34
C#是什么?
C#读成C SHARP,据微软内部的讲法就是c++再++,它是一种为Microsoft全新的.net平台开发而专门设计的程序设计语言,它优雅、简单、安全、性能高、面向对象。其语法风格源自C/C++家族,融合了Visual Basic的高效和C/C++的强大。其优雅的语法风格,创新的语言特性,快速实现应用程序开发,深受世界各地程序员的好评和喜爱。
C#语言是彻底的面向对象语言,与目前组态软件中的脚本语言,甚至和许多其它高级语言相比,程序结构都更为清晰,便于维护。简洁、高效、优雅以及其开放性,决定了它将是未来IT业的主流编程语言。
引用 jiusiyi 2007/7/10 9:21:34 发表于10楼的内容
-
-
jiusiyi 发表于 2007/7/11 9:23:39
看看C#带来的显著好处还有哪些?
“易控(INSPEC)”是国内迄今唯一将C#语言嵌入到自己产品中的组态软件,易控除了提供访问其本身功能所必须的“方法”(注:在面向对象时代,“方法”是对传统“指令”或“命令”或“函数”的新称谓)外,用户可以使用标准C#语言提供的所有功能,使用.net Framework提供的数以千计的庞大类库,以及第三方软件提供商提供的类库,即大量已经被其它厂家编写完成并经过其它用户使用的代码都可以直接使用,从而使用户在有特别需求的情况下,可以利用这些成熟代码来编程实现,并将自己的程序嵌入到易控(INSPEC)中运行。同时也为九思易自身帮助用户定制特殊功能扫清了障碍。实际上,就很容易实现了易控的功能无限扩充。
引用 jiusiyi 2007/7/11 9:23:39 发表于11楼的内容